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>