Commit Graph

17679 Commits

Author SHA1 Message Date
Mike Blumenkrantz 03accb7525 return 0 for client util window_get inlines if no pixmap available 2014-01-24 17:28:32 -05:00
Mike Blumenkrantz 57903b7aa3 only send ICCCM move/resize if it isn't already going to be sent 2014-01-24 16:20:21 -05:00
Mike Blumenkrantz d48f386c23 add define for making render debug messages easier to enable 2014-01-24 16:07:33 -05:00
Mike Blumenkrantz c06eca070d send ICCCM move/resize for configure requests on X windows
somehow this got left out of the E19 handler, which broke apps that relied upon such notifications, most notably gnome-terminal
2014-01-24 16:01:01 -05:00
Mike Blumenkrantz a4c5629e7a check for comp data deletion and block X calls
these are all invalid if client's comp data has already been cleared, so just let the compositor manipulate stuff without touching protolol
2014-01-24 13:13:07 -05:00
Mike Blumenkrantz d4abb904ad fix cursor visibility when working with canvas cursors
wayland cursors no longer override E cursors depending on config, and they also no longer randomly delete your cursor entirely

T851
2014-01-23 17:06:27 -05:00
Mike Blumenkrantz 99a4e5bd27 remove e_pointer_block api
this was a failure idea for a way to block X cursor changes using an api, which turned out to be overengineered
2014-01-23 17:04:41 -05:00
Mike Blumenkrantz 1f25710907 reset pointer type from config when updating size
this fixes switching between X/E cursors without restarting
2014-01-23 17:03:56 -05:00
Mike Blumenkrantz e9c0e2c829 set X cursor color availability based on current compositor's root cursor
internal window cursors now display normally

T785
2014-01-23 16:17:34 -05:00
Mike Blumenkrantz e54434e2db set X root pointer after determining color availability
E cursor now shows normally on startup
2014-01-23 16:16:58 -05:00
Mike Blumenkrantz ba82fb221d set only one client, the top client, as the focused client on restarts
with this, stacking and focus should be perfectly preserved across e restarts
2014-01-23 13:26:35 -05:00
Mike Blumenkrantz 00c4873d06 force X stacking for re-managed clients on startup
this ensures that X stacking is the same as canvas stacking
2014-01-23 13:26:00 -05:00
Mike Blumenkrantz 6a80d19cd7 restack windows after unreparenting on shutdown
this preserves stacking order across restarts
2014-01-23 13:25:25 -05:00
Mike Blumenkrantz c73aed330b only set take_focus for X clients after main loop has been reached 2014-01-23 13:24:46 -05:00
Mike Blumenkrantz a38d8828e9 don't bother with client hide animations on shutdown/restart 2014-01-23 13:23:41 -05:00
Mike Blumenkrantz f0bb277632 don't free client list on comp shutdown
clients remove themselves from the client list, so this makes us fail at freeing all the clients
2014-01-23 13:20:40 -05:00
Mike Blumenkrantz aba8a6fe32 create clients for stacking windows immediately, don't check for them later 2014-01-23 12:01:31 -05:00
Mike Blumenkrantz 40a3950855 trivial use local window variable instead of helper function 2014-01-23 11:48:18 -05:00
Mike Blumenkrantz 525a342b2e suuuuuper don't restack layer markers 2014-01-23 11:42:22 -05:00
Mike Blumenkrantz b10f81de08 clean up shape input rect setting code 2014-01-23 10:34:17 -05:00
Mike Blumenkrantz 5707e8ceb8 I was right the first time...disable shape events on internal wins not input_only 2014-01-23 10:34:17 -05:00
Mike Blumenkrantz 7d53ae97ee add shaped input window test of doom 2014-01-23 10:34:12 -05:00
Mike Blumenkrantz 4614d8b0fb and fix window_move action by putting this line back 2014-01-23 09:12:10 -05:00
Mike Blumenkrantz 292e8fd4b3 Revert "comp: fix self feeding event loop with shape input events on override wins"
This reverts commit 05a7087c84.
2014-01-23 09:02:33 -05:00
Mike Blumenkrantz b1fd48af59 don't double grab compositor input during client actions
T844
2014-01-23 08:52:45 -05:00
Mike Blumenkrantz 006c09621b revert 0f3e3ae5da, 14207e9770
shape modification on overrides

T847
2014-01-23 08:52:45 -05:00
Carsten Haitzler 05a7087c84 comp: fix self feeding event loop with shape input events on override wins
so comp would call ecore_x_composite_window_events_enable in
_e_comp_x_client_shape_input_rectangle_set()
_e_comp_x_hook_client_post_new_client() all the time.. because
ec->need_shape_merge was always set.. why was it always set.. because
ecore_x_composite_window_events_enable woudl set shape rectangles to
make the window visible to input events... so e would feed itsefl with
events all day long via x. this shortcuts that to check if event rects
are the SAME then don't set them as the ones that are stored.
2014-01-23 19:58:59 +09:00
Mike Blumenkrantz 0f3e3ae5da ignore only non-override non-reparented clients when disabling composite events 2014-01-22 22:34:55 -05:00
Mike Blumenkrantz 7f72d160af don't select shape events for input_only clients, do set for internal clients 2014-01-22 22:34:01 -05:00
Mike Blumenkrantz 146f1662d9 unset shape event selection on systray xembed base 2014-01-22 22:32:53 -05:00
Mike Blumenkrantz e115cbc906 reset focus to last focused client upon closing an autoclose object 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz fccfb20972 add autoclose callback for syscon to null pointer
previously, repeated uses of syscon would cause a crash
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 5549c1b530 handle shaped overrides more accurately for theme and rendering
overrides don't get to do shape exports for rendering, so this needs to be done during the initial shape check
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz c24d3c60aa break out X shape rect check loop into helper function 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz ae4e98b856 only set shape export flag during shape update event for non-overrides 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 14207e9770 allow toggling composite window events for override windows 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 2d29661541 select shape events for override clients 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz d5ce4e0517 more commented out debug lines for comp object 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 9201ac12d4 resize pending update tiler during size update
another tiler gets merged a few lines down and clipping is bad
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 2943d88042 only set shape merge/export flags for non-override clients on resize 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 199882ea25 disable shadows for override clients with alpha 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 6b246c7c8a clean up comp object autoclosing when overwriting existing autoclose object 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz e23019825e set syscon popup layer before autoclose 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 9a3ea2d1bb use regular comp grabs for menu 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz aad88716a4 fix compositor grab tracking
it's possible to have multiple/recursive grabs, so the number of grabs active needs to be tracked

T820
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz b363dc802d use client fullscreen flag to determine current fullscreen state
T834
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz fdc3d29899 bugfix: remove drop handlers from responsive hash on deletion 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 3e0cbdc441 bugfix: efm dnd to external windows
deleting the drag at this point deletes the window which owns the current selection, guaranteeing that the operation will fail

T797
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz d86051ff82 bugfix: multiple drop handlers using same window no longer overwrite each other 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 2dac967604 shadow checks for overrides only need to check for shaped and comp match
T833
2014-01-22 22:14:33 -05:00