Commit Graph

90 Commits

Author SHA1 Message Date
Elyes HAOUAS cd5f79c814 tree-wide: get rid of trailing whitespace (part 4)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11823
2020-05-14 13:49:15 +02:00
Carsten Haitzler a999bdcdf3 e sys - dont faade backlight on logout or exit 2020-04-29 22:11:49 +01:00
Carsten Haitzler e66af58795 e - restarts - if theme supports make it totally seamless
if theme doesn't support, fade-in will not happen (it'll just appear),
but if it does... e will fade to black for a restart, then fade back
in nice and cleanly.
2020-04-19 23:14:35 +01:00
Carsten Haitzler 5ce778194d e_sys.c - remove old snprintf of enlightenment_sys cmd not used now 2020-01-16 20:21:20 +00:00
Carsten Haitzler a43869cdc0 e_sys -> move from enlightenment_sys to e_system 2020-01-15 11:33:55 +00:00
Carsten Haitzler 34a427e2a1 e init splash - remove almost all status strings as they are not needed
since now we basically bring everything up THEN start rendering once
we hit the main loop there is no point having init splash strings
anymore. it is no longer an external process. until e's compositor is
up you will see nothing anyway. if it is up these days we've finished
init as a smoothing out of startup has move everything before main
loop starts. so this code is all kind of useless, thus remove. cleanup
code.
2019-10-14 22:59:37 +01:00
Carsten Haitzler 64ffda59ec e sys - if decklock on suspend is set and systemd says we suspend, lock
if systemd suspended and we hand't triggered it, and desklock on
suspend is enabled, then lock there and then because we need to. of
course you need systemd/logind... but hey... i guess without you live
with less... :) fixes logic hole

@fix
2019-08-08 09:56:04 +01:00
Carsten Haitzler 1bdadff6c3 efm - make enlightenment_fm and eeze_scanner die with parent
be both explicit in killing it off on shutdown as well as using die
with parent flags as well. this seems ot have fixed or reduced the
"system cant shut down some job still alive in some session" problem.

@fix
2019-06-05 17:31:15 +01:00
Carsten Haitzler 9432836d30 e wl halt/reboot/logout restart fix - dont restart
so when e was e.g. shutting down the system it'd sometimes - or all
the time, restart and not shut down. this fixes that. e was being sent
a HUP signal while doing this causing e to go "ooh HUP - i shall
restart" which si what daemons without a controlling tty do with
signals commonly. this isn't what we want from e though in this case,
so delay itby a bit and ignore if we're in the process of logging
out/halting etc.

this really only affects wayland mode.

@fix
2019-06-04 11:58:46 +01:00
Carsten Haitzler 5a1e9a995c e laptop lid fixes to bring back behavior and trim down glitches
so i spent a few days lopening and closing the lids of a few laptops,
plugging and unplugging external screens in, plugging and unplugging
ac power and doing lots of combinations of these. this led to a whole
slew of interrealted issues that were pretty hard to detangle into
just single issues, so this is all one blob.

this fixes:

1. if a lid close gets a monitor unplug from x or e's randr wants to
unplug then this lead to slow unsuspend or lid open times as e was
reconfirguring the screens entireluy on lid open. dont do that. just
keep things as is, unless we have an external display, then reconfigure.

2. we had 2 systems monitoring for a wake. a poller and a systemd
event. this was redundant and lead to interesting things in the debug
output, so clean that up and on systemd systsems use the systemd wake
events

3. some systems dont shut down their screens on lid close, so they
stay open until screensaver timeouts kick in. bad. so also force the
screen to go off on lid close (if the lid screen is the only one we
have).

4. x seems to have a bug where if you force dpms off etc. to turn the
screen on, it still thinks it's of and wont dpms off again after that
until you eother give some input to have the wake event make the dpms
system in x think its now time to go on, or you toggle dpms on and
off, so i found toggling tricks x into thinking the right thing.

this makes some debugging also be consistent with printfs.

all in all i have a pretty well supported laptop doing swimmingly with
e and a not so well designed (acpi dsdt - missing many events like
acpi battery ones, ac power change acpi events, missing logic to power
off a closed screen in firmware or hardware and leaving it to sw...
not this laptop has a tocuh panel and extra fun points awarded since
the touch panel doesnt shut off on lid close... AND it reprots touch
events when it closes  as it touches the keys/case... hooray! that has
another work-around local to my system, as efl has no mechanism to do
this).

