Commit Graph

93 Commits

Author SHA1 Message Date
Mike Blumenkrantz 7bda4fc790 ignore ignored clients when saving internal remembers
fix T1272
2014-05-29 10:09:06 -04:00
Mike Blumenkrantz 8686b756f5 Revert "this should fix some remember shutdown problem where ec->zone is NULL"
This reverts commit a28bc668c0.
2014-05-29 10:07:36 -04:00
Carsten Haitzler a28bc668c0 this should fix some remember shutdown problem where ec->zone is NULL
should fix T1272
2014-05-29 14:35:32 +09:00
Mike Blumenkrantz 53cee12648 only unhide client during remember if remembered desk is not the already-set desk
fix T1243
2014-05-10 17:18:09 -04:00
Mike Blumenkrantz 518466a9e4 unset client->hidden when applying remember vdesk
fix T1171
2014-05-07 21:36:49 -04:00
Mike Blumenkrantz 8df52a1f22 don't create remembers for ignored clients 2014-02-14 14:40:16 -05:00
Mike Blumenkrantz 8d71213839 e_client_name_get() -> e_client_util_name_get()
this should be inlined
2014-02-05 10:55:50 -05:00
Mike Blumenkrantz 9c5509b236 add versioning to remembers to prevent badness when new properties are added 2014-01-14 20:29:00 -05:00
Mike Blumenkrantz 56ae997976 deduplicate E_Remember edd
what if we weren't insane and didn't have the same exact code in 2 places?
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Mike Blumenkrantz e63a3d9600 better fix for border theme remembers that doesn't break all borders... 2013-07-26 13:42:29 +01:00
Mike Blumenkrantz 7b6c705fd2 bugfix: border style remembers
T248
2013-07-26 13:15:48 +01:00
Mike Blumenkrantz 30c908cdc0 fix e_remember removal crash which I cleverly added last year to create more work for myself in the future 2013-06-18 15:44:56 +01:00
Mike Blumenkrantz 2908af3845 fix border remember geometry apply 2013-06-10 08:00:32 +01:00
Carsten Haitzler a242745ee6 hmmm i see a rememebrs bug oh so waiting to happen.. delete a
rememeber but the idler stil has it in its list.
2013-05-11 11:11:13 +09:00
Mike Blumenkrantz 12ffdeb622 e's compositor now obeys _NET_WM_WINDOW_OPACITY as a normal atom in e_border
additionally:

* actions are now available for setting/changing window opacity

* window remembers can now remember window opacity

SVN revision: 84303
2013-02-22 09:33:13 +00:00
Mike Blumenkrantz 3851bd2ba3 fix stringshare use in e_remember
SVN revision: 83716
2013-02-07 08:08:21 +00:00
Mike Blumenkrantz 258e384ca9 clean up config for fileman window remembers, finishing a job that I started last month
SVN revision: 83711
2013-02-07 07:50:28 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Mike Blumenkrantz 9e207e6f92 conf2
SVN revision: 82078
2013-01-03 14:47:21 +00:00
Mike Blumenkrantz d7bc5ae149 e internal dialogs now correctly remember their maximization state and are now less prone to moving around crazily if e is restarted while they are maximized
SVN revision: 81472
2012-12-20 17:51:42 +00:00
Mike Blumenkrantz 6267cbd223 found a weird bug where sometimes window remembers get saved wrong...add some checks to rescue lost windows like these on startup and unb0rk the related remember
SVN revision: 81467
2012-12-20 15:37:01 +00:00
Mike Blumenkrantz 818881cc77 break after finding matching remember
SVN revision: 79288
2012-11-14 11:41:00 +00:00
Mike Blumenkrantz 1c629696ee e should now remember pre-maximize sizes for windows across restarts
SVN revision: 79287
2012-11-14 11:39:29 +00:00
Mike Blumenkrantz 641e1f92fc fix magic fail with remember idler
SVN revision: 77413
2012-10-04 09:13:48 +00:00
Mike Blumenkrantz 4f4e5c2daa remember window restore cb is now an idler so we don't get a giant block of time where we're restoring dialogs without the user being able to do anything
SVN revision: 77410
2012-10-04 08:31:35 +00:00
Mike Blumenkrantz bdd879e7fc add new flag for preventing a window from being opened on restart by its remember, apply this to both the desktop editor and shelf config dialogs
SVN revision: 77407
2012-10-04 08:11:51 +00:00
Stefan Schmidt 07d8a49d00 e17: Fix memory corruption in e_remember.
Inspired by Daniels ecore mem corruption patch I fixed our coccinelle support
scripts. This one was found by bad-alloc.cocci for example.

