added support for XEMBED into other windows (ie tabbed) with -w

This commit is contained in:
shuall
2016-10-28 22:09:26 -04:00
parent 878d97068c
commit 0b758e08f2
4 changed files with 16 additions and 3 deletions

View File

@ -33,7 +33,7 @@ const options_t *options = (const options_t*) &_options;
void print_usage(void)
{
printf("usage: sxiv [-abcfhioqrtvZ] [-G GAMMA] [-g GEOMETRY] [-n NUM] "
"[-N NAME] [-S DELAY] [-s MODE] [-z ZOOM] FILES...\n");
"[-N NAME] [-S DELAY] [-s MODE] [-z ZOOM] [-w WID] FILES...\n");
}
void print_version(void)
@ -62,6 +62,7 @@ void parse_options(int argc, char **argv)
_options.slideshow = 0;
_options.fullscreen = false;
_options.embed = 0;
_options.hide_bar = false;
_options.geometry = NULL;
_options.res_name = NULL;
@ -70,7 +71,7 @@ void parse_options(int argc, char **argv)
_options.thumb_mode = false;
_options.clean_cache = false;
while ((opt = getopt(argc, argv, "abcfG:g:hin:N:oqrS:s:tvZz:")) != -1) {
while ((opt = getopt(argc, argv, "abcfG:g:hin:N:oqrS:s:tvw:Zz:")) != -1) {
switch (opt) {
case '?':
print_usage();
@ -138,6 +139,12 @@ void parse_options(int argc, char **argv)
case 'v':
print_version();
exit(EXIT_SUCCESS);
case 'w':
n = strtol(optarg, &end, 0);
if (*end != '\0')
error(EXIT_FAILURE, 0, "Invalid argument for option -w: %s", optarg);
_options.embed = n;
break;
case 'Z':
_options.scalemode = SCALE_ZOOM;
_options.zoom = 1.0;