FelixKratz / SketchyBar

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

Background aware font setup #544

Closed rytswd closed 1 month ago

rytswd commented 2 months ago

Sorry if this is something sketchybar is already capable handling, I just couldn't find any mention in the documentation... 🙇

Currently, I got most of my config setup with custom look and feel -- but for some inputs like bluetooth, audio and keyboard, I'm currently using the macOS alias instead. This is what it looks right now.

image

As you can see, the widgets from macOS have the font colour based on the wallpaper, and it renders icons in white in this case. As my wallpaper setup uses shuffled landscape, I want to be able to do a similar background-aware font colour setup. Is this supported, and if so, how would I go about that?

FelixKratz commented 2 months ago

I invested some time in the past to make this possible by replacing the coloring of the aliases, basically aliases have the property alias.color=<argb_hex> available to override the color.

Implementation: https://github.com/FelixKratz/SketchyBar/blob/4194da0bd277b9b2fd2535eb963a7fd6468a0464/src/alias.c#L242-L253 Documentation: https://felixkratz.github.io/SketchyBar/config/components#item-alias----mirror-items-of-the-original-macos-status-bar-into-sketchybar

rytswd commented 2 months ago

Thanks for the details, and sorry I should have clarified better -- I actually prefer the macOS colouring to be aware of the wallpaper colour, and was curious if sketchybar can have the changing colour behaviour for non-alias widgets as well.

So in the above screenshot, I want the calendar and other widgets to show up in white, if the wallpaper is rather dark. I imagine supporting something like this would be a lot of undertaking, but wanted to check if it's already implemented.

FelixKratz commented 2 months ago

I think you should be able to script this, see this comment: https://github.com/FelixKratz/SketchyBar/discussions/159#discussioncomment-1986310

rytswd commented 2 months ago

Ah thank you, the regex support is something I didn't come across, I'll check more on that. The macOS behaviour I'm referring to is based on the wallpaper brightness, though -- so I'm not sure if this is something I can subscribe to. I'll do a bit more digging in the coming days and report if I can make it work as I like