Compare commits

..

189 Commits
4.9 ... 5.2

Author SHA1 Message Date
53cac17692 using malloc() instead of calloc() and sticking to static initializer and struct assignment, not using *c = (Client){}; right now to avoid some ugly gcc warning, possibly a gcc bug since we are using -std=c99 2008-09-08 22:24:05 +01:00
83abfc05eb applied XGetWMNormalHints fix 2008-09-07 09:53:59 +01:00
862b0d541d I prefer doing the check in showhide 2008-09-06 09:34:49 +01:00
c1c6fdc5d8 applied Donald Chai's showhide patch in slightly modified ways 2008-09-06 09:21:32 +01:00
9a4d07d9de applied Martin Hurton's checkotherwm simplification 2008-09-06 08:59:51 +01:00
30410108eb applied Peter Hartlichs aspect revert fix 2008-09-02 22:36:06 +01:00
753e0e048e applied Gottox' grabkey patch 2008-09-02 18:47:01 +01:00
d15d4ba45a applied yiyus tagbar patch 2008-09-01 22:18:50 +01:00
815f9c054d merged merge 2008-09-01 08:22:11 +00:00
addc52c948 fixed 2008-08-29 11:29:42 +01:00
26f41c9055 checking result of XGetClassHint, removed some obsolete lines in initfont() 2008-08-29 10:13:47 +01:00
73ec124ae9 merged my changes 2008-08-27 15:03:35 +01:00
ec11a3470c introduced NOBORDER macro to hide the nasty - 2 * c->bw in various calculations, moved tagset to config.def.h 2008-08-27 12:52:44 +01:00
4b3b597da3 WM_NAME is builtin atom 2008-08-25 11:43:45 +02:00
288cf78b18 grabbuttons() and grabkeys() are now independent from prior numlockmask initialization 2008-08-25 09:44:23 +01:00
6411aa921b reverted some resize() changes, reverted setlocale removal 2008-08-25 09:37:39 +01:00
db5db8806f applied Peter Hartlich's patch regarding aspect calculation with slight modifications 2008-08-23 09:54:55 +01:00
258c338030 removed artifact from wmii 2008-08-23 09:33:05 +01:00
85da537856 changed grabkeys, removed initmodmap 2008-08-23 09:31:28 +01:00
2b4157eccd applied Peter Hartlich's initmodmap patch 2008-08-23 09:26:11 +01:00
0f26de991f applied fix of toggletag by Jan Kaliszewski 2008-08-22 15:26:30 +02:00
840f937a98 Martin Hurtons typo fix 2008-08-18 19:28:57 +01:00
6975a7e31a fixed error I did when applying Martin Hurton's drawtext patch 2008-08-18 19:23:03 +01:00
47f63dce55 applied Martin Hurtons resizemouse patch 2008-08-18 19:19:15 +01:00
02a8ca95cf applied Martin Hurton's movemouse() patch 2008-08-18 18:23:39 +01:00
2ce50a9cad using None instead of 0 for trans 2008-08-18 10:22:46 +01:00
bfa5869da1 abc... 2008-08-18 10:21:24 +01:00
087a55f8d3 removed the i = textnw... as remarked by Martin Hurton 2008-08-18 10:16:36 +01:00
6d7285fd6e applied Martin Hurton's scan() patch with slight modifications 2008-08-18 10:14:51 +01:00
69c7b4b0ba changed order of variables in drawtext 2008-08-18 10:00:10 +01:00
97699e5b1b applied Martin Hurton's drawtext() patch 2008-08-18 09:55:36 +01:00
2dc7f42fd7 applied Martin Hurton's view() simplification, not checking arg 2008-08-18 09:49:44 +01:00
9f3a5cb754 making a comment more explicit 2008-08-18 09:39:52 +01:00
b48fa3f101 removed setlocale() stuff, not necessary if Xmb in use 2008-08-18 09:31:55 +01:00
051a404b66 added a comment about FAQ regarding mfact meaning 2008-08-18 09:11:15 +01:00
d8d733c34f added some comments regarding FAQ about s{x,y,w,h}, w{x,y,w,h}, b{y,h,lw} 2008-08-18 09:10:21 +01:00
bb01e5a16f initialize trans with 0 2008-08-18 08:57:34 +01:00
06f7eed103 fix of XGetTransientForHint in manage() 2008-08-14 22:35:52 +02:00
0ffa6d1393 applied cleanup from M. Hurton and S. Nagy 2008-08-14 12:36:49 +02:00
15ce143620 fixes using arg->i instead of arg->ui 2008-08-12 21:24:40 +02:00
63d7190231 applied Johannes Hofmann's patch, please test 2008-08-04 17:39:36 +01:00
b279cef670 made readin a config.h variable 2008-08-02 19:12:15 +01:00
6254ef9dc7 Added tag 5.1 for changeset ce355cea9bb8 2008-07-29 19:19:00 +01:00
4a2902efe4 forcing fullscreen windows to bw=0, though most fullscreen apps are broken anyways 2008-07-29 11:32:22 +01:00
6fad4c49f1 potential crash fix if xinerama behaves broken, though I doubt it 2008-07-18 20:18:45 +01:00
78f0f8595f make hg tip compilable with default config 2008-07-18 10:57:32 +02:00
7ecadcee39 local use of xidx is useless, got rid of it, falling back to screen 0 if pointer query fails for whatever reason 2008-07-16 18:39:48 +01:00
c86ed46a1b got rid of compile time xidx configuration, querying mouse pointer instead 2008-07-16 18:33:51 +01:00
9086f98068 reverted uint redefinition 2008-07-16 18:17:42 +01:00
9aa4a9043d applied anydot's urgency hint patch, thanks! 2008-07-13 18:08:55 +01:00
d5893f55be renamed eprint die 2008-07-03 17:05:56 +01:00
f529d41ca1 simplified detach() 2008-07-03 10:58:35 +01:00
45768ee04b removed aux* stuff from Client 2008-07-02 11:54:36 +01:00
a6d23fb61c removed useless comment 2008-07-02 11:19:02 +01:00
bf76cefe47 minor fix to view() 2008-07-02 11:06:46 +01:00
9bb0f20515 applied Frederik Ternerot's grabbuttons patch with slight modifications 2008-07-01 19:26:17 +01:00
2431ae7df7 locale update 2008-06-30 09:57:45 +01:00
829b6b57e7 removed useless characters 2008-06-24 12:40:48 +01:00
7b4c512e62 applied James Turner's dwm.1 patch, thanks James! 2008-06-23 08:59:19 +01:00
7f7c3140a9 fix of monocle 2008-06-22 09:33:49 +01:00
277155cf77 another merge 2008-06-22 09:29:35 +01:00
0c38ec7cd6 does this fix anything? 2008-06-22 09:29:06 +01:00
deef4c9bfd fixed Gottox' buttonpress/ClkTagBar code 2008-06-21 13:49:43 +01:00
b86c818599 applied Gottox' ClkTagBar patch 2008-06-20 16:52:07 +01:00
c2a916bf30 made arrange again like it was once 2008-06-19 14:58:19 +01:00
2bd46d1ce6 fix 2008-06-19 14:13:07 +01:00
6e0ce46365 use sel instead of seeking the list 2008-06-19 14:07:55 +01:00
c853d5e9bb resize should apply if !banned 2008-06-19 14:01:40 +01:00
31da0b7525 applied Gottox patch 2008-06-19 12:28:56 +01:00
12ea925076 untested monocle 2008-06-19 11:38:53 +01:00
79ecbeca7e non-zero 2008-06-19 09:11:11 +01:00
cf98ea2a9c Added tag 5.0 for changeset 06eb9644e2da 2008-06-18 18:22:54 +01:00
d8fad9bf7a branch merge 2008-06-17 11:20:18 +01:00
f25cc5678f tiled layout resizehints should be respected by default 2008-06-17 11:19:17 +01:00
5a92420fce restored y-coordinate fixing of client windows 2008-06-17 09:57:13 +01:00
ae1d865ac0 s/tags ref/tags mask/ 2008-06-15 23:27:08 +02:00
1ce173402f updated man page regarding Mod1-m 2008-06-15 18:59:52 +01:00
a06b9193c7 minor fixes towards 5.0 2008-06-15 10:52:57 +01:00
43bb77a569 removed explicit warp in movemouse 2008-06-14 15:15:15 +01:00
e3da222c1e removed scroll-wheel based focussing on window title clicks 2008-06-14 11:25:42 +01:00
66608a60fe fix of swapped focusstack mouse buttons 2008-06-14 11:23:16 +01:00
b6aa84e51b removed the ButtonPressMask for root windows as well 2008-06-14 11:22:22 +01:00
9ff5143acb removed root window click handling 2008-06-14 11:21:50 +01:00
1edf6a7866 removed font and color definitions 2008-06-14 10:38:18 +01:00
4db2f44277 minor fix 2008-06-13 17:37:43 +01:00
1f1a132784 fixed tag click handling, however ClkRootWin doesn't work for me 2008-06-12 23:04:55 +01:00
512541bfbd update 2008-06-12 16:37:03 +01:00
709da0b858 some bugfixes of the patch application yesterday 2008-06-12 13:10:14 +01:00
5cd65f8cd8 integrated yiyus mouse.diff (though the bar click handling is slightly broken, I'm to tired to debug it now, yiyus could you please?) 2008-06-11 20:41:28 +01:00
e3838e8585 made Xinerama screen index customizable 2008-06-11 19:55:07 +01:00
016dca4f69 removed trailing spaces reported by Soleen 2008-06-11 19:47:20 +01:00
8f052596b2 crash fix 2008-06-11 19:42:24 +01:00
9463d5354b made lt visible again in config.def.h 2008-06-11 17:01:30 +01:00
d662f98d89 added nsz' patch 2008-06-11 14:10:18 +01:00
e5a965a274 added SHCMD support for pipe-based commands due the new spawn() versio 2008-06-11 13:20:17 +01:00
5d422bb1ce using foo layout during cleanup (suggested by Gottox), add Arg->v handling for togglelayout() suggested by anydot 2008-06-11 10:26:57 +01:00
38a43c2dcc lt will point to a foo-layout during cleanup now (Gottox' suggestion), and togglelayout respects Arg->v 2008-06-11 10:25:02 +01:00
c56533615f integrated Peter Hartlich's patch, removed const char *c from union, simplified togglelayout 2008-06-11 09:34:00 +01:00
a8e0772c4d applied anydot's patchset.diff 2008-06-11 09:12:06 +01:00
98e7950be8 final version -- Gottox verified it using the test driver 2008-06-09 11:24:33 +02:00
88e6eb4a3a revert of introduced problem 2008-06-09 11:05:20 +02:00
0840c1367c applied nsz' textnw patch thank you 2008-06-09 10:26:01 +02:00
077d3e435b updated the for-loop with Gottox' proposal 2008-06-09 10:05:40 +02:00
d26b60b43e minor change 2008-06-06 11:49:31 +02:00
32f36ab2d5 applied nsz's patches (many thanks!) 2008-06-04 11:49:46 +02:00
08bcf721b4 small change to drawtext 2008-06-02 12:19:02 +02:00
fc578c57e4 fixed the tile() issue with xpdf 2008-06-01 17:51:22 +01:00
c8eaab21b6 using anydot's memcpy-approach in drawtext, however it still looks awkward to me 2008-06-01 17:41:15 +01:00
c26e22ccee Gottox' drawtext simplification 2008-06-01 11:58:19 +01:00
c2784e4a38 applied noviewprev.diff, fix.diff and unusedflags.diff 2008-06-01 10:54:02 +01:00
6e9387793b fix 2008-05-31 17:37:13 +01:00
92f3c181c3 lt->arrange in mfact 2008-05-31 17:05:28 +01:00
d589f7679a isfixed implies isfloating 2008-05-30 23:03:03 +01:00
75690c808d applied nibbles fixes, slightly modified 2008-05-29 18:42:53 +01:00
fde58d5e63 applied yiyus tip patch from tue 2008-05-29 18:22:51 +01:00
e1002745fa core dump fix in cleanup 2008-05-28 10:45:18 +01:00
940a4cc6c6 updated the initial comment to reflect the use of bit arrays 2008-05-26 11:43:51 +01:00
64243ab05b slight changes 2008-05-26 11:42:02 +01:00
32c5046635 removed bx and bw, unnecessary 2008-05-26 10:28:18 +01:00
6c8618f502 renamed domax into ismax 2008-05-26 10:13:51 +01:00
9189f7a12d simplified tile() 2008-05-26 10:10:33 +01:00
2d4faae522 removed Layout->updategeom, unnecessary 2008-05-26 09:54:34 +01:00
5d2385b636 removed TEXTW 2008-05-26 09:45:34 +01:00
0fe2e783e9 applied yiyus domax patch with slight modifications 2008-05-26 09:39:57 +01:00
cd3d83f571 replaced isvisible with a macro 2008-05-22 14:15:30 +01:00
0a9ef560c0 removed emallocz 2008-05-22 14:10:00 +01:00
0528a37c79 s/int/uint/ in config.h 2008-05-22 14:02:31 +01:00
56b2fece9e removed debug output, sanitized tag limit check 2008-05-22 13:35:45 +01:00
9f569fac74 setmfact argument was wrong 2008-05-22 12:00:50 +01:00
48d0c56eac Key.mod is uint, Client.[old]bw is int 2008-05-22 11:50:18 +01:00
825d6cb93a s/unsigned long/ulong/ 2008-05-22 11:16:23 +01:00
f852504014 s/nextunfloating/nexttiled/, changed zoom() behavior 2008-05-22 11:12:22 +01:00
c3fa9e879f s/unsigned int/uint/ 2008-05-22 11:10:08 +01:00
8e05f6c592 s/void */const void */ 2008-05-22 11:08:07 +01:00
39d1ecd5b0 applied Gottox bitmask + void *arg patch 2008-05-22 11:04:19 +01:00
103fb58a44 some minor fixes 2008-05-19 20:29:57 +01:00
5f55af40ae simplification 2008-05-19 20:13:24 +01:00
f806a17692 reverted dist target in Makefile 2008-05-19 20:08:31 +01:00
822101dd5b merged tile.c again into dwm.c 2008-05-19 20:07:12 +01:00
6bdef73a4f take bar into account 2008-05-19 17:27:30 +01:00
234b12eb73 be more polite to clients which like to appear outside the window area, but still on the screen 2008-05-19 17:23:49 +01:00
bd4deaebfc fixed comment 2008-05-19 15:36:45 +01:00
499315c22c fix 2008-05-19 15:09:16 +01:00
f22d047d41 make it easier for the user, if Xinerama support is given, always use the screen 0 as window area/bar area, everything else can be used for floating clients 2008-05-19 15:05:46 +01:00
4a5c8d84db improving space usage if master is left of stack (default) 2008-05-19 14:44:53 +01:00
71365a524f only snap within window area 2008-05-19 13:41:58 +01:00
3afca3e6a1 s/DEFGEOM/CUSTOMGEOM/ 2008-05-19 13:37:46 +01:00
bdc80bdad6 update 2008-05-19 13:32:43 +01:00
64707da963 updatetilegeom should be fine for setmfact 2008-05-19 12:42:26 +01:00
549726869b recent changes, introduced togglebar, changed some defines into variable declarations where possible 2008-05-19 12:34:54 +01:00
42cb2bd3be new stuff 2008-05-17 14:51:12 +01:00
585294ce0f removed the <M> togglelayout call 2008-05-17 14:50:37 +01:00
a864a82b34 s/tilegeom/updatetilegeom/ 2008-05-17 14:48:04 +01:00
bd67a82fb5 removed monocle for now 2008-05-17 14:46:06 +01:00
14d8d828ab removed the exact focus mechanism of next/prev window 2008-05-17 14:41:41 +01:00
4246affc15 moved all tile()-related stuff into tile.c which is included from config.def.h, the default dwm is now nearly independent from the arrange() algorithm in use 2008-05-17 14:38:22 +01:00
42c4b31003 removed tileh, renamed tilev into tile again, removed counttiles, tilemaster 2008-05-17 14:23:05 +01:00
a785a0d712 removed Layout->isfloating 2008-05-17 14:17:18 +01:00
489ac07e83 removed reapply() -- unnecessary 2008-05-17 14:06:41 +01:00
349d768b57 renamed setlayout into togglelayout 2008-05-17 14:04:27 +01:00
6dfa7cac56 removed temporary wildcard handling 2008-05-15 10:51:37 +01:00
71681c21a5 added wild-card handling for tags 2008-05-15 10:47:26 +01:00
704781875c applied nsz's another style patch 2008-05-14 11:24:35 +01:00
d7cc0f6416 applied nsz's style.diff patch 2008-05-13 14:33:02 +01:00
6b79f3f326 just added a comment 2008-05-13 11:27:20 +01:00
446fa8c671 minor fixes 2008-05-11 20:27:01 +01:00
fa244aa7fb having monocle on Mod1-m 2008-05-11 20:25:24 +01:00
7ac4f8a4af hotfix 2008-05-11 20:22:20 +01:00
7eb26288fc removed Geom stuff, introduced updategeom() again, still view is somewhat broken? 2008-05-11 20:20:53 +01:00
93a4fe1052 cleaned up config.def.h 2008-05-11 14:54:45 +01:00
5602f44b29 implemented exact focus next, if arg != NULL to focus{next,prev} 2008-05-11 14:40:37 +01:00
b848f4bda8 applied the proposal by nsz 2008-05-06 15:52:44 +01:00
86c4797f2c applied JUCE patch 2008-05-06 15:13:36 +01:00
c094ed2473 simplification of view() as proposed by anydot 2008-04-27 18:36:11 +01:00
bfd6079a15 applied yiyus tagset patch 2008-04-27 18:33:31 +01:00
7f70d90219 applied yiyus fgeom patch 2008-04-27 18:22:52 +01:00
858251de46 applied dfenze drawtext simplifications 2008-04-27 18:00:45 +01:00
d26c28c1e7 this is the correct way 2008-04-20 19:09:30 +01:00
b6335776e4 copyright notice is in LICENSE 2008-04-20 19:09:00 +01:00
c059625128 applied Ph's seltags-simplification with some modifications 2008-04-20 18:35:11 +01:00
874837f653 applied Ph's MIN/MAX patch, nice work! 2008-04-20 18:28:21 +01:00
5fa559dbfc applied Ph's patch regarding geom and lt initialization 2008-04-20 18:23:59 +01:00
146ff227fe applied Gottox' applyrules() fix 2008-04-20 18:17:33 +01:00
bb0a328978 geometry fix proposed by Jukka 2008-04-08 11:49:35 +01:00
721b208478 applied applyrules-fix by Jukka, thank you Jukka! 2008-04-07 09:05:41 +01:00
6229ed20c2 fix 2008-04-05 19:04:53 +01:00
940240e5e6 applied the proposed monocle patch from the mailinglist 2008-04-05 18:23:31 +01:00
08c596ed10 next version is 5.0 2008-04-04 11:15:37 +01:00
9ce6abb95c Added tag 4.9 for changeset 22c669b2dd36 2008-04-03 21:57:32 +01:00
7 changed files with 750 additions and 929 deletions

View File

@ -52,3 +52,6 @@ e0ec0d5d8b1ef3ee04a83c7c0fee5853aa2ac6a6 4.3
bcd7e18e196a00cc2e97ff3a4a58f3cdaba13856 4.6
d6d3085307d8d98b8b012b669e858fd787befeb1 4.7
607015ddb091d49cbd3457af41713691aa69f4d6 4.8
22c669b2dd3673785c3476b9976da21e8783f745 4.9
06eb9644e2dad7667d97495eb7d7bc62aa0429e8 5.0
ce355cea9bb89e162f61913737a46908cdfa7e45 5.1

View File

@ -7,6 +7,8 @@ MIT/X Consortium License
© 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
© 2007 Christof Musik <christof at sendfax dot de>
© 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>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),

View File

@ -1,5 +1,5 @@
# dwm - dynamic window manager
# © 2006-2007 Anselm R. Garbe, Sander van Dijk
# See LICENSE file for copyright and license details.
include config.mk

View File

@ -1,100 +1,101 @@
/* See LICENSE file for copyright and license details. */
/* appearance */
#define BORDERPX 1
#define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"
#define NORMBORDERCOLOR "#cccccc"
#define NORMBGCOLOR "#cccccc"
#define NORMFGCOLOR "#000000"
#define SELBORDERCOLOR "#0066ff"
#define SELBGCOLOR "#0066ff"
#define SELFGCOLOR "#ffffff"
static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*";
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 unsigned int borderpx = 1; /* border pixel of windows */
static unsigned int snap = 32; /* snap pixel */
static Bool showbar = True; /* False means no bar */
static Bool topbar = True; /* False means bottom bar */
static Bool readin = True; /* False means do not read stdin */
/* tagging */
const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
static unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
Rule rules[] = {
/* class instance title tags ref isfloating */
{ "Gimp", NULL, NULL, NULL, True },
};
/* geometries, s{x,y,w,h} and bh are already initualized here */
/* func name bx by bw wx wy ww wh mx my mw mh tx ty tw th mox moy mow moh */
#define MFACT 0.55 /* master width factor [0.1 .. 0.9] */
DEFGEOM(single, 0, 0, sw, 0, bh, sw, sh-bh, wx, wy, mfact*sw, wh, mx+mw, wy, ww-mw, wh, wx, wy, ww, wh)
Geom geoms[] = {
/* symbol function */
{ "[]", single }, /* first entry is default */
static Rule rules[] = {
/* class instance title tags mask isfloating */
{ "Gimp", NULL, NULL, 0, True },
{ "Firefox", NULL, NULL, 1 << 8, True },
};
/* layout(s) */
#define RESIZEHINTS True /* False - respect size hints in tiled resizals */
#define SNAP 32 /* snap pixel */
static float mfact = 0.55; /* factor of master area size [0.05..0.95] */
static Bool resizehints = True; /* False means respect size hints in tiled resizals */
Layout layouts[] = {
/* symbol function isfloating */
{ "[]=", tilev, False }, /* first entry is default */
{ "[]|", tileh, False },
{ "><>", floating, True },
{ "[M]", monocle, True },
static Layout layouts[] = {
/* symbol arrange function */
{ "[]=", tile }, /* first entry is default */
{ "><>", NULL }, /* no layout function means floating behavior */
{ "[M]", monocle },
};
/* key definitions */
#define MODKEY Mod1Mask
Key keys[] = {
#define TAGKEYS(KEY,TAG) \
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
/* commands */
static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
static const char *termcmd[] = { "uxterm", NULL };
static Key keys[] = {
/* modifier key function argument */
{ MODKEY, XK_p, spawn,
"exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" },
{ MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" },
{ MODKEY, XK_j, focusnext, NULL },
{ MODKEY, XK_k, focusprev, NULL },
{ MODKEY, XK_r, reapply, NULL },
{ MODKEY, XK_h, setmfact, "-0.05" },
{ MODKEY, XK_l, setmfact, "+0.05" },
{ MODKEY, XK_Return, zoom, NULL },
{ MODKEY, XK_Tab, viewprevtag, NULL },
{ MODKEY|ShiftMask, XK_c, killclient, NULL },
{ MODKEY, XK_space, setlayout, NULL },
{ MODKEY|ShiftMask, XK_space, togglefloating, NULL },
{ MODKEY|ControlMask, XK_space, setgeom, NULL },
{ MODKEY, XK_0, view, NULL },
{ MODKEY, XK_1, view, tags[0] },
{ MODKEY, XK_2, view, tags[1] },
{ MODKEY, XK_3, view, tags[2] },
{ MODKEY, XK_4, view, tags[3] },
{ MODKEY, XK_5, view, tags[4] },
{ MODKEY, XK_6, view, tags[5] },
{ MODKEY, XK_7, view, tags[6] },
{ MODKEY, XK_8, view, tags[7] },
{ MODKEY, XK_9, view, tags[8] },
{ MODKEY|ControlMask, XK_1, toggleview, tags[0] },
{ MODKEY|ControlMask, XK_2, toggleview, tags[1] },
{ MODKEY|ControlMask, XK_3, toggleview, tags[2] },
{ MODKEY|ControlMask, XK_4, toggleview, tags[3] },
{ MODKEY|ControlMask, XK_5, toggleview, tags[4] },
{ MODKEY|ControlMask, XK_6, toggleview, tags[5] },
{ MODKEY|ControlMask, XK_7, toggleview, tags[6] },
{ MODKEY|ControlMask, XK_8, toggleview, tags[7] },
{ MODKEY|ControlMask, XK_9, toggleview, tags[8] },
{ MODKEY|ShiftMask, XK_0, tag, NULL },
{ MODKEY|ShiftMask, XK_1, tag, tags[0] },
{ MODKEY|ShiftMask, XK_2, tag, tags[1] },
{ MODKEY|ShiftMask, XK_3, tag, tags[2] },
{ MODKEY|ShiftMask, XK_4, tag, tags[3] },
{ MODKEY|ShiftMask, XK_5, tag, tags[4] },
{ MODKEY|ShiftMask, XK_6, tag, tags[5] },
{ MODKEY|ShiftMask, XK_7, tag, tags[6] },
{ MODKEY|ShiftMask, XK_8, tag, tags[7] },
{ MODKEY|ShiftMask, XK_9, tag, tags[8] },
{ MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] },
{ MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] },
{ MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] },
{ MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] },
{ MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] },
{ MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] },
{ MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] },
{ MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] },
{ MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] },
{ MODKEY|ShiftMask, XK_q, quit, NULL },
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
{ MODKEY, XK_b, togglebar, {0} },
{ MODKEY, XK_j, focusstack, {.i = +1 } },
{ MODKEY, XK_k, focusstack, {.i = -1 } },
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
{ MODKEY, XK_Return, zoom, {0} },
{ MODKEY, XK_Tab, view, {0} },
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
{ MODKEY, XK_space, setlayout, {0} },
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
{ MODKEY, XK_0, view, {.ui = ~0 } },
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
TAGKEYS( XK_1, 0)
TAGKEYS( XK_2, 1)
TAGKEYS( XK_3, 2)
TAGKEYS( XK_4, 3)
TAGKEYS( XK_5, 4)
TAGKEYS( XK_6, 5)
TAGKEYS( XK_7, 6)
TAGKEYS( XK_8, 7)
TAGKEYS( XK_9, 8)
{ MODKEY|ShiftMask, XK_q, quit, {0} },
};
/* button definitions */
/* click can be a tag number (starting at 0),
* ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = {
/* click event mask button function argument */
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
{ ClkWinTitle, 0, Button2, zoom, {0} },
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
{ ClkTagBar, 0, Button1, view, {0} },
{ ClkTagBar, 0, Button3, toggleview, {0} },
{ ClkTagBar, MODKEY, Button1, tag, {0} },
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
};

