applied Stefan Tibus' sun patch, added -bottom option to dmenu which makes it appear in the bottom (for wmii compliance), slightly modified version than the patch proposed by Stefan Tibus
This commit is contained in:
		
							parent
							
								
									201b056e39
								
							
						
					
					
						commit
						3438af001a
					
				| @ -20,6 +20,11 @@ LDFLAGS = ${LIBS} | |||||||
| #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
 | #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
 | ||||||
| #LDFLAGS = -g ${LIBS}
 | #LDFLAGS = -g ${LIBS}
 | ||||||
| 
 | 
 | ||||||
|  | # Solaris
 | ||||||
|  | #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
 | ||||||
|  | #LDFLAGS = ${LIBS}
 | ||||||
|  | #CFLAGS += -xtarget=ultra
 | ||||||
|  | 
 | ||||||
| # compiler and linker
 | # compiler and linker
 | ||||||
| CC = cc | CC = cc | ||||||
| LD = ${CC} | LD = ${CC} | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								dmenu.1
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								dmenu.1
									
									
									
									
									
								
							| @ -3,6 +3,7 @@ | |||||||
| dmenu \- dynamic menu | dmenu \- dynamic menu | ||||||
| .SH SYNOPSIS | .SH SYNOPSIS | ||||||
| .B dmenu | .B dmenu | ||||||
|  | .RB [ \-bottom ] | ||||||
| .RB [ \-font " <name>"] | .RB [ \-font " <name>"] | ||||||
| .RB [ \-normbg " <color>"] | .RB [ \-normbg " <color>"] | ||||||
| .RB [ \-normfg " <color>"] | .RB [ \-normfg " <color>"] | ||||||
| @ -19,6 +20,9 @@ It manages huge amounts (up to 10.000 and more) of user defined menu items | |||||||
| efficiently. | efficiently. | ||||||
| .SS Options | .SS Options | ||||||
| .TP | .TP | ||||||
|  | .B \-bottom | ||||||
|  | makes dmenu appear at the screen bottom (by default it appears at the screen top). | ||||||
|  | .TP | ||||||
| .B \-font <name> | .B \-font <name> | ||||||
| defines the font. | defines the font. | ||||||
| .TP | .TP | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								main.c
									
									
									
									
									
								
							| @ -330,6 +330,7 @@ DC dc = {0}; | |||||||
| 
 | 
 | ||||||
| int | int | ||||||
| main(int argc, char *argv[]) { | main(int argc, char *argv[]) { | ||||||
|  | 	Bool bottom = False; | ||||||
| 	char *font = FONT; | 	char *font = FONT; | ||||||
| 	char *maxname; | 	char *maxname; | ||||||
| 	char *normbg = NORMBGCOLOR; | 	char *normbg = NORMBGCOLOR; | ||||||
| @ -347,7 +348,10 @@ main(int argc, char *argv[]) { | |||||||
| 	timeout.tv_sec = 3; | 	timeout.tv_sec = 3; | ||||||
| 	/* command line args */ | 	/* command line args */ | ||||||
| 	for(i = 1; i < argc; i++) | 	for(i = 1; i < argc; i++) | ||||||
| 		if(!strncmp(argv[i], "-font", 6)) { | 		if(!strncmp(argv[i], "-bottom", 8)) { | ||||||
|  | 			bottom = True; | ||||||
|  | 		} | ||||||
|  | 		else if(!strncmp(argv[i], "-font", 6)) { | ||||||
| 			if(++i < argc) font = argv[i]; | 			if(++i < argc) font = argv[i]; | ||||||
| 		} | 		} | ||||||
| 		else if(!strncmp(argv[i], "-normbg", 8)) { | 		else if(!strncmp(argv[i], "-normbg", 8)) { | ||||||
| @ -373,7 +377,8 @@ main(int argc, char *argv[]) { | |||||||
| 			exit(EXIT_SUCCESS); | 			exit(EXIT_SUCCESS); | ||||||
| 		} | 		} | ||||||
| 		else | 		else | ||||||
| 			eprint("usage: dmenu [-font <name>] [-{norm,sel}{bg,fg} <color>] [-p <prompt>] [-t <seconds>] [-v]\n", stdout); | 			eprint("usage: dmenu [-bottom] [-font <name>] [-{norm,sel}{bg,fg} <color>]\n" | ||||||
|  | 				"             [-p <prompt>] [-t <seconds>] [-v]\n", stdout); | ||||||
| 	setlocale(LC_CTYPE, ""); | 	setlocale(LC_CTYPE, ""); | ||||||
| 	dpy = XOpenDisplay(0); | 	dpy = XOpenDisplay(0); | ||||||
| 	if(!dpy) | 	if(!dpy) | ||||||
| @ -406,6 +411,11 @@ main(int argc, char *argv[]) { | |||||||
| 	wa.event_mask = ExposureMask | ButtonPressMask | KeyPressMask; | 	wa.event_mask = ExposureMask | ButtonPressMask | KeyPressMask; | ||||||
| 	mx = my = 0; | 	mx = my = 0; | ||||||
| 	mw = DisplayWidth(dpy, screen); | 	mw = DisplayWidth(dpy, screen); | ||||||
|  | 	if(bottom) { | ||||||
|  | 		mh = dc.font.ascent + dc.font.descent + 3; // match wmii
 | ||||||
|  | 		my = DisplayHeight(dpy, screen) - mh; | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
| 		mh = dc.font.height + 2; | 		mh = dc.font.height + 2; | ||||||
| 	win = XCreateWindow(dpy, root, mx, my, mw, mh, 0, | 	win = XCreateWindow(dpy, root, mx, my, mw, mh, 0, | ||||||
| 			DefaultDepth(dpy, screen), CopyFromParent, | 			DefaultDepth(dpy, screen), CopyFromParent, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user