Dynamic window manager customized to my taste
Go to file
mihirlad55 4a230d362a [PATCH] Add IPC support through a unix socket
This patch currently supports the following requests:
* Run custom commands with arguments (similar to key bind functions)
* Get monitor properties
* Get all available layouts
* Get available tags
* Get client properties
* Subscribe to tag change, client focus change, and layout change,
  monitor focus change, focused title change, and client state change
  events

This patch includes a dwm-msg cli program that supports all of the
above requests for easy integration into shell scripts.

The messages are sent in a JSON format to promote integration to
increase scriptability in languages like Python/JavaScript.

The patch requires YAJL for JSON parsing and a system with epoll
support. Portability is planned to be increased in the future.

This patch is best applied after all other patches to avoid merge
conflicts.

For more info on the IPC implementation and how to send/receive
messages, documentation can be found at
https://github.com/mihirlad55/dwm-ipc
2023-08-04 21:33:07 +02:00
patches [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
.editorconfig Add editor config 2022-09-03 15:36:13 +02:00
.gitignore Update gitignore 2020-05-29 11:34:31 +02:00
config.def.h [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
config.h [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
config.mk [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
drw.c Update borders 2023-07-29 01:45:41 +02:00
drw.h sync latest drw.{c,h} changes from dmenu 2022-05-10 19:07:56 +02:00
dwm-msg.c [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
dwm.1 [PATCH] Function to cycle through available layouts. 2023-03-19 21:18:30 +01:00
dwm.c [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
dwm.png alternate dwm.png 2006-07-19 14:49:19 +02:00
ipc.c [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
ipc.h [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
IPCClient.c [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
IPCClient.h [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
LICENSE LICENSE: add Chris Down 2022-04-26 15:50:32 +02:00
Makefile [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
README update README: remove mentioning the old dextra repo 2018-03-14 21:03:11 +01:00
transient.c applied Peter Hartlichs nice interim Xinerama and map fix patches, for debugging purposes I also added his transient test driver 2011-07-29 20:01:22 +02:00
util.c [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
util.h [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
yajl_dumps.c [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00
yajl_dumps.h [PATCH] Add IPC support through a unix socket 2023-08-04 21:33:07 +02:00

dwm - dynamic window manager
============================
dwm is an extremely fast, small, and dynamic window manager for X.


Requirements
------------
In order to build dwm you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (dwm is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install dwm (if
necessary as root):

    make clean install


Running dwm
-----------
Add the following line to your .xinitrc to start dwm using startx:

    exec dwm

In order to connect dwm to a specific display, make sure that
the DISPLAY environment variable is set correctly, e.g.:

    DISPLAY=foo.bar:1 exec dwm

(This will start dwm on display :1 of the host foo.bar.)

In order to display status info in the bar, you can do something
like this in your .xinitrc:

    while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
    do
    	sleep 1
    done &
    exec dwm


Configuration
-------------
The configuration of dwm is done by creating a custom config.h
and (re)compiling the source code.