summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-01-05 02:20:20 +0100
committerLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-01-05 02:25:56 +0100
commitc20c63b677c03b17441f0d135b5325e23d65f38d (patch)
treee16dde2339d7cb1079a83842c53324ac91fed600 /include
parentDetect bar modifier pressed/released (diff)
downloadsway-c20c63b677c03b17441f0d135b5325e23d65f38d.tar.gz
sway-c20c63b677c03b17441f0d135b5325e23d65f38d.tar.zst
sway-c20c63b677c03b17441f0d135b5325e23d65f38d.zip
Send IPC modifier event on bar_modifier up/down
Detects when a bar modifier key is pressed/released and sends a modifier IPC event to any listeners (usually swaybars). This way a swaybar can listen on the modifier event and hide/show the bar accordingly (not implemented yet) The modifier event looks like this: { "change": "pressed", // or released "modifier": "Mod4" }
Diffstat (limited to 'include')
-rw-r--r--include/ipc-server.h6
-rw-r--r--include/ipc.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/include/ipc-server.h b/include/ipc-server.h
index 04975093..47026bfd 100644
--- a/include/ipc-server.h
+++ b/include/ipc-server.h
@@ -15,6 +15,12 @@ void ipc_event_barconfig_update(struct bar_config *bar);
15 * Send IPC mode event to all listening clients 15 * Send IPC mode event to all listening clients
16 */ 16 */
17void ipc_event_mode(const char *mode); 17void ipc_event_mode(const char *mode);
18/**
19 * Sends an IPC modifier event to all listening clients. The modifier event
20 * includes a key 'change' with the value of state and a key 'modifier' with
21 * the name of that modifier.
22 */
23void ipc_event_modifier(uint32_t modifier, const char *state);
18const char *swayc_type_string(enum swayc_types type); 24const char *swayc_type_string(enum swayc_types type);
19 25
20#endif 26#endif
diff --git a/include/ipc.h b/include/ipc.h
index e0b3b736..56593529 100644
--- a/include/ipc.h
+++ b/include/ipc.h
@@ -17,6 +17,7 @@ enum ipc_command_type {
17 IPC_EVENT_WINDOW = (1 << 31 | 3), 17 IPC_EVENT_WINDOW = (1 << 31 | 3),
18 IPC_EVENT_BARCONFIG_UPDATE = (1 << 31 | 4), 18 IPC_EVENT_BARCONFIG_UPDATE = (1 << 31 | 4),
19 IPC_EVENT_BINDING = (1 << 31 | 5), 19 IPC_EVENT_BINDING = (1 << 31 | 5),
20 IPC_EVENT_MODIFIER = (1 << 31 | 6),
20 IPC_SWAY_GET_PIXELS = 0x81 21 IPC_SWAY_GET_PIXELS = 0x81
21}; 22};
22 23