feat: add `module` class to the root elements of the modules
Previously, the only way to select all the module labels was with the following kind of selector: ```css .modules-left > widget > label, .modules-center > widget > label, .modules-right > widget > label { /* ... */ } ``` (and a matching block for the `box` containers). Now, this can be expressed as ```css label.module, box.module { /* ... */ } ```pull/2921/head
parent
2f555a6936
commit
d590d508ca
|
@ -11,6 +11,8 @@ namespace waybar {
|
||||||
|
|
||||||
class AModule : public IModule {
|
class AModule : public IModule {
|
||||||
public:
|
public:
|
||||||
|
static constexpr const char *MODULE_CLASS = "module";
|
||||||
|
|
||||||
virtual ~AModule();
|
virtual ~AModule();
|
||||||
auto update() -> void override;
|
auto update() -> void override;
|
||||||
virtual auto refresh(int) -> void{};
|
virtual auto refresh(int) -> void{};
|
||||||
|
|
|
@ -20,6 +20,7 @@ ALabel::ALabel(const Json::Value& config, const std::string& name, const std::st
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
label_.get_style_context()->add_class(id);
|
label_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
label_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(label_);
|
event_box_.add(label_);
|
||||||
if (config_["max-length"].isUInt()) {
|
if (config_["max-length"].isUInt()) {
|
||||||
label_.set_max_width_chars(config_["max-length"].asInt());
|
label_.set_max_width_chars(config_["max-length"].asInt());
|
||||||
|
|
|
@ -13,6 +13,7 @@ ASlider::ASlider(const Json::Value& config, const std::string& name, const std::
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
scale_.get_style_context()->add_class(id);
|
scale_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
scale_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(scale_);
|
event_box_.add(scale_);
|
||||||
scale_.signal_value_changed().connect(sigc::mem_fun(*this, &ASlider::onValueChanged));
|
scale_.signal_value_changed().connect(sigc::mem_fun(*this, &ASlider::onValueChanged));
|
||||||
|
|
||||||
|
|
|
@ -176,16 +176,18 @@ auto waybar::modules::Custom::update() -> void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
auto classes = label_.get_style_context()->list_classes();
|
auto style = label_.get_style_context();
|
||||||
|
auto classes = style->list_classes();
|
||||||
for (auto const& c : classes) {
|
for (auto const& c : classes) {
|
||||||
if (c == id_) continue;
|
if (c == id_) continue;
|
||||||
label_.get_style_context()->remove_class(c);
|
style->remove_class(c);
|
||||||
}
|
}
|
||||||
for (auto const& c : class_) {
|
for (auto const& c : class_) {
|
||||||
label_.get_style_context()->add_class(c);
|
style->add_class(c);
|
||||||
}
|
}
|
||||||
label_.get_style_context()->add_class("flat");
|
style->add_class("flat");
|
||||||
label_.get_style_context()->add_class("text-button");
|
style->add_class("text-button");
|
||||||
|
style->add_class(MODULE_CLASS);
|
||||||
event_box_.show();
|
event_box_.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,7 @@ Tags::Tags(const std::string &id, const waybar::Bar &bar, const Json::Value &con
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
|
|
||||||
// Default to 9 tags, cap at 32
|
// Default to 9 tags, cap at 32
|
||||||
|
|
|
@ -42,6 +42,7 @@ Workspaces::Workspaces(const std::string &id, const Bar &bar, const Json::Value
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
m_box.get_style_context()->add_class(id);
|
m_box.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
m_box.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(m_box);
|
event_box_.add(m_box);
|
||||||
|
|
||||||
if (!gIPC) {
|
if (!gIPC) {
|
||||||
|
|
|
@ -7,6 +7,7 @@ waybar::modules::Image::Image(const std::string& id, const Json::Value& config)
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
|
|
||||||
dp.emit();
|
dp.emit();
|
||||||
|
|
|
@ -132,6 +132,7 @@ waybar::modules::KeyboardState::KeyboardState(const std::string& id, const Bar&
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
|
|
||||||
if (config_["device-path"].isString()) {
|
if (config_["device-path"].isString()) {
|
||||||
|
|
|
@ -111,6 +111,7 @@ Tags::Tags(const std::string &id, const waybar::Bar &bar, const Json::Value &con
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
|
|
||||||
// Default to 9 tags, cap at 32
|
// Default to 9 tags, cap at 32
|
||||||
|
|
|
@ -15,6 +15,7 @@ Tray::Tray(const std::string& id, const Bar& bar, const Json::Value& config)
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
if (config_["spacing"].isUInt()) {
|
if (config_["spacing"].isUInt()) {
|
||||||
box_.set_spacing(config_["spacing"].asUInt());
|
box_.set_spacing(config_["spacing"].asUInt());
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@ Workspaces::Workspaces(const std::string &id, const Bar &bar, const Json::Value
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
ipc_.subscribe(R"(["workspace"])");
|
ipc_.subscribe(R"(["workspace"])");
|
||||||
ipc_.signal_event.connect(sigc::mem_fun(*this, &Workspaces::onEvent));
|
ipc_.signal_event.connect(sigc::mem_fun(*this, &Workspaces::onEvent));
|
||||||
|
|
|
@ -737,6 +737,7 @@ Taskbar::Taskbar(const std::string &id, const waybar::Bar &bar, const Json::Valu
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
box_.get_style_context()->add_class("empty");
|
box_.get_style_context()->add_class("empty");
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ WorkspaceManager::WorkspaceManager(const std::string &id, const waybar::Bar &bar
|
||||||
if (!id.empty()) {
|
if (!id.empty()) {
|
||||||
box_.get_style_context()->add_class(id);
|
box_.get_style_context()->add_class(id);
|
||||||
}
|
}
|
||||||
|
box_.get_style_context()->add_class(MODULE_CLASS);
|
||||||
event_box_.add(box_);
|
event_box_.add(box_);
|
||||||
|
|
||||||
add_registry_listener(this);
|
add_registry_listener(this);
|
||||||
|
|
Loading…
Reference in New Issue