diff --git a/fix-treat-missing-interval-as-once.patch b/fix-treat-missing-interval-as-once.patch new file mode 100644 index 0000000..b0fd018 --- /dev/null +++ b/fix-treat-missing-interval-as-once.patch @@ -0,0 +1,142 @@ +From c9a7cbbdb385521f992d60539daa6a94d403d253 Mon Sep 17 00:00:00 2001 +From: Austin Horstman +Date: Mon, 9 Feb 2026 15:26:23 -0600 +Subject: [PATCH 1/2] fix(image): treat missing interval as once + +PR #4390 enabled millisecond intervals but changed image interval parsing so a missing interval could resolve to 1ms. That creates a hot update loop and can spike CPU and destabilize rendering in drawer/group setups (issue #4835). + +Use explicit semantics: missing, null, non-numeric, or <=0 interval is treated as "once" (max sleep), while positive numeric values still support ms precision with a 1ms floor. This keeps the intended feature (sub-second polling when requested) without defaulting to busy looping. + +Also align waybar-image(5) docs with runtime behavior. + +Signed-off-by: Austin Horstman +--- + man/waybar-image.5.scd | 3 ++- + src/modules/image.cpp | 27 ++++++++++++++++----------- + 2 files changed, 18 insertions(+), 12 deletions(-) + +diff --git a/man/waybar-image.5.scd b/man/waybar-image.5.scd +index 8c991265e..8be182a6f 100644 +--- a/man/waybar-image.5.scd ++++ b/man/waybar-image.5.scd +@@ -26,7 +26,8 @@ The *image* module displays an image from a path. + *interval*: ++ + typeof: integer or float ++ + The interval (in seconds) to re-render the image. ++ +- Minimum value is 0.001 (1ms). Values smaller than 1ms will be set to 1ms. ++ ++ If set to a positive value, the minimum is 0.001 (1ms). Values smaller than 1ms will be set to 1ms. ++ ++ Zero or negative values are treated as "once". ++ + This is useful if the contents of *path* changes. ++ + If no *interval* is defined, the image will only be rendered once. + +diff --git a/src/modules/image.cpp b/src/modules/image.cpp +index 189deee6a..98bf3c46f 100644 +--- a/src/modules/image.cpp ++++ b/src/modules/image.cpp +@@ -14,22 +14,27 @@ waybar::modules::Image::Image(const std::string& id, const Json::Value& config) + + size_ = config["size"].asInt(); + +- interval_ = config_["interval"] == "once" +- ? std::chrono::milliseconds::max() +- : std::chrono::milliseconds(std::max( +- 1L, // Minimum 1ms due to millisecond precision +- static_cast( +- (config_["interval"].isNumeric() ? config_["interval"].asDouble() : 0) * +- 1000))); ++ const auto once = std::chrono::milliseconds::max(); ++ if (!config_.isMember("interval") || config_["interval"].isNull() || ++ config_["interval"] == "once") { ++ interval_ = once; ++ } else if (config_["interval"].isNumeric()) { ++ const auto interval_seconds = config_["interval"].asDouble(); ++ if (interval_seconds <= 0) { ++ interval_ = once; ++ } else { ++ interval_ = ++ std::chrono::milliseconds(std::max(1L, // Minimum 1ms due to millisecond precision ++ static_cast(interval_seconds * 1000))); ++ } ++ } else { ++ interval_ = once; ++ } + + if (size_ == 0) { + size_ = 16; + } + +- if (interval_.count() == 0) { +- interval_ = std::chrono::milliseconds::max(); +- } +- + delayWorker(); + } + + +From 3b478ee6a53f153f35f35729c26bf11b15f692a2 Mon Sep 17 00:00:00 2001 +From: Austin Horstman +Date: Mon, 9 Feb 2026 15:53:44 -0600 +Subject: [PATCH 2/2] chore: format + +Some unrelated files failed formatting. + +Signed-off-by: Austin Horstman +--- + include/util/command.hpp | 4 +--- + src/modules/hyprland/window.cpp | 4 +--- + src/modules/hyprland/windowcount.cpp | 6 ++---- + 3 files changed, 4 insertions(+), 10 deletions(-) + +diff --git a/include/util/command.hpp b/include/util/command.hpp +index 58c59a965..89d4372a1 100644 +--- a/include/util/command.hpp ++++ b/include/util/command.hpp +@@ -172,8 +172,6 @@ inline int32_t forkExec(const std::string& cmd, const std::string& output_name) + return pid; + } + +-inline int32_t forkExec(const std::string& cmd) { +- return forkExec(cmd, ""); +-} ++inline int32_t forkExec(const std::string& cmd) { return forkExec(cmd, ""); } + + } // namespace waybar::util::command +diff --git a/src/modules/hyprland/window.cpp b/src/modules/hyprland/window.cpp +index e02a76917..197ed0920 100644 +--- a/src/modules/hyprland/window.cpp ++++ b/src/modules/hyprland/window.cpp +@@ -237,9 +237,7 @@ void Window::queryActiveWorkspace() { + } + } + +-void Window::onEvent(const std::string& ev) { +- dp.emit(); +-} ++void Window::onEvent(const std::string& ev) { dp.emit(); } + + void Window::setClass(const std::string& classname, bool enable) { + if (enable) { +diff --git a/src/modules/hyprland/windowcount.cpp b/src/modules/hyprland/windowcount.cpp +index 487b00834..d881a3616 100644 +--- a/src/modules/hyprland/windowcount.cpp ++++ b/src/modules/hyprland/windowcount.cpp +@@ -38,7 +38,7 @@ WindowCount::~WindowCount() { + + auto WindowCount::update() -> void { + std::lock_guard lg(mutex_); +- ++ + queryActiveWorkspace(); + + std::string format = config_["format"].asString(); +@@ -125,9 +125,7 @@ void WindowCount::queryActiveWorkspace() { + } + } + +-void WindowCount::onEvent(const std::string& ev) { +- dp.emit(); +-} ++void WindowCount::onEvent(const std::string& ev) { dp.emit(); } + + void WindowCount::setClass(const std::string& classname, bool enable) { + if (enable) { diff --git a/sources b/sources index 553a1bc..d2ab3a6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (waybar-0.9.5.tar.gz) = 0bbb9e898e205728fc564389927fec661a8dd6a9995a6c5d318f930f4527d6afd0be11a6b71dfa9aafb05c982e0f131e51eb0eec9a3e92c28f5cb04ff780fa8b +SHA512 (waybar-0.15.0.tar.gz) = f267c1ad2af1e4e74c3d8c966009a013c0b5c2849bfaf312b3b91e9d6f6856dc5466118f308208948118ea1de0cf70986cc3b592cc830f84d634b8518c5b8c9e diff --git a/waybar-0.9.5-fix-issues-in-wlr-taskbar.patch b/waybar-0.9.5-fix-issues-in-wlr-taskbar.patch deleted file mode 100644 index bd2af59..0000000 --- a/waybar-0.9.5-fix-issues-in-wlr-taskbar.patch +++ /dev/null @@ -1,91 +0,0 @@ -From ef9c3ef1cbb57afa2f64a70282fffe33e5519dfe Mon Sep 17 00:00:00 2001 -From: Aleksei Bavshin -Date: Wed, 6 Jan 2021 07:03:14 -0800 -Subject: [PATCH 1/2] fix(wlr/taskbar): fix wl_array out-of-bounds access - -wl_array->size contains the number of bytes in the array instead of the -number of elements. ---- - src/modules/wlr/taskbar.cpp | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/modules/wlr/taskbar.cpp b/src/modules/wlr/taskbar.cpp -index e70ad9c3..46147bd0 100644 ---- a/src/modules/wlr/taskbar.cpp -+++ b/src/modules/wlr/taskbar.cpp -@@ -367,16 +367,16 @@ void Task::handle_output_leave(struct wl_output *output) - void Task::handle_state(struct wl_array *state) - { - state_ = 0; -- for (auto* entry = static_cast(state->data); -- entry < static_cast(state->data) + state->size; -- entry++) { -- if (*entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_MAXIMIZED) -+ size_t size = state->size / sizeof(uint32_t); -+ for (size_t i = 0; i < size; ++i) { -+ auto entry = static_cast(state->data)[i]; -+ if (entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_MAXIMIZED) - state_ |= MAXIMIZED; -- if (*entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_MINIMIZED) -+ if (entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_MINIMIZED) - state_ |= MINIMIZED; -- if (*entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_ACTIVATED) -+ if (entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_ACTIVATED) - state_ |= ACTIVE; -- if (*entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_FULLSCREEN) -+ if (entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_FULLSCREEN) - state_ |= FULLSCREEN; - } - } - -From b79301a5bdafb2d0a7764990530898996a97c386 Mon Sep 17 00:00:00 2001 -From: Aleksei Bavshin -Date: Fri, 8 Jan 2021 15:07:04 -0800 -Subject: [PATCH 2/2] fix(wlr/taskbar): protocol error when reconnecting - outputs - -Destroy request is not specified for foreign toplevel manager and it -does not prevent the compositor from sending more events. -Libwayland would ignore events to a destroyed objects, but that could -indirectly cause a gap in the sequence of new object ids and trigger -error condition in the library. - -With this commit waybar sends a `stop` request to notify the compositor -about the destruction of a toplevel manager. That fixes abnormal -termination of the bar with following errors: -``` -(waybar:11791): Gdk-DEBUG: 20:04:19.778: not a valid new object id (4278190088), message toplevel(n) - -Gdk-Message: 20:04:19.778: Error reading events from display: Invalid argument -``` ---- - src/modules/wlr/taskbar.cpp | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -diff --git a/src/modules/wlr/taskbar.cpp b/src/modules/wlr/taskbar.cpp -index 46147bd0..4cbb8ce6 100644 ---- a/src/modules/wlr/taskbar.cpp -+++ b/src/modules/wlr/taskbar.cpp -@@ -637,8 +637,20 @@ Taskbar::Taskbar(const std::string &id, const waybar::Bar &bar, const Json::Valu - Taskbar::~Taskbar() - { - if (manager_) { -- zwlr_foreign_toplevel_manager_v1_destroy(manager_); -- manager_ = nullptr; -+ struct wl_display *display = Client::inst()->wl_display; -+ /* -+ * Send `stop` request and wait for one roundtrip. -+ * This is not quite correct as the protocol encourages us to wait for the .finished event, -+ * but it should work with wlroots foreign toplevel manager implementation. -+ */ -+ zwlr_foreign_toplevel_manager_v1_stop(manager_); -+ wl_display_roundtrip(display); -+ -+ if (manager_) { -+ spdlog::warn("Foreign toplevel manager destroyed before .finished event"); -+ zwlr_foreign_toplevel_manager_v1_destroy(manager_); -+ manager_ = nullptr; -+ } - } - } - diff --git a/waybar-0.9.5-relax-spdlog-requirement.patch b/waybar-0.9.5-relax-spdlog-requirement.patch deleted file mode 100644 index 20123ab..0000000 --- a/waybar-0.9.5-relax-spdlog-requirement.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 2c3c236f69d1a11903589b3824a2c103982a7644 Mon Sep 17 00:00:00 2001 -From: Aleksei Bavshin -Date: Tue, 5 Jan 2021 01:47:15 -0800 -Subject: [PATCH] Relax spdlog requirement to the version available in f32. - -This patch is required for modular build to succeed. ---- - meson.build | 2 +- - src/bar.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 839c1dc..bd9420c 100644 ---- a/meson.build -+++ b/meson.build -@@ -80,7 +80,7 @@ is_openbsd = host_machine.system() == 'openbsd' - - thread_dep = dependency('threads') - fmt = dependency('fmt', version : ['>=5.3.0'], fallback : ['fmt', 'fmt_dep']) --spdlog = dependency('spdlog', version : ['>=1.8.0'], fallback : ['spdlog', 'spdlog_dep'], default_options : ['external_fmt=true']) -+spdlog = dependency('spdlog', version : ['>=1.5.0'], fallback : ['spdlog', 'spdlog_dep'], default_options : ['external_fmt=true']) - wayland_client = dependency('wayland-client') - wayland_cursor = dependency('wayland-cursor') - wayland_protos = dependency('wayland-protocols') -diff --git a/src/bar.cpp b/src/bar.cpp -index 7bd6172..ec1d0de 100644 ---- a/src/bar.cpp -+++ b/src/bar.cpp -@@ -461,7 +461,7 @@ waybar::Bar::Bar(struct waybar_output* w_output, const Json::Value& w_config) - setupWidgets(); - window.show_all(); - -- if (spdlog::should_log(spdlog::level::debug)) { -+ if (spdlog::default_logger_raw()->level() >= spdlog::level::debug) { - // Unfortunately, this function isn't in the C++ bindings, so we have to call the C version. - char* gtk_tree = gtk_style_context_to_string( - window.get_style_context()->gobj(), --- -2.29.2 - diff --git a/waybar-fedora-config-changes.patch b/waybar-fedora-config-changes.patch new file mode 100644 index 0000000..3d93c6c --- /dev/null +++ b/waybar-fedora-config-changes.patch @@ -0,0 +1,111 @@ +From f1f103b0ef6c1567103dc8f8cf0925c8fe3645ad Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 24 Feb 2024 18:21:39 -0800 +Subject: [PATCH 1/3] style: update font configuration + +1. Add correct names for the Font Awesome to the list of fonts to + address all the reports about missing/broken glyphs. +2. Switch to 'Noto Sans Mono', a monospace font that is guaranteed to be + in the base install and to render correctly. (Sway consistently uses + monospace fonts for the UI, including swaybar, so it seems reasonable + to use these instead of 'sans-serif'). +--- + resources/style.css | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/resources/style.css b/resources/style.css +index 7e830285..e0310372 100644 +--- a/resources/style.css ++++ b/resources/style.css +@@ -1,6 +1,5 @@ + * { +- /* `otf-font-awesome` is required to be installed for icons */ +- font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; ++ font-family: 'Noto Sans Mono', 'Font Awesome 7 Free', 'Font Awesome 7 Brands', monospace; + font-size: 13px; + } + +-- +2.45.2 + + +From fdcf3c74ad6167a4addf68388945d0cbf496bda3 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 10 Feb 2024 16:22:19 -0800 +Subject: [PATCH 2/3] config: use moon phase emojis insted of symbols + +Whatever the required font is, we don't have it in the default +installation. +--- + resources/config.jsonc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/resources/config.jsonc b/resources/config.jsonc +index 7e0771f5..d8c7adfb 100644 +--- a/resources/config.jsonc ++++ b/resources/config.jsonc +@@ -129,7 +129,7 @@ + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", +- "format-icons": ["", "", "", "", "", "", "", "", ""] ++ "format-icons": ["🌑", "🌘", "🌗", "🌖", "🌕"] + }, + "battery": { + "states": { +-- +2.45.2 + + +From f2a91ea2d7ae00fc1c14eed3702ab37eb0585feb Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 24 Feb 2024 18:56:01 -0800 +Subject: [PATCH 3/3] config: remove several modules from the default + configuration + +`mpd` is too noisy and aggressive in its reconnection attempts. +`custom/media`, `custom/power`, `keyboard-state` and `battery#bat2` all +require additional configuration to work and aren't useful with the +defaults. +--- + resources/config.jsonc | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +diff --git a/resources/config.jsonc b/resources/config.jsonc +index d8c7adfb..e7a89240 100644 +--- a/resources/config.jsonc ++++ b/resources/config.jsonc +@@ -9,14 +9,12 @@ + "modules-left": [ + "sway/workspaces", + "sway/mode", +- "sway/scratchpad", +- "custom/media" ++ "sway/scratchpad" + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ +- "mpd", + "idle_inhibitor", + "pulseaudio", + "network", +@@ -25,13 +23,10 @@ + "memory", + "temperature", + "backlight", +- "keyboard-state", + "sway/language", + "battery", +- "battery#bat2", + "clock", +- "tray", +- "custom/power" ++ "tray" + ], + // Modules configuration + // "sway/workspaces": { +-- +2.45.2 + diff --git a/waybar-fedora-systemd-target-conflicts.patch b/waybar-fedora-systemd-target-conflicts.patch new file mode 100644 index 0000000..f277e2e --- /dev/null +++ b/waybar-fedora-systemd-target-conflicts.patch @@ -0,0 +1,39 @@ +From f67dcce02d02ef1dc8e78efc565647b6fe8656d4 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 4 Jul 2026 22:51:31 -0700 +Subject: [PATCH] systemd: declare known incompatible desktop environments + +Waybar can be used with many different Wayland compositors. Some of +those provide distinct user session targets, some aren't. The usual +recommendation for the latter ones is to allow manual startup of the +graphical-session.target and run "systemd --user start ..." command on +init. + +To ensure that all of the above is supported, we have to keep the +service bound to the graphical-session.target. However, this may impact +unrelated sessions on machines with multiple DEs installed. + +Instead of listing dozens of supported Wayland compositors and breaking +any configs that explicitly use graphical-session.target, keep a list +of known sessions where Waybar is not wanted. +--- + resources/waybar.service.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/resources/waybar.service.in b/resources/waybar.service.in +index 18bac54c..9a54e5ba 100644 +--- a/resources/waybar.service.in ++++ b/resources/waybar.service.in +@@ -6,6 +6,9 @@ After=graphical-session.target + Requisite=graphical-session.target + + [Service] ++ExecCondition=sh -c '[ -n "$WAYLAND_DISPLAY" ]' ++# Known incompatible Wayland sessions ++ExecCondition=/usr/lib/systemd/systemd-xdg-autostart-condition "" "GNOME:KDE:COSMIC:X-Cinnamon" + ExecStart=@prefix@/bin/waybar + ExecReload=kill -SIGUSR2 $MAINPID + Restart=on-failure +-- +2.55.0 + diff --git a/waybar.spec b/waybar.spec index 3550984..60ff304 100644 --- a/waybar.spec +++ b/waybar.spec @@ -1,46 +1,78 @@ Name: waybar -Version: 0.9.5 -Release: 2%{?dist} +Version: 0.15.0 +Release: 6%{?dist} Summary: Highly customizable Wayland bar for Sway and Wlroots based compositors -# MIT for main package, Boost for bundled clara.hpp -License: MIT and Boost +# Source files/overall project licensed as MIT, but +# - BSL-1.0 +# * include/util/clara.hpp +# - HPND-sell-variant +# * protocol/ext-workspace-unstable-v1.xml +# * protocol/wlr-foreign-toplevel-management-unstable-v1.xml +# * protocol/wlr-layer-shell-unstable-v1.xml +# - ISC +# * protocol/river-control-unstable-v1.xml +# * protocol/river-status-unstable-v1.xml +# * src/util/rfkill.cpp +License: MIT AND BSL-1.0 AND ISC URL: https://github.com/Alexays/Waybar -Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +# Downstream changes to the configuration: +# - Fix missing or incorrectly rendered icons +# - Remove several modules from the config +# - Switch font to monospace +Patch: waybar-fedora-config-changes.patch +# Downstream changes to the systemd service: +# - Check that the environment is Wayland and is not listed as unsupported +Patch: waybar-fedora-systemd-target-conflicts.patch -# Fix build with spdlog 1.5 (f32) -%if 0%{?fedora} == 32 -Patch0: waybar-0.9.5-relax-spdlog-requirement.patch -%endif -Patch1: %{url}/pull/969.patch#/waybar-0.9.5-fix-issues-in-wlr-taskbar.patch +# Fix for hot update loop that can spike CPU and +# destabilize rendering in drawer/group setups +# https://github.com/Alexays/Waybar/pull/4838 +Patch: fix-treat-missing-interval-as-once.patch BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: meson >= 0.49.0 +BuildRequires: meson >= 0.59.0 BuildRequires: scdoc -#BuildRequires: systemd-rpm-macros +BuildRequires: systemd-rpm-macros -BuildRequires: pkgconfig(date) +BuildRequires: pkgconfig(catch2) BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) -BuildRequires: pkgconfig(fmt) >= 5.3.0 +BuildRequires: pkgconfig(fmt) >= 8.1.1 BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-unix-2.0) -BuildRequires: pkgconfig(gtk-layer-shell-0) +BuildRequires: pkgconfig(gtk-layer-shell-0) >= 0.9.0 BuildRequires: pkgconfig(gtkmm-3.0) +BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(jsoncpp) +BuildRequires: pkgconfig(libevdev) +BuildRequires: pkgconfig(libgps) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(libmpdclient) BuildRequires: pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-genl-3.0) +BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(playerctl) BuildRequires: pkgconfig(sigc++-2.0) -BuildRequires: pkgconfig(spdlog) >= 1.3.1 +BuildRequires: pkgconfig(spdlog) >= 1.10.0 +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(upower-glib) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(wireplumber-0.5) +BuildRequires: pkgconfig(xkbregistry) Enhances: sway -Recommends: (font(fontawesome5free) or font(fontawesome)) +%if 0%{?fedora} < 45 +Recommends: font(fontawesome6free) +Recommends: font(fontawesome6brands) +%else +Recommends: font(fontawesome7free) +Recommends: font(fontawesome7brands) +%endif %description %{summary}. @@ -49,27 +81,214 @@ Recommends: (font(fontawesome5free) or font(fontawesome)) %autosetup -p1 -n Waybar-%{version} %build -# FIXME: disable user service until a proper way to start it has been decided -# see rhbz#1798811 for more context %meson \ - -Dsndio=disabled \ - -Dsystemd=disabled + -Dcava=disabled \ + -Dsndio=disabled %meson_build %install %meson_install +%check +%meson_test + +%post +%systemd_user_post %{name}.service + +%preun +%systemd_user_preun %{name}.service + %files %license LICENSE %doc README.md %dir %{_sysconfdir}/xdg/%{name} -%config(noreplace) %{_sysconfdir}/xdg/%{name}/config +%config(noreplace) %{_sysconfdir}/xdg/%{name}/config.jsonc %config(noreplace) %{_sysconfdir}/xdg/%{name}/style.css %{_bindir}/%{name} %{_mandir}/man5/%{name}* +%{_userunitdir}/%{name}.service %changelog +* Sun Aug 02 2026 Aleksei Bavshin - 0.15.0-6 +- systemd: declare known incompatible desktop environments + +* Fri Jul 17 2026 Fedora Release Engineering - 0.15.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Thu Jun 25 2026 František Zatloukal - 0.15.0-4 +- Rebuilt for fmt/spdlog + +* Wed May 27 2026 Jerry James - 0.15.0-3 +- Migrate from FontAwesome 6.x to 7.x + +* Sun Mar 22 2026 Björn Esser - 0.15.0-2 +- Rebuild (jsoncpp) + +* Sat Feb 07 2026 Tomasz Hołubowicz - 0.15.0-1 +- Update to 0.15.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 0.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jan 14 2026 Jitka Plesnikova - 0.14.0-2 +- Rebuild for new gpsd + +* Sun Aug 10 2025 Aleksei Bavshin - 0.14.0-1 +- Update to 0.14.0 (#2387223) + +* Fri Jul 25 2025 Fedora Release Engineering - 0.13.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jul 12 2025 Aleksei Bavshin - 0.13.0-2 +- Add patches for known 0.13.0 regressions (#2379698) + +* Mon Jun 23 2025 Aleksei Bavshin - 0.13.0-1 +- Update to 0.13.0 (rhbz#2374294) + +* Thu Feb 27 2025 Björn Esser - 0.12.0-2 +- Rebuild (jsoncpp) + +* Sun Feb 23 2025 Aleksei Bavshin - 0.12.0-1 +- Update to 0.12.0 (#2346964) + +* Sun Jan 19 2025 Fedora Release Engineering - 0.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Nov 26 2024 František Zatloukal - 0.11.0-2 +- Rebuilt for spdlog 1.15.0 + +* Sun Sep 15 2024 Aleksei Bavshin - 0.11.0-1 +- Update to 0.11.0 (#2312394) + +* Sat Jul 20 2024 Aleksei Bavshin - 0.10.4-1 +- Update to 0.10.4 (#2298541) + +* Sat Jul 20 2024 Fedora Release Engineering - 0.10.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jul 15 2024 Kefu Chai - 0.10.3-3 +- Rebuild for fmt 11 + +* Tue May 21 2024 František Zatloukal - 0.10.3-2 +- Rebuilt for spdlog 1.14.1 + +* Sun May 19 2024 Aleksei Bavshin - 0.10.3-1 +- Update to 0.10.3 (#2250157) + +* Tue Apr 23 2024 Aleksei Bavshin - 0.10.2-1 +- Update to 0.10.2 (#2276575) + +* Wed Mar 13 2024 Aleksei Bavshin - 0.10.0-1 +- Update to 0.10.0 + +* Sat Feb 24 2024 Aleksei Bavshin - 0.9.24-3 +- Patch default configuration to address several known issues +- Fixes rhbz#2254813 + +* Mon Jan 29 2024 Aleksei Bavshin - 0.9.24-2 +- Disable wireplumber support in rawhide (rhbz#2260558) + +* Sat Jan 27 2024 Fedora Release Engineering - 0.9.24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Nov 05 2023 Aleksei Bavshin - 0.9.24-1 +- Update to 0.9.24 + +* Wed Aug 16 2023 Aleksei Bavshin - 0.9.22-1 +- Update to 0.9.22 + +* Mon Aug 14 2023 Aleksei Bavshin - 0.9.21-1 +- Update to 0.9.21 + +* Sat Jul 22 2023 Fedora Release Engineering - 0.9.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 18 2023 Aleksei Bavshin - 0.9.20-1 +- Update to 0.9.20 (#2223828) + +* Tue Jul 11 2023 Aleksei Bavshin - 0.9.19-3 +- Add patches for some known issues + +* Sat Jul 08 2023 Vitaly Zaitsev - 0.9.19-2 +- Rebuilt due to spdlog 1.12 update. + +* Tue Jul 04 2023 Aleksei Bavshin - 0.9.19-1 +- Update to 0.9.19 + +* Wed Jun 28 2023 Vitaly Zaitsev - 0.9.18-2 +- Rebuilt due to fmt 10 update. + +* Mon May 29 2023 Aleksei Bavshin - 0.9.18-1 +- Update to 0.9.18 +- Recommend Font Awesome 6 for F39 + +* Sat Jan 21 2023 Fedora Release Engineering - 0.9.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 11 2023 Aleksei Bavshin - 0.9.17-1 +- Update to 0.9.17 +- Convert License tag to SPDX + +* Thu Nov 24 2022 Aleksei Bavshin - 0.9.16-1 +- Update to 0.9.16 (#2139998) + +* Thu Nov 03 2022 Vitaly Zaitsev - 0.9.13-4 +- Rebuilt due to spdlog update. + +* Sat Jul 23 2022 Fedora Release Engineering - 0.9.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 16 2022 Aleksei Bavshin - 0.9.13-2 +- Rebuild for fmt 9.0.0 + +* Mon May 23 2022 Aleksei Bavshin - 0.9.13-1 +- Update to 0.9.13 (#2089525) + +* Thu Mar 10 2022 Aleksei Bavshin - 0.9.12-1 +- Update to 0.9.12 (#2062615) + +* Sun Mar 06 2022 Aleksei Bavshin - 0.9.10-1 +- Update to 0.9.10 (#2061176) + +* Sat Jan 22 2022 Fedora Release Engineering - 0.9.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Jan 10 2022 Aleksei Bavshin - 0.9.9-1 +- Update to 0.9.9 +- Install systemd user service + +* Wed Nov 03 2021 Björn Esser - 0.9.8-3 +- Rebuild (jsoncpp) + +* Tue Nov 02 2021 Aleksei Bavshin - 0.9.8-2 +- Add patch for 'river/tags' protocol error on River + +* Mon Aug 16 2021 Aleksei Bavshin - 0.9.8-1 +- Update to 0.9.8 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.9.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jul 05 2021 Richard Shaw - 0.9.7-3 +- Rebuild for new fmt version. + +* Tue Jun 15 2021 Aleksei Bavshin - 0.9.7-2 +- Add patch for waybar crash on disabling outputs + +* Thu Apr 15 2021 Aleksei Bavshin - 0.9.7-1 +- Update to 0.9.7 + +* Thu Apr 15 2021 Aleksei Bavshin - 0.9.6-1 +- Update to 0.9.6 + +* Wed Feb 10 2021 Aleksei Bavshin - 0.9.5-4 +- Add patch for rfkill exception with kernel 5.11 +- Fixes rhbz#1927821 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.9.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jan 11 2021 Aleksei Bavshin - 0.9.5-2 - Fix build with spdlog 1.5 (f32) - Add patch for possible crashes in 'wlr/taskbar'