summaryrefslogtreecommitdiff
blob: 7c12ff5ae9b33208dd43d4d961080d8667aee152 (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
42
--- llpp-20/link.c
+++ llpp-20/link.c
@@ -4305,6 +4305,32 @@
 }
 #endif
 
+#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;
+    int screen;
+    XClassHint hint;
+
+    dpy = XOpenDisplay (getenv ("DISPLAY"));
+    screen = 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 value ml_init (value csock_v, value params_v)
 {
     CAMLparam2 (csock_v, params_v);
@@ -4425,5 +4451,6 @@
         errx (1, "pthread_create: %s", strerror (ret));
     }
 
+    set_wm_class ();
     CAMLreturn (Val_unit);
 }