Commit Graph

3440 Commits

Author SHA1 Message Date
Kauan Decarli de77787b60 Allow any module to implement signal handling 2023-01-21 21:57:28 -03:00
Aleksei Bavshin 51b6c22cab
ci: add glibc locales for date formatting tests.
Add some missing dependencies for Fedora.
2023-01-21 02:18:46 -08:00
Aleksei Bavshin 01cee153a4
ci: try to build with cpp_std=c++20
Add an extra job to build with `-std=c++20` on Fedora.
Update actions/checkout to v3.
2023-01-21 02:18:45 -08:00
Aleksei Bavshin 93e340a081
feat(clock): support chrono Time Zone extensions.
Use chrono Calendars and Time Zones (P0355R7, P1466R3) when available
instead of the `date` library.
Verified with a patched build of a recent GCC 13 snapshot.
2023-01-21 02:18:44 -08:00
Aleksei Bavshin 6225db0a48
test: refactor date formatter tests.
- Add tests for global locale.
- Warn about missing locales.
- Downgrade REQUIRE to CHECK.
- Skip tests if localized formatting does not work as expected.
2023-01-21 02:18:43 -08:00
Aleksei Bavshin ea17a66dfc
fix: compilation errors with cpp_std=c++20
There were two main issues with fmtlib and C++20 mode:

 - `fmt::format` defaults to compile-time argument checking and requires
   using `fmt::runtime(format_string)` to bypass that.
 - `std::format` implementation introduces conflicting declarations and
   we have to specify the namespace for all `format`/`format_to` calls.
2023-01-20 22:50:02 -08:00
Aleksei Bavshin 67efe1af89
refactor(clock): remove struct waybar_time
The structure was used to pass the locale instance to the date
formatter. All the supported versions of `fmt` are passing the locale
parameter via `FormatContext.locale()` so we can remove the struct and
simplify the code.

While we at it, drop `date::make_zoned` in favor of CTAD on a
`date::zoned_time` constructor.
2023-01-20 22:50:01 -08:00
Aleksei Bavshin ba498869c5
fix(clock): delete outdated warning 2023-01-20 22:50:00 -08:00
Aleksei Bavshin 43d52c59d9
test: fix build with Catch2 v2.x
Use smaller includes for Catch2 v3.
2023-01-20 22:49:59 -08:00
Aleksei Bavshin ca9d237b00
fix(sway): add missing includes for GCC 13
See also: https://gcc.gnu.org/gcc-13/porting_to.html
2023-01-20 22:49:58 -08:00
Alex bc07a82579
Merge pull request #1962 from maximbaz/hyprland-submap-init 2023-01-20 23:46:08 +01:00
Maxim Baz 6e9f21fc6b
hyprland/submap: run initial render on startup 2023-01-20 23:40:08 +01:00
Alex eb9d2d9c5d
Merge pull request #1935 from multun/master 2023-01-17 09:40:45 +01:00
Alex be3df41ae0
Merge pull request #1942 from smoak/fix-wireplumber-crashes
Fixes https://github.com/Alexays/Waybar/issues/1907
2023-01-17 09:36:05 +01:00
Sasha Moak 4e8ccf36b5 fix(wireplumber): waybar crashes when default node changes
In order to fix the issue, the default node name is cached rather than
the default node id. This is due to ids being unstable. So now when the
object manager is installed (ie ready), the default node name is
retrieved and stored for later.

Now when the mixer changed signal is emitted, the id of the changed node
is used to get the node from the object manager. The nodes name is
grabbed off that node and compared against the default node name, if
they match the volume is updated. Some safeguarding has been added such
that if the node cannot be found off the object manager, it's ignored.

Additionally, the "changed" signal on the default nodes api is now
utilized to update the default node name if it has changed. This way if
the default node changes, the module will be updated with the correct
volume and node.nick.

This adds additional debug logging for helping diagnose wireplumber
issues.

This also adds the wireplumber man page entry to the main waybar
supported section.
2023-01-16 10:29:35 -08:00
shironeko 5649c3f552 river/tags: refactor to support special purpose tags
adds the set-tags and toggle-tags setting so it's possible to have
different tags set vs toggled. This enables the use of e.g. sticky tags

Also clean-up the code a bit.
2023-01-15 12:16:30 -05:00
PolpOnline a4b1b0a211
modules/custom: Added percentage rounding 2023-01-13 22:39:59 +01:00
Alex 6c8e186586
Merge pull request #1939 from RobertMueller2/master 2023-01-13 15:31:50 +01:00
Rene D. Obermueller 544c6deb88 sway/window: fix manpage 2023-01-13 15:08:59 +01:00
Alex e59b4e4c93
Merge pull request #1419 from RobertMueller2/sway-window-newstyles 2023-01-13 13:58:43 +01:00
Alex d71a4569fe
Merge pull request #1937 from cyrinux/fix/battery-time-remaining
fix https://github.com/Alexays/Waybar/pull/1867#pullrequestreview-1246756355
2023-01-13 09:51:40 +01:00
Cyril LEVIS 120cba0f5e
fix: battery time remaining
time is reported in second and should be divided by 3600 and not 1000.
2023-01-13 09:44:39 +01:00
Rene D. Obermueller 328573332f sway-window, Issue 1399: new style classes
Provides CSS classes empty, floating, tabbed, tiled, solo, stacked and
app_id.

