Commit Graph

8737 Commits

Author SHA1 Message Date
Mike Blumenkrantz f3587f67f2 remove conf2 the rest of the way... 2014-02-04 09:41:07 -05:00
Mike Blumenkrantz 3067f600ee Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses"
This reverts commit 231b780996.

despite appearances, this functionality isn't solely for efficiency, and as such I have no plans for it to be removed.
2014-02-03 19:16:11 -05:00
Carsten Haitzler 231b780996 e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses
so since this e main idler freeze/thaw i've noticed several times, i
come back to my machine after screen-off time period, i wke it up with
a mouse wiggle or keyboard press and try run terminology - no windwo
appears. i can run it all i want - it never shows up but the processes
are there. i've seen it happen to sylpheed where its fetch window
doesn't appear. i've had myserious menu edje objects on the top-left
with only a single item with no bg. i've had e even unable to restart
on ctrl+alt+end.

so i disabled the idler freeze/thaw as i suspected this is what the
root cause is, and sinc ethen the above problems stopped manifesting.
i can only conclude it's a deep and nasty bi-product of stopping the e
main idler, so don't do it. :) better be a bit less efficient than
buggy. either way setting manual rendering and dropping the animator
framerate should do almost all the things needed anyway.
2014-02-04 08:08:20 +09:00
Mike Blumenkrantz de9dde6daf remember comp object dirty state and update when necessary
normal clients rely upon the guarantee that they will receive another resize on next render when size updates occur before visibility happens, but overrides will never receive another resize since they always size accurately. by remembering that the state was previously considered dirty, render updates which occur before visibility are no longer lost until the next damage/resize occurs

tl;dr: your menus show up again
2014-02-03 14:00:12 -05:00
Mike Blumenkrantz 20c09a3891 don't check client zone during idler
this happens on every move and resize, no need to check it a third time
2014-02-03 13:58:57 -05:00
Mike Blumenkrantz f4de16df08 don't change zone after moving client
this happens automatically, and with more accuracy, later on
2014-02-03 13:57:45 -05:00
Mike Blumenkrantz 7efa7b3f27 don't overwrite existing coords on creation of override client
overrides come with their own placement for zones
2014-02-03 13:55:38 -05:00
Mike Blumenkrantz 3c436b5c09 bugfix: initial client positioning with multiple monitors improved
this was added a while ago to fix positioning of windows that wanted to start centered but couldn't accurately calculate xinerama screen sizes, resulting in windows getting centered across the screen split. it ended up being a bit too aggressive, however.
2014-02-03 13:03:01 -05:00
Mike Blumenkrantz d293b368b8 bugfix: screen limits policy no longer breaks X client positioning
this has been broken since it was added, and I strongly regret allowing it to be added.
2014-02-03 12:52:35 -05:00
Mike Blumenkrantz ad8b4e6d4d track main loop edje freeze state 2014-02-03 11:58:02 -05:00
Mike Blumenkrantz ebeffa1a91 bugfix: hide drag icons after dnd operation ends
T797
2014-02-03 11:14:04 -05:00
Mike Blumenkrantz 21019e952f Revert "add default comp match for geany autocompete window"
This reverts commit 5c5a89bfec.
2014-01-30 19:15:47 -05:00
Carsten Haitzler 2de63a2f0b comp matches - add menu and dnd types in list 2014-01-31 08:50:37 +09:00
Mike Blumenkrantz 9409f435a3 e_util_glob functions now automatch when pointers are the same 2014-01-30 13:11:00 -05:00
Mike Blumenkrantz d3468dd920 feature: ACTIVATE_EXCLUDE window active hint policy
this option causes window activation requests to only activate a window if it is on a currently visible virtual desktop, otherwise it will be set as urgent. I recall that things may have worked this way long ago...
2014-01-30 12:45:49 -05:00
Mike Blumenkrantz 3125c3a674 fix more misuses of comp animating flag
this should even things out permanently here and ensure things get deleted when they should

