New option: -N, set X window resource name
This commit is contained in:
		
							parent
							
								
									65d5d44696
								
							
						
					
					
						commit
						6f9b4f5b2e
					
				| @ -68,6 +68,7 @@ sxiv supports the following command-line options: | |||||||
|     -g GEOMETRY  Set window position and size |     -g GEOMETRY  Set window position and size | ||||||
|                  (see section GEOMETRY SPECIFICATIONS of X(7)) |                  (see section GEOMETRY SPECIFICATIONS of X(7)) | ||||||
|     -n NUM       Start at picture NUM |     -n NUM       Start at picture NUM | ||||||
|  |     -N NAME      Set X window resource name to NAME | ||||||
|     -p           Pixelize, i.e. turn off image anti-aliasing |     -p           Pixelize, i.e. turn off image anti-aliasing | ||||||
|     -q           Be quiet, disable warnings |     -q           Be quiet, disable warnings | ||||||
|     -r           Search given directories recursively for images |     -r           Search given directories recursively for images | ||||||
|  | |||||||
| @ -33,7 +33,7 @@ const options_t *options = (const options_t*) &_options; | |||||||
| 
 | 
 | ||||||
| void print_usage(void) { | void print_usage(void) { | ||||||
| 	printf("usage: sxiv [-bcdFfhpqrstvZ] [-g GEOMETRY] [-n NUM] " | 	printf("usage: sxiv [-bcdFfhpqrstvZ] [-g GEOMETRY] [-n NUM] " | ||||||
| 	       "[-z ZOOM] FILES...\n"); | 	       "[-N name] [-z ZOOM] FILES...\n"); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void print_version(void) { | void print_version(void) { | ||||||
| @ -54,12 +54,13 @@ void parse_options(int argc, char **argv) { | |||||||
| 	_options.fullscreen = false; | 	_options.fullscreen = false; | ||||||
| 	_options.hide_bar = false; | 	_options.hide_bar = false; | ||||||
| 	_options.geometry = NULL; | 	_options.geometry = NULL; | ||||||
|  | 	_options.res_name = NULL; | ||||||
| 
 | 
 | ||||||
| 	_options.quiet = false; | 	_options.quiet = false; | ||||||
| 	_options.thumb_mode = false; | 	_options.thumb_mode = false; | ||||||
| 	_options.clean_cache = false; | 	_options.clean_cache = false; | ||||||
| 
 | 
 | ||||||
| 	while ((opt = getopt(argc, argv, "bcdFfg:hn:pqrstvZz:")) != -1) { | 	while ((opt = getopt(argc, argv, "bcdFfg:hn:N:pqrstvZz:")) != -1) { | ||||||
| 		switch (opt) { | 		switch (opt) { | ||||||
| 			case '?': | 			case '?': | ||||||
| 				print_usage(); | 				print_usage(); | ||||||
| @ -94,6 +95,9 @@ void parse_options(int argc, char **argv) { | |||||||
| 					_options.startnum = t - 1; | 					_options.startnum = t - 1; | ||||||
| 				} | 				} | ||||||
| 				break; | 				break; | ||||||
|  | 			case 'N': | ||||||
|  | 				_options.res_name = optarg; | ||||||
|  | 				break; | ||||||
| 			case 'p': | 			case 'p': | ||||||
| 				_options.aa = false; | 				_options.aa = false; | ||||||
| 				break; | 				break; | ||||||
|  | |||||||
| @ -40,6 +40,7 @@ typedef struct { | |||||||
| 	bool fullscreen; | 	bool fullscreen; | ||||||
| 	bool hide_bar; | 	bool hide_bar; | ||||||
| 	char *geometry; | 	char *geometry; | ||||||
|  | 	char *res_name; | ||||||
| 
 | 
 | ||||||
| 	/* misc flags: */ | 	/* misc flags: */ | ||||||
| 	bool quiet; | 	bool quiet; | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								sxiv.1
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								sxiv.1
									
									
									
									
									
								
							| @ -8,6 +8,8 @@ sxiv \- Simple (or small or suckless) X Image Viewer | |||||||
| .IR GEOMETRY ] | .IR GEOMETRY ] | ||||||
| .RB [ \-n | .RB [ \-n | ||||||
| .IR NUM ] | .IR NUM ] | ||||||
|  | .RB [ \-N | ||||||
|  | .IR NAME ] | ||||||
| .RB [ \-z | .RB [ \-z | ||||||
| .IR ZOOM ] | .IR ZOOM ] | ||||||
| .IR FILE ... | .IR FILE ... | ||||||
| @ -57,6 +59,9 @@ more information on | |||||||
| .BI "\-n " NUM | .BI "\-n " NUM | ||||||
| Start at picture number NUM. | Start at picture number NUM. | ||||||
| .TP | .TP | ||||||
|  | .BI "\-N " NAME | ||||||
|  | Set the resource name of sxiv's X window to NAME. | ||||||
|  | .TP | ||||||
| .B \-h | .B \-h | ||||||
| Print brief usage information to standard output and exit. | Print brief usage information to standard output and exit. | ||||||
| .TP | .TP | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								window.c
									
									
									
									
									
								
							| @ -207,8 +207,8 @@ void win_open(win_t *win) { | |||||||
| 
 | 
 | ||||||
| 	win_set_title(win, "sxiv"); | 	win_set_title(win, "sxiv"); | ||||||
| 
 | 
 | ||||||
| 	classhint.res_name = "sxiv"; |  | ||||||
| 	classhint.res_class = "Sxiv"; | 	classhint.res_class = "Sxiv"; | ||||||
|  | 	classhint.res_name = options->res_name != NULL ? options->res_name : "sxiv"; | ||||||
| 	XSetClassHint(e->dpy, win->xwin, &classhint); | 	XSetClassHint(e->dpy, win->xwin, &classhint); | ||||||
| 
 | 
 | ||||||
| 	XSetWMProtocols(e->dpy, win->xwin, &wm_delete_win, 1); | 	XSetWMProtocols(e->dpy, win->xwin, &wm_delete_win, 1); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Bert Münnich
						Bert Münnich