aboutsummaryrefslogtreecommitdiffstats
path: root/mousefunc.c (unfollow)
Commit message (Collapse)AuthorLines
2017-05-09Alter callbacks to take a struct instead of a growing number of arguments;okan-3/+3
greatly simplifies upcoming work.
2017-05-01Clean up, unify and accurately calculate edge distance with client move/resizeokan-20/+5
actions, so as to not lose windows off the edge. inspired by diffs (and feedback) from Vadim Vygonets.
2016-12-06Now that dim.{x,y} are available early, use them before requiring aokan-1/+5
MotionNotify event.
2016-10-18Refactor callbacks to take a void * so as to not try and generalize intookan-3/+5
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-06Add an argument to the callbacks to pass the xevent context, button orokan-3/+3
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-03For both kb and mouse move, it is possible to grab a client and move itokan-5/+15
completely off the screen/region; instead, if the pointer is outside of the client bounds, warp the pointer to the closest edge before moving.
2016-09-30Use instinsic X11 functions for key/btn/ptr grab/ungrab/regrab requests;okan-5/+9
the one line wrappers provided no value and limited altering calls where needed; additionally, most of them had but one caller.
2016-09-30Replace mousefunc_sweep_draw() with a generic menu_windraw() using vaokan-27/+7
lists; use it appropriately for both window dimension and position in the respective mousefunc calls. ok bryent@
2016-09-30Switch to XWindowEvent() pulling out events that match the mask *and*okan-3/+3
window.
2016-09-29Mechanical change: move screen menu bits to their own struct.okan-8/+8
2016-09-28Inline Xft draw and extents wrappers; too much abstraction.okan-3/+9
2016-09-28Do not call sweep_draw() too early: don't yet have w/h dimensions; plusokan-2/+1
we will get a MotionNotify event right away anyway, setting required parameters.
2016-09-22Continue merging kb and mouse functions: foldokan-78/+1
mousefunc_menu_{client,cmd,group} into the respective kbfunc_menu_{client,cmd,group} functions; simply pass a flag down from config denoting mouse action behaviour.
2016-09-13Limit mouse resize to hints within the client; matches kbd resizeokan-8/+3
behaviour.
2015-11-17Inline the only use of mousefunc_sweep_calc.okan-17/+8
2015-11-11Partial revert of replacing screen_area() with region_find(); until aokan-6/+7
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.
2015-11-10Use position on root to figure out region.okan-3/+2
2015-11-10Start cleaning up name vs function differences; replace magic numbers.okan-2/+2
2015-11-09Extend region to include both view and work areas; switch tookan-6/+6
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.
2015-08-21_NET_WM_STATE_STICKY implies only sticky at the group/desktop level, notokan-3/+3
position and size; based on discussion with a few.
2015-08-21Instead of special casing the 'term' and 'lock' commands, go back tookan-2/+6
keeping them hidden; showing them has apparently caused confusion/angst.
2015-07-12introduce 'groupsearch' for group menu search; matches on either groupokan-5/+3
number/shortcut and/or name.
2015-07-01styleokan-4/+4
2015-06-30no longer need to pass down format strings after introducing search_print_cmdokan-2/+2
2015-06-30Introduce a callback for cmd menu printing, special-casing 'lock' andokan-2/+2
'term'.
2015-06-26Mechanical change from xinerama to region backed areas.okan-5/+5
2015-06-08switch to search_print_client() as the print callback since it will now ↵okan-8/+3
display labels as well
2015-06-08stash window dimensionsokan-4/+2
2015-06-07even if the menuq is empty, at least show an empty menu instead of justokan-7/+1
bailing making it look like the binding isn't working.
2015-06-05add a flag to indicate a menu list instead of overloading 'prompt'okan-4/+4
2015-05-21merge kbd and mouse grouptoggleokan-7/+1
2015-01-19Switch to limits.h; replace MAXPATHLEN and MAXHOSTNAMELEN with PATH_MAXokan-2/+3
and HOST_NAME_MAX+1, respectively. ok doug@
2014-09-27these have nothing to do with 'sticky', but rather group membership; rename.okan-2/+2
2014-09-18Move motion time check to the top of each MotionNotify block (andokan-17/+16
eliminate from ButtonRelease); further limits the amount of work done outside the threshold, notably mousefunc_sweep_calc, screen_find_xinerama and client_snapcalc.
2014-09-17ewmh states _NET_WM_STATE_STICKY should not alter positionokan-3/+3
2014-09-17Use a similarly named check as sticky for hidden check in a group.okan-3/+3
2014-09-17Introduce a check to see if a group holds only 'sticky' clients and useokan-2/+2
this check to decide if a group is virtually empty. Rationale: if a group contains *only* 'sticky' clients, it should be skipped while cycling through groups. Apply similar logic to the group menu. Based on an idea from phessler@, who also tested another version.
2014-09-08name the group client queue appropriately, like other queuesokan-2/+2
2014-09-08Remove duplicate client queue (mruq); instead, remove and take theokan-2/+2
global Clientq and place it inside screen_ctx since every client belongs to a screen, then use the same per screen clientq to track stacking order (the sole reason for mruq).
2014-09-08Now that a group knows its screen, only pass down the group_ctx.okan-2/+2
2014-09-06Rework group names: stash the group name inside the group_ctx as opposedokan-2/+2
to having to manage an array outside in screen_ctx for group names and shortcuts. Simplifies (and moves bits for) reading, and constructing data for, EWMH's _NET_DESKTOP_NAMES.
2014-09-02bring menu bits closer togetherokan-4/+3
2014-09-01add explicit paran and drop some empty lines bringing like functions closerokan-6/+3
2014-09-01Merge group_menu into mousefunc_menu_group.okan-2/+26
2014-08-22Fix nogroup regression, where nogroup became an actual group - theokan-2/+3
symantics between cwm groups and ewmh got in the way. Ensure a client that wants to be in nogroup stays in nogroup (thus stays in view), even when (re)reading NET_WM_DESKTOP. Paritially reverts patchset 644 (2014-02-07 13:09 PST) which deals with a NULL cc->group. All to be revisited when NET_WM_STATE_STICKY hits cwm. Reported by many; testing and ok phessler.
2014-08-20Purely mechanical; unify 'num', 'no' and 'shortcut'.okan-3/+2
2014-02-07all mapped clients now should have a group, so simplify some casesokan-2/+2
2014-01-30Remove duplicate mouse functions and instead use the kbfunc ones. Nookan-26/+1
user visable changes at this point, but they'll merge at an appropriate time.
2014-01-29Minimize trivial differences between a few kb and mb functions.okan-8/+7
2014-01-20Use argument to pass down flags for mousefunc cyclegroup; removesokan-8/+2
rcyclegroup wrapper need - now similar to kbfunc.