Adds offscreen-css bool option (default false), only effective when
"all-outputs" is true. This adds styles on outputs without focused
node, according to its focused workspaces window situation.

Adds an "offscreen-css-text" string option (default empty), only
effective when "all-outputs" and "offscreen-style" are set. This
is shown as a text on outputs without a focused node.

Adds a "show-focused-workspace" bool option (default false) to indicate
the workspace name if the whole workspace is focused when nodes are
also present. If not set, empty text is shown, but css classes
according to nodes in the workspace are still applied.

Limitation:
When the top level layout changes, there is no sway event so the
module cannot react. Perhaps in the future recurring polling can
be added to go around this limitation.
2023-01-12 05:53:59 +01:00
Victor "multun" Collod df0fdce92b get_desktop_app_info: fix crash on failed DesktopAppInfo::create
Even though it makes little sense for this call to fail,
it sometimes randomly does, and takes down waybar with it.
2023-01-11 23:02:12 +01:00
Alex f0bead34d4 chore: 0.9.17 2023-01-11 11:39:30 +01:00
Alex d6bd440027 fix: lint 2023-01-09 15:48:31 +01:00
Alex c692d7bf64
Merge pull request #1929 from julianschuler/monitor-reconnect-fix
Fixes https://github.com/Alexays/Waybar/issues/1783
2023-01-08 19:56:27 +01:00
Julian Schuler 2045aac5b0 Fix crash upon reconnecting monitor 2023-01-08 18:49:24 +01:00
Alex a92223c316
Merge pull request #1926 from robertgzr/mpris-module 2023-01-07 09:23:25 +01:00
Robert Günzler 24d03d13ce
mpris: fix build errors
to address https://github.com/Alexays/Waybar/pull/1520#issuecomment-1374229080

Signed-off-by: Robert Günzler <r@gnzler.io>
2023-01-07 01:44:25 +01:00
Robert Günzler b3b5d8f9ab
Activate ci for mpris module
Signed-off-by: Robert Günzler <r@gnzler.io>
2023-01-07 01:44:25 +01:00
Alex 86850f5c7a
Merge pull request #1520 from robertgzr/mpris-module 2023-01-06 22:35:24 +01:00
Robert Günzler 0bc5314e08
Add mpris module
Uses libplayerctl to use the MPRIS dbus protocol to query, listen and
control media players.

Signed-off-by: Robert Günzler <r@gnzler.io>
2023-01-06 20:55:31 +01:00
Alex 1d6cfe7ce6
Merge pull request #1921 from Jonher937/cpu-load-pushed-back-twice 2023-01-05 08:52:22 +01:00
Jonathan Herlin 2a3ebc12de fix: cpu_load pushed twice to the vector 2023-01-05 01:10:04 +01:00
Alex 1938bb5d28 fix: lint 2023-01-04 16:26:50 +01:00
Alex a35861b3b9
Merge pull request #1918 from ldelossa/sway-workspaces-alpha-sort 2023-01-03 11:52:39 +01:00
Louis DeLosSantos 8b512e7b22 sway,feat: allow alphabetical sort
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>
2023-01-02 17:03:28 -05:00
Alex fb083f93dc
Merge pull request #1911 from cdump/master 2022-12-31 13:35:46 +01:00
Maxim Andreev f795e7a308 modules/clock: improve ux when calendar_shift is used:
1. change only date, but not time
  2. use shifted values only in tooltip
  3. reset shift when mouse leaves (popup closes)
2022-12-28 10:13:10 +03:00
Alex 21abd4f9f9
Merge pull request #1910 from eneshecan/master 2022-12-27 15:44:42 +01:00
Enes Hecan f724cc3f9d Fix wrong layout name in hyprland language module when a variant is used 2022-12-27 15:29:10 +01:00
Alex bfbb2f9a40
Merge pull request #1906 from Arisa-Snowbell/gitignore 2022-12-26 09:33:55 +01:00
Arisa Snowbell 91357f210d
Ignore .cache generated by clangd 2022-12-26 06:39:15 +01:00
Alex 3e48551f25
Merge pull request #1897 from eneshecan/master 2022-12-21 09:43:08 +01:00
Enes Hecan c05f41d732 Make linter happy 2022-12-21 01:55:39 +01:00
Enes Hecan 4d59de42af Implement hyprland submap module 2022-12-21 01:45:57 +01:00
Enes Hecan 6e296838e4 Update hyprland language module docs 2022-12-21 00:20:16 +01:00
Alex e00e36981e
Merge pull request #1890 from eneshecan/master 2022-12-16 10:37:54 +01:00
Enes Hecan 4136ffaecb Minor refactorings and formatting fixes for hyprland language module 2022-12-16 10:01:58 +01:00