Commit Graph

8696 Commits

Author SHA1 Message Date
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 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 e115cbc906 reset focus to last focused client upon closing an autoclose object 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 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
Mike Blumenkrantz db7a1f6df3 force prerendering for internal clients
we can assume that these are always going to be ready for drawing immediately, and sometimes X fucks up the damages so it's best to go with the full frame from the beginning
2014-01-22 22:14:33 -05:00
Carsten Haitzler 15abb86bea efm - emit signal to icon when rename starts/ends
this, along with theme updates in elm should fix T799
2014-01-22 18:31:49 +09:00
Mike Blumenkrantz a8d3a0e57f emit backlight changed event for X backlight events 2014-01-21 17:26:21 -05:00
Mike Blumenkrantz 3ccdd6ab32 bugfix: backlight double comparison now less likely to fail 2014-01-21 17:08:49 -05:00
Mike Blumenkrantz 0f938c9b78 do Xrandr backlight updates in place upon recieving events instead of looping all outputs 2014-01-21 17:07:21 -05:00
Mike Blumenkrantz 84a3eb7af0 make current backlight value internally exported
display system backends should be handling this in the event of changes, and being able to set it directly makes that easier
2014-01-21 17:06:27 -05:00
Mike Blumenkrantz 215c0409e0 feature: handle xrandr backlight using a single, accurate handler
there's an event from ecore-x which tells us when this property has changed, which means we no longer have to be constantly checking to see if other apps have changed it
2014-01-21 16:48:09 -05:00
Mike Blumenkrantz d2f9a2efbf cleanup frame icon upon failing to use it 2014-01-21 09:32:02 -05:00
Carsten Haitzler 9b4b003c40 make example/syntac for app action useful. 2014-01-21 21:30:17 +09:00
Mike Blumenkrantz bec5d1fe51 backlight update loop cleanups
* do null check before adding to device list

* use name length from ecore_x_randr_output_name_get()
2014-01-20 22:21:40 -05:00
Mike Blumenkrantz 3addb45e79 fix fullscreen client place/adjust 2014-01-20 21:33:11 -05:00
Mike Blumenkrantz 0be9442140 only call ecore_x_randr_output_backlight_available() once in backlight 2014-01-20 21:30:38 -05:00
Mike Blumenkrantz a310de50c8 block backlight updating during animation
updating backlight in this context causes my backlight to never return to normal levels, and blocking it doesn't seem to be unreasonable here
2014-01-20 21:05:51 -05:00
Mike Blumenkrantz 3ae9e394ec add back first_draw_delay timer for X clients
this is a safety timer to handle the case of "what happens if a new client only ever sends one damage during its startup"
2014-01-20 19:03:50 -05:00
Mike Blumenkrantz 69d3e02638 ignore first damage for X clients
when not dealing with a re_manage client (persisting from previous E instance), we're almost definitely going to get multiple full-window damages as a new client starts up. the first damage USUALLY results in a garbage render, so ignoring it makes the first frame become actual window content (good!) or a transparent rect until the client finishes drawing (not good!), which is at least an improvement over showing random pixels
2014-01-20 19:01:04 -05:00
Mike Blumenkrantz 30d6b2e196 remove the black frame render fallback
I think the timing on resizes is perfect now, so we should never need to see this
2014-01-20 18:58:53 -05:00
Mike Blumenkrantz 097331864a clear non-pending updates on resize
this smooths out resizes a barely noticeable amount since these updates (the pending-pending updates) are no longer relevant
2014-01-20 18:58:26 -05:00
Mike Blumenkrantz 4615db497c remove damage from show interceptor
this is a bit broken since an actual damage might not have occurred yet. moderately sure I added it for testing at one point and then never removed it
2014-01-20 18:56:37 -05:00
Mike Blumenkrantz e148451d4f check for pending render updates before doing a black frame 2014-01-20 17:34:12 -05:00
Mike Blumenkrantz 36edca0773 remove unnecessary damage from resize 2014-01-20 17:28:16 -05:00
Mike Blumenkrantz d0713cddb4 fix shading animations
yeeeep it's that simple. should probably move these to edje at some point
2014-01-20 17:27:31 -05:00
Mike Blumenkrantz b4a9c55115 attempt to revert focus when iconifying a client 2014-01-20 16:43:47 -05:00
Mike Blumenkrantz 6ef655d2dd feature: blanking options for wakeup on events (urgent + notify) 2014-01-20 16:08:14 -05:00
Mike Blumenkrantz aefaaea57b unify client borderless checks to use util function 2014-01-20 15:12:40 -05:00
Mike Blumenkrantz 8fe70c3d2a fix client geometry when toggling borderless state 2014-01-20 15:12:23 -05:00
Mike Blumenkrantz ed51fa2b96 add client util function for detecting borderless state 2014-01-20 15:11:53 -05:00
Carsten Haitzler cd431350a5 e sys - if logout has trouble - resume so user can see dialog 2014-01-20 15:23:30 +09:00
Mike Blumenkrantz d42b24632e also update frame immediately during unmaximize 2014-01-20 00:08:25 -05:00
Mike Blumenkrantz ef2a96eb82 apply frame changes before entering/exiting fullscreen
T816
2014-01-20 00:03:51 -05:00
Mike Blumenkrantz bcee2e34aa break out client frame setting into helper function 2014-01-20 00:00:45 -05:00
Carsten Haitzler b48dc88f94 modules - add packagekit to the whitelist of ok modules 2014-01-20 12:04:19 +09:00
Mike Blumenkrantz ec8424fb16 remove duplicate shaped client handling 2014-01-19 03:33:40 -05:00
Mike Blumenkrantz 8ce457889e ensure withdrawn state is always set
this is what was breaking shows on things like yakuake
2014-01-19 03:33:39 -05:00
Mike Blumenkrantz 32d4c2f2b9 fix X shape exporting when bounding box changes
this fixes rendering on shaped clients like yakuake and makes them render even more accurately than E18

