From 6f9b4f5b2ed5a82ad4711d1add9ccd620d8526ba Mon Sep 17 00:00:00 2001 From: Bert Münnich Date: Mon, 29 Oct 2012 00:53:50 +0100 Subject: New option: -N, set X window resource name --- README.md | 1 + options.c | 8 ++++++-- options.h | 1 + sxiv.1 | 5 +++++ window.c | 2 +- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 08a1c1e..8425e1a 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ sxiv supports the following command-line options: -g GEOMETRY Set window position and size (see section GEOMETRY SPECIFICATIONS of X(7)) -n NUM Start at picture NUM + -N NAME Set X window resource name to NAME -p Pixelize, i.e. turn off image anti-aliasing -q Be quiet, disable warnings -r Search given directories recursively for images diff --git a/options.c b/options.c index deec097..224fa2c 100644 --- a/options.c +++ b/options.c @@ -33,7 +33,7 @@ const options_t *options = (const options_t*) &_options; void print_usage(void) { printf("usage: sxiv [-bcdFfhpqrstvZ] [-g GEOMETRY] [-n NUM] " - "[-z ZOOM] FILES...\n"); + "[-N name] [-z ZOOM] FILES...\n"); } void print_version(void) { @@ -54,12 +54,13 @@ void parse_options(int argc, char **argv) { _options.fullscreen = false; _options.hide_bar = false; _options.geometry = NULL; + _options.res_name = NULL; _options.quiet = false; _options.thumb_mode = 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) { case '?': print_usage(); @@ -94,6 +95,9 @@ void parse_options(int argc, char **argv) { _options.startnum = t - 1; } break; + case 'N': + _options.res_name = optarg; + break; case 'p': _options.aa = false; break; diff --git a/options.h b/options.h index aa93a0c..e17f322 100644 --- a/options.h +++ b/options.h @@ -40,6 +40,7 @@ typedef struct { bool fullscreen; bool hide_bar; char *geometry; + char *res_name; /* misc flags: */ bool quiet; diff --git a/sxiv.1 b/sxiv.1 index b31f95f..2058190 100644 --- a/sxiv.1 +++ b/sxiv.1 @@ -8,6 +8,8 @@ sxiv \- Simple (or small or suckless) X Image Viewer .IR GEOMETRY ] .RB [ \-n .IR NUM ] +.RB [ \-N +.IR NAME ] .RB [ \-z .IR ZOOM ] .IR FILE ... @@ -57,6 +59,9 @@ more information on .BI "\-n " NUM Start at picture number NUM. .TP +.BI "\-N " NAME +Set the resource name of sxiv's X window to NAME. +.TP .B \-h Print brief usage information to standard output and exit. .TP diff --git a/window.c b/window.c index 0d86925..22695cf 100644 --- a/window.c +++ b/window.c @@ -207,8 +207,8 @@ void win_open(win_t *win) { win_set_title(win, "sxiv"); - classhint.res_name = "sxiv"; classhint.res_class = "Sxiv"; + classhint.res_name = options->res_name != NULL ? options->res_name : "sxiv"; XSetClassHint(e->dpy, win->xwin, &classhint); XSetWMProtocols(e->dpy, win->xwin, &wm_delete_win, 1); -- cgit v1.2.3-54-g00ecf