No description
  • C 91.5%
  • Roff 6.1%
  • Makefile 2.4%
Find a file
Ruben Gonzalez 44dbc6809d buttonpress: fix status text click area mismatch
The status bar in drawbar() calculates the text width as TEXTW(stext)
- lrpad + 2. However, the click detection in buttonpress() used
TEXTW(stext) without adjusting for that padding.

This created an "extra" clickable area of some pixels to the left of
the status text that would incorrectly trigger ClkStatusText actions
instead of ClkWinTitle.

Steps to reproduce:
1. Set a status text: xsetroot -name "HELLO"
2. Move the mouse to the empty space with some pixels close to the
left of the word "HELLO" but in the title area.
3. Middle-click (or any binding for ClkStatusText).
4. You can see that the status bar action is triggered (default a
terminal spawns), even though you clicked in the window title area.

This fix ensures that the clickable area matches the visual text.
2026-03-13 18:27:18 +01:00
config.def.h config: make refreshrate for mouse move/resize a config option 2025-08-12 19:17:20 +02:00
config.mk bump version to 6.8 2026-01-30 11:18:38 +01:00
drw.c drw.c: drw_scm_free: call free inside 2025-09-29 18:48:27 +02:00
drw.h cleanup schemes and colors 2025-09-27 12:10:17 +02:00
dwm.1 dwm.1: fix wrong text in man page 2020-07-08 18:05:50 +02:00
dwm.c buttonpress: fix status text click area mismatch 2026-03-13 18:27:18 +01:00
dwm.png alternate dwm.png 2006-07-19 14:49:19 +02:00
LICENSE bump version to 6.7 2026-01-10 11:31:44 +01:00
Makefile Makefile: remove the options target 2023-09-22 15:13:29 +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 util.c: output function might override errno and thus affect perror() 2024-10-27 20:10:07 +01:00
util.h sync drw.{c,h} from dmenu 2024-10-05 13:06:08 +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.