Commit message (Collapse) | Author | Age | Lines | |
---|---|---|---|---|
* | The only reason we need to keep XSizeHints in our client_ctx is for | okan | 2013-11-02 | -2/+2 |
| | | | | | flags, so just add one to hints; consolidates sizehints and shrinks. Additionally don't abuse PSize for XGetWMNormalHints() failures. | |||
* | re-add support for WM_TAKE_FOCUS, and additionally this time only call | okan | 2013-11-01 | -1/+2 |
| | | | | | | 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 the | okan | 2013-10-25 | -2/+2 |
| | | | | | | | 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. | |||
* | wrap key ungrab like btn ungrab, for it'll be used again | okan | 2013-10-20 | -1/+2 |
| | ||||
* | Using xu_btn_ungrab() buttons during client_leave doesn't work (error | okan | 2013-10-19 | -2/+2 |
| | | | | | | | 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. | |||
* | unify type; no change | okan | 2013-10-03 | -2/+2 |
| | ||||
* | max -> nitems | okan | 2013-07-16 | -4/+4 |
| | ||||
* | shuffle down protoypes | okan | 2013-07-15 | -51/+48 |
| | ||||
* | simplify atom handling; allows us to limit to one round-trip to server | okan | 2013-07-15 | -8/+4 |
| | | | | for gathering Atoms. | |||
* | since the root and event window are the same in the case of a button | okan | 2013-07-09 | -2/+2 |
| | | | | | | | 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. not | okan | 2013-07-08 | -1/+5 |
| | | | | bound by default. | |||
* | move kbfunc and mousefunc closer together | okan | 2013-07-08 | -10/+11 |
| | ||||
* | clarify kbd vs mouse functions | okan | 2013-07-08 | -3/+3 |
| | ||||
* | move Cursors into conf. | okan | 2013-06-17 | -7/+12 |
| | ||||
* | move synthetic responses and have client_msg only work with WM_PROTOCOLS, | okan | 2013-06-10 | -3/+3 |
| | | | | since that's all ClientMessageEvent is for anyway. | |||
* | fix type in a ClientMessage (xu_sendmsg). | okan | 2013-05-27 | -2/+2 |
| | ||||
* | alter conf_grab(_kbd) to first ungrab AnyKey/AnyModifier, then proceed | okan | 2013-05-23 | -5/+3 |
| | | | | | | | | 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. | |||
* | move validation of pointer Button into conf_mousebind so we check | okan | 2013-05-22 | -2/+2 |
| | | | | | | | 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. | |||
* | handle _NET_WM_STATE ClientMessage; from Alexander Polakov. | okan | 2013-05-21 | -1/+8 |
| | ||||
* | add support for _NET_WM_STATE_MAXIMIZED_{HORZ,VERT}; from Alexander Polakov. | okan | 2013-05-20 | -1/+8 |
| | | | | | 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 using | okan | 2013-05-20 | -3/+2 |
| | | | | | the menu window since that's the only place on which we draw - elminate the need to change the drawable on every font draw | |||
* | move the 2 small font helper functions to xutil.c | okan | 2013-05-19 | -5/+4 |
| | ||||
* | move the rest of xft init into screen_conf, since most of it is based on | okan | 2013-05-19 | -2/+1 |
| | | | | config parameters. | |||
* | - switch border colors to Xft | okan | 2013-05-19 | -20/+11 |
| | | | | | | | | | - merge border/menu color structures/functions since they now both use Xft - switch xu_xorcolor to operating on XftColor instead of just XRenderColor (basically adding pixel) - if color name allocation fails, revert back to default (this, along with font validation should occur during config parse, but we don't have screens setup yet - likely to change at some point) | |||
* | add support for _NET_CLOSE_WINDOW | okan | 2013-05-19 | -1/+2 |
| | ||||
* | treat WM_CHANGE_STATE like other atoms | okan | 2013-05-19 | -1/+2 |
| | ||||
* | use XGetWMProtocols and simplify WM_PROTOCOL handling | okan | 2013-05-19 | -4/+7 |
| | ||||
* | - let callers of font_draw figure out (and pass) the color instead of an | okan | 2013-05-14 | -2/+2 |
| | | | | | | 'active' flag. - use strlen() inside of font_draw; the only instance where it wasn't used happened to be ignored on a subsequent draw. | |||
* | new -> init | okan | 2013-05-11 | -2/+2 |
| | ||||
* | replace conf_{gap,color,font} with conf_screen since really we are | okan | 2013-05-11 | -4/+2 |
| | | | | | configuring the screen *after* parsing, just as we do a conf_client on client manage. | |||
* | more type fixes for mask/button | okan | 2013-05-10 | -8/+8 |
| | ||||
* | fix KeySym type | okan | 2013-05-10 | -4/+4 |
| | ||||
* | remove group in client_delete directly. | okan | 2013-05-06 | -2/+1 |
| | ||||
* | no need for font_{ascent,descent,height} wrappers; limit font_width to | okan | 2013-05-02 | -5/+2 |
| | | | | just requiring xftfont. | |||
* | use an int in screen_init and avoid needing to cast for screen number (which). | okan | 2013-04-29 | -3/+3 |
| | ||||
* | mechanical xu_{get,set}state -> xu_{get,set}_wm_state change | okan | 2013-04-17 | -3/+3 |
| | ||||
* | slightly rework WM_STATE set/get to make it less ambigious; will be more clear | okan | 2013-04-17 | -2/+2 |
| | | | | on what needs to change to make it right in the end. | |||
* | add conf_ignore and move group_make_autogroup to conf_autogroup to match. | okan | 2013-04-17 | -2/+3 |
| | ||||
* | only a window is required to set WM_STATE. also un-confuse xu_ptr_getpos | okan | 2013-04-14 | -2/+2 |
| | | | | | by using 'win' instead of 'rootwin' so as not to imply only the root window is queried, rather any window. | |||
* | push Screenq into screen_init | okan | 2013-04-12 | -2/+2 |
| | ||||
* | add per-group vert/horiz tiling support; introduces 2 new bind commands, | okan | 2013-01-08 | -1/+8 |
| | | | | 'vtile' and 'htile'; from Alexander Polakov. | |||
* | rename {h,v}max functions for consistency; from Jan Stary | okan | 2013-01-04 | -3/+3 |
| | ||||
* | really these are just border colors, so adjust the define | okan | 2013-01-04 | -5/+5 |
| | ||||
* | get rid of struct color | okan | 2013-01-04 | -8/+3 |
| | ||||
* | have screen_find_xinerama() return struct geom *reliably* instead of | okan | 2013-01-02 | -2/+2 |
| | | | | XineramaScreenInfo; simplifies goop around the callers. | |||
* | least intrusive way to plug a memleak when unbinding a duplicate key for | okan | 2013-01-01 | -1/+4 |
| | | | | kbfunc_cmdexec; from Tiago Cunha | |||
* | make num of groups no longer off-by-one; from Alexander Polakov | okan | 2013-01-01 | -4/+2 |
| | | | | | | note that a re-exec of cwm will not rewrite the group number atom of *existing* clients, so they will remain off-by-one until each client has its atom updated, or of course a restart of X. | |||
* | gc unused cmd 'flags' variable | okan | 2012-12-19 | -3/+2 |
| | ||||
* | expand CHILDMASK | okan | 2012-12-18 | -2/+1 |
| | ||||
* | use MOUSEMASK since we already have it | okan | 2012-12-18 | -5/+3 |
| |