diff options
author | okan <okan> | 2011-05-07 17:15:37 +0000 |
---|---|---|
committer | okan <okan> | 2011-05-07 17:15:37 +0000 |
commit | 43450c8fd744b85aaed80da3f6132acfd4dafd8c (patch) | |
tree | 1864a34a893025fbdab1db45e6ba5cca50215fda /mousefunc.c | |
parent | 760c6b5522626145662eb423ec77ccf4d19da584 (diff) | |
download | cwm-43450c8fd744b85aaed80da3f6132acfd4dafd8c.tar.gz cwm-43450c8fd744b85aaed80da3f6132acfd4dafd8c.tar.xz cwm-43450c8fd744b85aaed80da3f6132acfd4dafd8c.zip |
introduce a new 'freeze' flag (CMS-f by default) which may be applied to
any window, after which all move/resize requests will be ignored, essentially freezing the window in place. there's a possibility to merge this with the 'ignore' concept, pending on how ignore+freeze should behave (really more ewmh stuff), but punting for now since ponies are on the line. requested and tested by thib at k2k11 with ponies, unicorns and rainbows. 'save the unicorns' todd@, ok oga@
Diffstat (limited to 'mousefunc.c')
-rw-r--r-- | mousefunc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mousefunc.c b/mousefunc.c index 30eed53..c5537fa 100644 --- a/mousefunc.c +++ b/mousefunc.c @@ -84,6 +84,9 @@ mousefunc_window_resize(struct client_ctx *cc, void *arg) struct screen_ctx *sc = cc->sc; int x = cc->geom.x, y = cc->geom.y; + if (cc->flags & CLIENT_FREEZE) + return; + client_raise(cc); client_ptrsave(cc); @@ -142,6 +145,9 @@ mousefunc_window_move(struct client_ctx *cc, void *arg) client_raise(cc); + if (cc->flags & CLIENT_FREEZE) + return; + if (xu_ptr_grab(cc->win, MouseMask, Cursor_move) < 0) return; |