okan
dd10412804
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
9bf2498d7e
add support for mouse based group {,r}cycle; from Rodrigo Mosconi. not
...
bound by default.
2013-07-08 18:39:20 +00:00
okan
1f244fe29c
move kbfunc and mousefunc closer together
2013-07-08 18:19:22 +00:00
okan
234b8214df
move Cursors into conf.
2013-06-17 17:11:10 +00:00
okan
270df196ac
- 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
5b4c55616a
move the 2 small font helper functions to xutil.c
2013-05-19 23:38:20 +00:00
okan
c637a54048
- 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
9de81f3d2e
get rid of cc->name in the resize box and make dimensions more readable.
2013-05-02 19:33:17 +00:00
okan
bb56bf4c4b
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
5acf6c147f
no need for font_{ascent,descent,height} wrappers; limit font_width to
...
just requiring xftfont.
2013-05-02 17:25:15 +00:00
okan
58c1d48d10
plug memleak; always need to menuq_clear even when a selection is made.
2013-04-08 15:43:04 +00:00
okan
28b54db221
consistency
2013-04-08 13:02:31 +00:00
okan
c139df129c
pass the screen workarea, as opposed to viewarea, allowing client
...
snapping to honor gap.
2013-01-02 21:41:14 +00:00
okan
2ac65bd288
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
3a3e0383b2
create and use menuq_clear() helper; from Tiago Cunha
2012-12-17 14:32:39 +00:00
okan
6900cd3612
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
28224ff830
sort
2012-11-09 03:52:02 +00:00
okan
76b0874b4c
get rid of the xfree() wrapper around free(); from Tiago Cunha.
2012-11-07 20:34:39 +00:00
okan
86524e21dd
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
0e8815dfb0
re-use geom struct in client_ctx (saved)geometry.
2012-07-13 17:01:04 +00:00
okan
186a78ff1e
convert xmax/ymax uses to view geometry.
2012-07-13 15:21:35 +00:00
okan
287a5b2aad
assign and use screen ctx where appropriate and consistently.
2012-07-04 23:42:03 +00:00
okan
fded46ba9f
rename variable to reduce potential for name-space collision.
...
bikesheding and ok oga@.
2011-10-17 18:18:38 +00:00
okan
b852a73a60
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
f51f3cb9c2
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
69ac0624cc
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
8f1c583361
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
34ba6cdbcc
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
c8ea76a965
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
c2a8363dd9
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
fa64bc2f32
remove left over XSync; ok oga@
2011-05-13 12:53:19 +00:00
okan
c8cd94882d
tag and comment cleanup; ok oga@
2011-05-11 13:53:51 +00:00
okan
43450c8fd7
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
604a5d07a4
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
okan
349b3295b8
revert the XSync timing change for client move only; first noticed by
...
brynet.
sure oga@
2011-03-23 07:27:32 +00:00
okan
a50bfb613d
reduce the number of times we sync during a window resize.
...
ok oga@
2011-03-22 10:59:08 +00:00
martynas
cd23316a72
in MotionNotify geom.x, geom.y calculations take into account bwidth.
...
fixes the annoying bug where windows would go +bwidth pixels right,
+bwidth pixels down. ok okan@
2010-12-14 11:08:47 +00:00
okan
ccb207a8a8
pull all non-X11 headers from calmwm.h and place them only where they
...
are required.
encourged to go all the way by oga@
2009-12-15 04:10:42 +00:00
okan
b6b7d273d4
merge the 2 common header files; specific includes to be pulled out as
...
separate commits.
ok oga@
2009-12-15 03:24:36 +00:00
oga
134e777cf0
finish unfucking the screen_ctx handling.
...
remove screen_current() it was utterly bogus when nscreens > 1.
pass a fake client_ctx in the case where there's no client and the
kbfunc or mousefunc doesn't need a real one, it just contains the
current screen, modify these functions so that they pass down the screen
context to their callees.
make groups per screen, it's the only way it makes sense in this regard.
ok okan@.
2009-12-10 17:16:51 +00:00
okan
ee7df6a95f
start fixing screen_ctx usage, for it is utterly broken. bring font
...
into screen_ctx and start passing screen_ctx around to in order get rid
of Curscreen; fixup per-screen config colors the same way.
diff mostly from oga@, with a bit harsher reaction to the state of screen_ctx.
"please commit" oga@
2009-12-08 16:52:17 +00:00
okan
7295c51155
unroll the CCTOSC macro; from Thomas Pfaff
...
ok oga@
2009-08-27 01:38:08 +00:00
oga
8fd4ff1c7c
Instead of messing around everytime we do a resize, just clamp the
...
resize increments to a minimum of one, and use it unconditionally.
"you've convinced me, do it!" okan@
2009-08-25 01:32:40 +00:00
okan
028a1778db
bring together gathering, calculating and applying of size hints;
...
additionally, respect aspect ratio hints.
ok oga@
2009-08-24 23:49:04 +00:00
okan
bcc0f73bb6
compact a bit by condensing a few if-else's; from Thomas Pfaff
...
"go on then" oga@
2009-06-20 00:55:41 +00:00
okan
58d12134b1
unroll XCALLOC/XMALLOC macros; since we use xcalloc/xmalloc all over the
...
place anyway, this makes things a bit more consistent; from Thomas Pfaff
ok oga@
2009-06-20 00:22:39 +00:00
okan
61f841ea58
re-factor parts of mouse move/resize bit to shrink and make more
...
readable; no behavior change
ok oga@
2009-06-17 12:45:01 +00:00
okan
2c29a1de65
nuke the leading underscore notation for local static functions - there
...
are far better ways to know.
"go for it" oga@
2009-05-18 00:23:35 +00:00
okan
cc68490fe1
don't sync more than 60 times per sec on resize and move; idea from scrotwm.
...
ok oga@ sometime ago
2009-04-15 14:10:07 +00:00
okan
87964e5c7e
now that pwin is gone gone gone, we no longer have to do the bwidth
...
dance; xevents now able to deal with a border being set (which fixes
those annoying movie-watching apps).
ok todd@, oga@
2009-01-22 19:01:56 +00:00
okan
ec8e6052ba
remove pwin, bringing us to one client, one window. we no longer have
...
to push attributes around, so things get a lot simplier, while fixing a
few issues in the meantime; original suggestion by Edd Barrett many many
moons ago.
annoying window placement and race, found in c2k8 by todd, fix by oga!
lots of feedback from todd and oga - thanks!
"commit that bad boy" oga@
2009-01-16 15:24:14 +00:00
okan
590169ce24
- merge grab_sweep() into mousefunc_window_resize().
...
- merge grab_drag() into mousefunc_window_move().
- properly name, proto and static private functions.
- since we already do XMoveResizeWindow() and XMoveWindow() in (now)
mousefunc_window_resize() and mousefunc_window_move() respectively,
client_resize() and client_move() calls are unnecessary.
ok oga@
2009-01-11 18:34:46 +00:00
okan
6ea4b1bd3b
no more hidden (and mysterious) config reloads and allow binding a key
...
to a config reload; CMS-r by default.
ok oga@
2008-07-11 15:18:29 +00:00
okan
b23fad3987
spacing, declaration lineup to be consistent throughout cwm,
...
readability, and a bit of knf.
ok oga@
2008-07-11 14:21:28 +00:00
oga
993fd4311f
Allow a mouse binding to hide a window, and add a default keybinding for CMS-M3,
...
so it's hard to press by accident, but there if you need it.
requested (in a way) and tested by johan and todd.
2008-06-25 22:44:42 +00:00
okan
bdcbbe7f53
confable menu and window mouse bindings from rivo nurges (thanks!) with
...
some minor fixups, man page bits and knf.
ok oga@
2008-06-14 21:48:54 +00:00