FelixKratz / SketchyBar

A highly customizable macOS status bar replacement
https://felixkratz.github.io/SketchyBar/
GNU General Public License v3.0
6.67k stars 97 forks source link

More powerful display and space selectors #472

Open rainzm opened 11 months ago

rainzm commented 11 months ago

The initial idea was that I wanted to set a unique bar height for each display.

By reading the documentation, I found that the height belongs to bar properties which is global. I can reach my goal using the methods indicated in this. However, this approach will divide my configuration into two parts, where in actuality, these two configurations only differ in the attribute of "height."

So I wonder if there is a easy way to distinguish bar properties or just height for each display?

Finally, I want to express my gratitude for your creating such a wonderful bar.

FelixKratz commented 10 months ago

I had this in mind for some time now and this would be a good oportunity to refactor the bar_manager and bar code. From the technical point of view this is all very simple, the hard part is to come up with a proper configuration syntax for this. Obviously, the current configuration syntax should not be affected by this addition so it would need to be a command prefix.

Maybe something like:

sketchybar --bar <property>=<value> ... <property>=<value>

sets properties for the bar globally (as it is now), while

sketchybar --display <positive_integer list> --bar <property>=<value> ... <property>=<value>

would set the properties for the specified displays only.

Problem with this is that it looks as if it is a global display select and should therefore also work for items, e.g.

sketchybar --display <positive_integer list> --set name <property>=<value> ... <property>=<value>

should also only change the item properties on a specific display.

This would require significant modifications to the bar_item logic as well.

And when exposing a --display selector one could go even further and provide a --space selector as well, which should work for both the --bar and --set domains.

I will think about this some more but I like the idea so far. Any further ideas/considerations for this syntax addition?

rainzm commented 10 months ago

This is a top-down, organized structure, which is a brilliant idea. I am eagerly looking forward to it.