oga
a1517de675
On map, don't warp to windows that are marked as ignored.
...
Requested by Christian Neukirchen last august. He provided a patch but the one I
wrote was significantly simpler (1 - 2 + in the whole diff).
makes sense to okan@.
2011-05-06 19:39:44 +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
okan
800a938556
re-org. ok oga@
2011-05-05 16:40:37 +00:00
okan
d4b279e29e
make the menu window aware of xinerama info; this makes the menu stay
...
within the current screen, like other cwm window placements and
mutations (vmax/hmax/max) - from Sviatoslav Chagaev.
ok oga@
2011-05-05 15:32:24 +00:00
okan
98c5b36dbb
revert the XSync timing change for client move only; first noticed by
...
brynet.
sure oga@
2011-03-23 07:27:32 +00:00
okan
4c04a27385
warp the pointer back, iff we don't move the mouse, once we are done
...
with the menu; idea and initial from Sviatoslav Chagaev.
discussion with and ok oga@
2011-03-22 13:50:40 +00:00
okan
9a52c582b1
we should re-focus the client and ungrab the ptr even if we don't have a
...
mouse based match (i.e. in the kbd no match case). update the comment
as well.
ok oga@
2011-03-22 11:09:52 +00:00
okan
482c4ce498
fix nousance of always highlighting the first entry even when there is
...
no match (seen in the ctrl-a case)
ok oga@
2011-03-22 11:05:13 +00:00
okan
d0a487aa3d
move the default case to the end.
...
ok oga@
2011-03-22 11:03:05 +00:00
okan
a9420f917b
reduce the number of times we sync during a window resize.
...
ok oga@
2011-03-22 10:59:08 +00:00
okan
1494c3e4c9
introduce nitems macro, with the appropriate ifndef.
...
ok oga@
2011-03-22 10:57:31 +00:00
okan
2de4639d4c
if virt/horz un-maximizing, restore only the un-maximized axis
...
coordinates; allows moving a client and not restoring the maximized axis
coordinates.
picked from a larger martynas diff from ages ago.
ok oga@
2011-03-22 10:56:08 +00:00
okan
f109779994
(0,0) is also inside in the screen; from Sviatoslav Chagaev.
...
ok oga@
2011-03-22 10:54:42 +00:00
okan
51c21fc3ef
while this piece deals with client argv's in a seemingly inefficient way
...
(noticed by Tim Peniket), since we don't ever do anything with cliarg,
remove the hunk and cliarg completely.
ok oga@
2011-03-22 10:52:37 +00:00
okan
a2810e744d
remove XXX and move a configure event out of the event handler functions.
...
reminded by a similiar diff from Thomas Pfaff.
ok oga@
2011-03-22 10:49:46 +00:00
okan
3b73daa6c2
move the single keycode function directly into the menu code.
...
ok oga@
2011-03-22 10:47:59 +00:00
matthieu
7ae39052df
xcb is no longer optional.
2011-03-08 20:48:59 +00:00
okan
eab1b94e0a
if we are saving the pointer location for a specific client, make sure
...
that if it is not already inbounds, put it in the default location,
which happens to be inbounds.
behavior noticed by Thomas Pfaff while maximizing and un-maximizing a
window, leaving the pointer behind and causing client_cycle() to be a
bit lost.
ok oga@
2011-02-13 20:09:57 +00:00
tedu
c222c6a5c7
we lose track of highstack somewhere, so recompute it before we need it.
...
fixes a crash reported by christian neukirchen. ok okan
2011-02-13 17:25:20 +00:00
martynas
cba4495309
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
matthieu
66473b7fbe
Explicitely link libxcb when needed for static arches.
2010-11-27 14:25:47 +00:00
schwarze
f7ffd5f80b
s/-offset -indent/-offset indent/ for correct indentation,
...
and properly encode \(:a
found by mandoc -Tlint
2010-09-25 21:58:18 +00:00
schwarze
694354ad23
s/\.Pb/.Pp/ for correct vertical spacing; found by mandoc -Tlint
2010-09-25 21:48:08 +00:00
okan
49e1aa0fed
do not warp to clients marked 'ignore'; from chneukirchen at gmail - thanks.
...
(with the manpage bit from me).
ok oga@
2010-09-25 20:04:55 +00:00
okan
0b646a740b
picked a henning diff from src - original log:
...
fix linecount bug with comments spanning multiple lines
problem reported with the obvious fix for bgpd by Sebastian Benoit
<benoit-lists at fb12.de>, also PR 6432
ok oga@
2010-09-25 20:02:58 +00:00
okan
2efae64cef
spacing nits
2010-09-25 20:01:27 +00:00
okan
3261bc07fe
more clear variable name so than name/class shouldn't be confused again.
...
ok oga@
2010-09-25 19:58:08 +00:00
okan
2fc8292339
clarify window name/class a bit more with word ordering.
...
ok oga@
2010-09-25 19:54:02 +00:00
okan
bd36084da7
revert -r1.45 of group.c (log was: fix window name and class to match
...
cwmrc(5)). instead, fix cwmrc(5) to match the old behavior which also
happens to match the example config, of which many have based their
configs; this also nicely matches the output of xprop(1).
clean-up of variable names as a separate commit.
suggested by sthen (and something we should have done initially).
discussed with and ok oga@
2010-07-30 12:28:19 +00:00
okan
eb3cfa8f7c
fix backwards example (after r1.45 of group.c); noticed by phessler@
...
ok oga@ phessler@
2010-07-23 15:13:00 +00:00
okan
84863b048e
fix window name and class to match cwmrc(5); from Holger Mikolon - thanks!
...
ok oga@
2010-06-28 12:29:04 +00:00
okan
268faf71ba
initialize nitems
...
ok oga@
2010-05-22 22:32:08 +00:00
okan
6b0b021a68
replace XFetchName() with something more intelligent which attempts to
...
use the appropriate netwm Atom first, as well as deal with utf8.
slightly different incarnation tested by sthen@ and ajacoutot@ - thanks!
ok oga@
2010-05-22 22:10:31 +00:00
oga
c4175c932e
grab events on the root window *before* we look for existing windows.
...
This closes a race we were hitting often where stuff started right
before cwm may not get noticed and not have borders.
ok okan@. Prompted by something todd noticed.
2010-04-12 16:17:46 +00:00
okan
4944ac9995
clean up a few xu_* functions to just accept what they need (Window).
...
ok oga@
2010-04-11 16:51:26 +00:00
schwarze
7ddffd1fa6
Fix formatting errors breaking the xenocara mandoc(1) build:
...
* .Bl may only have .It children
* .SH requires an argument
* blank lines are illegal outside literal context
Now "cd /usr/xenocara && make man" succeeds,
but unfortunately, that covers a minority of X11 manuals only.
ok matthieu@
2010-03-20 20:13:27 +00:00
okan
5d67594356
preserve labels after an edit action is aborted; extending the menu
...
struct just for this is the least intrusive approach until the menu code
is reviewed.
inspired by Thomas Pfaff's report on tech@
ok oga@
2010-02-10 01:23:05 +00:00
stsp
33b5baf3fb
Honour program-specified window position in size hints when placing windows.
...
Makes XMMS windows appear as expected.
ok okan, oga
2010-02-02 19:28:46 +00:00
okan
3d3e2130f8
- allow per-screen gap; not (yet) user configurable.
...
- teach _NET_WORKAREA about gap.
ok oga@
2010-01-27 03:04:50 +00:00
okan
ba93a73ad3
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
71e1e63bce
spacing
2009-12-15 03:38:11 +00:00
okan
0c7627b2f7
pull these headers only into files that need them.
...
ok oga@
2009-12-15 03:34:34 +00:00
okan
899043b215
rid ourselves of these functional macros; convert to real functions.
...
ok oga@
2009-12-15 03:26:22 +00:00
okan
5a72fec630
mostly irrelevant now, so remove.
...
ok oga@
2009-12-15 03:25:22 +00:00
okan
9dfa8ad14a
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
732db655c0
kill _CWM_GRP atom setting. The netwm stuff does us well enough now that
...
it's superfluous.
ok okan@
2009-12-14 16:39:01 +00:00
oga
d0275e11af
add _NET_WORKAREA. for now we ignore the gap, this'll change soonish.
...
ok okan@
2009-12-11 18:09:16 +00:00
oga
3ec3bf2582
another int/long fixup that was giving dodgy property values on amd64, shame on
...
me for not reading xlibs (appauling) documentation more closely.
ok okan@
2009-12-11 17:57:38 +00:00
oga
cb76db27c6
implement support for _NET_WM_DESKTOP properties on windows.
...
it works kinda like _CWM_GRP, which we added to aid restarts a while
ago, but it's standardised and clients are specifically allowed to set
it to request a desktop.
for noe we leave _CWM_GRP support in, but its days are now numbered.
while i'm here fixup an int/long mixup with an earlier diff.
ok okan@
2009-12-11 17:55:42 +00:00
oga
7d0bb562dc
Implement _NET_DESKTOP_NAMES, this one was a bit tricky since thespec
...
says that a pager can change the property at any time (most need a
clientmessage). So deal with property updates.
Needed to shuffle some of the other code around since we can't just use
shortcut_to_name[] everywhere now.
ok okan@
2009-12-11 17:51:42 +00:00
oga
c77ea38a4c
Implement _NET_VIRTUAL_ROOTS (just clear it, we don't use that technique)
...
and _NET_SHOWING_DESKTOP (we're never doing so right now).
only three informational root-window hints to go.
ok okan@
2009-12-10 23:21:26 +00:00
oga
a53f6f767e
Implement _NET_CURRENT_DESKTOP, _NET_DESKTOP_VIEWPORT and
...
_NET_DESKTOP_GEOMETRY.
ok okan@
2009-12-10 23:14:58 +00:00
oga
206c3e3bc9
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
ed29ebe53b
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
oga
2f8a50c4d5
Implement _NET_NUMBER_OF_DESKTOPS, currently this is statically 9 and
...
unchangable. the group code needs some cleaning up before this will be a
bit less hackish.
ok okan@
2009-12-07 23:19:51 +00:00
oga
13825a5c16
support _NET_CLIENT_LIST.
...
the x property api doesn't let you remove one entry from an X property
array, so client_remove is kinda expensive, but there's no real way
around that..
ok okan@
2009-12-07 22:46:15 +00:00
oga
2a5e34e85e
Implement _NET_ACTIVE_WINDOW. for now just the informational hint is
...
supported, the client message to change this will be supported when all
informational hints are working.
ok okan@
2009-12-07 22:21:59 +00:00
okan
51fb32f347
introduce the beginnings of netwm support, minimally and correctly;
...
allows java to be happy, but additionally stops others from whinning
about a non-netwm complaint wm. more to come.
written a few times; this one includes a clever hack from oga@ to
populate _NET_SUPPORTED.
ok oga@
2009-12-07 21:20:52 +00:00
okan
bb65c9fc09
fix off-by-one where a mere click would select the first item inside a menu
...
from Thomas Pfaff
ok oga@
2009-12-07 19:48:08 +00:00
okan
d23d607f19
we already have sc from the passed cc, so just used that instead.
...
ok oga@
2009-12-07 19:45:36 +00:00
okan
4b33ec9b0c
be consistent
...
ok oga@
2009-12-07 19:44:31 +00:00
okan
d1ba9d87b1
remove unused extern
...
ok oga@
2009-12-07 19:42:59 +00:00
tobias
18dd1d8fc7
style (whitespaces)
...
ok oga, okan
2009-11-28 17:52:12 +00:00
tobias
44eea5f75c
Corrected grammar in comment.
...
ok (and better style suggestion by) oga, okan
2009-11-22 21:38:50 +00:00
oga
3bb2531f46
With Xinerama enabled, the borders of a maximized window will show up on
...
all adjacent screens. This patch hides the borders while the window is
maximized.
From Bertrand Janin; thanks!
ok okan@
2009-09-25 15:57:49 +00:00
okan
d1b60130a8
re-introduce the intention of the change from rev 1.4 in menu.c here
...
instead, by moving the check for '\0' to only the places that it
matters. hint and 50% of the diff from oga@, prodded by todd@
ok oga@
2009-09-05 16:06:15 +00:00
tobias
6e4f4540c2
style
...
ok oga
2009-09-05 14:10:11 +00:00
okan
c3064dbf27
unroll the CCTOSC macro; from Thomas Pfaff
...
ok oga@
2009-08-27 01:38:08 +00:00
okan
2f17ef273a
static; ok oga@
2009-08-25 12:05:11 +00:00
okan
1facf8e143
we are not doing access control here, so replace the "check if file is
...
executable" goo with access(2).
originally from jacekm@ long time ago.
"i can live with that" oga@
2009-08-25 02:02:59 +00:00
oga
1a74c54fd8
Reduce duplciation of code for checking modifiers in key/mouse bindings.
...
shaves a bunch of bytes.
ok okan@
2009-08-25 01:44:39 +00:00
oga
9924c77a57
Instead of calling conf_bind*() 50 gazillion times in a row, store an
...
array with all the parameters in and just loop over that to setup the
default keybindings - it's so much easier to read.
okan@ "love love love"ed this
2009-08-25 01:42:05 +00:00
oga
78deb6c3b0
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
30e985c9db
unroll macro; ok oga@
2009-08-25 01:26:09 +00:00
oga
081d2deacd
Add a keybinding to allow horizontal maximisation of a window (CMS-enter).
...
based on a diff by Thomas Pfaff; thanks!
ok okan@
2009-08-24 23:54:41 +00:00
okan
5111e27310
bring together gathering, calculating and applying of size hints;
...
additionally, respect aspect ratio hints.
ok oga@
2009-08-24 23:49:04 +00:00
oga
67c21c1d1a
Instead of having a function that just calls TAILQ_INIT on a global, use
...
TAILQ_HEAD_INITIALIZER() and drop the function.
ok okan@
2009-08-24 21:22:48 +00:00
oga
5407ee5608
instead of checking for flags in the client context, then removing them.
...
e.g.:
if (flags & flags_we_care_about)
flags &= ~(flags_we_care_about);
just whack the flags unconditionally, it's simpler.
okan@ agrees.
2009-08-24 17:04:39 +00:00
okan
a75b749328
remove unnecessary Ar macros
...
ok jmc@
2009-08-08 17:27:51 +00:00
okan
fb65a7fcc0
remove unnecessary Dq macro; based on a diff from Martin Toft
...
feedback and ok jmc@, martynas@
2009-08-08 00:25:52 +00:00
oga
7230692acb
use fnmatch to glob the entries in the exec menu.
...
allows shell globbing constructs such as *ctl, etc in the exec menu (m-?
by default).
Adapted from a diff from Thomas Pfaff, okan@ got almost the same diff as
me when reworking it, and oked this one.
2009-06-26 12:45:12 +00:00
okan
d893a97dee
static local functions and data; almost identical diff from Thomas Pfaff
...
ok oga@
2009-06-26 12:21:58 +00:00
okan
28840135ea
tidy up startup/init routines
...
ok oga@
2009-06-23 21:52:38 +00:00
okan
e61fd04310
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
a7dfb91b88
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
0230e26854
spacing
2009-06-20 00:19:56 +00:00
sobrado
9bc8348d66
`exec'' and
`ssh'' are lowercase.
...
ok martynas@
2009-06-19 10:43:49 +00:00
sobrado
2de9f26c1d
items on the first list should have full stops too.
...
ok martynas@
2009-06-18 20:44:40 +00:00
sobrado
b0a20e655b
the on-line manual should use the same notation for key bindings
...
as the configuration file, this way writing configuration files is easier;
add a few missing interactive command (.Ic) macros to key bindings;
slightly improve spacing in the lists; other tweaks.
ok martynas@
2009-06-18 20:24:54 +00:00
okan
1183bd535d
remove unnecessary casts; from Thomas Pfaff
...
ok oga@
2009-06-17 13:08:37 +00:00
okan
89d865166d
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
96b7d95a17
move like defines to a central, logical location; no binary change.
...
aok oga@
2009-06-17 12:30:17 +00:00
okan
f18194f34c
'no' is the answer to the comment question: cc->name can't be NULL at
...
this point due to client_setname()'s work; remove this check.
ok oga@
2009-05-30 00:30:27 +00:00
okan
9e51da2d59
re-order a bit for readability.
...
"if it makes you happy" oga@
2009-05-30 00:30:17 +00:00
okan
56f901ac72
revert the 1.4 change - causes a double free noticed by grange@ a while
...
ago while using kazehakase (or clients that don't set a name).
ok oga@
2009-05-30 00:29:08 +00:00
sthen
01c9bf9a3c
In movetogroup, check the window's current group and skip client_hide()
...
if it's the same as the active group. Was in my original movetogroup diff,
but it got simplified a little too far. ok oga@
2009-05-19 12:49:37 +00:00
okan
403de0648e
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
oga
099e0eb73d
oops, we appear to have grown an extra prototype for group_only(), get
...
the secateurs out.
2009-05-18 00:17:46 +00:00
oga
01972f31ae
Rip out the event layer and just use a static array of callbacks like
...
every other window manager since twm.
The event layer is very nice, very shiny, very flexible, and very much
underutilised. We don't need any of those shiny features so it's
probably better to earn ourselves 1k smaller text size instead.
ok todd@, okan@
2009-05-18 00:14:19 +00:00
okan
60e9431c86
redraw all borders at once on reload
...
"sure" oga@
2009-05-17 23:54:17 +00:00