These are exactly the type of silly applications that are needed on macOS because the OS too locked down, or at least not made for people who like to do this type of stuff.
On Linux, almost all native applications keep their data in regular, non-proprietary files on the file system. This means your data always exists separate from the applications and you can do with it what you want. If you want to run a script every Monday at 3PM that sifts through your ~/downloads folder and uploads the top 10% largest files to a server, except in January, on Easter, when when your drive is below 70% capacity, if it's not hooked up to power, and also not if Kanye West tweeted something in all caps, you can do that. You can make it retry every 42 minutes if conditions weren't met, email Bob and message Alice in Slack about it. You can make it machine learn your behavior and pick a window within 3 hours after sunrise, log the bandwidth usage, and have it play a tune for your friend's MPD server on the other side of the country.
Why you would want to do all of this is beyond me, but odds are you want to do one of these things at some point. Then Hazel won't be able to do it because they didn't consider your use case, that functionality is only available in version 6 (pay up for the upgrade!), Apple didn't provide the right API, or they recently took it away in the name of security. Surely there's another app that can do it, but that one can't do the other thing! Oh well, maybe the next version?
On Linux, you dream up the code in the language of your choice and it will work forever. Your learned skills will transfer one-to-one to programming you do for your job or hobby, instead of being weirdly specific and locked down to this one, overpriced app's clickity click interface. The OSS mentality of interoperability and doing one thing well almost guarantees there are battle-tested tools available that can solve pieces of your specific puzzle, while not locking you in to their way of doing things.
Of course scripting is not exclusive to Linux, but it is the only OS that was and is built with it in mind.
That's a remarkably off-base take. You're attributing qualities that linux has to things that linux exclusively has. Your entire rant about emulating the functionality of Hazel with scripts is something you can do with either operating system. The fact that hazel exists is because it lets people that have neither the time nor the disposition towards writing their own program for their own use case and still get a lot of the benefits of such. In fact, even those that do have a proclivity towards scripting their own maybe would rather do something else with their time.
> On Linux, you dream up the code in the language of your choice and it will work forever.
...I'm sorry, how is this exclusive to linux, exactly? You can do the exact same thing in MacOS, Windows, FreeBSD, etc. Also, maybe some people just don't want to fucking program every function and application they run on their operating system?
> Your learned skills will transfer one-to-one to programming you do for your job or hobby
While I understand that there exists a much higher population of programmers on HN than on other websites, please stop assuming that 1) everyone here is one and 2) that everyone wants to spend their time writing software in their spare time and 3) even if they do like programming in their spare time, that they want to spend it writing automation scripts.
> instead of being weirdly specific and locked down to this one, overpriced app's clickity click interface.
What is overpriced to you is potentially someone else's pennies. I don't really think the jab at GUI interfaces is appropriate, either.
> Of course scripting is not exclusive to Linux, but it is the only OS that was and is built with it in mind.
There was the opportunity to help someone make the switch from MacOS to Linux but instead it was used to call apps that the person probably likes "silly" and "clickity click". It's more interested in making a point than helping.
I emphatically don't want to run any scripts. I have enough programming at my day job. The last thing I want is spend all of my free time programming and debugging scripts.
I'm not a MacOS user so I don't know all that much about keyboard maestro's feature set, but with i3 all of it's keybindings are configured dynamically through the config file so you can map any keybind you want to invoke an arbitrary program. It won't come nice and prepackaged but you can do a whole lot just by using included tools and i3-msg, which lets you manage i3 windows programmatically.
I wrote and maintain a FOSS Hazel-like tool called pushbroom [1] that works on both macOS and Linux. It’s worked extremely well for me for several years.
Aside: I just started using KM to implement Gmail shortcuts in Mail.app because I'm sick of the direction of third-party mail applications, and I'm super-impressed by it. Seeing the two mentioned in the same breath made me think Hazel must be important, and it solves a great need for me as well. Thanks for the tip!
On Linux, almost all native applications keep their data in regular, non-proprietary files on the file system. This means your data always exists separate from the applications and you can do with it what you want. If you want to run a script every Monday at 3PM that sifts through your ~/downloads folder and uploads the top 10% largest files to a server, except in January, on Easter, when when your drive is below 70% capacity, if it's not hooked up to power, and also not if Kanye West tweeted something in all caps, you can do that. You can make it retry every 42 minutes if conditions weren't met, email Bob and message Alice in Slack about it. You can make it machine learn your behavior and pick a window within 3 hours after sunrise, log the bandwidth usage, and have it play a tune for your friend's MPD server on the other side of the country.
Why you would want to do all of this is beyond me, but odds are you want to do one of these things at some point. Then Hazel won't be able to do it because they didn't consider your use case, that functionality is only available in version 6 (pay up for the upgrade!), Apple didn't provide the right API, or they recently took it away in the name of security. Surely there's another app that can do it, but that one can't do the other thing! Oh well, maybe the next version?
On Linux, you dream up the code in the language of your choice and it will work forever. Your learned skills will transfer one-to-one to programming you do for your job or hobby, instead of being weirdly specific and locked down to this one, overpriced app's clickity click interface. The OSS mentality of interoperability and doing one thing well almost guarantees there are battle-tested tools available that can solve pieces of your specific puzzle, while not locking you in to their way of doing things.
Of course scripting is not exclusive to Linux, but it is the only OS that was and is built with it in mind.