* refs/heads/master:
Use the key names from keysymdef.h in the default key bindings list for clarification.
remove extra parentheses
Pull over the remaining re-implemented window move/resize functions and create a wrapper so that the key and mouse based move/resize callbacks can be unified. This has already been done with other window operations and menus.
rename one function, matching others, to help upcoming change
* refs/heads/master:
Replace fgetln(3) with POSIX getline(3); inspired by brynet and Ingo.
fix a few WARNINGS (new sentence, new line and extraneous Pp macro) found with mandoc -Tlint
from src, by espie@: no need to generate y.tab.h if nothing uses it, set YFLAGS to nothing
* refs/heads/master:
drop obsolete comment
Alter callbacks to take a struct instead of a growing number of arguments; greatly simplifies upcoming work.
Ensure clients stay within the viewable bounds on placement, even with empty borders; based on a patch from Vadim Vygonets.
Clean up, unify and accurately calculate edge distance with client move/resize actions, so as to not lose windows off the edge.
Switch bwidth type; unfortunately X11 is inconsistent.
* refs/heads/master:
The r1.36 menuq_add() conversion did this one wrong; fix by reverting to the original code which adds to resultentry list, as opposed to the wrong one in menuq_add(). Fixes crash noticed by at least Rickard Gustafsson.
Remove 'noresult' (and simplify) as it does nothing and makes the logic around it needless. History doesn't show what this might have been used for in future iterations.
search_match_path() isn't supposed to return anything.
Move queue init to caller so it's only called once in a few cases.
sort
Raise the previously focused window, instead of the previous window in the cycle list; seems to match behaviour of other wm's; from Walter Alejandro Iglesias.
For {h,v}tile, instead of keeping the master client's {h,v} geometry, expand it to %50 of the area, then fill in the remaining space with the other clients in the same group; from Gerrit Meyerheim.
* refs/heads/master:
Fix group hidden state when a client wants to be on all desktops on start; reported by Vadim Vygonets with diff, but another approach was taken.
Call client_resize instead of client_move after client_placecalc since the size may also change.
* refs/heads/master:
Ensure client stays inbound on key-based resize; based on logic existing in key-based client move; from Vadim Vygonets.
When a window has a user or program specified position, ensure the edge of the final position is at least viewable and warp'able by the difference of bwidth; prevents mapping windows completely off the virtual screen.
* refs/heads/master:
stray newlines
Add search_print_text(), a default callback for mi->print in menu_filter(). While here, normalize the remaining search_print_* argument paramters.
Consistent use of menuq_add for ssh menu.
Now that dim.{x,y} are available early, use them before requiring a MotionNotify event.
Set dim.{x,y} during client_init and update on resize, instead of (re)calculating only when applying hints.
'window-search' is spelled 'menu-window'; the former snuck in during the conversion('menu-window' already existed and was properlly documented); found the hard way by sthen@ while trying to convert.
Fold unbinding functions into one for each, key and mouse; plugs a leak when unbinding a mouse button bound to a command.
use the correct type
Tame the number of 'exec' and 'path' search_match wrappers. No functional change now, though more can likely go later, losing the (paritally complete or incomplete/broken) argument completion bits.
Switch ssh menu to search_match_text; like group/window/cmd menus, use only a substring match. The previous matching is only intended for the exec menus.
Change 'menu-window' to display all windows; then add 'menu-window-hidden' for the previous behaviour of 'menu-window'. 'menu-window' becomes the default binding; use 'bind-mouse "1" menu-window-hidden' to restore old behaviour for those who prefer.
Normalize bind function names, based on a few categories: window, group, menu and pointer.
Use an additional check with lstat(2) when d_type is unknown.
revert previous; upcoming changes will hopefully deal with these more naturally.
Add a wrapper based upon xevent handlers around client move/resize for key and mouse bindings.
Define callbacks, then default bindings.
Reorganize for upcoming changes.
Remove the (8) default bindings for pointer move since they conflict with default bindings for emacs, which wins; the feature remains and can be bound to whatever users wish with cwmrc(5).
the previous behaviour of 'menu-window'. 'menu-window' becomes the default
binding; use 'bind-mouse "1" menu-window-hidden' to restore old behaviour for
those who prefer.
OK sthen@ (long long time ago on a different version)
and pointer.
Replace 'bind' and 'mousebind' options with 'bind-key' and 'bind-mouse',
respectively, replace special 'unmap' keyword with 'unbind-key' and
'unbind-mouse', and additionally allow unbinding all with 'all' keyword.