for users who do not utilize any form of "workspace prev/next" commands,
it can be very handle to sort the workspaces alphabetically.
this commit adds a new "alphabetical_sort" to the `sway/workspaces`
module which allows the module to alway sort workspaces alphabetically.
this docs are updated to warn the user of the implications involved.
Signed-off-by: Louis DeLosSantos <louis.delos@gmail.com>
1. Calendar. Weeks. Fix right paddings when first days of the week is
Monday
2. Fix small perfomrance penalty(avoid of defining parameter in the
month loop)
3. Small name convention for format string variables
1. Let's do code simplier
2. Week format using regexp. Needs when user provide additional
characters in format string and need to align week days according
3. Week format has got default formats: ":%U",":%V"
4. Week number is based on the first day of the week now. The output is
the same as of date library now.
5. Avoiding of unnecessary operations
fix their format to correct
fix last number hide if the last day of the month is the last day of the week
some refactoring(mostly renaming abbreviations to the full phrases)
Linux power_supply sysfs interface allows checking if the battery powers
the whole system or a specific device/tree of devices with `scope`
attribute[1]. We can use it to skip the non-system power supplies in the
battery module and avoid adding HIDs or other peripheral devices to the
total.
The logic is based on UPower, where it is assumed that "Unknown" devices
or devices without a `scope` are system power supplies.
[1]: https://lore.kernel.org/lkml/alpine.LNX.2.00.1201031556460.24984@pobox.suse.cz/T/
The current output form of `hyprctl devices` is like this:
```
Keyboard at 6f80ad70:
ITE Tech. Inc. ITE Device(8910) Keyboard
rules: r "", m "", l "us,ru", v "", o "grp:alt_shift_toggle"
active keymap: Russian
main: no
```
That is, `Keyboard at` goes _before_ the keyboard name, so looking for `Keyboard at` only makes it skip to the keyboard _after_ the one that the user specified.
This fixes#1811 by falling back to `node.description` if `node.nick` is
not available. This can happen for bluetooth devices that do not have a
`node.nick`.