Introduction
Introduction Statistics Contact Development Disclaimer Help
tmake it easier for the user, if Xinerama support is given, always use the scre…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit f22d047d4139ef889e95aabd0103e11357193e5a
parent 4a5c8d84dbf410b8b9aa4dc81954568f10ca104f
Author: Anselm R Garbe <[email protected]>
Date: Mon, 19 May 2008 15:05:46 +0100
make it easier for the user, if Xinerama support is given, always use the scree…
Diffstat:
M config.mk | 11 ++++++++---
M dwm.1 | 3 +++
M dwm.c | 39 +++++++++++++++++++++--------…
3 files changed, 37 insertions(+), 16 deletions(-)
---
diff --git a/config.mk b/config.mk
t@@ -10,14 +10,19 @@ MANPREFIX = ${PREFIX}/share/man
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
+# Xinerama, uncomment 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 = -Os ${INCS} ${CPPFLAGS}
LDFLAGS = -s ${LIBS}
-#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
+#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} ${CPPFLAGS}
#LDFLAGS = -g ${LIBS}
# Solaris
diff --git a/dwm.1 b/dwm.1
t@@ -57,6 +57,9 @@ click on a tag label adds/removes that tag to/from the focus…
Start
.BR xterm.
.TP
+.B Mod1\-b
+Toggles bar on and off.
+.TP
.B Mod1\-space
Toggles between layouts.
.TP
diff --git a/dwm.c b/dwm.c
t@@ -39,6 +39,9 @@
#include <X11/Xlib.h>
#include <X11/Xproto.h>
#include <X11/Xutil.h>
+#ifdef XINERAMA
+#include <X11/extensions/Xinerama.h>
+#endif
/* macros */
#define MAX(a, b) ((a) > (b) ? (a) : (b))
t@@ -1579,22 +1582,32 @@ updatebar(void) {
void
updategeom(void) {
- unsigned int i;
-
-#ifdef CUSTOMGEOM /* define your own if you are Xinerama user */
- CUSTOMGEOM
-#else
- /* bar geometry*/
- bx = 0;
- by = showbar ? (topbar ? 0 : sh - bh) : -bh;
- bw = sw;
+ int i;
+#ifdef XINERAMA
+ XineramaScreenInfo *info = NULL;
/* window area geometry */
- wx = sx;
- wy = showbar && topbar ? sy + bh : sy;
- ww = sw;
- wh = showbar ? sh - bh : sh;
+ if(XineramaIsActive(dpy)) {
+ info = XineramaQueryScreens(dpy, &i);
+ wx = info[0].x_org;
+ wy = showbar && topbar ? info[0].y_org + info[0].height + bh :…
+ ww = info[0].width;
+ wh = showbar ? info[0].height - bh : info[0].height;
+ XFree(info);
+ }
+ else
#endif
+ {
+ wx = sx;
+ wy = showbar && topbar ? sy + bh : sy;
+ ww = sw;
+ wh = showbar ? sh - bh : sh;
+ }
+
+ /* bar geometry*/
+ bx = wx;
+ by = showbar ? (topbar ? 0 : wy + wh) : -bh;
+ bw = ww;
/* update layout geometries */
for(i = 0; i < LENGTH(layouts); i++)
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.