wlr/taskbar: add justify option for Gtk::Box horizontal alignment

The `wlr/taskbar` module had no way to control its container's horizontal
alignment. This change adds a `justify` config key (left|center|right) that
maps to Gtk::Align::START/CENTER/END and is applied via set_halign() on the
module's Gtk::Box. Default behavior remains unchanged (left).
This commit is contained in:
Maik Broemme
2025-10-08 08:52:19 +02:00
parent 559079e9a6
commit 730b502c76
2 changed files with 15 additions and 0 deletions
+4
View File
@@ -57,6 +57,10 @@ Addressed by *wlr/taskbar*
default: false ++
If set to true, group tasks by their app_id. Cannot be used with 'active-first'.
*justify*: ++
typeof: string ++
The alignment of the text within the module's box, allowing options 'left', 'right', or 'center' to define the positioning.
*on-click*: ++
typeof: string ++
The action which should be triggered when clicking on the application button with the left mouse button.
+11
View File
@@ -98,6 +98,17 @@ Task::Task(const waybar::Bar &bar, const Json::Value &config, Taskbar *tbar,
content_.add(icon_);
content_.add(text_after_);
if (config_["justify"].isString()) {
auto justify_str = config_["justify"].asString();
if (justify_str == "left") {
content_.set_halign(Gtk::ALIGN_START);
} else if (justify_str == "right") {
content_.set_halign(Gtk::ALIGN_END);
} else if (justify_str == "center") {
content_.set_halign(Gtk::ALIGN_CENTER);
}
}
content_.show();
button.add(content_);