@fix
2018-05-18 21:45:20 +09:00
Carsten Haitzler 0fada40917 smart suspend - honor suspend on ac or not flag as it should
so if you closed the lid ANd didn't have external screens ANd had ac
plugged in ... e would suspend even if youdidn't have "suspend on ac"
checked in blanking dialog. respect this and handle it properly.

@fix

side note... i've notced acpid no longer reporting lid events on one
of my systems. this is very sucky. you now have to open
/dev/input/event2 (this may vary from device to device) to get lid
events... it's an input device. this means elput needs to start doing
this as we cant get power button or lid events anymore .... and we may
have to do this for x11 too.
2017-10-18 13:33:47 +09:00
Carsten Haitzler b60ff200e9 e sys - handle phantom wakeups from sleep on some devices
this laptop wakes from suspend if you plug or unplug it while
suspended. this leads to bad things. fix nthis by checking lid state
and resuspending if this happens.

@fix
2017-10-07 20:28:24 +09:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Carsten Haitzler 014b74bc74 e sys - add listening to prepare for shutdown/suspend from systemd
listen to the prepare and post signals... just print right now as not
really used... but knowing and logging is good.
2017-08-21 23:15:04 +09:00
Mike Blumenkrantz 5610c4cad0 locally store the backlight level when suspending/hibernating
ensure that the exact level which was set before suspend/hibernate is reapplied

fix T1420
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz c895a7fae5 freeze edje during dpms 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 031d64c2ec Revert "Revert "move x11 suspend window grabbing to comp_x, ungrab on resume""
This reverts commit e90f63b25b.

move back to comp_x, put back grab on resume.

input is still broken with this commit, do not use.
2017-07-11 15:03:55 -04:00
Carsten Haitzler 3fc786413c e - fix desklock + grabs with hiding pointer on screen powerdown/up 2017-07-11 16:57:14 +09:00
Carsten Haitzler e90f63b25b Revert "move x11 suspend window grabbing to comp_x, ungrab on resume"
This reverts commit 7bc179da5a.

this now totally broke the glitch fix and it now animates in reverse
on suspend and does nothng on resume... testing might be a good idea
beforehand...
2017-07-11 09:00:05 +09:00
Mike Blumenkrantz 7bc179da5a move x11 suspend window grabbing to comp_x, ungrab on resume
ref d0c5fb465b
2017-07-10 09:49:34 -04:00
Carsten Haitzler d0c5fb465b support connected standby (non-s3 sleep/freeze) that new lpatops sport
this requires we have to force dpms on to reduce power. to avoid
glitches with the pointer staying around in x we need to support
suspending it too so it hides cleanly like the screen dims or undims.
also use the new powersave freeze mode to do this.

note that i've tested this on s3 supporting laptops and non-s3 and it
"works for me". it may require more testing and work. there is more to
power saving than just this as well but for now that's out of scope as
you have to mess with linux device autosuspend timeouts and a bunch
more (wowlan ... blahblah).

i need to find the source of the intermittent wakeups too in e. there
is a long lived timeout (8-ish seconds?) but more specifically e keeps
waking up from fd's and then reading /sys stuff about battery - some
event is causing us to do this... maybe to suspend this or make
battery checking very rare when in freeze mode (or screen off) etc.

so this fixes some glitches as well as supports a new way of sleeping
"alive" when hardware literally doesnt support normal s3 sleep... so
kind of a fix with a feature.
2017-07-10 10:18:50 +09:00
Mike Blumenkrantz 1f2b95ae4f use FOREACH_SAFE when walking client list during logout
internal clients can be instantly destroyed and removed from the list
2017-06-02 15:46:26 -04:00
Mike Blumenkrantz 342bbee434 re-set backlight level when resuming from suspend
on some hw/systems, suspend sets brightness to maximum
2017-04-07 16:07:25 -04:00
Marcel Hollerbach 57b8f3e093 e_sys: bring back system actions after resume was called
when resume is called we are just notifing the theme that e is back
there. There is no E_Sys_Action for it, so its enough for now to just
call the backlight to fade back in and emit the signal to the theme.

