I was looking for a way to sort a selection of text lines (specifically in Xcode, which doesn’t have a builtin way to do this) today. Thinking this wasn’t possible at all and I’d have to use another editor (such as BBEdit which has a menu entry for this), I looked it up online.

And what do I find: https://stackoverflow.com/a/8104750

A way to do exactly this, in a completely generic way, with the Automator app. Allows you to run any program over selected text in any application, plus of course other Automator actions. Super cool, both for the user of course and also for app developers because they don’t need to take the effort replicating features like this in every single app that is text editor adjacent.

I definitely need to look into Automator more.


Rant:

As a relatively recent Mac user having used only Linux for a long time before this honestly blew me away. This level of integration is unthinkable under Linux until now, and people usually point to this kind of thing being “impossible” as a reason for using the terminal extensively as opposed to graphical programs. But no, turns out, it is completely possible if your graphical environment has a solid foundation and isn’t just a hodgepodge of mostly questionable UI toolkits (not you, Qt Widgets) with the only common interface being “you can open a window and get a framebuffer to draw on”.

  • bestboyfriendintheworld@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    12 hours ago

    MacOS has great power user features in general. pbcopy and pbpaste in the terminal are super useful. You can also change the shortcuts of menu items for all applications in syatem settings. Sadly this doesn’t work for Electron and some cross platform applications. Many of those even forgot putting commands in a menu in the first place.

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    10
    ·
    18 hours ago

    AppleScript really is amazing and I’m surprised Apple doesn’t publicize it more. There’s nothing like it.

    • bestboyfriendintheworld@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      12 hours ago

      Apple has too many automation and extensions tools:

      • AppleScript has been around for decades
      • Services in the Service menu inherited from NeXTStep
      • Automator actions
      • Share menu ported over from iOS
      • Shortcuts App ported from iOS

      Apple only advertises the newest of those: Shortcuts

  • tunetardis@lemmy.ca
    link
    fedilink
    English
    arrow-up
    5
    ·
    18 hours ago

    Yeah, I have some Python scripts that reflow selected passages of code for me using this approach. It always feels so weird when I’m using some OS that seemingly doesn’t support any sort of GUI scripting.

    It’s worth noting that while you can simulate mouse clicks and key strokes within any app, some support a few direct scripting commands. For example, in Terminal, you don’t need a GUI script to open a new window and type in it to run some command. You can just issue an AppleScript command to tell app "Terminal" to do script "top" or whatever. That’s because Terminal’s scripting library includes a do script command.

    For more on this, you can fire up Script Editor and go Open Dictionary. You will see a list of all apps with any sort of scripting support and be able to get documentation on what you can do with it.