aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/event.c3
-rw-r--r--src/hint.h4
-rw-r--r--src/key.c1
-rw-r--r--src/key.h9
-rw-r--r--src/parse.c1
5 files changed, 12 insertions, 6 deletions
diff --git a/src/event.c b/src/event.c
index 3919c94..e8a0049 100644
--- a/src/event.c
+++ b/src/event.c
@@ -354,6 +354,9 @@ void HandleKeyPress(const XKeyEvent *event) {
NextDesktop();
}
break;
+ case KEY_PUT:
+ SetClientLayer(np, key >> 8);
+ break;
case KEY_SENDTO:
SetClientDesktop(np, (key >> 8) - 1);
break;
diff --git a/src/hint.h b/src/hint.h
index 7eae815..86eb7a1 100644
--- a/src/hint.h
+++ b/src/hint.h
@@ -123,8 +123,8 @@ typedef enum {
LAYER_BOTTOM = 0,
LAYER_NORMAL = 4,
DEFAULT_TRAY_LAYER = 8,
- LAYER_TOP = 12,
- LAYER_COUNT = 13
+ LAYER_TOP = 10,
+ LAYER_COUNT = 11
} WinLayerType;
typedef struct ClientState {
diff --git a/src/key.c b/src/key.c
index 1bf443b..d5c6b4f 100644
--- a/src/key.c
+++ b/src/key.c
@@ -254,6 +254,7 @@ int ShouldGrab(KeyType key) {
case KEY_ROOT:
case KEY_WIN:
case KEY_DESKTOP:
+ case KEY_PUT:
case KEY_SENDTO:
case KEY_EXEC:
case KEY_RESTART:
diff --git a/src/key.h b/src/key.h
index cd89fd5..05e8083 100644
--- a/src/key.h
+++ b/src/key.h
@@ -34,10 +34,11 @@ typedef enum {
KEY_ROOT = 18,
KEY_WIN = 19,
KEY_DESKTOP = 20,
- KEY_SENDTO = 21,
- KEY_EXEC = 22,
- KEY_RESTART = 23,
- KEY_EXIT = 24
+ KEY_PUT = 21,
+ KEY_SENDTO = 22,
+ KEY_EXEC = 23,
+ KEY_RESTART = 24,
+ KEY_EXIT = 25
} KeyType;
void InitializeKeys();
diff --git a/src/parse.c b/src/parse.c
index 5c6cece..65e3197 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -63,6 +63,7 @@ static const KeyMapType KEY_MAP[] = {
{ "exit", KEY_EXIT },
{ "desktop", KEY_DESKTOP },
{ "desktop#", KEY_DESKTOP },
+ { "put#", KEY_PUT },
{ "sendto#", KEY_SENDTO },
{ NULL, KEY_NONE }
};