{
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) {
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;
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 };
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);