]> Dogcows Code - chaz/tint2/commitdiff
EWMH non-resizable panel
authorThierry Lorthiois <lorthiois@bbsoft.fr>
Fri, 25 Sep 2009 20:55:15 +0000 (20:55 +0000)
committerThierry Lorthiois <lorthiois@bbsoft.fr>
Fri, 25 Sep 2009 20:55:15 +0000 (20:55 +0000)
src/panel.c
src/server.c
src/server.h

index a753dfec1646f033342734788d2b6f1885be4739..adc6520199cf7f306017d97b497fa52dc77aee4f 100644 (file)
@@ -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 };
index bca5fb6ae330386f7de27eee9962866aee19ed11..85ecd479b199b6cf7dd17a7328b9406a7d1ce1c4 100644 (file)
@@ -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);
index 401f22215157cf76d042ccda65c7d9fec44cee08..fdd8826608dba351737103e26b46cc932e7ef428 100644 (file)
@@ -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;
This page took 0.073553 seconds and 4 git commands to generate.