From 8ea0659ee28b727b2a6a29ba9d820d21648a33ae Mon Sep 17 00:00:00 2001 From: Caleb Bassi Date: Fri, 28 Dec 2018 09:35:21 -0800 Subject: [PATCH] Remove ws index from sway ws names --- include/modules/sway/workspaces.hpp | 1 + src/modules/sway/workspaces.cpp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/modules/sway/workspaces.hpp b/include/modules/sway/workspaces.hpp index d4819e52..c00ea7d5 100644 --- a/include/modules/sway/workspaces.hpp +++ b/include/modules/sway/workspaces.hpp @@ -22,6 +22,7 @@ class Workspaces : public IModule { bool handleScroll(GdkEventScroll*); std::string getPrevWorkspace(); std::string getNextWorkspace(); + std::string trimWorkspaceName(std::string); const Bar& bar_; const Json::Value& config_; diff --git a/src/modules/sway/workspaces.cpp b/src/modules/sway/workspaces.cpp index 44179641..048c5d12 100644 --- a/src/modules/sway/workspaces.cpp +++ b/src/modules/sway/workspaces.cpp @@ -87,7 +87,7 @@ auto waybar::modules::sway::Workspaces::update() -> void if (config_["format"].isString()) { auto format = config_["format"].asString(); button.set_label(fmt::format(format, fmt::arg("icon", icon), - fmt::arg("name", node["name"].asString()), + fmt::arg("name", trimWorkspaceName(node["name"].asString())), fmt::arg("index", node["num"].asString()))); } else { button.set_label(icon); @@ -105,7 +105,7 @@ void waybar::modules::sway::Workspaces::addWorkspace(Json::Value node) auto icon = getIcon(node["name"].asString(), node); auto format = config_["format"].isString() ? fmt::format(config_["format"].asString(), fmt::arg("icon", icon), - fmt::arg("name", node["name"].asString()), + fmt::arg("name", trimWorkspaceName(node["name"].asString())), fmt::arg("index", node["num"].asString())) : icon; auto pair = buttons_.emplace(node["name"].asString(), format); @@ -235,3 +235,12 @@ std::string waybar::modules::sway::Workspaces::getNextWorkspace() waybar::modules::sway::Workspaces::operator Gtk::Widget &() { return box_; } + +std::string waybar::modules::sway::Workspaces::trimWorkspaceName(std::string name) +{ + std::size_t found = name.find(":"); + if (found!=std::string::npos) { + return name.substr(found+1); + } + return name; +}