summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Crux <crux@google.com>2011-11-03 17:21:55 -0400
committerFelix Crux <crux@google.com>2011-11-03 17:21:55 -0400
commit476f50ab454e6b8043149fc34313fcc771c7b555 (patch)
tree0d23bd63fc293ef590a29e4777a72f31e94d76c3
parented1195323634447d7b0256141111638a18ae4e60 (diff)
downloadfeh-476f50ab454e6b8043149fc34313fcc771c7b555.zip
Adds an option --bg-no-bgfile that prevents the writing of a ~/.fehbg file.
-rw-r--r--man/feh.pre10
-rw-r--r--src/help.raw1
-rw-r--r--src/options.c10
-rw-r--r--src/options.h1
-rw-r--r--src/wallpaper.c2
5 files changed, 21 insertions, 3 deletions
diff --git a/man/feh.pre b/man/feh.pre
index c2c1f00..fe4c92c 100644
--- a/man/feh.pre
+++ b/man/feh.pre
@@ -667,8 +667,8 @@ be printed.
.Sh BACKGROUND SETTING
.
.Nm
-can also be used as a background setter. It will store the command line
-necessary to set the background in
+can also be used as a background setter. Unless you pass the --bg-no-bgfile
+option, it will store the command line necessary to set the background in
.Pa ~/.fehbg ,
so to have your background restored everytime you start X, you can add
.Qq eval $(cat ~/.fehbg)
@@ -726,6 +726,12 @@ Tile
.Pq repeat
the image in case it is too small for the screen
.
+.It Cm --bg-no-bgfile
+.
+Do not write a
+.Pa ~/.fehbg
+file
+.
.El
.
.
diff --git a/src/help.raw b/src/help.raw
index 48c8a70..d83f136 100644
--- a/src/help.raw
+++ b/src/help.raw
@@ -74,6 +74,7 @@ OPTIONS
fill the whole background, but the images' aspect
ratio may not be preserved
--bg-tile FILE Set FILE as tiled desktop background
+ --bg-no-bgfile Do not write a ~/.fehbg file
-C, --fontpath PATH Specify an extra directory to look in for fonts,
can be used multiple times to add multiple paths.
-M, --menu-font FONT Use FONT for the font in menus.
diff --git a/src/options.c b/src/options.c
index b7eb544..e59adf6 100644
--- a/src/options.c
+++ b/src/options.c
@@ -390,6 +390,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
{"thumb-redraw" , 1, 0, 'J'},
{"info" , 1, 0, 234},
{"force-aliasing", 0, 0, 235},
+ {"bg-no-bgfile" , 0, 0, 236},
{0, 0, 0, 0}
};
@@ -703,6 +704,9 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
case 235:
opt.force_aliasing = 1;
break;
+ case 236:
+ opt.no_bgfile = 1;
+ break;
default:
break;
}
@@ -760,6 +764,12 @@ static void check_options(void)
eprintf("You cannot combine --loadable with --unloadable");
}
+ if (opt.no_bgfile && !opt.bgmode) {
+ weprintf("The --no-bg-file option is meaningless unless you\n"
+ "are setting a background wallpaper image.\n"
+ "It is being ignored.");
+ }
+
return;
}
diff --git a/src/options.h b/src/options.h
index 4946927..5192f9d 100644
--- a/src/options.h
+++ b/src/options.h
@@ -68,6 +68,7 @@ struct __fehoptions {
unsigned char hold_actions[10];
unsigned char text_bg;
unsigned char image_bg;
+ unsigned char no_bgfile;
char *output_file;
char *output_dir;
diff --git a/src/wallpaper.c b/src/wallpaper.c
index 90b59e6..773b87e 100644
--- a/src/wallpaper.c
+++ b/src/wallpaper.c
@@ -395,7 +395,7 @@ void feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled,
fehbg = estrjoin(" ", "feh --bg-tile", filbuf, NULL);
}
- if (fehbg) {
+ if (fehbg && !opt.no_bgfile) {
home = getenv("HOME");
if (home) {
FILE *fp;