]> Dogcows Code - chaz/tint2/blobdiff - src/server.c
replace real_transparency option with an autodetect of composite manager.
[chaz/tint2] / src / server.c
index c1401aedcc603e56cb08f6448a5ac42c7d0b621a..2d7de6e20ec19bc6d799d479fa862fcef4a568a7 100644 (file)
@@ -69,6 +69,7 @@ void server_init_atoms ()
        server.atom._NET_CLOSE_WINDOW = XInternAtom (server.dsp, "_NET_CLOSE_WINDOW", False);
        server.atom.UTF8_STRING = XInternAtom (server.dsp, "UTF8_STRING", False);
        server.atom._NET_SUPPORTING_WM_CHECK = XInternAtom (server.dsp, "_NET_SUPPORTING_WM_CHECK", False);
+       server.atom._NET_WM_CM_S0 = XInternAtom (server.dsp, "_NET_WM_CM_S0", False);
        server.atom._NET_SUPPORTING_WM_CHECK = XInternAtom (server.dsp, "_NET_WM_NAME", False);
        server.atom._NET_WM_STRUT_PARTIAL = XInternAtom (server.dsp, "_NET_WM_STRUT_PARTIAL", False);
        server.atom.WM_NAME = XInternAtom(server.dsp, "WM_NAME", False);
@@ -326,6 +327,12 @@ void server_init_visual()
        }
        XFree (xvi);
 
+       // check composite manager
+       if (XGetSelectionOwner(server.dsp, server.atom._NET_WM_CM_S0) == None)
+               real_transparency = 0;
+       else
+               real_transparency = 1;
+
        if (visual && real_transparency) {
                server.depth = 32;
                printf("real transparency on... depth: %d\n", server.depth);
This page took 0.020609 seconds and 4 git commands to generate.