summary refs log tree commit diff
path: root/xevents.c
Commit message (Collapse)AuthorAgeFilesLines
* Since we use IconicState as our hidden state, check for the hidden flagokan2013-12-021-2/+4
| | | | | | | | and unmanage the client if we're not hidden (basically if NormalState) during an UnmapNotify event. Resolves an issue with mplayer going fullscreen while not using NetWM hints; behaviour regression reported by Ido Admon.
* Remove the option to bind a key by keycode with brackets; it neverokan2013-11-271-3/+1
| | | | | | | worked (and no one complained!). While it's fairly easy to fix, users should be using keysym names and not keycodes. Discussed at length months ago with todd@, matthieu@ and Owain.
* Rewrite active/inactive client handling in client_setactive();okan2013-11-271-16/+5
| | | | | | | | | | | client_leave() served no real purpose, likewise no reason to handle LeaveNotify events since an EnterNotify will process the next active client (and we don't have anything important to process anyway), so xev_handle_leavenotify() goes as well. Allows a simplification of client_mtf() and client_cycle_leave() for clarity. While here, unify a few client_current() checks. No intended behaviour change.
* Alter the r1.35 of event.c race fix. Remove the forward looking eventokan2013-11-121-16/+4
| | | | | | | | | | | | queue check (removing the need for a server grab/ungrab) - if the client is going away, let it fall all the way through to a DestroyNotify event. There's no longer a need for us to manually destroy a client ourselves (removing yet another server grab/ungrab). Instead, when the UnmapNotify event is synthetic, simply set the state to Withdrawn (as per ICCCM), else Iconic (in our case 'hidden'). Verified with test case from the 2009 race which was the original reason for r1.35 of event.c.
* A client_delete should behave differently depending on whether theokan2013-10-251-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.
* collapse linesokan2013-07-151-6/+4
|
* simplify atom handling; allows us to limit to one round-trip to serverokan2013-07-151-5/+5
| | | | for gathering Atoms.
* bring buttonpress and keypress event handlers slightly closer togetherokan2013-07-101-8/+7
|
* move kbfunc and mousefunc closer togetherokan2013-07-081-2/+2
|
* whitespace and style fixes; from Tiago Cunha and one from me.okan2013-07-081-1/+1
|
* move synthetic responses and have client_msg only work with WM_PROTOCOLS,okan2013-06-101-1/+1
| | | | 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.
* alter conf_grab(_kbd) to first ungrab AnyKey/AnyModifier, then proceedokan2013-05-231-7/+5
| | | | | | | | 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.
* handle _NET_WM_STATE ClientMessage; from Alexander Polakov.okan2013-05-211-0/+4
|
* stray whitespaceokan2013-05-201-1/+1
|
* handle _NET_ACTIVE_WINDOW ClientMessage; from Alexander Polakov.okan2013-05-201-1/+9
|
* add support for _NET_CLOSE_WINDOWokan2013-05-191-0/+3
|
* treat WM_CHANGE_STATE like other atomsokan2013-05-191-5/+2
|
* simplifyokan2013-05-191-7/+6
|
* new -> initokan2013-05-111-1/+1
|
* more type fixes for mask/buttonokan2013-05-101-1/+1
|
* int type fixesokan2013-05-101-1/+1
|
* fix KeySym typeokan2013-05-101-1/+2
|
* use an int in screen_init and avoid needing to cast for screen number (which).okan2013-04-291-1/+1
|
* zap stray whitespaceokan2013-04-051-1/+1
|
* define LockMask|Mod2Mask; no functional changeokan2012-12-181-4/+2
|
* sortokan2012-11-091-1/+1
|
* missing headers; from Thordur Bjornsson.okan2012-11-071-0/+1
|
* revert previous for now until a way to test more than a few encodings is foundokan2012-09-121-4/+4
|
* be explicit in which key masks we allow during keypress and buttonpressokan2012-09-101-4/+4
| | | | events; from Alexander Polakov - makes non-us layout reliable.
* re-use geom struct in client_ctx (saved)geometry.okan2012-07-131-6/+6
|
* convert xmax/ymax uses to view geometry.okan2012-07-131-2/+2
|
* querying for Xinerama should be done per display, not per screen, sookan2012-07-061-1/+0
| | | | | move chuck to display init; allows some shuffling to occur limiting screen_init_xinerama()'s scope while keeping order intact.
* the display's width and height are updated after an XRandR event so weokan2012-07-051-1/+1
| | | | | | don't need to pass down the new values to screen_update_geometry(); so just read the width/height values directly for both uses of screen_update_geometry(). prep for further changes in this area.
* re-implement atom handing; makes for a normalized and more consistentokan2012-07-031-1/+1
| | | | separation between cwm and ewmh. seen by a few.
* get rid of more stray lines/spacesokan2012-05-161-2/+0
|
* cycle through other common cycling modifiers; based on a diff fromokan2012-05-161-16/+10
| | | | | | Alexander Polakov. ok sthen@
* convert from deprecated XKeycodeToKeysym to XkbKeycodeToKeysymokan2012-05-161-3/+3
| | | | ok sthen@
* altpersist->cycling to be more clear that this is for cycling modokan2012-05-131-1/+1
| | | | | persistence; based on a diff from Alexander Polakov, in preparation for looping through other potential cycling modifiers.
* add WM_TRANSIENT_FOR event support: moves dialogs, toolbars and such tookan2011-09-131-0/+3
| | | | | | | the group of the main application window; based on a diff from Alexander Polakov with CLIENT_IGNORE flag suggestion from oga@. ok oga@
* A while ago I wrote some code to not warp to ignored windows on map (revoga2011-08-221-5/+0
| | | | | | | | | | 1.52), not realising that the previous (less efficient) fix had already been commited (rev 1.50). Had this in my tree for ages to remove the previous code. Effectively reverts rev 1.50. ok okan@
* Correct extern declaration and while here, rename a variable to beokan2011-06-241-2/+2
| | | | | | | | pedantic. from Thomas Pfaff. ok oga@
* tag and comment cleanup; ok oga@okan2011-05-111-1/+1
|
* On map, don't warp to windows that are marked as ignored.oga2011-05-061-2/+2
| | | | | | | 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@.
* remove XXX and move a configure event out of the event handler functions.okan2011-03-221-21/+1
| | | | | | reminded by a similiar diff from Thomas Pfaff. ok oga@
* do not warp to clients marked 'ignore'; from chneukirchen at gmail - thanks.okan2010-09-251-0/+6
| | | | | | (with the manpage bit from me). ok oga@
* pull all non-X11 headers from calmwm.h and place them only where theyokan2009-12-151-0/+10
| | | | | | are required. encourged to go all the way by oga@
* merge the 2 common header files; specific includes to be pulled out asokan2009-12-151-1/+0
| | | | | | separate commits. ok oga@
* Implement _NET_DESKTOP_NAMES, this one was a bit tricky since thespecoga2009-12-111-0/+11
| | | | | | | | | | 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@
* Implement _NET_CURRENT_DESKTOP, _NET_DESKTOP_VIEWPORT andoga2009-12-101-2/+1
| | | | | | _NET_DESKTOP_GEOMETRY. ok okan@