pull/206/head
John Doe 2019-03-03 21:35:32 +11:00
parent f47492c371
commit 737da3615f
2 changed files with 18 additions and 2 deletions

View File

@ -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();

View File

@ -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_;
}