]> Dogcows Code - chaz/tint2/blobdiff - src/server.c
*fix* again issue 221, but this time with the suggested solution to take 32-bit icons...
[chaz/tint2] / src / server.c
index 18000f21234da4cd4df381cda56930d0ab7cb594..5557a0152aeb201185adb0845911c1f44a612c11 100644 (file)
@@ -58,6 +58,7 @@ void server_init_atoms ()
        server.atom._NET_WM_STATE_MAXIMIZED_VERT = XInternAtom (server.dsp, "_NET_WM_STATE_MAXIMIZED_VERT", False);
        server.atom._NET_WM_STATE_MAXIMIZED_HORZ = XInternAtom (server.dsp, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
        server.atom._NET_WM_STATE_SHADED = XInternAtom (server.dsp, "_NET_WM_STATE_SHADED", False);
+       server.atom._NET_WM_STATE_HIDDEN = XInternAtom (server.dsp, "_NET_WM_STATE_HIDDEN", False);
        server.atom._NET_WM_STATE_BELOW = XInternAtom (server.dsp, "_NET_WM_STATE_BELOW", False);
        server.atom._NET_WM_STATE_ABOVE = XInternAtom (server.dsp, "_NET_WM_STATE_ABOVE", False);
        server.atom._NET_WM_STATE_MODAL = XInternAtom (server.dsp, "_NET_WM_STATE_MODAL", False);
@@ -102,6 +103,7 @@ void server_init_atoms ()
 void cleanup_server()
 {
        if (server.colormap) XFreeColormap(server.dsp, server.colormap);
+       if (server.colormap32) XFreeColormap(server.dsp, server.colormap32);
        if (server.monitor) free(server.monitor);
        if (server.gc) XFreeGC(server.dsp, server.gc);
 }
@@ -335,6 +337,13 @@ void server_init_visual()
        server.composite_manager = XGetSelectionOwner(server.dsp, server.atom._NET_WM_CM_S0);
        if (server.colormap)
                XFreeColormap(server.dsp, server.colormap);
+       if (server.colormap32)
+               XFreeColormap(server.dsp, server.colormap32);
+
+       if (visual) {
+               server.visual32 = visual;
+               server.colormap32 = XCreateColormap(server.dsp, server.root_win, visual, AllocNone);
+       }
 
        if (visual && server.composite_manager != None) {
                XSetWindowAttributes attrs;
This page took 0.021386 seconds and 4 git commands to generate.