PS. I hate shape extension.
2014-01-19 03:33:30 -05:00
Mike Blumenkrantz cbfee4f53e uncomment debug function 2014-01-19 00:45:41 -05:00
ChunEon Park 7474036140 enlightenment - removed warnings. 2014-01-18 19:37:02 +09:00
Mike Blumenkrantz d65ef1412f try grouping phony execs together
this saves a little memory and also makes related eventing more useful
2014-01-17 19:02:56 -05:00
Mike Blumenkrantz c66cdc1416 only add client to raise stack if focus tracking is enabled
focus tracking only gets frozen by winlist, at which point it's most likely that users also don't want the raise stack to be altered
2014-01-17 17:49:10 -05:00
Mike Blumenkrantz eee5bfea9c force X client adjust on frame change 2014-01-17 17:42:12 -05:00
Mike Blumenkrantz 4bebbf08d9 use right object to do frame unadjust when setting theme 2014-01-17 17:41:50 -05:00
Mike Blumenkrantz 43a8bbcc30 don't always raise clients on maximize 2014-01-17 17:41:30 -05:00
Mike Blumenkrantz 999f217f8b set pass events on deleted clients 2014-01-17 11:36:35 -05:00
Mike Blumenkrantz dd34319a19 only deactivate all menus on mouse down if active menu is present
T798
2014-01-17 11:21:20 -05:00
Mike Blumenkrantz 41429d188b fix fullscreen client crash
T796
2014-01-17 10:55:06 -05:00
Mike Blumenkrantz fda2442fe5 enforce correct geometry for client->saved.{x,y}
this is for CLIENT geometry and does NOT include the zone x/y
2014-01-16 20:27:07 -05:00
Mike Blumenkrantz ddc89ad46b reorder some startup stuff to not fail when ecore events haven't been initialized
eta until wayland-fb bug reports start rolling in: -5 minutes
2014-01-16 20:09:45 -05:00
Mike Blumenkrantz a12768c465 quick screensaver blocking hack for non-X instances 2014-01-16 20:09:12 -05:00
Mike Blumenkrantz ab2e108e54 allow client movement on one axis when vertical/horizontal maximized
T741
2014-01-16 15:47:35 -05:00
Mike Blumenkrantz 1ad30b0705 show the compositor overlay window when nocomp mode ends 2014-01-16 12:09:51 -05:00
Mike Blumenkrantz 0c441dfa79 block shape cutting during nocomp 2014-01-16 12:09:29 -05:00
Mike Blumenkrantz 171ad26858 silence some gadcon popup error messages from ibar menu 2014-01-16 11:36:16 -05:00
Mike Blumenkrantz c50eeab227 don't do client stacking remember/event if not redirected 2014-01-16 11:36:16 -05:00
Mike Blumenkrantz a1cfeaf988 s/e_theme_comp_border/e_theme_comp_frame/g 2014-01-16 11:15:08 -05:00
Mike Blumenkrantz 84b9e9f3ec fix comp style selector signals 2014-01-16 10:53:44 -05:00
Mike Blumenkrantz 68201a8d99 remove old hacks to work around back efm icon eventarea 2014-01-16 10:37:32 -05:00
Carsten Haitzler 00cb30ac6e window icon dnd - make sure icon is properly positioned under mouse 2014-01-16 21:05:57 +09:00
Mike Blumenkrantz f12cdee3ca adjust frame icon drag geometry
T776
2014-01-15 23:11:12 -05:00
Mike Blumenkrantz 18c74cb382 add e_comp_object_frame_icon_geometry_get 2014-01-15 23:11:07 -05:00
Mike Blumenkrantz b0d53be21d fix remember geometry updating
T791
2014-01-15 22:54:08 -05:00
Mike Blumenkrantz 2410660dd1 use current client position for post frame set any time changes.pos is set
T790
2014-01-15 21:14:38 -05:00
Mike Blumenkrantz 17291018db override/placed gets set on compositor side 2014-01-15 21:04:10 -05:00
Mike Blumenkrantz 37b6238d33 fix comp style display 2014-01-15 20:39:51 -05:00
Mike Blumenkrantz 25e39aaa2b block deskmirror client visibility changes during drags 2014-01-15 18:52:57 -05:00
Mike Blumenkrantz a658e4c198 add e_drag_current_get 2014-01-15 18:52:57 -05:00
Mike Blumenkrantz fb18230b27 block comp queues during hide on shutdown 2014-01-15 18:52:57 -05:00
Mike Blumenkrantz 32fd2f1776 fix keyboard move/resize info display 2014-01-15 17:01:44 -05:00
Mike Blumenkrantz 30ef7b217a add e_deskmirror_mirror_copy 2014-01-15 17:01:41 -05:00
Mike Blumenkrantz a33fa26847 only set shape mask if client has been reparented 2014-01-15 14:03:50 -05:00
Mike Blumenkrantz 36e2b03376 X override clients are already placed 2014-01-15 13:51:54 -05:00