From fe0b072dd08b7de8d9bce715a5ea668d14710310 Mon Sep 17 00:00:00 2001
From: patrick96
Date: Wed, 26 Dec 2018 10:52:16 +0100
Subject: [PATCH] feat(bspwm): Support marked flag for focused nodes
This adds a new label in the bspwm module `label-marked`
This flag for focused nodes of a focused desktop was introduced in [1]
and released with bspwm 0.9.4
It adds the `M` flag to `G` type items in bspwm's report format
Resolves #1552
[1]: https://github.com/baskerville/bspwm/commit/d0138af475541732d3f2ae25dff558c07062e24f
---
include/modules/bspwm.hpp | 3 ++-
src/modules/bspwm.cpp | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/modules/bspwm.hpp b/include/modules/bspwm.hpp
index a1baa7b4..5f3248c7 100644
--- a/include/modules/bspwm.hpp
+++ b/include/modules/bspwm.hpp
@@ -27,7 +27,8 @@ namespace modules {
STATE_PSEUDOTILED,
NODE_LOCKED,
NODE_STICKY,
- NODE_PRIVATE
+ NODE_PRIVATE,
+ NODE_MARKED
};
struct bspwm_monitor {
diff --git a/src/modules/bspwm.cpp b/src/modules/bspwm.cpp
index ac2b1a15..cf6817cd 100644
--- a/src/modules/bspwm.cpp
+++ b/src/modules/bspwm.cpp
@@ -122,6 +122,7 @@ namespace modules {
m_modelabels.emplace(mode::NODE_LOCKED, load_optional_label(m_conf, name(), "label-locked"));
m_modelabels.emplace(mode::NODE_STICKY, load_optional_label(m_conf, name(), "label-sticky"));
m_modelabels.emplace(mode::NODE_PRIVATE, load_optional_label(m_conf, name(), "label-private"));
+ m_modelabels.emplace(mode::NODE_MARKED, load_optional_label(m_conf, name(), "label-marked"));
}
m_labelseparator = load_optional_label(m_conf, name(), "label-separator", "");
@@ -319,6 +320,9 @@ namespace modules {
case 'P':
mode_flag = mode::NODE_PRIVATE;
break;
+ case 'M':
+ mode_flag = mode::NODE_MARKED;
+ break;
default:
m_log.warn("%s: Undefined G => '%s'", name(), value.substr(i, 1));
}