Skip to content
LBCrion edited this page Sep 14, 2022 · 1 revision

RFC: CSS style changes

Current development version makes several changes to how sfwbar is themed. The main changes are image sizing (can be set explicitly via min-width/height or automatically via -GtkWidget-hexpand/vexpand) and tray items (which are now wrapped in buttons to match taskbar and pager items). Since the next release will introduce breaking changes to theming, I am considering taking this opportunity to move taskbar, tray, pager and switcher items to class based theming. All of these items currently have multiple styles, but most of the styling is identical across styles. Switching to classes will allow to set most of the theme for the base class and only apply the differences to sub-classes. This will be yet another breaking change that would force an update of all existing style sheets, but it should make things easier to theme in the future.

TODO

This is a list of things I currently envision for the future versions:

  1. Modules - some system parameters are not easily obtainable via /proc or /sys interfaces (i.e. wifi info). Some of these would require dependencies on other libraries (i.e. pulse, alsa, sndio). I'd like to handle this via dynamically loaded modules, making these features both build-time and run-time optional.
  2. Persistent tray sorting. Currently, users can drag tray items around, but the order is lost on restart. The challenge here is trying to preserve the order while sorting can happen on incomplete sets.
  3. Pager for non-sway compositors (requires ext-workspace-unstable wayland protocol to be merged).

Help wanted

The screenshots on the homepage show my personal setup and it's variant. These are rather last millennium (If memory serves, they are loosely based on gnome 1.0). If you can share nice screenshots (and configs), it would be nice to demonstrate that the bar isn't used exclusively by dinosaurs.

Clone this wiki locally