Merge pull request #2431 from zjeffer/fix/persistent-workspace-icon
hyprland/workspaces: Add "empty" icon and class
This commit is contained in:
commit
347dd1c799
|
@ -46,7 +46,8 @@ Additional to workspace name matching, the following *format-icons* can be set.
|
||||||
- *default*: Will be shown, when no string match is found.
|
- *default*: Will be shown, when no string match is found.
|
||||||
- *active*: Will be shown, when workspace is active
|
- *active*: Will be shown, when workspace is active
|
||||||
- *special*: Will be shown on non-active special workspaces
|
- *special*: Will be shown on non-active special workspaces
|
||||||
- *persistent*: Will be shown on non-active persistent workspaces
|
- *empty*: Will be shown on empty persistent workspaces
|
||||||
|
- *persistent*: Will be shown on non-empty persistent workspaces
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
|
@ -74,6 +75,7 @@ Additional to workspace name matching, the following *format-icons* can be set.
|
||||||
- *#workspaces*
|
- *#workspaces*
|
||||||
- *#workspaces button*
|
- *#workspaces button*
|
||||||
- *#workspaces button.active*
|
- *#workspaces button.active*
|
||||||
|
- *#workspaces button.empty*
|
||||||
- *#workspaces button.persistent*
|
- *#workspaces button.persistent*
|
||||||
- *#workspaces button.special*
|
- *#workspaces button.special*
|
||||||
- *#workspaces button.urgent*
|
- *#workspaces button.urgent*
|
||||||
|
|
|
@ -331,7 +331,8 @@ void Workspace::update(const std::string &format, const std::string &icon) {
|
||||||
auto style_context = button_.get_style_context();
|
auto style_context = button_.get_style_context();
|
||||||
add_or_remove_class(style_context, active(), "active");
|
add_or_remove_class(style_context, active(), "active");
|
||||||
add_or_remove_class(style_context, is_special(), "special");
|
add_or_remove_class(style_context, is_special(), "special");
|
||||||
add_or_remove_class(style_context, is_empty(), "persistent");
|
add_or_remove_class(style_context, is_empty(), "empty");
|
||||||
|
add_or_remove_class(style_context, is_persistent(), "persistent");
|
||||||
add_or_remove_class(style_context, is_urgent(), "urgent");
|
add_or_remove_class(style_context, is_urgent(), "urgent");
|
||||||
|
|
||||||
label_.set_markup(fmt::format(fmt::runtime(format), fmt::arg("id", id()),
|
label_.set_markup(fmt::format(fmt::runtime(format), fmt::arg("id", id()),
|
||||||
|
@ -397,6 +398,13 @@ std::string &Workspace::select_icon(std::map<std::string, std::string> &icons_ma
|
||||||
return named_icon_it->second;
|
return named_icon_it->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_empty()) {
|
||||||
|
auto empty_icon_it = icons_map.find("empty");
|
||||||
|
if (empty_icon_it != icons_map.end()) {
|
||||||
|
return empty_icon_it->second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (is_persistent()) {
|
if (is_persistent()) {
|
||||||
auto persistent_icon_it = icons_map.find("persistent");
|
auto persistent_icon_it = icons_map.find("persistent");
|
||||||
if (persistent_icon_it != icons_map.end()) {
|
if (persistent_icon_it != icons_map.end()) {
|
||||||
|
|
Loading…
Reference in New Issue