Commit a670991d authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

respect --image-bg=checks in fullscreen mode (closes #156)

parent c07a9474
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ git HEAD
      scroll offset in pixels
    * feh(1): Escape %V (interpreted as mdoc macro)
      (closes debian #745467)
    * Respect --image-bg=checks in fullscreen mode (default remains black)
      (closes #156)

Fri, 28 Feb 2014 18:20:25 +0100  Daniel Friesel <derf+feh@finalrewind.org>

+3 −1
Original line number Diff line number Diff line
@@ -327,7 +327,9 @@ Hide the pointer
.It Cm -B , --image-bg Ar style
.
Use style as background for transparent image parts and the like.
Accepted values: checks (default), white, black.
Accepted values: checks, white, black.
.
The default for windowed mode is checks, while fullscreen defaults to black.
.
.It Cm -i , --index
.
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ enum slide_change { SLIDE_NEXT, SLIDE_PREV, SLIDE_RAND, SLIDE_FIRST, SLIDE_LAST,
	SLIDE_JUMP_BACK
};

enum image_bg { IMAGE_BG_CHECKS = 0, IMAGE_BG_BLACK, IMAGE_BG_WHITE };
enum image_bg { IMAGE_BG_CHECKS = 1, IMAGE_BG_BLACK, IMAGE_BG_WHITE };

#define INPLACE_EDIT_FLIP   -1
#define INPLACE_EDIT_MIRROR -2
+11 −3
Original line number Diff line number Diff line
@@ -351,12 +351,20 @@ void winwidget_setup_pixmaps(winwidget winwid)
			if (winwid->gc == None) {
				XGCValues gcval;

				if (opt.image_bg == IMAGE_BG_WHITE)
				if (opt.image_bg == IMAGE_BG_WHITE) {
					gcval.foreground = WhitePixel(disp, DefaultScreen(disp));
				else
					winwid->gc = XCreateGC(disp, winwid->win, GCForeground, &gcval);
				}
				else if (opt.image_bg == IMAGE_BG_CHECKS) {
					gcval.tile = feh_create_checks();
					gcval.fill_style = FillTiled;
					winwid->gc = XCreateGC(disp, winwid->win, GCTile | GCFillStyle, &gcval);
				}
				else {
					gcval.foreground = BlackPixel(disp, DefaultScreen(disp));
					winwid->gc = XCreateGC(disp, winwid->win, GCForeground, &gcval);
				}
			}
			winwid->bg_pmap = XCreatePixmap(disp, winwid->win, scr->width, scr->height, depth);
		}
		XFillRectangle(disp, winwid->bg_pmap, winwid->gc, 0, 0, scr->width, scr->height);