Commit Graph

130 Commits

Author SHA1 Message Date
Carsten Haitzler 8489a96a23 rememebers - make relative to zone useful geom for diff screen setup
if on some screens you have shelves eating up useful geometry then
window position can be off/wrong. this fixes this to use the zone
useful geom as the baseline.

@fix
2020-05-04 15:47:35 +01:00
Carsten Haitzler 8157253032 e - rememebr - fix resolution change re-shuffle for remembers
this kind of broke along the way. re-fix it to work again.

@fix
2020-04-25 00:16:45 +01:00
Carsten Haitzler b9d166f804 use safer ecore_exe flags that close stdin/out/err if possible
this is specifically needed for wayland but is relevant to x with
startx too ... dont let processes that e runs like apps inherit
stdin/out/err as it may be a tty and thus allow apps to do nasty
things with that tty.

@fix
2017-09-23 23:10:35 +09:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Mike Blumenkrantz 528bad7252 block updating window remembers while applying them
some attrs (e.g., desk setting) change the position/size of a window before
another attr is set, changing the original value

fix T5295
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz e4b6494936 make e_remember_del() work with sr remembers 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 8952eb1add set E_Client->remember before calling e_remember_update()
fix case where new remember was created but not immediately updated,
resulting in a blank remember which would be applied and break windows
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 964640d9ae never return remembers which apply uuid if not looking for sr remembers
avoid collision between sr remembers and user remembers
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz a8e7ca98cc allow new_clients to update their remembers
this might cause a little more event spam but it's pretty harmless
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz 743a57f572 watch UNIGNORE hook for hooking window remembers
ref d9cc4f887828b620cd114e85b89589cbe929ea50
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz e4e8db74d9 do not return sr window remembers if not looking for sr remembers 2017-01-13 11:35:20 -05:00
Michaël Bouchaud (yoz) 6e8070d226 e_remember: add e_client sound volume support
@features
2016-10-27 21:54:40 +02:00
Mike Blumenkrantz f434891137 redo session recovery handling to use separate E_Remember
I tried to be too clever with the initial implementation of this and it was
a lot more complex and nonfunctional than expected
2016-10-27 11:22:27 -04:00
Mike Blumenkrantz 6b7631d204 Revert "update secondary remembers when a session recovery remember is updated"
This reverts commit 10eb06b377.
2016-10-27 10:34:27 -04:00
Mike Blumenkrantz b640872edf Revert "only find the session recovery remember if ec->remember is not it"
This reverts commit 8e61889336.
2016-10-27 10:34:14 -04:00
Mike Blumenkrantz 8e61889336 only find the session recovery remember if ec->remember is not it
ref T4512
2016-10-20 12:13:22 -04:00
Mike Blumenkrantz c5266515ba set need_maximize flag on remembered client when applying maximize
causes maximize to be applied
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 10eb06b377 update secondary remembers when a session recovery remember is updated
the session recovery remember may block updates for the user-created
remember, creating continuity issues when a new instance is launched
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz e8e6ada2e1 prevent E_Remember->used_count from going negative 2016-06-20 16:04:10 -04:00
Mike Blumenkrantz c286fe48c0 prune uuid remembers on clean startup
ensure that stale sessions are destroyed regularly
2016-05-06 14:35:16 -04:00
Mike Blumenkrantz ef1772b8cb implement wl client session recovery
another small feature patch brought to you by insomnia

 #SamsungFeatures
2016-05-05 15:47:55 -04:00
Carsten Haitzler e75af1536d Revert "e bg: remove debug printf"
This reverts commit 77c2a2a3d1.

oops - i forgot i had all this other debugging there
2016-02-06 10:29:04 +09:00
Carsten Haitzler 77c2a2a3d1 e bg: remove debug printf 2016-02-06 10:27:09 +09:00
Mike Blumenkrantz ea8e88b592 do not apply max client geometry restriction if max geometry is not set
default values for these is set to a very high value, but it's possible
(and guaranteed) for some clients to set them to a value <= 0, which results
in a broken window
2015-11-24 17:34:03 -05:00
Mike Blumenkrantz 409bc58131 use ref macros to silence more printfs in e_remember 2015-07-06 14:29:30 -04:00
Stefan Schmidt 2d3fae79a0 e_remember: Update UUID store properties from e_remember
The e_remember infrastructure already hooks into all needed places to keep
a record of the given properties for an e_client. We use this to update the
UUID store.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2015-06-29 17:02:03 +02:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Carsten Haitzler 6b64e40122 e - e client, comp win etc. reffing fix ... part 2
this follows 56cabf59c6 then
4e5521b4d8 where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
2015-06-15 20:27:25 +09:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 736b6e587f remove E_Remember->prop.head
head is always 0
2015-03-20 15:03:45 -04:00
Mike Blumenkrantz c727545bb2 remove E_Comp->num
num is always 0
2015-03-20 14:59:19 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz ba7c1ac49c remove E_Zone->comp member 2015-03-13 17:44:24 -04:00
Mike Blumenkrantz 1fe1c94245 comp canvas functions no longer require an E_Comp param 2015-03-13 16:07:08 -04:00
Mike Blumenkrantz 922af2c52f remove e_comp_list(), deprecate all related functions for pending removal
there is only one E_Comp which can now be accessed by the e_comp global.

if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable

pass -Wno-deprecated-declarations to ignore these warnings during build
2015-01-05 15:39:15 -05:00
Mike Blumenkrantz 066bdba3fa apply client size based on correct remember value, only apply if value != 0
ref T999
2014-12-08 17:06:13 -05:00
Mike Blumenkrantz 9bb38950bb remembering size on a window should also remember maximize state 2014-12-08 17:05:58 -05:00
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