From 3fdc50163d8aa008ed2652e0a19922c85f4a9330 Mon Sep 17 00:00:00 2001 From: Alexis Date: Thu, 16 Aug 2018 00:02:57 +0200 Subject: [PATCH] feat(window): update when window title change --- src/modules/sway/window.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/modules/sway/window.cpp b/src/modules/sway/window.cpp index f49e622..a991c52 100644 --- a/src/modules/sway/window.cpp +++ b/src/modules/sway/window.cpp @@ -21,10 +21,11 @@ waybar::modules::sway::Window::Window(Bar &bar, Json::Value config) } auto res = ipc_recv_response(_ipcEventfd); auto parsed = _parser.parse(res.payload); - if (parsed["change"] != "focus") - return; - _window = parsed["container"]["name"].asString(); - Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Window::update)); + if ((parsed["change"] == "focus" || parsed["change"] == "title") + && parsed["container"]["focused"].asBool()) { + _window = parsed["container"]["name"].asString(); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Window::update)); + } } catch (const std::exception& e) { std::cerr << e.what() << std::endl; } @@ -34,6 +35,7 @@ waybar::modules::sway::Window::Window(Bar &bar, Json::Value config) auto waybar::modules::sway::Window::update() -> void { _label.set_text(_window); + _label.set_tooltip_text(_window); } std::string waybar::modules::sway::Window::_getFocusedNode(Json::Value nodes)