View File

@ -1,5 +1,5 @@
# dwm version
VERSION = 4.9
VERSION = 5.2
# Customize below to fit your system
@ -10,15 +10,18 @@ MANPREFIX = ${PREFIX}/share/man
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
# Xinerama, comment if you don't want it
XINERAMALIBS = -L${X11LIB} -lXinerama
XINERAMAFLAGS = -DXINERAMA
# includes and libs
INCS = -I. -I/usr/include -I${X11INC}
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
# flags
CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\"
CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
LDFLAGS = -s ${LIBS}
#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
#LDFLAGS = -g ${LIBS}
# Solaris
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"

22
dwm.1
View File

@ -57,11 +57,20 @@ click on a tag label adds/removes that tag to/from the focused window.
Start
.BR xterm.
.TP
.B Mod1\-space
Toggles between layouts.
.B Mod1\-b
Toggles bar on and off.
.TP
.B Mod1\-Control\-space
Toggles between geometries.
.B Mod1\-t
Sets tiled layout.
.TP
.B Mod1\-f
Sets floating layout.
.TP
.B Mod1\-m
Sets monocle layout.
.TP
.B Mod1\-space
Toggles between current and previous layout.
.TP
.B Mod1\-j
Focus next window.
@ -87,9 +96,6 @@ Toggle focused window between tiled and floating state.
.B Mod1\-Tab
Toggles to the previously selected tags.
.TP
.B Mod1\-r
Re-applies tagging rules to all windows.
.TP
.B Mod1\-Shift\-[1..n]
Apply
.RB nth
@ -124,7 +130,7 @@ Quit dwm.
Move focused window while dragging. Tiled windows will be toggled to the floating state.
.TP
.B Mod1\-Button2
Zooms/cycles focused window to/from master area. If it is floating (but not fixed) it will be toggled to the tiled state instead.
Toggles focused window between floating and tiled state.
.TP
.B Mod1\-Button3
Resize focused window while dragging. Tiled windows will be toggled to the floating state.

1332
dwm.c

File diff suppressed because it is too large Load Diff