Mike Blumenkrantz [Mon, 27 Jan 2014 21:22:57 +0000 (16:22 -0500)]
add forgotten proto for e_widget_filepreview_clamp_video_set
Mike Blumenkrantz [Mon, 27 Jan 2014 21:06:25 +0000 (16:06 -0500)]
remove e_main idler api
this was pretty old/legacy and looked like it would fall over pretty easily. there's no users and I see no use for it, so it goes bye bye
removals: e_main_idler_before* api
Mike Blumenkrantz [Mon, 27 Jan 2014 17:29:15 +0000 (12:29 -0500)]
feature: show video resolution in filepreview widget
Mike Blumenkrantz [Mon, 27 Jan 2014 17:28:35 +0000 (12:28 -0500)]
feature: add fileman option to clamp video size for video previews
T102
Mike Blumenkrantz [Mon, 27 Jan 2014 16:25:24 +0000 (11:25 -0500)]
bugfix: use config_type to set parent profile when resetting bindings
I added this a long time ago to fix binding resets and forgot to add the support in to binding resets. genius.
T642
Mike Blumenkrantz [Mon, 27 Jan 2014 16:18:03 +0000 (11:18 -0500)]
only change to image cursor if not using e cursor
T851
Mike Blumenkrantz [Mon, 27 Jan 2014 16:12:56 +0000 (11:12 -0500)]
X cursor color support doesn't depend on config values
Mike Blumenkrantz [Mon, 27 Jan 2014 15:53:49 +0000 (10:53 -0500)]
ignore X configure events where override is not set
this handler is only for dealing with overrides, so if this flag isn't set we're not interested
Mike Blumenkrantz [Mon, 27 Jan 2014 15:21:06 +0000 (10:21 -0500)]
set all clients to NORMAL layer by default
I added a workaround for overrides a while ago when things were less good and then didn't take it out again when things became more good
T718
Mike Blumenkrantz [Mon, 27 Jan 2014 14:44:50 +0000 (09:44 -0500)]
only block fileman zone refocus if top client is not ignored
T854
Mike Blumenkrantz [Mon, 27 Jan 2014 14:43:35 +0000 (09:43 -0500)]
clean up client delete+unfocus
previously there were cases where client focus was not explicitly unset on delete, which resulted in expected client hooks not being called and minor inconveniences to occur
Mike Blumenkrantz [Mon, 27 Jan 2014 14:43:04 +0000 (09:43 -0500)]
make client util functions take NULL more gracefully
Mike Blumenkrantz [Mon, 27 Jan 2014 14:30:15 +0000 (09:30 -0500)]
ungrab comp input if either keyboard or mouse is set, not both
T858
Mike Blumenkrantz [Mon, 27 Jan 2014 14:23:40 +0000 (09:23 -0500)]
only hide/delete comp util objs if hiding flag is set
if an object is shown during the hide animation, this flag gets unset
Mike Blumenkrantz [Mon, 27 Jan 2014 14:21:31 +0000 (09:21 -0500)]
re-show pager popups if desk is changed during popup hide animation
Mike Blumenkrantz [Mon, 27 Jan 2014 13:49:09 +0000 (08:49 -0500)]
fix comp util adding of already-visible objects
this fixes pager popups which don't use the new style of popup adding
Mike Blumenkrantz [Mon, 27 Jan 2014 13:34:46 +0000 (08:34 -0500)]
set pager* config functions as EINTERN
these functions have the same name, so (un)loading them will result in symbol conflicts unless they are not exported
Daniel Juyung Seo [Mon, 27 Jan 2014 04:17:33 +0000 (13:17 +0900)]
bugfix: fix up/down key directory of slider.
Carsten Haitzler (Rasterman) [Sun, 26 Jan 2014 23:21:28 +0000 (08:21 +0900)]
bugfix: potential/maybe fix of e checking for itself on startup
unknown if this fixes the issue as i can't reproduce it.
Mike Blumenkrantz [Fri, 24 Jan 2014 23:42:52 +0000 (18:42 -0500)]
force show of X layer markers on startup
this is cosmetic and only quiets some console errors on startup
Mike Blumenkrantz [Fri, 24 Jan 2014 22:44:19 +0000 (17:44 -0500)]
set first_damage flag on overrides
some overrides, in very rare cases, seem to only send a single damage. rendering at this point doesn't seem to hurt anything, so I'll give it a shot
Mike Blumenkrantz [Fri, 24 Jan 2014 22:38:27 +0000 (17:38 -0500)]
unset new_client flag for override windows
this flag is used to block most cwm actions until after the client is past its first loop iteration. overrides, however, don't need to be blocked and will in fact break sometimes (fuck you gtk) as a result
it's worth noting that showing/hiding overrides extremely fast will still break the compositor a little in that I'm not going to render a single frame while constantly playing edje hide/show animations which are longer than the actual render. with animations disabled, however, rendering occurs as expected.
T831
Mike Blumenkrantz [Fri, 24 Jan 2014 22:36:47 +0000 (17:36 -0500)]
force pixmap refresh for overrides, also automatically set pixmap size
override windows don't get PRESENT notifications, apparently, but this can be shortcut anyway by just setting the size from the configure event
Mike Blumenkrantz [Fri, 24 Jan 2014 22:33:37 +0000 (17:33 -0500)]
only clear comp updates on resize if it isn't the first resize
Mike Blumenkrantz [Fri, 24 Jan 2014 22:28:32 +0000 (17:28 -0500)]
return 0 for client util window_get inlines if no pixmap available
Mike Blumenkrantz [Fri, 24 Jan 2014 21:20:21 +0000 (16:20 -0500)]
only send ICCCM move/resize if it isn't already going to be sent
Mike Blumenkrantz [Fri, 24 Jan 2014 21:07:33 +0000 (16:07 -0500)]
add define for making render debug messages easier to enable
Mike Blumenkrantz [Fri, 24 Jan 2014 21:01:01 +0000 (16:01 -0500)]
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
Mike Blumenkrantz [Fri, 24 Jan 2014 18:13:07 +0000 (13:13 -0500)]
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
Mike Blumenkrantz [Thu, 23 Jan 2014 22:05:34 +0000 (17:05 -0500)]
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
Mike Blumenkrantz [Thu, 23 Jan 2014 22:04:41 +0000 (17:04 -0500)]
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
Mike Blumenkrantz [Thu, 23 Jan 2014 22:03:56 +0000 (17:03 -0500)]
reset pointer type from config when updating size
this fixes switching between X/E cursors without restarting
Mike Blumenkrantz [Thu, 23 Jan 2014 21:17:34 +0000 (16:17 -0500)]
set X cursor color availability based on current compositor's root cursor
internal window cursors now display normally
T785
Mike Blumenkrantz [Thu, 23 Jan 2014 21:16:58 +0000 (16:16 -0500)]
set X root pointer after determining color availability
E cursor now shows normally on startup
Mike Blumenkrantz [Thu, 23 Jan 2014 18:26:35 +0000 (13:26 -0500)]
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
Mike Blumenkrantz [Thu, 23 Jan 2014 18:26:00 +0000 (13:26 -0500)]
force X stacking for re-managed clients on startup
this ensures that X stacking is the same as canvas stacking
Mike Blumenkrantz [Thu, 23 Jan 2014 18:25:25 +0000 (13:25 -0500)]
restack windows after unreparenting on shutdown
this preserves stacking order across restarts
Mike Blumenkrantz [Thu, 23 Jan 2014 18:24:46 +0000 (13:24 -0500)]
only set take_focus for X clients after main loop has been reached
Mike Blumenkrantz [Thu, 23 Jan 2014 18:23:41 +0000 (13:23 -0500)]
don't bother with client hide animations on shutdown/restart
Mike Blumenkrantz [Thu, 23 Jan 2014 18:20:40 +0000 (13:20 -0500)]
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
Mike Blumenkrantz [Thu, 23 Jan 2014 16:48:47 +0000 (11:48 -0500)]
create clients for stacking windows immediately, don't check for them later
Mike Blumenkrantz [Thu, 23 Jan 2014 16:48:18 +0000 (11:48 -0500)]
trivial use local window variable instead of helper function
Mike Blumenkrantz [Thu, 23 Jan 2014 16:42:22 +0000 (11:42 -0500)]
suuuuuper don't restack layer markers
Mike Blumenkrantz [Thu, 23 Jan 2014 15:30:34 +0000 (10:30 -0500)]
clean up shape input rect setting code
Mike Blumenkrantz [Thu, 23 Jan 2014 15:29:43 +0000 (10:29 -0500)]
I was right the first time...disable shape events on internal wins not input_only
Mike Blumenkrantz [Thu, 23 Jan 2014 15:28:38 +0000 (10:28 -0500)]
add shaped input window test of doom
Mike Blumenkrantz [Thu, 23 Jan 2014 14:12:10 +0000 (09:12 -0500)]
and fix window_move action by putting this line back
Mike Blumenkrantz [Thu, 23 Jan 2014 14:02:33 +0000 (09:02 -0500)]
Revert "comp: fix self feeding event loop with shape input events on override wins"
This reverts commit
05a7087c84a9ef627accc70b2c27841994147c76.
Mike Blumenkrantz [Thu, 23 Jan 2014 13:50:02 +0000 (08:50 -0500)]
don't double grab compositor input during client actions
T844
Mike Blumenkrantz [Thu, 23 Jan 2014 13:36:37 +0000 (08:36 -0500)]
Carsten Haitzler (Rasterman) [Thu, 23 Jan 2014 10:58:59 +0000 (19:58 +0900)]
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.
Mike Blumenkrantz [Thu, 23 Jan 2014 03:34:55 +0000 (22:34 -0500)]
ignore only non-override non-reparented clients when disabling composite events
Mike Blumenkrantz [Thu, 23 Jan 2014 03:34:01 +0000 (22:34 -0500)]
don't select shape events for input_only clients, do set for internal clients
Mike Blumenkrantz [Thu, 23 Jan 2014 03:32:53 +0000 (22:32 -0500)]
unset shape event selection on systray xembed base
Mike Blumenkrantz [Thu, 23 Jan 2014 03:11:47 +0000 (22:11 -0500)]
reset focus to last focused client upon closing an autoclose object
Mike Blumenkrantz [Thu, 23 Jan 2014 03:11:03 +0000 (22:11 -0500)]
add autoclose callback for syscon to null pointer
previously, repeated uses of syscon would cause a crash
Mike Blumenkrantz [Thu, 23 Jan 2014 02:44:25 +0000 (21:44 -0500)]
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
Mike Blumenkrantz [Thu, 23 Jan 2014 02:43:25 +0000 (21:43 -0500)]
break out X shape rect check loop into helper function
Mike Blumenkrantz [Thu, 23 Jan 2014 02:42:38 +0000 (21:42 -0500)]
only set shape export flag during shape update event for non-overrides
Mike Blumenkrantz [Thu, 23 Jan 2014 02:41:32 +0000 (21:41 -0500)]
allow toggling composite window events for override windows
Mike Blumenkrantz [Thu, 23 Jan 2014 02:40:47 +0000 (21:40 -0500)]
select shape events for override clients
Mike Blumenkrantz [Thu, 23 Jan 2014 02:39:42 +0000 (21:39 -0500)]
more commented out debug lines for comp object
Mike Blumenkrantz [Thu, 23 Jan 2014 02:37:49 +0000 (21:37 -0500)]
resize pending update tiler during size update
another tiler gets merged a few lines down and clipping is bad
Mike Blumenkrantz [Thu, 23 Jan 2014 02:36:47 +0000 (21:36 -0500)]
only set shape merge/export flags for non-override clients on resize
Mike Blumenkrantz [Thu, 23 Jan 2014 02:35:49 +0000 (21:35 -0500)]
disable shadows for override clients with alpha
Mike Blumenkrantz [Wed, 22 Jan 2014 22:16:10 +0000 (17:16 -0500)]
clean up comp object autoclosing when overwriting existing autoclose object
Mike Blumenkrantz [Wed, 22 Jan 2014 22:14:21 +0000 (17:14 -0500)]
set syscon popup layer before autoclose
Mike Blumenkrantz [Wed, 22 Jan 2014 22:06:26 +0000 (17:06 -0500)]
use regular comp grabs for menu
Mike Blumenkrantz [Wed, 22 Jan 2014 21:45:53 +0000 (16:45 -0500)]
fix compositor grab tracking
it's possible to have multiple/recursive grabs, so the number of grabs active needs to be tracked
T820
Mike Blumenkrantz [Wed, 22 Jan 2014 21:28:14 +0000 (16:28 -0500)]
use client fullscreen flag to determine current fullscreen state
T834
Mike Blumenkrantz [Wed, 22 Jan 2014 21:04:58 +0000 (16:04 -0500)]
bugfix: remove drop handlers from responsive hash on deletion
Mike Blumenkrantz [Wed, 22 Jan 2014 20:59:30 +0000 (15:59 -0500)]
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
Mike Blumenkrantz [Wed, 22 Jan 2014 18:40:24 +0000 (13:40 -0500)]
bugfix: multiple drop handlers using same window no longer overwrite each other
Mike Blumenkrantz [Wed, 22 Jan 2014 16:11:07 +0000 (11:11 -0500)]
shadow checks for overrides only need to check for shaped and comp match
T833
Mike Blumenkrantz [Tue, 21 Jan 2014 23:50:00 +0000 (18:50 -0500)]
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
Carsten Haitzler (Rasterman) [Wed, 22 Jan 2014 09:31:49 +0000 (18:31 +0900)]
efm - emit signal to icon when rename starts/ends
this, along with theme updates in elm should fix T799
Carsten Haitzler (Rasterman) [Wed, 22 Jan 2014 08:50:19 +0000 (17:50 +0900)]
fix connman check by not failing al the time on owner check
fixes T804
Carsten Haitzler (Rasterman) [Wed, 22 Jan 2014 03:27:00 +0000 (12:27 +0900)]
shot - check zone null before using
Mike Blumenkrantz [Tue, 21 Jan 2014 22:26:21 +0000 (17:26 -0500)]
emit backlight changed event for X backlight events
Mike Blumenkrantz [Tue, 21 Jan 2014 22:08:49 +0000 (17:08 -0500)]
bugfix: backlight double comparison now less likely to fail
Mike Blumenkrantz [Tue, 21 Jan 2014 22:07:21 +0000 (17:07 -0500)]
do Xrandr backlight updates in place upon recieving events instead of looping all outputs
Mike Blumenkrantz [Tue, 21 Jan 2014 22:06:27 +0000 (17:06 -0500)]
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
Mike Blumenkrantz [Tue, 21 Jan 2014 21:48:09 +0000 (16:48 -0500)]
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
Mike Blumenkrantz [Tue, 21 Jan 2014 14:31:30 +0000 (09:31 -0500)]
cleanup frame icon upon failing to use it
Carsten Haitzler (Rasterman) [Tue, 21 Jan 2014 12:30:17 +0000 (21:30 +0900)]
make example/syntac for app action useful.
Carsten Haitzler (Rasterman) [Tue, 21 Jan 2014 12:21:13 +0000 (21:21 +0900)]
e shot - allow params to share/save now (also specify quality and screen)
Mike Blumenkrantz [Tue, 21 Jan 2014 02:50:05 +0000 (21:50 -0500)]
backlight update loop cleanups
* do null check before adding to device list
* use name length from ecore_x_randr_output_name_get()
Mike Blumenkrantz [Tue, 21 Jan 2014 02:33:11 +0000 (21:33 -0500)]
fix fullscreen client place/adjust
Mike Blumenkrantz [Tue, 21 Jan 2014 02:30:38 +0000 (21:30 -0500)]
only call ecore_x_randr_output_backlight_available() once in backlight
Mike Blumenkrantz [Tue, 21 Jan 2014 02:05:51 +0000 (21:05 -0500)]
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
Mike Blumenkrantz [Tue, 21 Jan 2014 00:03:50 +0000 (19:03 -0500)]
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"
Mike Blumenkrantz [Tue, 21 Jan 2014 00:01:04 +0000 (19:01 -0500)]
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
Mike Blumenkrantz [Mon, 20 Jan 2014 23:58:53 +0000 (18:58 -0500)]
remove the black frame render fallback
I think the timing on resizes is perfect now, so we should never need to see this
Mike Blumenkrantz [Mon, 20 Jan 2014 23:57:35 +0000 (18:57 -0500)]
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
Mike Blumenkrantz [Mon, 20 Jan 2014 23:56:37 +0000 (18:56 -0500)]
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
Mike Blumenkrantz [Mon, 20 Jan 2014 22:34:12 +0000 (17:34 -0500)]
check for pending render updates before doing a black frame
Mike Blumenkrantz [Mon, 20 Jan 2014 22:28:16 +0000 (17:28 -0500)]
remove unnecessary damage from resize
Mike Blumenkrantz [Mon, 20 Jan 2014 22:27:31 +0000 (17:27 -0500)]
fix shading animations
yeeeep it's that simple. should probably move these to edje at some point
Mike Blumenkrantz [Mon, 20 Jan 2014 21:58:29 +0000 (16:58 -0500)]
unify and improve winlist directional focusing
Mike Blumenkrantz [Mon, 20 Jan 2014 21:43:47 +0000 (16:43 -0500)]
attempt to revert focus when iconifying a client