Commit Graph

17808 Commits

Author SHA1 Message Date
Mike Blumenkrantz 2c41e314d0 check sticky flag when setting comp hidden on desk set
seriously guys, I fixed sticky windows this time. seriously.
2014-01-27 21:49:34 -05:00
Mike Blumenkrantz 55bc44c9b8 feature: main idlers now freeze during screensaver to conserve power 2014-01-27 21:44:51 -05:00
Mike Blumenkrantz cf267da573 also fix unsticking clients
e_client_desk_set() will sort out the hidden flag here automatically, so unsetting it is always the better choice
2014-01-27 21:44:05 -05:00
Mike Blumenkrantz 35aaabc491 fix toggling sticky state on clients
previously this would break windows if it was set based on persisting X hints
2014-01-27 21:35:39 -05:00
Mike Blumenkrantz 3dd0ea5189 break out client urgency setting into separate api function
this unclutters the client idler a little and also makes it easier to correctly set the urgency hint for clients
2014-01-27 21:35:39 -05:00
Mike Blumenkrantz f54d669f43 add forgotten proto for e_widget_filepreview_clamp_video_set 2014-01-27 21:35:39 -05:00
Mike Blumenkrantz 7e0efcc508 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
2014-01-27 16:15:07 -05:00
Mike Blumenkrantz 927300053d feature: show video resolution in filepreview widget 2014-01-27 12:29:15 -05:00
Mike Blumenkrantz bc3e1fd94f feature: add fileman option to clamp video size for video previews
T102
2014-01-27 12:28:35 -05:00
Mike Blumenkrantz 3aa7a32618 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
2014-01-27 11:25:24 -05:00
Mike Blumenkrantz 6c79b3ea87 only change to image cursor if not using e cursor
T851
2014-01-27 11:18:03 -05:00
Mike Blumenkrantz 8aafbfe6ce X cursor color support doesn't depend on config values 2014-01-27 11:12:56 -05:00
Mike Blumenkrantz 9b2372a798 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
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz 7a8a06ec7e 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
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz 83a009c685 only block fileman zone refocus if top client is not ignored
T854
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz cd2cde6477 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
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz a466b92c8d make client util functions take NULL more gracefully 2014-01-27 10:58:41 -05:00
Mike Blumenkrantz b6f46fb622 ungrab comp input if either keyboard or mouse is set, not both
T858
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz de58ff7ecd only hide/delete comp util objs if hiding flag is set
if an object is shown during the hide animation, this flag gets unset
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz ec74eaa30c re-show pager popups if desk is changed during popup hide animation 2014-01-27 10:58:40 -05:00
Mike Blumenkrantz 6effdae157 fix comp util adding of already-visible objects
this fixes pager popups which don't use the new style of popup adding
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz bb8833a526 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
2014-01-27 10:58:40 -05:00
Daniel Juyung Seo bbe9868c49 bugfix: fix up/down key directory of slider. 2014-01-27 13:18:04 +09:00
Carsten Haitzler 04265d3b9f bugfix: potential/maybe fix of e checking for itself on startup
unknown if this fixes the issue as i can't reproduce it.
2014-01-27 08:21:28 +09:00
Mike Blumenkrantz fa33846fe4 force show of X layer markers on startup
this is cosmetic and only quiets some console errors on startup
2014-01-24 18:42:52 -05:00
Mike Blumenkrantz 99dca3c944 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
2014-01-24 17:44:19 -05:00
Mike Blumenkrantz db31ccc5de 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
2014-01-24 17:38:27 -05:00
Mike Blumenkrantz 6044fd8a78 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
2014-01-24 17:36:47 -05:00
Mike Blumenkrantz 09e15c49ac only clear comp updates on resize if it isn't the first resize 2014-01-24 17:33:37 -05:00
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