index.md - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
index.md (2761B)
---
1 ipc
2 ====
3
4 Description
5 -----------
6 dwm-ipc is a patch for dwm that implements inter-process communication through
7 a UNIX socket. This allows you to query the window manager for information,
8 listen for events such as tag changes or layout changes, as well as send
9 commands to control the window manager from other programs/scripts.
10
11 The project is being managed and developed on this GitHub
12 [repo](https://github.com/mihirlad55/dwm-ipc). If you discover any bugs, feel
13 free to create an issue there.
14
15
16 Requirements
17 ------------
18 In order to build dwm you need the Xlib header files. The patch
19 additionally requires [yajl](https://github.com/lloyd/yajl) which is a tiny C
20 JSON library.
21
22
23 Applying the Patch
24 ------------------
25 The patch is best applied after all of your other patches due to the number of
26 additions to dwm.c. The patch was designed with compatability in mind, so there
27 are minimal deletions.
28
29
30 Patch Compatability
31 -------------------
32 At the moment, the patch will only work on systems that implement epoll and is
33 not completely portable. Portability will be improved in the future.
34
35
36 Supported IPC Messages
37 ----------------------
38 At the moment the IPC patch supports the following message requests:
39 * Run user-defined command (similar to key bindings)
40
41 * Get information about available layouts
42
43 * Get information about the tags available
44
45 * Get the properties of all of the monitors
46
47 * Get the properties of a specific dwm client
48
49 * Subscribe to tag change, client focus change, layout change events, monitor
50 focus change events, focused title change events, and focused state change
51 events.
52
53 For more info on the IPC protocol implementation, visit the
54 [wiki](https://github.com/mihirlad55/dwm-ipc/wiki/).
55
56
57 dwm-msg
58 -------
59 `dwm-msg` is a cli program included in the patch which supports all of the IPC
60 message types listed above. The program can be used to run commands, query dwm
61 for information, and listen for events. This program is particularly useful for
62 creating custom shell scripts to control dwm.
63
64
65 Download
66 --------
67 * IPC Patch v1.5.7:
68 [dwm-ipc-20201106-f04cac6.diff](dwm-ipc-20201106-f04cac6.diff)
69 * IPC Patch v1.5.6 to v1.5.7 Update:
70 [dwm-ipc-v1.5.6-to-v1.5.7.diff](dwm-ipc-v1.5.6-to-v1.5.7.diff)
71
72 The latest releases of the patch will always be available first on the project
73 [Releases](https://github.com/mihirlad55/dwm-ipc/releases) page. There are also
74 "update" patches to update from previous versions of the patch.
75
76
77 Related Projects
78 ----------------
79 * [dwmipcpp](https://github.com/mihirlad55/dwmipcpp) is a C++ client library
80 for interacting with an IPC-patched dwm
81
82 * [polybar-dwm-module](https://github.com/mihirlad55/polybar-dwm-module)
83 requires this patch
84
85
86 Authors
87 -------
88 * Mihir Lad - <mihirlad55 at gmail>