aboutsummaryrefslogtreecommitdiffstats
path: root/calmwm.h (follow)
Commit message (Collapse)AuthorAgeLines
* The only reason we need to keep XSizeHints in our client_ctx is forokan2013-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 callokan2013-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 theokan2013-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 againokan2013-10-20-1/+2
|
* Using xu_btn_ungrab() buttons during client_leave doesn't work (errorokan2013-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 changeokan2013-10-03-2/+2
|
* max -> nitemsokan2013-07-16-4/+4
|
* shuffle down protoypesokan2013-07-15-51/+48
|
* simplify atom handling; allows us to limit to one round-trip to serverokan2013-07-15-8/+4
| | | | for gathering Atoms.
* since the root and event window are the same in the case of a buttonokan2013-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. notokan2013-07-08-1/+5
| | | | bound by default.
* move kbfunc and mousefunc closer togetherokan2013-07-08-10/+11
|
* clarify kbd vs mouse functionsokan2013-07-08-3/+3
|
* move Cursors into conf.okan2013-06-17-7/+12
|
* move synthetic responses and have client_msg only work with WM_PROTOCOLS,okan2013-06-10-3/+3
| | | | since that's all ClientMessageEvent is for anyway.
* fix type in a ClientMessage (xu_sendmsg).okan2013-05-27-2/+2
|
* alter conf_grab(_kbd) to first ungrab AnyKey/AnyModifier, then proceedokan2013-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 checkokan2013-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.okan2013-05-21-1/+8
|
* add support for _NET_WM_STATE_MAXIMIZED_{HORZ,VERT}; from Alexander Polakov.okan2013-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 usingokan2013-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.cokan2013-05-19-5/+4
|
* move the rest of xft init into screen_conf, since most of it is based onokan2013-05-19-2/+1
| | | | config parameters.
* - switch border colors to Xftokan2013-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_WINDOWokan2013-05-19-1/+2
|
* treat WM_CHANGE_STATE like other atomsokan2013-05-19-1/+2
|
* use XGetWMProtocols and simplify WM_PROTOCOL handlingokan2013-05-19-4/+7
|
* - let callers of font_draw figure out (and pass) the color instead of anokan2013-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 -> initokan2013-05-11-2/+2
|
* replace conf_{gap,color,font} with conf_screen since really we areokan2013-05-11-4/+2
| | | | | configuring the screen *after* parsing, just as we do a conf_client on client manage.
* more type fixes for mask/buttonokan2013-05-10-8/+8
|
* fix KeySym typeokan2013-05-10-4/+4
|
* remove group in client_delete directly.okan2013-05-06-2/+1
|
* no need for font_{ascent,descent,height} wrappers; limit font_width tookan2013-05-02-5/+2
| | | | just requiring xftfont.
* use an int in screen_init and avoid needing to cast for screen number (which).okan2013-04-29-3/+3
|
* mechanical xu_{get,set}state -> xu_{get,set}_wm_state changeokan2013-04-17-3/+3
|
* slightly rework WM_STATE set/get to make it less ambigious; will be more clearokan2013-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.okan2013-04-17-2/+3
|
* only a window is required to set WM_STATE. also un-confuse xu_ptr_getposokan2013-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_initokan2013-04-12-2/+2
|
* add per-group vert/horiz tiling support; introduces 2 new bind commands,okan2013-01-08-1/+8
| | | | 'vtile' and 'htile'; from Alexander Polakov.
* rename {h,v}max functions for consistency; from Jan Staryokan2013-01-04-3/+3
|
* really these are just border colors, so adjust the defineokan2013-01-04-5/+5
|
* get rid of struct colorokan2013-01-04-8/+3
|
* have screen_find_xinerama() return struct geom *reliably* instead ofokan2013-01-02-2/+2
| | | | XineramaScreenInfo; simplifies goop around the callers.
* least intrusive way to plug a memleak when unbinding a duplicate key forokan2013-01-01-1/+4
| | | | kbfunc_cmdexec; from Tiago Cunha
* make num of groups no longer off-by-one; from Alexander Polakovokan2013-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' variableokan2012-12-19-3/+2
|
* expand CHILDMASKokan2012-12-18-2/+1
|
* use MOUSEMASK since we already have itokan2012-12-18-5/+3
|