Commit Graph

72 Commits

Author SHA1 Message Date
okan
b7cd8019f2 Purely mechanical; unify 'num', 'no' and 'shortcut'. 2014-08-20 15:15:29 +00:00
okan
92bf6935f5 all mapped clients now should have a group, so simplify some cases 2014-02-07 21:59:56 +00:00
okan
06d9319772 Remove duplicate mouse functions and instead use the kbfunc ones. No
user visable changes at this point, but they'll merge at an appropriate
time.
2014-01-30 14:40:21 +00:00
okan
d5979e3ab6 Minimize trivial differences between a few kb and mb functions. 2014-01-29 22:30:00 +00:00
okan
42e2d07b2b Use argument to pass down flags for mousefunc cyclegroup; removes
rcyclegroup wrapper need - now similar to kbfunc.
2014-01-20 22:31:53 +00:00
okan
9a540a7adb constify and rename some confusing variables around cmdq. 2014-01-20 21:34:32 +00:00
okan
83b0cbf116 Add a function that adds an entry to a menuq, normalizing a common code
path; from Tiago Cunha.
2014-01-20 18:58:03 +00:00
okan
24e4f6a4b6 bring mousefunc closer to kbfunc 2014-01-02 21:30:20 +00:00
okan
4104232e02 Teach screen_find_xinerama() to apply gap only when told to do so;
adjust callers.  Needed for an upcoming feature.
2013-12-13 22:39:13 +00:00
okan
5671dd5497 Instead of using work area, use the Xinerama area for snap calculations;
based on a patch from Thomas Adam with appropriate adjustments for gap.
2013-12-13 21:51:56 +00:00
okan
baac27374e Make sure we really take work area gap into account with snap calculations;
from Dominik Honnef via Christian Neukirchen.
2013-12-12 21:50:50 +00:00
okan
a6e6db763a If not using sticky mode (the default), clients aren't automagically
assigned a group, thus cc->group will be NULL - fix the client group
shortcut in menu lists; crash reported by Christian Neukirchen.
2013-12-08 13:51:38 +00:00
okan
d7f3078e8e Prepend the group shortcut in the client search menu; from Thomas Adam.
Likewise, prepend shortcut in unhide menu.
2013-12-02 19:30:27 +00:00
okan
a287dfc793 like gap, make snapdist per screen 2013-11-27 18:34:34 +00:00
okan
a09ca80c45 simplify/unfold 2013-11-27 14:20:32 +00:00
okan
70cf49457d I believe we redraw the border in too many cases; likely a leftover from
the cc->pwin days - don't redraw on every unhide, resize, and mouse
move/resize Expose event (note, all Expose events trigger a redraw
anyway).

Tested with some finicky X apps I could think of, though I'm sure others
will find more - if so, and they 'lose' the border, please report!
2013-10-19 18:59:22 +00:00
okan
0cd6dbc0fc since the root and event window are the same in the case of a button
event on the screen's root window, there's no need to pass down the
entire XButtonEvent event, at least to group_menu(), the only callback
which takes an argument at this point; instead use the already populated
screen.
2013-07-09 01:24:49 +00:00
okan
c2e750f350 add support for mouse based group {,r}cycle; from Rodrigo Mosconi. not
bound by default.
2013-07-08 18:39:20 +00:00
okan
ad88124f83 move kbfunc and mousefunc closer together 2013-07-08 18:19:22 +00:00
okan
537fe7febb move Cursors into conf. 2013-06-17 17:11:10 +00:00
okan
bd38e60d03 - configure menuwin with the screen, then create the xft drawable using
the menu window since that's the only place on which we draw
- elminate the need to change the drawable on every font draw
2013-05-20 20:21:04 +00:00
okan
ce73dfea93 move the 2 small font helper functions to xutil.c 2013-05-19 23:38:20 +00:00
okan
7f75636e2f - let callers of font_draw figure out (and pass) the color instead of an
'active' flag.
- use strlen() inside of font_draw; the only instance where it wasn't
  used happened to be ignored on a subsequent draw.
