summaryrefslogtreecommitdiff
blob: e99d9a4e4e5abf24afc0a5b50bd386c8b3491a39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--- llpp-26b/link.c
+++ llpp-26b/link.c
@@ -4392,6 +4392,31 @@
     return caml_copy_string (FZ_VERSION);
 }
 
+#if !defined (_WIN32) && !defined (__APPLE__)
+#undef pixel
+#include <X11/X.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <GL/glx.h>
+
+static void set_wm_class (void)
+{
+    Display *dpy;
+    Window win;
+    XClassHint hint;
+
+    dpy = XOpenDisplay (getenv ("DISPLAY"));
+    DefaultScreen (dpy);
+    hint.res_name = "llpp";
+    hint.res_class = "llpp";
+    win = glXGetCurrentDrawable ();
+    XSetClassHint (dpy, win, &hint);
+    XCloseDisplay (dpy);
+}
+#else
+#define set_wm_class()
+#endif
+
 CAMLprim void ml_init (value csock_v, value params_v)
 {
     CAMLparam2 (csock_v, params_v);
@@ -4460,5 +4485,6 @@
         errx (1, "pthread_create: %s", strerror (ret));
     }
 
+    set_wm_class ();
     CAMLreturn0;
 }