My simplistic-looking yet advanced build of suckless's dynamic window manager.
Go to file
Stein c2b748e793 Remove dmenumon variable
Reasoning: Since 2011 dmenu has been capable of working out which
monitor currently has focus in a Xinerama setup, making the use
of the -m flag more or less redundant.

This is easily demonstrated by using dmenu in any other window
manager.

There used to be a nodmenu patch that provided these changes:
https://git.suckless.org/sites/commit/ed68e3629de4ef2ca2d3f8893a79fb570b4c0cbc.html

but this was removed on the basis that it was very easy to work
out and apply manually if needed.

The proposal here is to remove this dependency from dwm. The
mechanism of the dmenumon variable could be provided via a patch
if need be.

The edge case scenario that dmenu does not handle on its own, and
the effect of removing this mechanism, is that if the user trigger
focusmon via keybindings to change focus to another monitor that
has no clients, then dmenu will open on the monitor containing the
window with input focus (or the monitor with the mouse cursor if
no windows have input focus).

If this edge case is important to cover then this can be addressed
by setting input focus to selmon->barwin in the focus function if
there is no client to give focus to (rather than giving focus back
to the root window).
2022-08-28 11:39:43 +02:00
config.def.h Remove dmenumon variable 2022-08-28 11:39:43 +02:00
config.mk Makefile: add manual path for OpenBSD 2022-05-01 18:37:54 +02:00
drw.c sync latest drw.{c,h} changes from dmenu 2022-05-10 19:07:56 +02:00
drw.h sync latest drw.{c,h} changes from dmenu 2022-05-10 19:07:56 +02:00
dwm.1 dwm.1: fix wrong text in man page 2020-07-08 18:05:50 +02:00
dwm.c Remove dmenumon variable 2022-08-28 11:39:43 +02:00
dwm.png alternate dwm.png 2006-07-19 14:49:19 +02:00
LICENSE LICENSE: add Chris Down 2022-04-26 15:50:32 +02:00
Makefile Makefile: just show the compiler output 2018-06-02 17:10:28 +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 sync code-style patch from libsl 2022-08-08 10:43:09 +02:00
util.h import new drw from libsl and minor fixes. 2016-06-26 13:52:36 +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.