related: T879
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 4bae09712d internal windows are NOT re_manage
setting re_manage breaks visibility animations on first show
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 752c220482 redo X first_damage logic
the main idea here is to not DRAW at the time of the first damage to avoid overdraw, but ignoring the fact that the region is ready to be drawn can be problematic when the drawing eventually occurs. best choice here is to keep the region but not the render update
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 340e02efb5 ignore non-internal override clients when stacking
this fixes the case where clients will briefly escape normal/expected stacking on startup if an override is visible
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 53e477a7d0 simplify layer marker stacking setup 2014-01-30 12:12:01 -05:00
Mike Blumenkrantz b6cbacc77e ignore re_manage clients for X object creation events 2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 5c5a89bfec add default comp match for geany autocompete window
given that we're compositing-only now, we should be adding more of these for common apps to improve the user experience on a base configuration
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz d1fb844db0 bugfix: comp matching correctly edits in place and doesn't crash 2014-01-30 12:12:01 -05:00
Mike Blumenkrantz cd6fcead3e add object configuration to comp matches 2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 1d22c527a3 force comp reshadow after pixmap fetch succeeds, not during setup
reshadowing earlier than this makes it very likely that client attributes have not been fetched, meaning that the match will fall through to a default type match instead of using the correct one
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 49cfe28719 use object list for comp matching internal objects 2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 2ef7f0f760 rename tabs in comp match dialog to be more descriptive 2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 628696f2af use E_Window_Type for comp match dialog instead of Ecore_X_Window_Type 2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 4bcc43282e use E_Window_Type for comp matches instead of Ecore_X_Window_Type 2014-01-30 12:12:00 -05:00
Mike Blumenkrantz f14aa06c7c remove default comp match for Background_Window
this no longer exists
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 37fd470632 remove default comp match for Init_Window
this no longer exists
2014-01-30 12:12:00 -05:00
Daniel Kolesa 811c57cfaf enlightenment: fix menu placement 2014-01-30 12:17:54 +00:00
Mike Blumenkrantz 8e6cd13766 fix some misuses of comp animating flag
T879
2014-01-30 06:59:11 -05:00
Mike Blumenkrantz 5a2aab8457 reject stopping comp object effect if wrong end_cb is passed 2014-01-30 06:55:14 -05:00
Mike Blumenkrantz 9d3f47f4f6 ignore deleted clients on comp object add event 2014-01-29 21:12:07 -05:00
Mike Blumenkrantz db01319aee ref client itself during comp object add event 2014-01-29 21:12:07 -05:00
Mike Blumenkrantz 7ef4340c3f revert 83397e1bde 2014-01-29 21:12:07 -05:00
Mike Blumenkrantz 10ef8170d4 remove iconify files 2014-01-29 21:12:07 -05:00
Carsten Haitzler b7515a0958 null out damage on free in _e_comp_x_hook_client_del 2014-01-30 11:02:44 +09:00
Carsten Haitzler 83397e1bde fix segv where comp_data is null but still accessed
it seems i have an override-redirect window just off the bottom-right
of my screen - i think its the scim input panel status. what happens
is it is "managed" by comp but then deleted (_e_comp_x_hook_client_del
called), BUT _e_comp_x_object_add is called with a deferred event for
that client to add it again (likely this is a race) which finds he
client in a state of not having comp_data as the E_FREE in
_e_comp_x_hook_client_del() frees it and sets it to NULL. move the
comp_data free to the actual client free (which is the last time a
client is valid at all) solves this.
2014-01-30 08:55:28 +09:00
Mike Blumenkrantz 9b36b9b78c remove comp iconify hacks (and e_iconify api), expand comp object effect api
instead of adding specific handling which will work (sometimes) in one specific case, expand already-existing api to provide the needed functionality for iconify animations. now on emitting any signal to a comp object, optional glob-able effect providers can be hooked and prioritized to add effect animations

also use animating flags now when applying an object effect

a base effect is provided in elementary, but now each module which wants to hook iconify animations (or other events) can do so in the theme and have different animations with their module
2014-01-29 13:36:42 -05:00
Mike Blumenkrantz e5bbb98918 don't reset focus to iconified clients on autoclose delete 2014-01-29 13:36:42 -05:00
Mike Blumenkrantz c4afece1a3 revert 8b62039e6a, use existing layer_block flag 2014-01-29 13:36:41 -05:00
Carsten Haitzler 5bfbc3f5f9 iconify - fix priority handling for iconify provider 2014-01-29 23:09:19 +09:00
Carsten Haitzler 8b62039e6a support temporary layer changes for iconify anim purposes 2014-01-29 22:42:54 +09:00
Carsten Haitzler 1ede2a5632 iconify provider - the ability to provide geometry for src/dst of iconify
ibox now uses this as an initial test. there are teething problems:

1. unknown location for new icon (guess that its on right)
2. stacking - the animation is at the stacking layer of the comp obj
   ... this probably needs a way for the comp shobj to request a
   temporary stacking change until anim done
2014-01-29 22:42:54 +09:00
Mike Blumenkrantz 1efb80bddb set manual render and increase ecore frametime during screensaver 2014-01-28 21:13:55 -05:00
Mike Blumenkrantz 82dd3443ea always thaw edje when freezing main idlers
this prevents edje from being stuck in the frozen state upon wakeup
2014-01-28 20:45:43 -05:00
Mike Blumenkrantz 0ff2a408d3 force stacking for all new X clients during add event
this fixes a race condition when windows open simultaneously and then are stacked under each other: the previous result was that they would end up hanging out at the top of the window stack (above all windows) until another window was raised above them. now they stack as expected
2014-01-28 20:43:19 -05:00
Mike Blumenkrantz 576f0bab2d reject successive attempts to add evas callbacks in X compositor 2014-01-28 20:43:03 -05:00