This should fix e blocking sys actions
2017-02-21 17:01:13 +01:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Carsten Haitzler 1f87c6d805 e sys - make timeout for sys loging 3 instead of 15 seconds
this shortens logout timeout for "apps still hanging around" to 3
seconds meaning that within 3 seconds something should complain that
logout is taking too long so you know your logout request actually
went through... and any app not responding in 3 seconds is likely
"bad" (swapped out, hung on blocking i/o or something or doing a "are
you sure" dialog thing).
2017-01-30 12:57:23 +09:00
Carsten Haitzler 8b9fee916e e sys - remove system action dialogs as comp actually does this
so we have some dialog saying we're suspending/shutting down etc. etc.
and this is really pointless as comp already does a screen-wide effect
like fading out etc. and these dialogs were added long before we had a
compositor. there isn't much point anymore so remove them and let comp
deal with it.
2017-01-02 09:51:57 +09:00
Mike Blumenkrantz 41b861214a block remembers of e_sys windows
fix T2879
2016-10-28 10:45:22 -04:00
Mike Blumenkrantz eb58e2ca70 remove eldbus init/shutdown calls from the codebase
this is handled by e_msgbus
2016-03-11 17:19:32 -05:00
Mike Blumenkrantz d631bef3eb set 'stopping' during logout action
this flag is used in some cases to determine whether to behave as
though enlightenment is stopping. in the case of logout, we are stopping.
2015-08-19 14:35:16 -04: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
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 58447e9508 completely remove E_Manager
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -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 e330067acb remove E_Comp from object/about dialogs 2015-03-18 11:48:46 -04:00
Mike Blumenkrantz d00127c2f5 e_comp functions no longer require E_Comp param 2015-03-13 16:48:41 -04:00
Mike Blumenkrantz b63e490a33 remove e_util_comp_current_get() usage 2015-03-13 16:28:08 -04:00
Mike Blumenkrantz 91edd1ce2f E_CLIENT_*FOREACH() macros no longer take a E_Comp param 2015-03-13 15:45:07 -04:00
Carsten Haitzler 790183d74a e - randr - laptop lids - handle plug/unplug and well as lid open/close
this fixes some issues in the new randr2 code that made it not work
right with plug/unplug and lid close/open. now it does work right and
plugging/unplugging displays is seamless (if your driver does not give
plug/unplug events bind a key to update screen config acvtion and e
will figure it out when you hit the key).
2015-02-09 18:22:02 +09:00
Stefan Schmidt 1997034465 e_sys: Make sure we return false if systemd does not support various suspend modes
Since this was introduced this callback always returned 1 no matter if systemd
said it does support the mode or not.

CID: 1261291
2015-01-23 13:22:59 +01:00
Carsten Haitzler 50621ba9b4 e - force a config flush before sys actions that could kill e
@fix

this should fix T1988. after some looking here is what i think is
happening. he is asking the system (sysvinit or systemd) to
halt/reboot, but these end up killing the e process before it can save
its config that is lurking around still in ram as opposed to on disk,
so puttting in a config flush before beginning such a system action
will ensure everything is on disk.
2015-01-14 11:48:05 +09: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 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Mike Blumenkrantz 0988340f81 add another main loop iteration after resuming for desklock visibility
fix T1498
2014-09-07 11:15:17 -04:00
Carsten Haitzler 412095fe67 have e disable screensaver on resume to force screen on
this fixes T1384
2014-07-07 23:35:06 +09:00
Mike Blumenkrantz 8ec74517ed remove legacy e_sys handler callback system, redo sys action ordering, only blank on action success
fix T1271
2014-05-26 15:57:32 -04:00
Carsten Haitzler cd431350a5 e sys - if logout has trouble - resume so user can see dialog 2014-01-20 15:23:30 +09: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
Carsten Haitzler 5f4027dbca save inhibit fd from systemd or fd is closed/lost and inhibit is lost! 2013-08-18 19:49:23 +09:00
José Roberto de Souza c6ea785a86 Use eldbus_proxy to simplify systemd support 2013-08-15 14:21:23 -03:00