SVN revision: 77353
2012-10-03 08:45:40 +00:00
Sebastian Dransfeld 436323bf59 e: cleanup layer handling
It seems people put random numbers as layers, so it is better to define
available layer numbers.

This patch also puts popups below fullscreen windows, as it sucks to get
popups during presentations. A better solution is maybe to put popups
above fullscreen, but have a presentation mode to put fullscreen windows
above popups?

SVN revision: 77293
2012-10-02 08:54:35 +00:00
Mike Blumenkrantz 4a16ecf1c3 ARGHHH just spent an hour trynig to figure out why this was causing a crash! I hate whoever wrote this!!!!!
SVN revision: 75865
2012-08-30 10:18:33 +00:00
Mike Blumenkrantz 3c2e02bf8b prevent module init end event from getting canceled here
SVN revision: 75066
2012-08-10 06:55:41 +00:00
Mike Blumenkrantz b8f439175e new event for remember updates
SVN revision: 74833
2012-08-03 09:38:09 +00:00
Christopher Michael b9508baa0e E: Fix uninitialized variable warning
SVN revision: 74532
2012-07-28 15:00:49 +00:00
Mike Blumenkrantz adfa2b1db1 only find fileman action if necessary
SVN revision: 74493
2012-07-27 14:02:34 +00:00
Mike Blumenkrantz d69338abd4 I couldn't find a better way of preventing the shelf config dialog from being remembered so now I'm blocking it here so it can't break the world
SVN revision: 73284
2012-07-04 13:12:03 +00:00
Mike Blumenkrantz 15ff53e65d fix crash waiting to happen in e_remember
SVN revision: 73282
2012-07-04 12:49:08 +00:00
Mike Blumenkrantz 5d2f230a26 formatting
SVN revision: 73279
2012-07-04 12:32:24 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Vincent Torri 2fff3dd83a E17: fix mixed declarations and code
SVN revision: 70975
2012-05-13 17:45:44 +00:00
Eric Schuele 440c33eecf Allow users to remove border resistance on a per border basis.
SVN revision: 56745
2011-02-06 02:04:37 +00:00
Gustavo Sverzut Barbieri 6f2213cb25 convert init/shutdown to EINTERN, move some to _update().
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.

Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.



SVN revision: 54795
2010-11-22 15:21:32 +00:00
Sebastian Dransfeld 3c12d4daba __UNUSED__ last
SVN revision: 54193
2010-11-05 18:40:31 +00:00
Christopher Michael da4c295c9f Add unused.
SVN revision: 51322
2010-08-18 19:32:52 +00:00
Lucas De Marchi 6638a10e20 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Christopher Michael 9956b1d406 Respect internal_no_remember flag.
SVN revision: 45994
2010-02-08 22:48:21 +00:00
Christopher Michael 8dbdeb73da Check event handlers are valid before trying to delete them.
Use PATH_MAX.
Fix formatting/whitespace.



SVN revision: 44990
2010-01-08 20:17:07 +00:00
Hannes Janetzek 5205ef0ec3 remember windows after initialization
SVN revision: 42883
2009-10-05 03:05:50 +00:00
Hannes Janetzek 92476b7b85 fix segv in internal window restore code
SVN revision: 42690
2009-09-25 06:24:48 +00:00
Hannes Janetzek d165e9b349 forgotten parentheses
SVN revision: 42613
2009-09-22 00:08:54 +00:00