Renames existing `alphanumeric` sorting method to `label` and adds a new method called `name` which uses the real workspace name, akin to behaviour before #799.
BREAKING CHANGE: The workspace `sort` config option valid values have changed. Where `alphanumeric` is explicitly set, this will need changing to one of `label` or `name`.
Rewrites the module code to be better structured, in a similar pattern to the launcher. The code is now more robust and more maintainable, yay!
Fixes#705
Fixes an issue with moving favourite workspaces.
Fixes an issue with workspace visible state being incorrect.
Fixes an issue where the `inactive` class looked at hidden instead of closed favourites.
each call to set_menu_widget registered a new event handler,
resulting in multiple popups to be created. each popup tried
to issue a grab with the same serial.
prevent this by disconnecting any previously registered handler.
* feat: add sway-mode module
* refactor: Avoid making multiple connections to SwayIPC
Now `sway::Client` is store in `ironbar.clients`, and allow dynamically
registering event listeners, instead of hardcoding events for Workspace
updates.
Remove the use of `swayipc::Connection` from `sway-mode` module, and
replace it with the new event listener system.
#671
This PR includes the necessary code changes, CI changes and documentation to generate and deploy a full JSON schema for each release and the master branch, which can be used within config files for autocomplete and type checking.
Renaming workspaces on Hyprland will now work as expected.
This also refactors the workspace code to depend on IDs rather than
names which should make it more robust against the same sort of issue
in future.
Fixes#469
* Add reverse order for launcher items/favorites
* Add lanucher reverse order to docs
* Add example configs for json,toml,yaml,corn
---------
Co-authored-by: SerraPi <serrapm2@gmail.com>