--- llpp-20/link.c +++ llpp-20/link.c @@ -4305,6 +4305,32 @@ } #endif +#if !defined (_WIN32) && !defined (__APPLE__) +#undef pixel +#include +#include +#include +#include + +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); }