summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* cvsimportokan2016-09-147-55/+36
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/master: Some clients fail to setup hints at all, so initalize for them; fallout from r1.218 switching to malloc - clearly missed this case. Fix-up a few simple uses of client_current(): check CLIENT_ACTIVE flag instead of relying on curcc. init label Limit mouse resize to hints within the client; matches kbd resize behaviour. Switch to just malloc since we need initialize most everything anyway. change 'sticky' to 'stick' to toggle client stickiness (seems the default binding worked for everyone for a long time!); conflict with group sticky found by Ali Farzanrad - thanks! Simplify group_holds_only_hidden(); from Vadim Vygonets. Simplify toggling flags; from Vadim Vygonets. Do not draw borders on ignored clients when returning from fullscreen; from Vadim Vygonets. Remove redundant minimum client size adjustment (minw and minh are always positive since r1.214); from Vadim Vygonets.
| * Some clients fail to setup hints at all, so initalize for them; falloutokan2016-09-141-0/+1
| | | | | | | | | | | | from r1.218 switching to malloc - clearly missed this case. found the hard way by brynet@
| * Fix-up a few simple uses of client_current(): check CLIENT_ACTIVE flagokan2016-09-143-11/+14
| | | | | | | | instead of relying on curcc.
| * init labelokan2016-09-131-0/+1
| |
| * Limit mouse resize to hints within the client; matches kbd resizeokan2016-09-131-7/+2
| | | | | | | | behaviour.
| * Switch to just malloc since we need initialize most everything anyway.okan2016-09-121-5/+7
| |
| * change 'sticky' to 'stick' to toggle client stickiness (seems theokan2016-09-122-3/+3
| | | | | | | | | | default binding worked for everyone for a long time!); conflict with group sticky found by Ali Farzanrad - thanks!
| * Simplify group_holds_only_hidden(); from Vadim Vygonets.okan2016-09-021-10/+3
| |
| * Simplify toggling flags; from Vadim Vygonets.okan2016-09-021-15/+3
| |
| * Do not draw borders on ignored clients when returning from fullscreen;okan2016-09-011-1/+2
| | | | | | | | from Vadim Vygonets.
| * Remove redundant minimum client size adjustment (minw and minh areokan2016-09-011-3/+0
| | | | | | | | always positive since r1.214); from Vadim Vygonets.
* | cvsimportokan2016-08-281-0/+1
|\| | | | | | | | | * refs/heads/master: Enable the use of numpad Enter key on menus; from Henrique N. Lengler.
| * Enable the use of numpad Enter key on menus; from Henrique N. Lengler.okan2016-08-281-0/+1
| | | | | | | | ok beck phessler
* | cvsimportmatthieu2016-08-131-1/+1
|\| | | | | | | | | | | * refs/heads/master: add a column to previous commit for consitency. conf_screen: report the fontname that can't be opened in case of failure. ok dcoppa@
| * add a column to previous commit for consitency.matthieu2016-08-131-1/+1
| |
| * conf_screen: report the fontname that can't be opened in case of failure.matthieu2016-08-131-1/+1
| | | | | | | | ok dcoppa@
* | cvsimportChristian Neukirchen2016-06-081-1/+4
|\| | | | | | | | | * refs/heads/master: If supplied format to menuq_add() is NULL, fill text with an empty string; found by Christian Neukirchen.
| * If supplied format to menuq_add() is NULL, fill text with an emptyokan2016-04-281-1/+4
| | | | | | | | string; found by Christian Neukirchen.
* | menu: menuq_add: avoid passing null pointers to vsnprintf.Christian Neukirchen2016-04-021-1/+1
| |
* | cvsimportokan2015-11-173-24/+17
|\| | | | | | | | | | | | | * refs/heads/master: Fix a typo from r1.201; fixes window_grouptoggle binding. If a client does not set increment values, use 'moveamount' as a way to scale keyboard based resizes; extend kbfunc_amount(). Inline the only use of mousefunc_sweep_calc.
| * Fix a typo from r1.201; fixes window_grouptoggle binding.okan2015-11-171-1/+1
| |
| * If a client does not set increment values, use 'moveamount' as a way tookan2015-11-171-7/+9
| | | | | | | | | | | | scale keyboard based resizes; extend kbfunc_amount(). Behaviour noted by, tested by, and ok sthen@
| * Inline the only use of mousefunc_sweep_calc.okan2015-11-171-16/+7
| |
* | Run pledge only on OpenBSD.Christian Neukirchen2015-11-161-0/+2
| |
* | cvsimportokan2015-11-129-279/+347
|\| | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/master: more client vs screen context differences If a client sets hints, honor them for kb resize requests, just like we do for mouse based resize requests. Move kb pointer movement out of the kbfunc_client_moveresize since it's got nothing to do with clients, thus doing flags work causes lots of waste and almost useless jumpy pointer movements; while here, split out move and resize since they share almost no code, just like mouse client move/resize; factor out amount and factor. Still wonder why this is here, but it works now. pledge "stdio rpath proc exec" cwm before main event loop, after init/setup - mostly for menu building. Partial revert of replacing screen_area() with region_find(); until a fix for a regression is found; this bug has been around for a long time it seems, but this change exposed it. Likely need to track clients in to and out of regions. Use position on root to figure out region. Start cleaning up name vs function differences; replace magic numbers. Clean up unused defines. Extend region to include both view and work areas; switch to region_find() which no longer needs to recalculate gap each time a client (or menu) is created or altered. If no RandR, fall back to display dimensions while building regions instead of during execution.
| * more client vs screen context differencesokan2015-11-123-33/+31
| |
| * If a client sets hints, honor them for kb resize requests, just like weokan2015-11-122-4/+6
| | | | | | | | | | | | do for mouse based resize requests. Based on a patch from Vadim Vygonets.
| * Move kb pointer movement out of the kbfunc_client_moveresize since it'sokan2015-11-123-134/+150
| | | | | | | | | | | | | | | | got nothing to do with clients, thus doing flags work causes lots of waste and almost useless jumpy pointer movements; while here, split out move and resize since they share almost no code, just like mouse client move/resize; factor out amount and factor. Still wonder why this is here, but it works now.
| * pledge "stdio rpath proc exec" cwm before main event loop, afterokan2015-11-121-0/+4
| | | | | | | | | | | | init/setup - mostly for menu building. ok semarie@ (another cwm user)
| * Partial revert of replacing screen_area() with region_find(); until aokan2015-11-116-62/+87
| | | | | | | | | | | | fix for a regression is found; this bug has been around for a long time it seems, but this change exposed it. Likely need to track clients in to and out of regions.
| * Use position on root to figure out region.okan2015-11-102-5/+3
| |
| * Start cleaning up name vs function differences; replace magic numbers.okan2015-11-108-149/+170
| |
| * Clean up unused defines.okan2015-11-091-3/+0
| |
| * Extend region to include both view and work areas; switch tookan2015-11-096-77/+84
| | | | | | | | | | | | | | region_find() which no longer needs to recalculate gap each time a client (or menu) is created or altered. If no RandR, fall back to display dimensions while building regions instead of during execution.
* | cvsimportokan2015-09-236-20/+49
|\| | | | | | | | | | | * refs/heads/master: Only when mapping clients from an initial wm start or restart, query the pointer and if it matches the child window, activate it; new clients will not need to make this roundtrip to the server. On execwm, we should properly release resources before exec'ing into a new window manager; so allow CWM_EXEC_WM to assign new wm to wm_argv and pass through cwm_status (now EXECWM) so that x_teardown() gets called before exec'ing the new window manager. Removes the need for a separate x_restart() now, using new wm_argv; and consolidates errno for execvp.
| * Only when mapping clients from an initial wm start or restart, query theokan2015-09-231-0/+10
| | | | | | | | | | | | | | pointer and if it matches the child window, activate it; new clients will not need to make this roundtrip to the server. Based on a patch from Preben Guldberg.
| * On execwm, we should properly release resources before exec'ing into aokan2015-09-165-20/+39
| | | | | | | | | | | | | | new window manager; so allow CWM_EXEC_WM to assign new wm to wm_argv and pass through cwm_status (now EXECWM) so that x_teardown() gets called before exec'ing the new window manager. Removes the need for a separate x_restart() now, using new wm_argv; and consolidates errno for execvp.
* | cvsimportokan2015-08-2811-184/+254
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/master: (21 commits) Lost fix from r1.112; add comment. Mechanical change: group->gc Add consistent checks against NULL. Move client cycle grab/ungrab into a more relevant place; while here, update comments about why we need to grab/ungrab the keyboard. Re-add lost chunk in group_cycle from r1.113. Further simplify _NET_WM_DESKTOP handling using new group_assign(). oops; remove left over debug print Allowing sending a valid 'nogroup' (0) group_ctx to group_assign() (since we init all groups), though assigning the client's group to NULL for 'sticky'; use this simplification in a few places (others to follow). Split out sticky mode checks and the restoring of a client's group and _NET_WM_DESKTOP from the config-based auto-grouping; no (intentional) behavior changes. Needed for further work in cleaning up this area. Implement _NET_CLIENT_LIST_STACKING (from Thomas Admin), but bottom-to-top order, as per spec (notified Thomas as well). Don't allow freeze operations on fullscreen (consistent with what fullscreen does). Sort _NET_WM_STATE Atoms like the spec. Move CLIENT_STICKY logic from client hide/unhide to group hide/unhide; rationale being that clients should be able to hide/unhide independently of group switching. Add Xkb modifier to ignore mask; from Alexander Polakov. Fix whitespace. Add client freeze extension to _NET_WM_STATE Atom, allowing flag to persist. As usual with new Atoms, requires X restart. _NET_WM_STATE_STICKY implies only sticky at the group/desktop level, not position and size; based on discussion with a few. Instead of special casing the 'term' and 'lock' commands, go back to keeping them hidden; showing them has apparently caused confusion/angst. Leave command list order from .cwmrc alone; remove sort. Bring group and client cycle closer together. ...
| * Lost fix from r1.112; add comment.okan2015-08-281-1/+2
| | | | | | | | Reported (again!) by Peter Kane.
| * Mechanical change: group->gcokan2015-08-275-17/+17
| |
| * Add consistent checks against NULL.okan2015-08-272-7/+8
| |
| * Move client cycle grab/ungrab into a more relevant place; while here,okan2015-08-272-8/+6
| | | | | | | | update comments about why we need to grab/ungrab the keyboard.
| * Re-add lost chunk in group_cycle from r1.113.okan2015-08-271-0/+3
| |
| * Further simplify _NET_WM_DESKTOP handling using new group_assign().okan2015-08-251-6/+3
| |
| * oops; remove left over debug printokan2015-08-251-2/+0
| |
| * Allowing sending a valid 'nogroup' (0) group_ctx to group_assign()okan2015-08-251-5/+6
| | | | | | | | | | | | (since we init all groups), though assigning the client's group to NULL for 'sticky'; use this simplification in a few places (others to follow).
| * Split out sticky mode checks and the restoring of a client's group andokan2015-08-253-36/+59
| | | | | | | | | | _NET_WM_DESKTOP from the config-based auto-grouping; no (intentional) behavior changes. Needed for further work in cleaning up this area.
| * Implement _NET_CLIENT_LIST_STACKING (from Thomas Admin), butokan2015-08-244-0/+26
| | | | | | | | bottom-to-top order, as per spec (notified Thomas as well).
| * Don't allow freeze operations on fullscreen (consistent with whatokan2015-08-241-0/+3
| | | | | | | | fullscreen does).
| * Sort _NET_WM_STATE Atoms like the spec.okan2015-08-243-17/+17
| |