EWMH non-resizable panel git-svn-id: http://tint2.googlecode.com/svn/trunk@196 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
lorthiois@bbsoft.fr lorthiois@bbsoft.fr@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
3 files changed,
6 insertions(+),
7 deletions(-)
M
src/panel.c
→
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 @@ state[2] = server.atom._NET_WM_STATE_STICKY;
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 @@ else {
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 };
M
src/server.c
→
src/server.c
@@ -68,7 +68,6 @@ 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_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);
M
src/server.h
→
src/server.h
@@ -50,7 +50,6 @@ Atom _NET_WM_ICON;
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;