sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | 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>