Adds `orientation` and `justify` options to all modules and custom
widgets where it makes sense to do so.
Any modules without support document this. Widgets fully document the
options inline where present for now.
Resolves#296
This completely reworks the sysinfo module to add support for aggregate functions, better support for working with individual devices, the ability to specify units, and some string formatting support.
Several new tokens have also been added, and performance should be marginally improved.
BREAKING CHANGE: Use of the `sys_info` module in your config will need to be updated to use the new token format. See the wiki page for more info.
This extends the existing `keys` module to be able to show the current keyboard layout, and cycle between layouts (using the `next` command) by clicking. The `keys` module has been renamed to `keyboard` to more accurately reflect its extended featureset.
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.