okan
b5915eb989
The only reason we need to keep XSizeHints in our client_ctx is for
...
flags, so just add one to hints; consolidates sizehints and shrinks.
Additionally don't abuse PSize for XGetWMNormalHints() failures.
2013-11-02 19:13:56 +00:00
okan
b8f53666bd
x/y from XSizeHints are obsolete (and have been for a long time), so
...
instead use x/y from XWindowAttributes when USPosition|PPosition are
set.
2013-11-01 21:54:20 +00:00
okan
06eb13dfd9
re-add support for WM_TAKE_FOCUS, and additionally this time only call
...
XSetInputFocus() for clients that have the InputHint; latter fix
discovered by Valery Masiutsin with a PoC patch - solves keyboard input
focus loss for java apps.
2013-11-01 14:07:19 +00:00
okan
6e17b41f56
A client_delete should behave differently depending on whether the
...
triggering event was unmap (with pending destroy) log destroy; we only
need to grab/ungrab the server lock, set WithdrawnState and
XRemoveFromSaveSet clients coming from an unmap event - doing so for
clients coming from destroy are already gone, hence we generate errors.
2013-10-25 19:46:16 +00:00
okan
6867821abe
shuffle
2013-10-20 02:00:02 +00:00
okan
5b733a152d
wrap key ungrab like btn ungrab, for it'll be used again
2013-10-20 01:55:32 +00:00
okan
9ff288baef
revert 1.138 (WM_TAKE_FOCUS) for now
2013-10-20 01:35:47 +00:00
okan
a2013ee9dd
Using xu_btn_ungrab() buttons during client_leave doesn't work (error
...
BadValue) when the modifier is already AnyModifier . Instead alter
xu_btn_ungrab() to ungrab AnyButton/AnyModifier and call it only when a
client is coming into focus in client_setactive(), instead of iterating
over ignore mods - matches how we handle key grabs.
2013-10-19 19:39:34 +00:00
okan
083a023f2c
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
a70b2d81af
For clients that support WM_TAKE_FOCUS in their WM_PROTOCOLS property, send
...
a ClientMessage event.
2013-10-19 00:24:54 +00:00
okan
a88b8c1363
a few err->errx since we don't have error messages here; from Tiago Cunha
2013-10-17 13:59:10 +00:00
okan
bfd3f5e5e1
trying parsing a XLFD string first, then by pattern
2013-10-07 13:40:26 +00:00
okan
6ac51b8e41
unify type; no change
2013-10-03 13:51:57 +00:00
okan
a439012b58
we no longer need to construct an array for _NET_SUPPORTED.
2013-07-16 14:30:48 +00:00
okan
fbb9d32d0a
don't need the size here
2013-07-16 14:22:25 +00:00
okan
ca416b6b82
max -> nitems
2013-07-16 14:04:44 +00:00
okan
ae4ab06559
shuffle down protoypes
2013-07-15 23:53:19 +00:00
okan
4ef96a2772
collapse lines
2013-07-15 23:51:59 +00:00
okan
4119b5c065
simplify atom handling; allows us to limit to one round-trip to server
...
for gathering Atoms.
2013-07-15 14:50:44 +00:00
okan
bd7b8163bb
bring buttonpress and keypress event handlers slightly closer together
2013-07-10 14:15:58 +00:00
okan
9571038358
type fixes
2013-07-10 14:11:42 +00:00
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
a493734066
clarify kbd vs mouse functions
2013-07-08 16:32:51 +00:00
okan
912ec90ea1
move duplicate kbd and mouse modifier parsing to a generic function;
...
from Tiago Cunha
2013-07-08 16:10:55 +00:00
okan
fe439f2b96
replace a few (x)malloc with (x)calloc to prevent potential integer
...
overflows; from Tiago Cunha
2013-07-08 15:48:16 +00:00
okan
7a7e5cd592
whitespace and style fixes; from Tiago Cunha and one from me.
2013-07-08 15:46:16 +00:00
okan
fbcdce6be9
properly fix (and re-organize) selfont selection.
2013-06-23 17:57:50 +00:00
okan
7004700ce0
when selfont is configured, make sure we continue and configure the rest
...
of the screen (quick fix); discovered the hard way by Rodrigo Mosconi.
2013-06-20 02:33:57 +00:00
okan
234b8214df
move Cursors into conf.
2013-06-17 17:11:10 +00:00
okan
23d84adb5e
now that we have conf_screen, which configures individual screens
...
*after* config parsing, we no longer need to split up display/screen
initialization, so collapse.
2013-06-17 14:08:51 +00:00
okan
8b00f438be
allow mouse button4 and button5; from Rodrigo Mosconi
2013-06-17 00:57:47 +00:00
okan
6059073a5f
move synthetic responses and have client_msg only work with WM_PROTOCOLS,
...
since that's all ClientMessageEvent is for anyway.
2013-06-10 21:37:30 +00:00
okan
b365ceac0e
Check for, and honour, CWStackMode and CWSibling change requests during a
...
ConfigureRequest event. Additionally, honour a border width change;
detailed report and patch from Mike Small.
2013-06-10 20:11:43 +00:00
sthen
09f3275561
Unlike other parse.y variants, cwm's allowed 'command xx /path/to/xx' without
...
quotes. Reinstate this support lost in recent sync diff and add a comment to
show that it's intentional. ok okan@
2013-06-03 20:33:17 +00:00
okan
692d341dfc
fix type in a ClientMessage (xu_sendmsg).
2013-05-27 23:20:45 +00:00
okan
be1a7a3f5c
alter conf_grab(_kbd) to first ungrab AnyKey/AnyModifier, then proceed
...
to grab keys in keybindingq. we don't need to ungrab/grab on every
addition to the queue, just once with a complete keybindingq; simplify
grabbing keys per screen (during init) and during a MappingNotify.
while here, change conf_grab_{kbd,mouse} to require only a Window.
2013-05-23 16:52:39 +00:00
okan
7cc1c7344f
since we don't have any screens yet, there's no reason to conf_{,un}grab
...
here; just build keybindingq.
2013-05-22 20:23:21 +00:00
okan
d1eadee922
get rid of long standing XXX: now that we configure screens based on
...
config options, add the keybinding GrabKey calls here
2013-05-22 16:54:09 +00:00
okan
532f132194
move validation of pointer Button into conf_mousebind so we check
...
validity during the parse phase and not bother adding it to the queue,
instead of each time a client needs to grab (when it's too late);
furthermore, make this a config error, stop parsing and load the
default config.
2013-05-22 16:32:15 +00:00
okan
866f5af9c7
sync with src changes
2013-05-22 13:02:14 +00:00
okan
421bf22ac7
handle _NET_WM_STATE ClientMessage; from Alexander Polakov.
2013-05-21 00:29:20 +00:00
okan
c2042cd523
stray whitespace
2013-05-20 21:32:00 +00:00
okan
ad8020e17d
handle _NET_ACTIVE_WINDOW ClientMessage; from Alexander Polakov.
2013-05-20 21:19:15 +00:00
okan
284af4ca0c
add support for _NET_WM_STATE_MAXIMIZED_{HORZ,VERT}; from Alexander Polakov.
...
while I'm unsure of the final look of _NET_WM_STATE, there's no reason
to delay this support.
2013-05-20 21:13:58 +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
e14123210a
no reason to pass around *sc when it's already in menu_ctx.
2013-05-20 20:04:36 +00:00
okan
5b4c55616a
move the 2 small font helper functions to xutil.c
2013-05-19 23:38:20 +00:00
okan
e41c84c752
move the rest of xft init into screen_conf, since most of it is based on
...
config parameters.
2013-05-19 23:16:29 +00:00