add -w option to embed st. (thx nodus cursorius)
This commit is contained in:
		
							parent
							
								
									4736edd469
								
							
						
					
					
						commit
						3959a99293
					
				
							
								
								
									
										6
									
								
								st.1
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								st.1
									
									
									
									
									
								
							| @ -7,6 +7,8 @@ st \- simple terminal | ||||
| .IR class ] | ||||
| .RB [ \-t  | ||||
| .IR title ] | ||||
| .RB [ \-w  | ||||
| .IR windowid ] | ||||
| .RB [ \-v ] | ||||
| .RB [ \-e | ||||
| .IR command ...] | ||||
| @ -21,6 +23,10 @@ defines the window title (default 'st'). | ||||
| .BI \-c " class" | ||||
| defines the window class (default $TERM). | ||||
| .TP | ||||
| .BI \-w " windowid" | ||||
| embeds st within the window identified by  | ||||
| .I windowid | ||||
| .TP | ||||
| .B \-v | ||||
| prints version information to stderr, then exits. | ||||
| .TP | ||||
|  | ||||
							
								
								
									
										10
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								st.c
									
									
									
									
									
								
							| @ -35,7 +35,7 @@ | ||||
| 
 | ||||
| #define USAGE \ | ||||
| 	"st-" VERSION ", (c) 2010-2011 st engineers\n" \ | ||||
| 	"usage: st [-t title] [-c class] [-v] [-e command...]\n" | ||||
| 	"usage: st [-t title] [-c class] [-w windowid] [-v] [-e command...]\n" | ||||
| 
 | ||||
| /* Arbitrary sizes */ | ||||
| #define ESC_TITLE_SIZ 256 | ||||
| @ -260,6 +260,7 @@ static pid_t pid; | ||||
| static Selection sel; | ||||
| static char **opt_cmd  = NULL; | ||||
| static char *opt_title = NULL; | ||||
| static char *opt_embed = NULL; | ||||
| static char *opt_class = NULL; | ||||
| 
 | ||||
| int | ||||
| @ -1606,6 +1607,7 @@ void | ||||
| xinit(void) { | ||||
| 	XSetWindowAttributes attrs; | ||||
| 	Cursor cursor; | ||||
| 	Window parent; | ||||
| 
 | ||||
| 	if(!(xw.dpy = XOpenDisplay(NULL))) | ||||
| 		die("Can't open display\n"); | ||||
| @ -1636,7 +1638,8 @@ xinit(void) { | ||||
| 		| ButtonMotionMask | ButtonPressMask | ButtonReleaseMask; | ||||
| 	attrs.colormap = xw.cmap; | ||||
| 
 | ||||
| 	xw.win = XCreateWindow(xw.dpy, XRootWindow(xw.dpy, xw.scr), 0, 0, | ||||
| 	parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr); | ||||
| 	xw.win = XCreateWindow(xw.dpy, parent, 0, 0, | ||||
| 			xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, | ||||
| 			XDefaultVisual(xw.dpy, xw.scr), | ||||
| 			CWBackPixel | CWBorderPixel | CWBitGravity | CWEventMask | ||||
| @ -1943,6 +1946,9 @@ main(int argc, char *argv[]) { | ||||
| 		case 'c': | ||||
| 			if(++i < argc) opt_class = argv[i]; | ||||
| 			break; | ||||
| 		case 'w': | ||||
| 			if(++i < argc) opt_embed = argv[i]; | ||||
| 			break; | ||||
| 		case 'e':  | ||||
| 			/* eat every remaining arguments */ | ||||
| 			if(++i < argc) opt_cmd = &argv[i]; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aurélien Aptel
						Aurélien Aptel