From 6b74c702453db283862f92320899c571cbc7b357 Mon Sep 17 00:00:00 2001 From: Thierry Lorthiois Date: Fri, 15 Jan 2010 22:23:00 +0000 Subject: [PATCH] replace real_transparency option with an autodetect of composite manager. --- src/config.c | 2 -- src/server.c | 7 +++++++ src/server.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/config.c b/src/config.c index f4e91a8..db0f1f8 100644 --- a/src/config.c +++ b/src/config.c @@ -295,8 +295,6 @@ void add_entry (char *key, char *value) panel_dock = atoi (value); else if (strcmp (key, "urgent_nb_of_blink") == 0) max_tick_urgent = (atoi (value) * 2) + 1; - else if (strcmp (key, "real_transparency") == 0) - real_transparency = atoi(value); else if (strcmp (key, "panel_layer") == 0) { if (strcmp(value, "bottom") == 0) panel_layer = BOTTOM_LAYER; diff --git a/src/server.c b/src/server.c index c1401ae..2d7de6e 100644 --- a/src/server.c +++ b/src/server.c @@ -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); diff --git a/src/server.h b/src/server.h index ffd0831..11ea89b 100644 --- a/src/server.h +++ b/src/server.h @@ -51,6 +51,7 @@ typedef struct Global_atom Atom _NET_CLOSE_WINDOW; Atom UTF8_STRING; Atom _NET_SUPPORTING_WM_CHECK; + Atom _NET_WM_CM_S0; Atom _NET_WM_STRUT_PARTIAL; Atom WM_NAME; Atom __SWM_VROOT; -- 2.44.0