summary refs log tree commit diff
path: root/conf.c
diff options
context:
space:
mode:
authorokan <okan>2014-08-25 12:49:19 +0000
committerokan <okan>2014-08-25 12:49:19 +0000
commit7314a3aefd33e901cfa1bd4a48eb4e75be4c01e2 (patch)
tree35bc0dd75f4e6dbd5072bbefd10d949e374b100d /conf.c
parented164794cb3d375b24809f1f042124109ee1fbea (diff)
downloadcwm-7314a3aefd33e901cfa1bd4a48eb4e75be4c01e2.tar.gz
cwm-7314a3aefd33e901cfa1bd4a48eb4e75be4c01e2.tar.xz
cwm-7314a3aefd33e901cfa1bd4a48eb4e75be4c01e2.zip
Implement _NET_WM_STATE_STICKY, bound to CM-s by default; allows any
client to 'stick' to all desktops (ewmh speak) or groups - this
currently has the same affect as setting a client's group to 'nogroup',
with the exception that the client can also be in a group, so when
un-sticking, the client will go back to its original group/desktop.
Diffstat (limited to 'conf.c')
-rw-r--r--conf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/conf.c b/conf.c
index 2ad6727..fcae046 100644
--- a/conf.c
+++ b/conf.c
@@ -204,6 +204,7 @@ static const struct {
 	{ "CM-g",	"grouptoggle" },
 	{ "CM-f",	"fullscreen" },
 	{ "CM-m",	"maximize" },
+	{ "CM-s",	"sticky" },
 	{ "CM-equal",	"vmaximize" },
 	{ "CMS-equal",	"hmaximize" },
 	{ "CMS-f",	"freeze" },
@@ -389,6 +390,7 @@ static const struct {
 	{ "rcycleingroup", kbfunc_client_cycle, CWM_WIN,
 	    {.i = CWM_RCYCLE|CWM_INGROUP} },
 	{ "grouptoggle", kbfunc_client_grouptoggle, CWM_WIN, {0}},
+	{ "sticky", kbfunc_client_sticky, CWM_WIN, {0} },
 	{ "fullscreen", kbfunc_client_fullscreen, CWM_WIN, {0} },
 	{ "maximize", kbfunc_client_maximize, CWM_WIN, {0} },
 	{ "vmaximize", kbfunc_client_vmaximize, CWM_WIN, {0} },
@@ -678,6 +680,7 @@ static char *ewmhints[] = {
 	"_NET_WM_DESKTOP",
 	"_NET_CLOSE_WINDOW",
 	"_NET_WM_STATE",
+	"_NET_WM_STATE_STICKY",
 	"_NET_WM_STATE_MAXIMIZED_VERT",
 	"_NET_WM_STATE_MAXIMIZED_HORZ",
 	"_NET_WM_STATE_FULLSCREEN",