From de734d41517986273f8c887f892e15b66f0936ec Mon Sep 17 00:00:00 2001
From: Olof-Joachim Frahm <olof@macrolet.net>
Date: Fri, 11 Oct 2019 22:19:33 +0200
Subject: Allow setting the X11 class hint as an option.

---
 src/options.c   | 4 ++++
 src/options.h   | 1 +
 src/winwidget.c | 2 +-
 3 files changed, 6 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/options.c b/src/options.c
index 4c34b66..d3c1d52 100644
--- a/src/options.c
+++ b/src/options.c
@@ -430,6 +430,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
 #ifdef HAVE_INOTIFY
 		{"auto-reload"   , 0, 0, 248},
 #endif
+		{"class"         , 1, 0, 249},
 		{0, 0, 0, 0}
 	};
 	int optch = 0, cmdx = 0;
@@ -823,6 +824,9 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
 			opt.auto_reload = 1;
 			break;
 #endif
+		case 249:
+			opt.x11_class = estrdup(optarg);
+			break;
 		default:
 			break;
 		}
diff --git a/src/options.h b/src/options.h
index 883c8e2..93474a9 100644
--- a/src/options.h
+++ b/src/options.h
@@ -128,6 +128,7 @@ struct __fehoptions {
 	int zoom_mode;
 	unsigned char adjust_reload;
 	int xinerama_index;
+	char *x11_class;
 
 	/* signed in case someone wants to invert scrolling real quick */
 	int scroll_step;
diff --git a/src/winwidget.c b/src/winwidget.c
index 70a65e0..cef7230 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -305,7 +305,7 @@ void winwidget_create_window(winwidget ret, int w, int h)
 	winwidget_update_title(ret);
 	xch = XAllocClassHint();
 	xch->res_name = "feh";
-	xch->res_class = "feh";
+	xch->res_class = opt.x11_class ? opt.x11_class : "feh";
 	XSetClassHint(disp, ret->win, xch);
 	XFree(xch);
 
-- 
cgit v1.2.3