Compare commits
No commits in common. "rawhide" and "f32" have entirely different histories.
7 changed files with 154 additions and 534 deletions
|
|
@ -1,142 +0,0 @@
|
|||
From c9a7cbbdb385521f992d60539daa6a94d403d253 Mon Sep 17 00:00:00 2001
|
||||
From: Austin Horstman <khaneliman12@gmail.com>
|
||||
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 <khaneliman12@gmail.com>
|
||||
---
|
||||
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<long>(
|
||||
- (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<long>(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 <khaneliman12@gmail.com>
|
||||
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 <khaneliman12@gmail.com>
|
||||
---
|
||||
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<std::mutex> 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) {
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (waybar-0.15.0.tar.gz) = f267c1ad2af1e4e74c3d8c966009a013c0b5c2849bfaf312b3b91e9d6f6856dc5466118f308208948118ea1de0cf70986cc3b592cc830f84d634b8518c5b8c9e
|
||||
SHA512 (waybar-0.9.5.tar.gz) = 0bbb9e898e205728fc564389927fec661a8dd6a9995a6c5d318f930f4527d6afd0be11a6b71dfa9aafb05c982e0f131e51eb0eec9a3e92c28f5cb04ff780fa8b
|
||||
|
|
|
|||
91
waybar-0.9.5-fix-issues-in-wlr-taskbar.patch
Normal file
91
waybar-0.9.5-fix-issues-in-wlr-taskbar.patch
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
From ef9c3ef1cbb57afa2f64a70282fffe33e5519dfe Mon Sep 17 00:00:00 2001
|
||||
From: Aleksei Bavshin <alebastr89@gmail.com>
|
||||
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<uint32_t*>(state->data);
|
||||
- entry < static_cast<uint32_t*>(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<uint32_t*>(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 <alebastr89@gmail.com>
|
||||
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;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
40
waybar-0.9.5-relax-spdlog-requirement.patch
Normal file
40
waybar-0.9.5-relax-spdlog-requirement.patch
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
From 2c3c236f69d1a11903589b3824a2c103982a7644 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksei Bavshin <alebastr@fedoraproject.org>
|
||||
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
|
||||
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
From f1f103b0ef6c1567103dc8f8cf0925c8fe3645ad Mon Sep 17 00:00:00 2001
|
||||
From: Aleksei Bavshin <alebastr89@gmail.com>
|
||||
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 <alebastr@fedoraproject.org>
|
||||
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 <alebastr89@gmail.com>
|
||||
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
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From f67dcce02d02ef1dc8e78efc565647b6fe8656d4 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksei Bavshin <alebastr89@gmail.com>
|
||||
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
|
||||
|
||||
263
waybar.spec
263
waybar.spec
|
|
@ -1,78 +1,46 @@
|
|||
Name: waybar
|
||||
Version: 0.15.0
|
||||
Release: 6%{?dist}
|
||||
Version: 0.9.5
|
||||
Release: 2%{?dist}
|
||||
Summary: Highly customizable Wayland bar for Sway and Wlroots based compositors
|
||||
# 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
|
||||
# MIT for main package, Boost for bundled clara.hpp
|
||||
License: MIT and Boost
|
||||
URL: https://github.com/Alexays/Waybar
|
||||
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
|
||||
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: meson >= 0.59.0
|
||||
BuildRequires: meson >= 0.49.0
|
||||
BuildRequires: scdoc
|
||||
BuildRequires: systemd-rpm-macros
|
||||
#BuildRequires: systemd-rpm-macros
|
||||
|
||||
BuildRequires: pkgconfig(catch2)
|
||||
BuildRequires: pkgconfig(date)
|
||||
BuildRequires: pkgconfig(dbusmenu-gtk3-0.4)
|
||||
BuildRequires: pkgconfig(fmt) >= 8.1.1
|
||||
BuildRequires: pkgconfig(fmt) >= 5.3.0
|
||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
|
||||
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||
BuildRequires: pkgconfig(gtk-layer-shell-0) >= 0.9.0
|
||||
BuildRequires: pkgconfig(gtk-layer-shell-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.10.0
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(upower-glib)
|
||||
BuildRequires: pkgconfig(spdlog) >= 1.3.1
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-cursor)
|
||||
BuildRequires: pkgconfig(wayland-protocols)
|
||||
BuildRequires: pkgconfig(wireplumber-0.5)
|
||||
BuildRequires: pkgconfig(xkbregistry)
|
||||
|
||||
Enhances: sway
|
||||
%if 0%{?fedora} < 45
|
||||
Recommends: font(fontawesome6free)
|
||||
Recommends: font(fontawesome6brands)
|
||||
%else
|
||||
Recommends: font(fontawesome7free)
|
||||
Recommends: font(fontawesome7brands)
|
||||
%endif
|
||||
Recommends: (font(fontawesome5free) or font(fontawesome))
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
|
@ -81,214 +49,27 @@ Recommends: font(fontawesome7brands)
|
|||
%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 \
|
||||
-Dcava=disabled \
|
||||
-Dsndio=disabled
|
||||
-Dsndio=disabled \
|
||||
-Dsystemd=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.jsonc
|
||||
%config(noreplace) %{_sysconfdir}/xdg/%{name}/config
|
||||
%config(noreplace) %{_sysconfdir}/xdg/%{name}/style.css
|
||||
%{_bindir}/%{name}
|
||||
%{_mandir}/man5/%{name}*
|
||||
%{_userunitdir}/%{name}.service
|
||||
|
||||
%changelog
|
||||
* Sun Aug 02 2026 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.15.0-6
|
||||
- systemd: declare known incompatible desktop environments
|
||||
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Thu Jun 25 2026 František Zatloukal <fzatlouk@redhat.com> - 0.15.0-4
|
||||
- Rebuilt for fmt/spdlog
|
||||
|
||||
* Wed May 27 2026 Jerry James <loganjerry@gmail.com> - 0.15.0-3
|
||||
- Migrate from FontAwesome 6.x to 7.x
|
||||
|
||||
* Sun Mar 22 2026 Björn Esser <besser82@fedoraproject.org> - 0.15.0-2
|
||||
- Rebuild (jsoncpp)
|
||||
|
||||
* Sat Feb 07 2026 Tomasz Hołubowicz <mail@alternateved.com> - 0.15.0-1
|
||||
- Update to 0.15.0
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Wed Jan 14 2026 Jitka Plesnikova <jplesnik@redhat.com> - 0.14.0-2
|
||||
- Rebuild for new gpsd
|
||||
|
||||
* Sun Aug 10 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.14.0-1
|
||||
- Update to 0.14.0 (#2387223)
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sat Jul 12 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.13.0-2
|
||||
- Add patches for known 0.13.0 regressions (#2379698)
|
||||
|
||||
* Mon Jun 23 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.13.0-1
|
||||
- Update to 0.13.0 (rhbz#2374294)
|
||||
|
||||
* Thu Feb 27 2025 Björn Esser <besser82@fedoraproject.org> - 0.12.0-2
|
||||
- Rebuild (jsoncpp)
|
||||
|
||||
* Sun Feb 23 2025 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.12.0-1
|
||||
- Update to 0.12.0 (#2346964)
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Tue Nov 26 2024 František Zatloukal <fzatlouk@redhat.com> - 0.11.0-2
|
||||
- Rebuilt for spdlog 1.15.0
|
||||
|
||||
* Sun Sep 15 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.11.0-1
|
||||
- Update to 0.11.0 (#2312394)
|
||||
|
||||
* Sat Jul 20 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.10.4-1
|
||||
- Update to 0.10.4 (#2298541)
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Mon Jul 15 2024 Kefu Chai <tchaikov@gmail.com> - 0.10.3-3
|
||||
- Rebuild for fmt 11
|
||||
|
||||
* Tue May 21 2024 František Zatloukal <fzatlouk@redhat.com> - 0.10.3-2
|
||||
- Rebuilt for spdlog 1.14.1
|
||||
|
||||
* Sun May 19 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.10.3-1
|
||||
- Update to 0.10.3 (#2250157)
|
||||
|
||||
* Tue Apr 23 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.10.2-1
|
||||
- Update to 0.10.2 (#2276575)
|
||||
|
||||
* Wed Mar 13 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.10.0-1
|
||||
- Update to 0.10.0
|
||||
|
||||
* Sat Feb 24 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.24-3
|
||||
- Patch default configuration to address several known issues
|
||||
- Fixes rhbz#2254813
|
||||
|
||||
* Mon Jan 29 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.24-2
|
||||
- Disable wireplumber support in rawhide (rhbz#2260558)
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.24-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Nov 05 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.24-1
|
||||
- Update to 0.9.24
|
||||
|
||||
* Wed Aug 16 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.22-1
|
||||
- Update to 0.9.22
|
||||
|
||||
* Mon Aug 14 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.21-1
|
||||
- Update to 0.9.21
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.20-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 18 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.20-1
|
||||
- Update to 0.9.20 (#2223828)
|
||||
|
||||
* Tue Jul 11 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.19-3
|
||||
- Add patches for some known issues
|
||||
|
||||
* Sat Jul 08 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.9.19-2
|
||||
- Rebuilt due to spdlog 1.12 update.
|
||||
|
||||
* Tue Jul 04 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.19-1
|
||||
- Update to 0.9.19
|
||||
|
||||
* Wed Jun 28 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.9.18-2
|
||||
- Rebuilt due to fmt 10 update.
|
||||
|
||||
* Mon May 29 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.18-1
|
||||
- Update to 0.9.18
|
||||
- Recommend Font Awesome 6 for F39
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.17-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jan 11 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.17-1
|
||||
- Update to 0.9.17
|
||||
- Convert License tag to SPDX
|
||||
|
||||
* Thu Nov 24 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.16-1
|
||||
- Update to 0.9.16 (#2139998)
|
||||
|
||||
* Thu Nov 03 2022 Vitaly Zaitsev <vitaly@easycoding.org> - 0.9.13-4
|
||||
- Rebuilt due to spdlog update.
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.13-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Jul 16 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.13-2
|
||||
- Rebuild for fmt 9.0.0
|
||||
|
||||
* Mon May 23 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.13-1
|
||||
- Update to 0.9.13 (#2089525)
|
||||
|
||||
* Thu Mar 10 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.12-1
|
||||
- Update to 0.9.12 (#2062615)
|
||||
|
||||
* Sun Mar 06 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.10-1
|
||||
- Update to 0.9.10 (#2061176)
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Jan 10 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.9-1
|
||||
- Update to 0.9.9
|
||||
- Install systemd user service
|
||||
|
||||
* Wed Nov 03 2021 Björn Esser <besser82@fedoraproject.org> - 0.9.8-3
|
||||
- Rebuild (jsoncpp)
|
||||
|
||||
* Tue Nov 02 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.8-2
|
||||
- Add patch for 'river/tags' protocol error on River
|
||||
|
||||
* Mon Aug 16 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.8-1
|
||||
- Update to 0.9.8
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Jul 05 2021 Richard Shaw <hobbes1069@gmail.com> - 0.9.7-3
|
||||
- Rebuild for new fmt version.
|
||||
|
||||
* Tue Jun 15 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.7-2
|
||||
- Add patch for waybar crash on disabling outputs
|
||||
|
||||
* Thu Apr 15 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.7-1
|
||||
- Update to 0.9.7
|
||||
|
||||
* Thu Apr 15 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.6-1
|
||||
- Update to 0.9.6
|
||||
|
||||
* Wed Feb 10 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.9.5-4
|
||||
- Add patch for rfkill exception with kernel 5.11
|
||||
- Fixes rhbz#1927821
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 11 2021 Aleksei Bavshin <alebastr89@gmail.com> - 0.9.5-2
|
||||
- Fix build with spdlog 1.5 (f32)
|
||||
- Add patch for possible crashes in 'wlr/taskbar'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue