mirror of
https://github.com/rad4day/Waybar.git
synced 2023-12-21 10:22:59 +01:00
Merge pull request #206 from dikeert/issue/205-add-option-to-show-current-workspace-only
resolves #205
This commit is contained in:
commit
7e4fed8218
@ -20,6 +20,7 @@ class Workspaces : public IModule {
|
||||
private:
|
||||
void worker();
|
||||
void addWorkspace(const Json::Value&);
|
||||
void onButtonReady(const Json::Value&, Gtk::Button&);
|
||||
std::string getIcon(const std::string&, const Json::Value&);
|
||||
bool handleScroll(GdkEventScroll*);
|
||||
std::string getPrevWorkspace();
|
||||
|
@ -87,7 +87,8 @@ auto waybar::modules::sway::Workspaces::update() -> void
|
||||
} else {
|
||||
button.set_label(icon);
|
||||
}
|
||||
button.show();
|
||||
|
||||
onButtonReady(node, button);
|
||||
}
|
||||
}
|
||||
if (scrolling_) {
|
||||
@ -131,7 +132,8 @@ void waybar::modules::sway::Workspaces::addWorkspace(const Json::Value &node)
|
||||
if (node["urgent"].asBool()) {
|
||||
button.get_style_context()->add_class("urgent");
|
||||
}
|
||||
button.show();
|
||||
|
||||
onButtonReady(node, button);
|
||||
}
|
||||
|
||||
std::string waybar::modules::sway::Workspaces::getIcon(const std::string &name,
|
||||
@ -251,6 +253,19 @@ std::string waybar::modules::sway::Workspaces::trimWorkspaceName(std::string nam
|
||||
return name;
|
||||
}
|
||||
|
||||
void waybar::modules::sway::Workspaces::onButtonReady(const Json::Value& node, Gtk::Button& button)
|
||||
{
|
||||
if (config_["current-only"].asBool()) {
|
||||
if (node["focused"].asBool()) {
|
||||
button.show();
|
||||
} else {
|
||||
button.hide();
|
||||
}
|
||||
} else {
|
||||
button.show();
|
||||
}
|
||||
}
|
||||
|
||||
waybar::modules::sway::Workspaces::operator Gtk::Widget &() {
|
||||
return box_;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user