Taking Hazel to the next level (feature requests)

Hello,
It hasn't that long ago that I have discovered Hazel, and I can't figure out how I had lived without it all this time.
Often though, while working with Hazel, I swing back and forth two diametrically opposed emotional states :
On the one hand, as I continue observing its rock solid stability/quality and discovering new features and tips time and again, I keep admiring what a useful and elegant piece of software it is.
On the the hand, as I often stumble upon some -quite unexpected- shortcomings, I find myself getting quite frustrated and wondering why I insist on Hazel instead of just rolling my own rule-sets based on scripting alone.
Anyhow, here's a list of features that come to my mind which would take Hazel to the next level while actually simplifying its usage.
Ability to ...
In the above list, I have tried to group related items under the same number heading. The letter subscripts (a, b, ..) are closely releated items or sometimes being downright alternatives to each other.
I have tried to draft the above list in kind of a priority order while paying attention to the possible ease/difficulty of implementation. Both accounts merely reflect my own views for the time being, naturally open for discusion.
BTW, I am aware that a lot of these could be considered "currently possible" albeit most of them in quite convoluted ways sometimes involving ugliesh hacks (or perhaps in somemore straightforward ways currently unknown to me ?)
For some my immediate pain points, I may have to turn to the support forum to seek others' wisdom.
The motivation behind this particular post is to surface feature-requests. Hence I haven't dwelled into my own use case(s), but I can indeed give some example scenarios if needed. I am sure others could chime in, too.
Cheers all,
Ayk
It hasn't that long ago that I have discovered Hazel, and I can't figure out how I had lived without it all this time.
Often though, while working with Hazel, I swing back and forth two diametrically opposed emotional states :
On the one hand, as I continue observing its rock solid stability/quality and discovering new features and tips time and again, I keep admiring what a useful and elegant piece of software it is.
On the the hand, as I often stumble upon some -quite unexpected- shortcomings, I find myself getting quite frustrated and wondering why I insist on Hazel instead of just rolling my own rule-sets based on scripting alone.
Anyhow, here's a list of features that come to my mind which would take Hazel to the next level while actually simplifying its usage.
Ability to ...
- 1a. Pass literal a values to scripts (in addition to attributes)
- 1b. Define and set custom attributes outside of a pattern matching context, without having to resort to an external script just for that.
- 1c. Use [custom] attributes on the left hand side of a match rule
- 1d. Have a few more comparison operators for match rules
- 2a. Pass an input stream (stdin) to and capture the output stream (stdout) of shell scripts.
- 2b. Pass input/output parameters to/from shell scripts (I can propose a backward-compatible convention, if needed)
- 3a. Get/set arbitrary extended atributes ("xattr") of a file/folder, in addition to the spotlight comments and tags.
- 3b. Ideally, having the option to set those "xattrs" conditionally (e.g. only if currently undefined / empty /set to particular value, ...).
- 4a. Use complex (struct/record) data-types as input/output parameters of scripts. (though this could be desirable for al types of scripts, it is mrobably much easier to implement with JavaScript/AppleScript).
- 4b. Use such complex custom attributes within Hazel (via something similar to dot notation in the attribute names)
- 5. Reuse the same rules in multiple folders without having to maintain multiple copies.
In the above list, I have tried to group related items under the same number heading. The letter subscripts (a, b, ..) are closely releated items or sometimes being downright alternatives to each other.
I have tried to draft the above list in kind of a priority order while paying attention to the possible ease/difficulty of implementation. Both accounts merely reflect my own views for the time being, naturally open for discusion.
BTW, I am aware that a lot of these could be considered "currently possible" albeit most of them in quite convoluted ways sometimes involving ugliesh hacks (or perhaps in somemore straightforward ways currently unknown to me ?)
For some my immediate pain points, I may have to turn to the support forum to seek others' wisdom.
The motivation behind this particular post is to surface feature-requests. Hence I haven't dwelled into my own use case(s), but I can indeed give some example scenarios if needed. I am sure others could chime in, too.
Cheers all,
Ayk