summaryrefslogtreecommitdiff
path: root/src/xevent.c
AgeCommit message (Collapse)Author
2024-07-28*: switch to gplv2Vito Caputo
Part of the reason for adding headless support in vmon is to facilitate embedded use cases. These are often incompatible with anti-tivoization aspects of gplv3. I am the copyright holder of all this stuff so it's entirely fine to switch to gplv2. Phil Freeman contributed one trivial patch (4183fbd), regardless I checked if he had any objections to the gplv2 switch and he had none. So here we go, gplv2 all the things.
2021-12-25*: test override_redirect via vwm_xwin_should_manage()Vito Caputo
Now vwm ignores override_redirect for fullscreen windows.
2018-10-23*: update copyright lines to include 2018Vito Caputo
2017-11-28window: discover allscreen on configure tooVito Caputo
Previously only windows fitting the screen dimensions @ assimilate would become automagically "allscreened". Newer mplayer seems to break this heuristic, so expand the application of the heuristic to include configure requests as well.
2017-10-05*: handle FocusIn eventsVito Caputo
Some programs call XSetInputFocus(), so we should select FocusChangeEvent and handle FocusIn events, calling vwm_win_set_focus() when appropriate. It's rare, but SDL2 programs in particular seem to do this and vwm gets in a pretty annoying state when it does occur. This change should improve the situation.
2017-10-05*: s/vwm_win_focused/vwm_win_get_focused/Vito Caputo
2017-03-27*: update email address: s/gnugeneration/pengaru/Vito Caputo
2017-03-25*: add some missing includesVito Caputo
2017-03-25overlays: rename overlays.[ch]->charts.[ch]Vito Caputo
2017-03-25overlays: rename overlays->chartsVito Caputo
vmon introduces a non-overlay usage, monitors is correct but ambiguous, graphs is also amiguous, charts is short and distinctive. renaming of the files comes in a separate, future commit.
2017-03-25xwindow: s/xwindow->mapped/xwindow->client_mapped/Vito Caputo
This member reflects if the window is mapped from the client's perspective, not necessarily if the window is currently mapped (since vwm maps and unmaps windows the client has mapped in the course of providing virtual desktops) Changing the name for better clarity, since it's a bit ambiguous as-is.
2017-03-25xevent: use vwm_win_map() instead of XMapWindow()Vito Caputo
In vwm_xevent_handle_map_request() XMapWindow was always directly being called. When we have a vwin, we really shouldn't be calling XMapWindow() since we can't detect the generated MapNotify like we can with vwm_win_map().
2017-03-24xevent: cleanup vwm_xevent_handle_map_request()Vito Caputo
Long overdue tidying of the map request handling. This moves all the window classifying and placement stuff into a separate helper, adding a call to that in vwm_win_manage_xwin(), where this always belonged. The map request handling now just manages windows that aren't already managed, then lets the usual "is this window mapped?" logic filter the map request. This should fix a lingering bug where a window on the unfocused desktop would become spuriously visible if the client mapped it. Firefox started doing this recently when a page finished loading.
2017-03-21*: update copyrights for 2017Vito Caputo
2017-03-14*: trivial code formatting cleanupsVito Caputo
I'm no longer fond of combining one-line conditional statements on the same line as their conditional expression.
2017-03-14overlays: extricate overlays from vwm internalsVito Caputo
- Move vmon_proc_t under vwm_overlay_t. - Privatize vwm_overlay_t. - Update xwindow.c to dynamically create and destroy overlays. - Cease supplying vwm_t to vwm_overlays_create(), now just pass in the bare vwm_xserver_t. - Update all vwm_overlay_* functions to operate on vwm_overlays_t and vwm_overlay_t. Only vwm_overlays_create() receives the xserver, which it then embeds within the returned vwm_overlay_t. - Eliminate _xwin_ flavors of overlay functions, largely mechanical rename eliminating the _xwin_ from the names during the previous pass of switching from vwm_t & vwm_xwindow_t to vwm_overlays_t & vwm_overlay_t parameters. - Change vwm_overlay_compose() to store damage in supplied pointer, the caller is expected to make use of the damage information now because the overlay code doesn't know about the window its coordinate space.
2017-03-14vwm: utilize vwm_xserver_t, minor refactorVito Caputo
2016-12-19xevent: implicitly manage window in MapNotify handlerVito Caputo
Sometimes `mplayer -fs` would result in an unmanaged window. It seems to be due to an unexpected ordering of events on the window: create notify 0x1000001 creating 0x1000001 map request 0x1000001 managing 0x1000001 configure request 0x1000001 unmap notify 0x1000001 from configure 0 unmanaging 0x1000001 configure notify 0x1000001 map notify 0x1000001 <----- this happens after the window has been unmanaged! configure notify 0x1000001 configure request 0x1000001 configure request 0x1000001 configure request 0x1000001 configure request 0x1000001 configure notify 0x1000001 So in handling MapNotify, if the window is !managed && !override_redirect, manage it. This is confirmed to fix the occasionally unmanaged `mplayer -fs` window.
2016-09-09*: refactor all the thingsVito Caputo
Long overdue house cleaning. The addition of compositing/monitoring overlays in vwm3 pushed vwm well past what is a reasonable size for a simple thousand line file. This is a first step towards restoring sanity in the code, but no behavioral differences are intended, this is mostly just shuffling around and organizing code. I expect some performance regressions initially, follow-on commits will make more improvements to that end as the dust settles.
© All Rights Reserved