Compare commits
72 Commits
Author | SHA1 | Date | |
---|---|---|---|
26445a0dc9 | |||
b5068e32e9 | |||
f099d2d5b5 | |||
80a9da555e | |||
d21026f0a1 | |||
e5a1e77351 | |||
8262d9e663 | |||
90af1ced3c | |||
5ccd42f807 | |||
1586b7a02d | |||
2420071f4c | |||
04c26574b8 | |||
b1a28ae1da | |||
f68a01cd76 | |||
2b625eb73e | |||
0f1f30daca | |||
dec4850d05 | |||
0de4197cc5 | |||
a372248b80 | |||
69e7d7dfd3 | |||
c99fe7dd7d | |||
d6670a800d | |||
6288c44697 | |||
d5c5c52b30 | |||
d0b4575bf4 | |||
03518ce49e | |||
cd8bb06af5 | |||
3150a8a1be | |||
b3c5f5435a | |||
a692bdcf2b | |||
d83454f6b7 | |||
27b0142203 | |||
867ba36030 | |||
e83f36db10 | |||
212f417e44 | |||
3a392b8558 | |||
92fe06b501 | |||
6cf29bff33 | |||
60c06a7cb4 | |||
1147546122 | |||
d384cee751 | |||
5c710cf89c | |||
8a111c181e | |||
2255bf46a0 | |||
04797343db | |||
e7d41cc188 | |||
22d8818850 | |||
6784429c3c | |||
37fea84de8 | |||
c14d293e51 | |||
79b1657a19 | |||
d24837f1ad | |||
3c2d303c0e | |||
1e20a0f78a | |||
96f9855248 | |||
3c48858ffa | |||
dd46d5b588 | |||
0bc4e41ebd | |||
703c4dd253 | |||
b68528d85d | |||
a644baf674 | |||
c1f8688bfa | |||
bea4dd2490 | |||
83d10be1c1 | |||
1529058f27 | |||
36311d88af | |||
f1a2a3c850 | |||
ee734fae6b | |||
62d3caa999 | |||
4c9b397ff9 | |||
5c6545adf5 | |||
a704b1ee34 |
4
.hgtags
4
.hgtags
@ -66,3 +66,7 @@ e47a47bd3ed42fd3cf023572147b75ebc2adef82 5.6.1
|
||||
257403d4cd962cac03344a871ea56cc742bae38e 5.7
|
||||
48c3f87c335d6606e55fbae97267fa6b39ca56e0 5.7.1
|
||||
15761ac5e2f1e9010900f891616a24a22d82f128 5.7.2
|
||||
60ea8fed13ab750c6717f2764cbf9c13bb6f0d0a 5.8
|
||||
1ed1e75c9c2e395a2c475b52657a430bd95070c7 5.8.1
|
||||
a043f08008051ca02ae87eb170cd066d8c8315a0 5.8.2
|
||||
dd74622a4785e55658b05b36834fa0c41084a8c1 5.9
|
||||
|
28
BUGS
28
BUGS
@ -8,34 +8,6 @@ reproducible with xrandr -s but not with --output and --mode, strange
|
||||
|
||||
---
|
||||
|
||||
> enternotify is handled even when the entered window is already focused
|
||||
> (eg moving the mouse to the bar and back, scrolling on the border..)
|
||||
>
|
||||
> focusing might be expensive for some clients (eg dim/light up)
|
||||
>
|
||||
> a possible solution is to modify enternotify:
|
||||
>
|
||||
> + c = wintoclient(ev->window);
|
||||
> if((m = wintomon(ev->window)) && m != selmon) {
|
||||
> unfocus(selmon->sel);
|
||||
> selmon = m;
|
||||
> }
|
||||
> + else if (c == selmon->sel || c == NULL)
|
||||
> + return;
|
||||
|
||||
---
|
||||
|
||||
> another corner case:
|
||||
|
||||
a tiled client can be resized with mod+right click, but it only works
|
||||
on the main monitor
|
||||
|
||||
---
|
||||
|
||||
dmenu appears on the monitor where the pointer is and not on selmon
|
||||
|
||||
---
|
||||
|
||||
yet another corner case:
|
||||
open a terminal, focus another monitor, but without moving the mouse
|
||||
pointer there
|
||||
|
9
LICENSE
9
LICENSE
@ -1,16 +1,17 @@
|
||||
MIT/X Consortium License
|
||||
|
||||
© 2006-2010 Anselm R Garbe <anselm@garbe.us>
|
||||
© 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
|
||||
© 2006-2011 Anselm R Garbe <anselm@garbe.us>
|
||||
© 2007-2011 Peter Hartlich <sgkkr at hartlich dot com>
|
||||
© 2010-2011 Connor Lane Smith <cls@lubutu.com>
|
||||
© 2006-2009 Jukka Salmi <jukka at salmi dot ch>
|
||||
© 2007-2009 Premysl Hruby <dfenze at gmail dot com>
|
||||
© 2007-2009 Szabolcs Nagy <nszabolcs at gmail dot com>
|
||||
© 2007-2009 Christof Musik <christof at sendfax dot de>
|
||||
© 2009 Mate Nagy <mnagy at port70 dot net>
|
||||
© 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
|
||||
© 2007-2008 Peter Hartlich <sgkkr at hartlich dot com>
|
||||
© 2008 Martin Hurton <martin dot hurton at gmail dot com>
|
||||
© 2008 Neale Pickett <neale dot woozle dot org>
|
||||
© 2009 Mate Nagy <mnagy@port70.net>
|
||||
© 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
5
README
5
README
@ -38,10 +38,9 @@ the DISPLAY environment variable is set correctly, e.g.:
|
||||
In order to display status info in the bar, you can do something
|
||||
like this in your .xinitrc:
|
||||
|
||||
while true
|
||||
while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
|
||||
do
|
||||
xsetroot -name "`date` `uptime | sed 's/.*,//'`"
|
||||
sleep 1
|
||||
sleep 1
|
||||
done &
|
||||
exec dwm
|
||||
|
||||
|
4
TODO
Normal file
4
TODO
Normal file
@ -0,0 +1,4 @@
|
||||
- add a flag to Key to execute the command on release (needed for commands
|
||||
affecting the keyboard grab, see scrot -s for example)
|
||||
- add updategeom() hook for external tools like dzen
|
||||
- consider onscreenkeyboard hooks for tablet deployment
|
15
config.def.h
15
config.def.h
@ -2,12 +2,12 @@
|
||||
|
||||
/* appearance */
|
||||
static const char font[] = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*";
|
||||
static const char normbordercolor[] = "#cccccc";
|
||||
static const char normbgcolor[] = "#cccccc";
|
||||
static const char normfgcolor[] = "#000000";
|
||||
static const char selbordercolor[] = "#0066ff";
|
||||
static const char selbgcolor[] = "#0066ff";
|
||||
static const char selfgcolor[] = "#ffffff";
|
||||
static const char normbordercolor[] = "#444444";
|
||||
static const char normbgcolor[] = "#222222";
|
||||
static const char normfgcolor[] = "#bbbbbb";
|
||||
static const char selbordercolor[] = "#005577";
|
||||
static const char selbgcolor[] = "#005577";
|
||||
static const char selfgcolor[] = "#eeeeee";
|
||||
static const unsigned int borderpx = 1; /* border pixel of windows */
|
||||
static const unsigned int snap = 32; /* snap pixel */
|
||||
static const Bool showbar = True; /* False means no bar */
|
||||
@ -24,6 +24,7 @@ static const Rule rules[] = {
|
||||
|
||||
/* layout(s) */
|
||||
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
|
||||
static const int nmaster = 1; /* number of clients in master area */
|
||||
static const Bool resizehints = True; /* True means respect size hints in tiled resizals */
|
||||
|
||||
static const Layout layouts[] = {
|
||||
@ -55,6 +56,8 @@ static Key keys[] = {
|
||||
{ MODKEY, XK_b, togglebar, {0} },
|
||||
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
||||
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
|
||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
|
||||
{ MODKEY, XK_Return, zoom, {0} },
|
||||
|
10
config.mk
10
config.mk
@ -1,5 +1,5 @@
|
||||
# dwm version
|
||||
VERSION = 5.8
|
||||
VERSION = 6.0
|
||||
|
||||
# Customize below to fit your system
|
||||
|
||||
@ -20,10 +20,10 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
|
||||
|
||||
# flags
|
||||
CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
|
||||
CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
|
||||
#CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
|
||||
LDFLAGS = -g ${LIBS}
|
||||
#LDFLAGS = -s ${LIBS}
|
||||
#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
|
||||
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
|
||||
#LDFLAGS = -g ${LIBS}
|
||||
LDFLAGS = -s ${LIBS}
|
||||
|
||||
# Solaris
|
||||
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
|
||||
|
10
dwm.1
10
dwm.1
@ -92,12 +92,18 @@ Focus next window.
|
||||
.B Mod1\-k
|
||||
Focus previous window.
|
||||
.TP
|
||||
.B Mod1\-h
|
||||
Decrease master area size.
|
||||
.B Mod1\-i
|
||||
Increase clients in master area.
|
||||
.TP
|
||||
.B Mod1\-d
|
||||
Decrease clients in master area.
|
||||
.TP
|
||||
.B Mod1\-l
|
||||
Increase master area size.
|
||||
.TP
|
||||
.B Mod1\-h
|
||||
Decrease master area size.
|
||||
.TP
|
||||
.B Mod1\-Return
|
||||
Zooms/cycles focused window to/from master area (tiled layouts only).
|
||||
.TP
|
||||
|
42
transient.c
Normal file
42
transient.c
Normal file
@ -0,0 +1,42 @@
|
||||
/* cc transient.c -o transient -lX11 */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
|
||||
int main(void) {
|
||||
Display *d;
|
||||
Window r, f, t = None;
|
||||
XSizeHints h;
|
||||
XEvent e;
|
||||
|
||||
d = XOpenDisplay(NULL);
|
||||
if (!d)
|
||||
exit(1);
|
||||
r = DefaultRootWindow(d);
|
||||
|
||||
f = XCreateSimpleWindow(d, r, 100, 100, 400, 400, 0, 0, 0);
|
||||
h.min_width = h.max_width = h.min_height = h.max_height = 400;
|
||||
h.flags = PMinSize | PMaxSize;
|
||||
XSetWMNormalHints(d, f, &h);
|
||||
XStoreName(d, f, "floating");
|
||||
XMapWindow(d, f);
|
||||
|
||||
XSelectInput(d, f, ExposureMask);
|
||||
while (1) {
|
||||
XNextEvent(d, &e);
|
||||
|
||||
if (t == None) {
|
||||
sleep(5);
|
||||
t = XCreateSimpleWindow(d, r, 50, 50, 100, 100, 0, 0, 0);
|
||||
XSetTransientForHint(d, t, f);
|
||||
XStoreName(d, t, "transient");
|
||||
XMapWindow(d, t);
|
||||
XSelectInput(d, t, ExposureMask);
|
||||
}
|
||||
}
|
||||
|
||||
XCloseDisplay(d);
|
||||
exit(0);
|
||||
}
|
Reference in New Issue
Block a user