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
This commit is contained in:
		
							parent
							
								
									4a5c8d84db
								
							
						
					
					
						commit
						f22d047d41
					
				
							
								
								
									
										11
									
								
								config.mk
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								config.mk
									
									
									
									
									
								
							| @ -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
 | ||||
|  | ||||
							
								
								
									
										3
									
								
								dwm.1
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								dwm.1
									
									
									
									
									
								
							| @ -57,6 +57,9 @@ click on a tag label adds/removes that tag to/from the focused window. | ||||
| Start | ||||
| .BR xterm. | ||||
| .TP | ||||
| .B Mod1\-b | ||||
| Toggles bar on and off. | ||||
| .TP | ||||
| .B Mod1\-space | ||||
| Toggles between layouts. | ||||
| .TP | ||||
|  | ||||
							
								
								
									
										39
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								dwm.c
									
									
									
									
									
								
							| @ -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)) | ||||
| @ -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 : info[0].y_org; | ||||
| 		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++) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user