From: Thierry Lorthiois Date: Fri, 25 Sep 2009 20:55:15 +0000 (+0000) Subject: EWMH non-resizable panel X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=commitdiff_plain;h=c3e588a8426c1257c127e0aca79aab53bb9961b1 EWMH non-resizable panel --- diff --git a/src/panel.c b/src/panel.c index a753dfe..adc6520 100644 --- a/src/panel.c +++ b/src/panel.c @@ -337,7 +337,6 @@ void set_panel_properties(Panel *p) { XStoreName (server.dsp, p->main_win, "tint2"); - // TODO: check if the name is really needed for a panel/taskbar ? gsize len; gchar *name = g_locale_to_utf8("tint2", -1, NULL, &len, NULL); if (name != NULL) { @@ -393,10 +392,12 @@ void set_panel_properties(Panel *p) state[3] = server.atom._NET_WM_STATE_BELOW; XChangeProperty (server.dsp, p->main_win, server.atom._NET_WM_STATE, XA_ATOM, 32, PropModeReplace, (unsigned char *) state, 4); - // Fixed position + // Fixed position and non-resizable window XSizeHints size_hints; - size_hints.flags = PPosition; - XChangeProperty (server.dsp, p->main_win, XA_WM_NORMAL_HINTS, XA_WM_SIZE_HINTS, 32, PropModeReplace, (unsigned char *) &size_hints, sizeof (XSizeHints) / 4); + size_hints.flags = PPosition|PMinSize|PMaxSize; + size_hints.min_width = size_hints.max_width = p->area.width; + size_hints.min_height = size_hints.max_height = p->area.height; + XSetWMNormalHints(server.dsp, p->main_win, &size_hints); // Unfocusable XWMHints wmhints; @@ -410,7 +411,7 @@ void set_panel_properties(Panel *p) wmhints.flags = InputHint; wmhints.input = False; } - XSetWMHints(server.dsp, p->main_win, &wmhints); + XSetWMHints(server.dsp, p->main_win, &wmhints); // Undecorated long prop[5] = { 2, 0, 0, 0, 0 }; diff --git a/src/server.c b/src/server.c index bca5fb6..85ecd47 100644 --- a/src/server.c +++ b/src/server.c @@ -68,7 +68,6 @@ void server_init_atoms () 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_SUPPORTING_WM_CHECK = XInternAtom (server.dsp, "_NET_WM_NAME", False); - server.atom._WIN_LAYER = XInternAtom (server.dsp, "_WIN_LAYER", 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); server.atom.__SWM_VROOT = XInternAtom(server.dsp, "__SWM_VROOT", False); diff --git a/src/server.h b/src/server.h index 401f222..fdd8826 100644 --- a/src/server.h +++ b/src/server.h @@ -50,7 +50,6 @@ typedef struct Global_atom Atom _NET_CLOSE_WINDOW; Atom UTF8_STRING; Atom _NET_SUPPORTING_WM_CHECK; - Atom _WIN_LAYER; Atom _NET_WM_STRUT_PARTIAL; Atom WM_NAME; Atom __SWM_VROOT;