Merge branch 'master' into river-tags-monitor-focus

This commit is contained in:
lilly-lizard
2025-10-09 17:16:33 +13:00
163 changed files with 5559 additions and 2510 deletions
+7 -1
View File
@@ -145,9 +145,15 @@ void Layout::handle_name(const char *name) {
if (std::strcmp(name, "") == 0 || format_.empty()) {
label_.hide(); // hide empty labels or labels with empty format
} else {
label_.show();
if (!name_.empty()) {
label_.get_style_context()->remove_class(name_);
}
label_.get_style_context()->add_class(name);
label_.set_markup(fmt::format(fmt::runtime(format_), Glib::Markup::escape_text(name).raw()));
label_.show();
}
name_ = name;
ALabel::update();
}
+15
View File
@@ -187,6 +187,8 @@ Tags::Tags(const std::string &id, const waybar::Bar &bar, const Json::Value &con
zriver_seat_status_v1_add_listener(seat_status_, &seat_status_listener_impl, this);
zriver_status_manager_v1_destroy(status_manager_);
box_.signal_show().connect(sigc::mem_fun(*this, &Tags::handle_show));
}
Tags::~Tags() {
@@ -201,6 +203,19 @@ Tags::~Tags() {
if (control_) {
zriver_control_v1_destroy(control_);
}
if (status_manager_) {
zriver_status_manager_v1_destroy(status_manager_);
}
}
void Tags::handle_show() {
struct wl_output *output = gdk_wayland_monitor_get_wl_output(bar_.output->monitor->gobj());
output_status_ = zriver_status_manager_v1_get_river_output_status(status_manager_, output);
zriver_output_status_v1_add_listener(output_status_, &output_status_listener_impl, this);
zriver_status_manager_v1_destroy(status_manager_);
status_manager_ = nullptr;
}
void Tags::handle_primary_clicked(uint32_t tag) {