about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* quick keyboard focus fix for clients that neither populate wmhints nor ↵okan2013-11-051-1/+2
| | | | wmprotocols, like rdesktop; focus needs to be re-visited
* The only reason we need to keep XSizeHints in our client_ctx is forokan2013-11-022-31/+38
| | | | | flags, so just add one to hints; consolidates sizehints and shrinks. Additionally don't abuse PSize for XGetWMNormalHints() failures.
* x/y from XSizeHints are obsolete (and have been for a long time), sookan2013-11-011-4/+2
| | | | | instead use x/y from XWindowAttributes when USPosition|PPosition are set.
* re-add support for WM_TAKE_FOCUS, and additionally this time only callokan2013-11-012-8/+18
| | | | | | 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.
* A client_delete should behave differently depending on whether theokan2013-10-253-10/+12
| | | | | | | 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.
* shuffleokan2013-10-201-37/+37
|
* wrap key ungrab like btn ungrab, for it'll be used againokan2013-10-203-1/+8
|
* revert 1.138 (WM_TAKE_FOCUS) for nowokan2013-10-201-2/+0
|
* Using xu_btn_ungrab() buttons during client_leave doesn't work (errorokan2013-10-194-11/+5
| | | | | | | 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.
* I believe we redraw the border in too many cases; likely a leftover fromokan2013-10-192-11/+2
| | | | | | | | | 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!
* For clients that support WM_TAKE_FOCUS in their WM_PROTOCOLS property, sendokan2013-10-191-0/+2
| | | | a ClientMessage event.
* a few err->errx since we don't have error messages here; from Tiago Cunhaokan2013-10-172-5/+5
|
* trying parsing a XLFD string first, then by patternokan2013-10-071-3/+6
|
* unify type; no changeokan2013-10-034-6/+6
|
* we no longer need to construct an array for _NET_SUPPORTED.okan2013-07-161-7/+1
|
* don't need the size hereokan2013-07-161-1/+1
|
* max -> nitemsokan2013-07-163-5/+5
|
* shuffle down protoypesokan2013-07-151-50/+47
|
* collapse linesokan2013-07-153-10/+6
|
* simplify atom handling; allows us to limit to one round-trip to serverokan2013-07-157-94/+88
| | | | for gathering Atoms.
* bring buttonpress and keypress event handlers slightly closer togetherokan2013-07-101-8/+7
|
* type fixesokan2013-07-102-3/+3
|
* since the root and event window are the same in the case of a buttonokan2013-07-093-6/+3
| | | | | | | 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.
* add support for mouse based group {,r}cycle; from Rodrigo Mosconi. notokan2013-07-084-1/+23
| | | | bound by default.
* move kbfunc and mousefunc closer togetherokan2013-07-085-52/+56
|
* clarify kbd vs mouse functionsokan2013-07-083-20/+20
|
* move duplicate kbd and mouse modifier parsing to a generic function;okan2013-07-081-34/+30
| | | | from Tiago Cunha
* replace a few (x)malloc with (x)calloc to prevent potential integerokan2013-07-082-5/+5
| | | | overflows; from Tiago Cunha
* whitespace and style fixes; from Tiago Cunha and one from me.okan2013-07-082-4/+2
|
* properly fix (and re-organize) selfont selection.okan2013-06-231-13/+11
|
* when selfont is configured, make sure we continue and configure the restokan2013-06-201-2/+2
| | | | of the screen (quick fix); discovered the hard way by Rodrigo Mosconi.
* move Cursors into conf.okan2013-06-176-24/+36
|
* now that we have conf_screen, which configures individual screensokan2013-06-171-12/+5
| | | | | *after* config parsing, we no longer need to split up display/screen initialization, so collapse.
* allow mouse button4 and button5; from Rodrigo Mosconiokan2013-06-172-3/+9
|
* move synthetic responses and have client_msg only work with WM_PROTOCOLS,okan2013-06-104-43/+43
| | | | since that's all ClientMessageEvent is for anyway.
* Check for, and honour, CWStackMode and CWSibling change requests during aokan2013-06-101-1/+5
| | | | | ConfigureRequest event. Additionally, honour a border width change; detailed report and patch from Mike Small.
* Unlike other parse.y variants, cwm's allowed 'command xx /path/to/xx' withoutsthen2013-06-031-3/+3
| | | | | quotes. Reinstate this support lost in recent sync diff and add a comment to show that it's intentional. ok okan@
* fix type in a ClientMessage (xu_sendmsg).okan2013-05-272-11/+11
|
* alter conf_grab(_kbd) to first ungrab AnyKey/AnyModifier, then proceedokan2013-05-235-66/+23
| | | | | | | | 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.
* since we don't have any screens yet, there's no reason to conf_{,un}grabokan2013-05-221-3/+0
| | | | here; just build keybindingq.
* get rid of long standing XXX: now that we configure screens based onokan2013-05-222-10/+6
| | | | config options, add the keybinding GrabKey calls here
* move validation of pointer Button into conf_mousebind so we checkokan2013-05-223-24/+29
| | | | | | | 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.
* sync with src changesokan2013-05-221-30/+33
|
* handle _NET_WM_STATE ClientMessage; from Alexander Polakov.okan2013-05-213-0/+48
|
* stray whitespaceokan2013-05-202-2/+2
|
* handle _NET_ACTIVE_WINDOW ClientMessage; from Alexander Polakov.okan2013-05-201-1/+9
|
* add support for _NET_WM_STATE_MAXIMIZED_{HORZ,VERT}; from Alexander Polakov.okan2013-05-203-0/+73
| | | | | while I'm unsure of the final look of _NET_WM_STATE, there's no reason to delay this support.
* - configure menuwin with the screen, then create the xft drawable usingokan2013-05-206-24/+16
| | | | | the menu window since that's the only place on which we draw - elminate the need to change the drawable on every font draw
* no reason to pass around *sc when it's already in menu_ctx.okan2013-05-201-33/+31
|
* move the 2 small font helper functions to xutil.cokan2013-05-196-63/+32
|