summaryrefslogtreecommitdiff
path: root/app/cwm
AgeCommit message (Collapse)Author
2017-05-09Alter callbacks to take a struct instead of a growing number of arguments;Okan Demirmen
greatly simplifies upcoming work.
2017-05-05Ensure clients stay within the viewable bounds on placement, even with emptyOkan Demirmen
borders; based on a patch from Vadim Vygonets.
2017-05-01Clean up, unify and accurately calculate edge distance with client move/resizeOkan Demirmen
actions, so as to not lose windows off the edge. inspired by diffs (and feedback) from Vadim Vygonets.
2017-04-26Switch bwidth type; unfortunately X11 is inconsistent.Okan Demirmen
2017-04-25The r1.36 menuq_add() conversion did this one wrong; fix by reverting to theOkan Demirmen
original code which adds to resultentry list, as opposed to the wrong one in menuq_add(). Fixes crash noticed by at least Rickard Gustafsson.
2017-04-25Remove 'noresult' (and simplify) as it does nothing and makes the logic aroundOkan Demirmen
it needless. History doesn't show what this might have been used for in future iterations.
2017-04-24search_match_path() isn't supposed to return anything.Okan Demirmen
2017-04-24Move queue init to caller so it's only called once in a few cases.Okan Demirmen
2017-04-24sortOkan Demirmen
2017-04-24Raise the previously focused window, instead of the previous window in theOkan Demirmen
cycle list; seems to match behaviour of other wm's; from Walter Alejandro Iglesias.
2017-04-24For {h,v}tile, instead of keeping the master client's {h,v} geometry, expand itOkan Demirmen
to %50 of the area, then fill in the remaining space with the other clients in the same group; from Gerrit Meyerheim. support from ajacoutot.
2017-02-10Fix group hidden state when a client wants to be on all desktops on start;Okan Demirmen
reported by Vadim Vygonets with diff, but another approach was taken.
2017-02-06Call client_resize instead of client_move after client_placecalc since the sizeOkan Demirmen
may also change. from Vadim Vygonets
2017-01-15Typo on binding name; from Redouan Ait Mallouk.Okan Demirmen
2017-01-05Ensure client stays inbound on key-based resize; based on logic existing inOkan Demirmen
key-based client move; from Vadim Vygonets.
2016-12-19When a window has a user or program specified position, ensure the edge of theOkan Demirmen
final position is at least viewable and warp'able by the difference of bwidth; prevents mapping windows completely off the virtual screen.
2016-12-06stray newlinesOkan Demirmen
2016-12-06Add search_print_text(), a default callback for mi->print in menu_filter(). ↵Okan Demirmen
While here, normalize the remaining search_print_* argument paramters.
2016-12-06Consistent use of menuq_add for ssh menu.Okan Demirmen
2016-12-06Now that dim.{x,y} are available early, use them before requiring aOkan Demirmen
MotionNotify event.
2016-12-06Set dim.{x,y} during client_init and update on resize, instead ofOkan Demirmen
(re)calculating only when applying hints.
2016-12-06'window-search' is spelled 'menu-window'; the former snuck in during theOkan Demirmen
conversion('menu-window' already existed and was properlly documented); found the hard way by sthen@ while trying to convert.
2016-12-02Fold unbinding functions into one for each, key and mouse; plugs a leak whenOkan Demirmen
unbinding a mouse button bound to a command.
2016-12-02use the correct typeOkan Demirmen
2016-12-01Tame the number of 'exec' and 'path' search_match wrappers. No functionalOkan Demirmen
change now, though more can likely go later, losing the (paritally complete or incomplete/broken) argument completion bits.
2016-12-01Switch ssh menu to search_match_text; like group/window/cmd menus, use only aOkan Demirmen
substring match. The previous matching is only intended for the exec menus.
2016-12-01Change 'menu-window' to display all windows; then add 'menu-window-hidden' forOkan Demirmen
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)
2016-12-01Normalize bind function names, based on a few categories: window, group, menuOkan Demirmen
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.
2016-11-15Use an additional check with lstat(2) when d_type is unknown.Okan Demirmen
from James McDonald via portable.
2016-11-15revert previous; upcoming changes will hopefully deal with these moreOkan Demirmen
naturally.
2016-11-15Add a wrapper based upon xevent handlers around client move/resize for key andOkan Demirmen
mouse bindings.
2016-11-14Define callbacks, then default bindings.Okan Demirmen
2016-11-14Reorganize for upcoming changes.Okan Demirmen
2016-11-14Remove the (8) default bindings for pointer move since they conflict withOkan Demirmen
default bindings for emacs, which wins; the feature remains and can be bound to whatever users wish with cwmrc(5). from mpi@
2016-10-24Make it clear these are flags.Okan Demirmen
2016-10-24Remove duplicate check that strsubmatch() already does; while here, fix aOkan Demirmen
comment.
2016-10-24Sprinkle __func__ in appropriate error messages.Okan Demirmen
2016-10-24Get rid of 'matchname'; it's too surprising to have the menu change duringOkan Demirmen
client search as different potential str matches are cycled through. If there's interest, the only string that doesn't exist in the listing is the window's class - that can be added of course, but it makes the line too long imho.
2016-10-22clean up search_match_client(); no behaviour changeOkan Demirmen
2016-10-18Refactor callbacks to take a void * so as to not try and generalize intoOkan Demirmen
client_ctx in keypress and buttonpress event handlers; pass appropriate *ctx's based on context. While here, limit some globals, replace defines with appropriate variables and fix some naming.
2016-10-12remove another unused protoOkan Demirmen
2016-10-06Rename 2 kbfunc to match closer to what they doOkan Demirmen
2016-10-06Add an argument to the callbacks to pass the xevent context, button orOkan Demirmen
key press. This allows to remove a few hacks to duplicate functions only for behaviour changes; now differing behaviours are pushed down to the callback. Also will allow for previously unavailable actions to be bind-able down the road.
2016-10-06Check the ptr bounds in the new client during cycling, since not allOkan Demirmen
actions do ptrsave, such as restoring client geometry; adapted from a diff by Vadim Vygonets.
2016-10-05More accurate to say 'toggle', rather than 'select', for group[n]/nogroup.Okan Demirmen
2016-10-05Add CM-a for 'nogroup' (CM-0 stays for now); update manpage to reflect.Okan Demirmen
2016-10-05Stash wmname into conf.Okan Demirmen
2016-10-04When removing xrandr regions, ensure clients are within the bounds ofOkan Demirmen
the screen; adapted from an ancient diff from Sviatoslav Chagaev. Things in this area will likely change, but put this in so it works now and serves as a reminder.
2016-10-04Calculate client nameqlen in client_setname(), the only place it'sOkan Demirmen
needed/used.
2016-10-04Turn CALMWM_NGROUPS define into variable, ngroups.Okan Demirmen