summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/llpp/files/llpp-20-WM_CLASS.patch')
-rw-r--r--app-text/llpp/files/llpp-20-WM_CLASS.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/app-text/llpp/files/llpp-20-WM_CLASS.patch b/app-text/llpp/files/llpp-20-WM_CLASS.patch
new file mode 100644
index 000000000000..7c12ff5ae9b3
--- /dev/null
+++ b/app-text/llpp/files/llpp-20-WM_CLASS.patch
@@ -0,0 +1,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);
+ }