mirror of
https://github.com/rad4day/Waybar.git
synced 2023-12-21 10:22:59 +01:00
separate css class for empty workspaces
This commit is contained in:
parent
b06953757e
commit
c04485a5d0
@ -30,6 +30,7 @@ class Workspace {
|
|||||||
auto is_active() const -> bool { return state_ & static_cast<uint32_t>(State::ACTIVE); }
|
auto is_active() const -> bool { return state_ & static_cast<uint32_t>(State::ACTIVE); }
|
||||||
auto is_urgent() const -> bool { return state_ & static_cast<uint32_t>(State::URGENT); }
|
auto is_urgent() const -> bool { return state_ & static_cast<uint32_t>(State::URGENT); }
|
||||||
auto is_hidden() const -> bool { return state_ & static_cast<uint32_t>(State::HIDDEN); }
|
auto is_hidden() const -> bool { return state_ & static_cast<uint32_t>(State::HIDDEN); }
|
||||||
|
auto is_empty() const -> bool { return state_ & static_cast<uint32_t>(State::EMPTY); }
|
||||||
auto is_persistent() const -> bool { return persistent_; }
|
auto is_persistent() const -> bool { return persistent_; }
|
||||||
// wlr stuff
|
// wlr stuff
|
||||||
auto handle_name(const std::string &name) -> void;
|
auto handle_name(const std::string &name) -> void;
|
||||||
@ -51,6 +52,7 @@ class Workspace {
|
|||||||
ACTIVE = (1 << 0),
|
ACTIVE = (1 << 0),
|
||||||
URGENT = (1 << 1),
|
URGENT = (1 << 1),
|
||||||
HIDDEN = (1 << 2),
|
HIDDEN = (1 << 2),
|
||||||
|
EMPTY = (1 << 3),
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -374,6 +374,8 @@ Workspace::Workspace(const Bar &bar, const Json::Value &config, WorkspaceGroup &
|
|||||||
name_(name) {
|
name_(name) {
|
||||||
if (workspace) {
|
if (workspace) {
|
||||||
add_workspace_listener(workspace, this);
|
add_workspace_listener(workspace, this);
|
||||||
|
} else {
|
||||||
|
state_ = (uint32_t)State::EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto config_format = config["format"];
|
auto config_format = config["format"];
|
||||||
@ -447,6 +449,8 @@ auto Workspace::handle_remove() -> void {
|
|||||||
}
|
}
|
||||||
if (!persistent_) {
|
if (!persistent_) {
|
||||||
workspace_group_.remove_workspace(id_);
|
workspace_group_.remove_workspace(id_);
|
||||||
|
} else {
|
||||||
|
state_ = (uint32_t)State::EMPTY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -465,6 +469,7 @@ auto Workspace::handle_done() -> void {
|
|||||||
add_or_remove_class(style_context, is_active(), "active");
|
add_or_remove_class(style_context, is_active(), "active");
|
||||||
add_or_remove_class(style_context, is_urgent(), "urgent");
|
add_or_remove_class(style_context, is_urgent(), "urgent");
|
||||||
add_or_remove_class(style_context, is_hidden(), "hidden");
|
add_or_remove_class(style_context, is_hidden(), "hidden");
|
||||||
|
add_or_remove_class(style_context, is_empty(), "persistent");
|
||||||
|
|
||||||
if (workspace_group_.creation_delayed()) {
|
if (workspace_group_.creation_delayed()) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user