2013-05-14 12:35:56 +00:00
okan
ed8f41814a get rid of cc->name in the resize box and make dimensions more readable. 2013-05-02 19:33:17 +00:00
okan
5e2856ce65 only redraw the name/size box when the client resizes, not every time
there's movement; should slightly help with resize syncs.
2013-05-02 19:30:10 +00:00
okan
f0a6447140 no need for font_{ascent,descent,height} wrappers; limit font_width to
just requiring xftfont.
2013-05-02 17:25:15 +00:00
okan
a1a6245df6 plug memleak; always need to menuq_clear even when a selection is made. 2013-04-08 15:43:04 +00:00
okan
a395df4a8f consistency 2013-04-08 13:02:31 +00:00
okan
07daaf479c pass the screen workarea, as opposed to viewarea, allowing client
snapping to honor gap.
2013-01-02 21:41:14 +00:00
okan
7fa6ca94df re-work client_snapcalc() so it takes client and edge dimensions with
snapdist; allows for simplier snap calculations.

required for an upcoming diff for honoring gap.
2013-01-02 21:37:21 +00:00
okan
1c7a3484bf create and use menuq_clear() helper; from Tiago Cunha 2012-12-17 14:32:39 +00:00
okan
52982ae188 non-trivial menu drawing rewrite, moving to Xft and solving various
font/color drawing issues; from Alexander Polakov
2012-12-17 02:28:45 +00:00
okan
4f78cb6835 sort 2012-11-09 03:52:02 +00:00
okan
1e3fec4362 get rid of the xfree() wrapper around free(); from Tiago Cunha. 2012-11-07 20:34:39 +00:00
okan
ab1deebeda extend client_resize so that it can know when to reset max flags and
bwidth; this allows a client to be resized from a max state, which now
gets treated like a non-max'd client.  based on a diff that does part of
this in a different way from Alexander Polakov.
2012-09-09 19:47:47 +00:00
okan
94b92cf7fb re-use geom struct in client_ctx (saved)geometry. 2012-07-13 17:01:04 +00:00
okan
6ee7c6534f convert xmax/ymax uses to view geometry. 2012-07-13 15:21:35 +00:00
okan
e52aef56f0 assign and use screen ctx where appropriate and consistently. 2012-07-04 23:42:03 +00:00
okan
6f33ccac59 rename variable to reduce potential for name-space collision.
bikesheding and ok oga@.
2011-10-17 18:18:38 +00:00
okan
d1b5022611 split off window hints from geometry so we don't need to carry them all
around when dealing with {,h,v}max.  same idea from oga.
2011-09-03 09:42:33 +00:00
okan
bd65f03126 We are inconsistent when it comes to function returns, so just go all
the way with the cwm specific parts.

ok oga@
2011-07-25 15:10:24 +00:00
okan
24bf547e5f Clarify defines and make them not look like non-local ones; started by a
small diff from Thomas Pfaff.

ok oga@
2011-07-23 13:09:11 +00:00
okan
53fbeb4e7a New option to raise a client via the mouse (unbound by default);
opposing action, lower, already exists and bound.  Both keyboard
mappings already exist.

'no opinion either way' oga@
2011-06-24 06:09:26 +00:00
okan
ffa68ab4a0 introduce a new config option to snap to the screen edge. 'snapdist'
keyword taken from a diff from Sviatoslav Chagaev to do the same thing,
but implemented in a completely way (based on some very old code from
mk@).  default set to 0, so no behavior change.

ok oga@ (who would also like to take it further...)
2011-06-24 06:06:24 +00:00
okan
2f0f43df32 re-order sweep draw so that we map into the client window after
re-parenting; from Sviatoslav Chagaev.

ok oga@
2011-06-24 05:51:25 +00:00
okan
74252c7d0a struct XftFont already has height which we can use directly instead of
calculating ourselves, so do so.

ok oga@
2011-06-24 05:45:57 +00:00
okan
dc3d407467 remove left over XSync; ok oga@ 2011-05-13 12:53:19 +00:00
okan
4fb00eca7b tag and comment cleanup; ok oga@ 2011-05-11 13:53:51 +00:00
okan
b1f11d8dc6 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@
2011-05-07 17:15:37 +00:00
okan
28ba33af91 bump window resize back to 60hz. instead, we should not need to sync
every time we move/resize a window, so remove XSync in both mouse move
and resize events.  tested by Brynet as well.

ok oga@
2011-05-05 19:52:52 +00:00