diff --git a/include/modules/dwm.hpp b/include/modules/dwm.hpp index 67de3d33..a23e1e80 100644 --- a/include/modules/dwm.hpp +++ b/include/modules/dwm.hpp @@ -356,6 +356,12 @@ namespace modules { */ label_t m_title_label; + /** + * The default value displayed when m_title_label is false + */ + + std::string m_title_label_default{"Desktop"}; + /** * Connection to DWM */ diff --git a/src/modules/dwm.cpp b/src/modules/dwm.cpp index 4f0ac7c3..9ced52fe 100644 --- a/src/modules/dwm.cpp +++ b/src/modules/dwm.cpp @@ -46,6 +46,7 @@ namespace modules { m_title_label = load_optional_label(m_conf, name(), "label-title", "%title%"); } + m_title_label_default = m_conf.get(name(), "label-title-default", m_title_label_default); m_tags_click = m_conf.get(name(), "enable-tags-click", m_tags_click); m_layout_click = m_conf.get(name(), "enable-layout-click", m_layout_click); m_layout_scroll = m_conf.get(name(), "enable-layout-scroll", m_layout_scroll); @@ -436,7 +437,7 @@ namespace modules { void dwm_module::update_title_label(const string& title) { m_title_label->reset_tokens(); - m_title_label->replace_token("%title%", title); + m_title_label->replace_token("%title%", title == "" ? m_title_label_default : title ); } void dwm_module::update_title_label() {