diff options
author | Bert <ber.t@gmx.com> | 2011-02-01 16:40:37 +0100 |
---|---|---|
committer | Bert <ber.t@gmx.com> | 2011-02-01 16:40:37 +0100 |
commit | f2ceac2f8ab04f91672a9cb168dfdf69dab02b3c (patch) | |
tree | 4a405c366a9775afe359ad04e0bfd2718264480f /window.c | |
parent | 8fb3110ebb1f4ac46729ceac906e21674368d93d (diff) |
New option: -F, fixed/floating window
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -33,7 +33,8 @@ static GC bgc; void win_open(win_t *win) { win_env_t *e; - XClassHint *classhint; + XClassHint classhint; + XSizeHints sizehints; XColor bgcol; int gmask; @@ -99,11 +100,17 @@ void win_open(win_t *win) { win_set_title(win, "sxiv"); - if ((classhint = XAllocClassHint())) { - classhint->res_name = "sxiv"; - classhint->res_class = "sxiv"; - XSetClassHint(e->dpy, win->xwin, classhint); - XFree(classhint); + classhint.res_name = "sxiv"; + classhint.res_class = "sxiv"; + XSetClassHint(e->dpy, win->xwin, &classhint); + + if (options->fixed) { + sizehints.flags = PMinSize | PMaxSize; + sizehints.min_width = win->w; + sizehints.max_width = win->w; + sizehints.min_height = win->h; + sizehints.max_height = win->h; + XSetWMNormalHints(e->dpy, win->xwin, &sizehints); } XMapWindow(e->dpy, win->xwin); |