Commit Graph

545 Commits

Author SHA1 Message Date
Carsten Haitzler 0ac04f0545 fix enlightenment help and version optiosn to exit after print
@fix
2022-05-19 19:15:55 +01:00
Carsten Haitzler 264b59c42f gesture - add an option to turn it all on or off
so - some people have issues if we open devices. why... i don't know,
but add an option to toggle this and be conservative and have it off
by default

@fix
2022-01-18 21:17:54 +00:00
Marcel Hollerbach d28c105c99 e_main: shutdown e_dnd before comp
otherwise we are crashing as e_comp is freed by that time.
2021-11-02 17:43:11 +01:00
Carsten Haitzler 1cf5595208 auth and desklock - support auth by fingerprint and show status 2021-07-02 13:26:05 +01:00
Carsten Haitzler 3112e2ba1a e - restore iconified windows on restart to iconified 2021-04-20 20:06:08 +01:00
Carsten Haitzler 11065a905c e - fix restore of window visiblity and events on e restarts
you no longer have to cycle virtual desks to fix window events. this
fixes that.

@fix
2021-04-12 16:01:20 +01:00
Alastair Poole e1eed5190b freebsd: make elput optional. 2021-04-12 12:47:27 +01:00
Marcel Hollerbach 424a6a1930 move gesture recognition to e itself 2021-04-05 20:41:55 +02:00
Carsten Haitzler ec4d9d0460 set XDG_CURRENT_DESKTOP too in addition to DESKTOP 2021-02-25 12:37:00 +00:00
Carsten Haitzler 45efe06cda e - force fonts to render clearly with FREETYPE_PROPERTIES set by e
as per comments in commit. force this if you have set_xapp_dpi onwhich
is a sign u want everyone to agree on rendering fonts.
2021-01-18 12:56:24 +00:00
Carsten Haitzler 04a6194e48 watchdog - disable right now as something odd is happening 2021-01-15 12:58:41 +00:00
Carsten Haitzler 347c29b952 watchdog - add a watchdog thread that pings mainloop every 10sec
if the main loop were to hang for some reason, this would detect it,
forcibly exit e and e_start can restart e again so things are working.

@feat
2021-01-02 15:25:02 +00:00
Carsten Haitzler da1f9bc5f6 e config - move config saving to threads to avoid stutters/io blocks
so our writes sometimes would get stuck because kernel io buffers are
full and writes are slow. on specific machines with super slow write
media and small amounts of ram this was bad.

this moves writing totally to threads. the eet file is opened in a
thread and closed in the same thread. only the eet_write/eet_data_write are
done in the mainloop. this is a 'walk struct, serialise it and compress
it" which compared to blocking for possibly multiple seconds in a
write/close/rename backup cfg files doing real io to kernel 9even
though kernle should buffer these)... is a hell of a lot better.

so sure. we block lock enough to walk the structures/lists, encode the
blob and put it through a fast lz4 compress cycle and drop into memory.
the actual write happens in the thread when the file is closed and
that is a vast improvement if you hit these cases.
2020-09-04 13:58:14 +01:00
Carsten Haitzler 9fcd087b85 exit codes - clean up and handle consistently
also x io error - exit as we must.
2020-07-20 14:21:20 +01:00
Carsten Haitzler 0b1c4100ef e gadgets - as per email to e-devbel - it's easier to fix old so rm new
new gadget infra--
2020-07-07 23:34:27 +01:00
Carsten Haitzler 3e31c9ebf8 precache - add more prints to see when thread spawns for info 2020-06-13 22:56:54 +01:00
Carsten Haitzler 1aad79dbe7 init splash - make it default as it no longer needs an option
it used ot be a separate process to run to hide e starting in the bg
on a slow hdd loading modules etc. but due to compisitng and other
changes its all internal now, so keep it on always as it guarantees a
better smoother experience with less complexity to maintain.
2020-06-09 15:54:58 +01:00
Elyes HAOUAS b980034665 tree-wide: get rid of trailing whitespace (part 2)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11821
2020-05-14 13:49:11 +02:00
Elyes HAOUAS 153f479d3f tree-wide: fix typos all over the place
Fix some typos

Differential Revision: https://phab.enlightenment.org/D11778
2020-05-14 12:04:51 +02:00
Carsten Haitzler bd97c74492 e alert - in case of crash use e system in new alert mode
this forces all ddc/backlight devices to max when discovered so you
can always see the alert.
2020-04-21 03:01:54 +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 24524001c4 e - restart - fix restoring of visible virtual desktop
e now (in x mode) will restore virtual desktop. not in wl at this
stage as i think i need to work on a proper serialised sate file...
2020-04-19 20:17:19 +01:00
Carsten Haitzler 4ff2b3e4c7 e main - remove unused env vbar stuff since we dont exec ourselves 2020-04-19 19:10:50 +01:00
Christopher Michael a8afd46a82 e_main: Remove unused variables 2020-02-13 12:13:42 -05:00
Carsten Haitzler 71cbbeff27 e start - clean up xdg runtime dir in e_start not e if created in estart 2020-02-13 16:06:44 +00:00
Carsten Haitzler 25699c1db7 move xdg env fixup/set set after e prefix determine 2020-01-23 08:24:49 +00:00
Carsten Haitzler af0d44a57d mem trimming - have e trim its own memory every now and again
use malloc_trim() if it exists to do this every now and again
(idle_enterer if there isa gap > 10 sec since last clean cycle
so no added wakeups).
2020-01-16 15:33:37 +00:00
Carsten Haitzler 6210b12294 mtrack - declutter - remove as i'm probably the only one ot ever use it 2020-01-16 10:51:41 +00:00
Carsten Haitzler 96d920b707 eina statgen - move to using api not env var as we need new efl anyway 2020-01-16 10:51:04 +00:00
Carsten Haitzler 6373d5583b move xdg data dir fixup to e_start to esnure its set super-early
now everything e launched should agree on xdg data dir if hose os
doesn't set it (bad host os!) :)
2020-01-16 10:38:54 +00:00
Carsten Haitzler 15a5a49835 e main - use exit code 111 to have e_start parent process restart e
this means no leaked fd's between restarts too. cleaner. it also
encorces "die with parent" for enlightenment_start too as another
bonus in addition to its own fifo handling for singleton access per uid.

WARNING: you need to log out and log back in since the "protocol
expectations" (what exit codes do what and what parent and child
process are responsible for) changed so to get them both back in sync
you need to log out and in.
2020-01-15 11:33:55 +00:00
Carsten Haitzler f57572b678 e system - add new uber setuid tool to replace all the previous ones
so e has had a bit of a mess of setuid root tools to do things that
are essential to maintaing a functioning desktop/laptop/tablet/phone
like device like shutting it down or suspending or sqizzling the cpu
governor or messing with the backlight or... you get the idea.

this has been spread around enlightenment_sys and other special
purpose tools. this now unifies it into a single "always there"
enlightenment_system backend setuid root slave process whose job it is
to do all these things via a stdio protocol in an organized way. this
means latency to do something is lower, but at the expense of
consuming ram and a lurking process. unfortunately the lurking will be
needed soon when i add ddc support to make it even vaguely efficient,
so it's a cost i guess we have to pay now. we'll need this in future
as well for some stats collection and more.

still need to port existing code to use this instead of the existing stuff,
and then remove of the old stuff.
2020-01-15 11:33:49 +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 b8afba1e49 startup smoothing - smoothen startup with preload and defer to loop start
this moves a bunch of things that were being don after loop starts to
before so they don't interrupt framerate as well as launch a thread
that preloads file(s) - for now just edj theme files so stuff is
pre-cached by the time loop starts later so we don't stall s much
leading to smoother startup/fade in and better framerate. it's really
visible (especially on my rpi3).
2019-09-14 18:47:20 +01:00
Carsten Haitzler 0d00264ca6 e desklock - only stay locked first restart after crash if locked 2019-09-11 15:22:55 +01:00
Carsten Haitzler b4cfada8e8 module and config - remove pointless config vars that have no use
we dont need to delay module loading anymore so remove allof this -
priority too shouldn't be necessary as well and was just a workaround.
this remvoes all of that removing some e module api's and module
struct members as well as some global config fields. it also ensures
all config files are up to date as well.
2019-09-10 17:58:30 +01:00
Carsten Haitzler da4db1a29c e - support new statgen feature and turn it on for e
use the env var as this is "soft" and will do nothing if efl doesn't
have this... but it's worth it if it does.
2019-07-28 10:26:46 +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 27c3b0e940 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Alastair Poole a19c968973 e_main: initialise XDG environment earlier.
Summary:
Moving _xdg_data_dirs_augment call to earlier in
initalisation process. Currently first-run will
leave XDG_MENU_PREFIX broken, thus the application
menu will be empty in E.

Seems eio_init might be the culprit.

Moved to above eio_init.

Test Plan:
* Launch E from X from a console (startx)
* Check application menu (empty).
* Apply patch.
* Launch E from X from a console (startx)
* E's Application menu should be populated.

Related to https://phab.enlightenment.org/D7534

Reviewers: #committers, raster, cedric, zmike, devilhorns

Reviewed By: #committers, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7535
2019-01-03 18:37:30 +00:00
Carsten Haitzler cbe3858b15 desklock - add explicit manually invoked api and a blocking api
this is so parts of e (moduels etc.) could block a lock for some
reason and differentiate between an automatic lock and a manually
invoked one.
2018-12-15 16:13:28 +00:00
Carsten Haitzler 851acc7ff7 desklock - pass lock state info to e_start to lock on crash restart
is e crashes, catches it and restarts while locked you end up
unlocked. this lets enlightenment_start know this lock down state and
it sets an env var to ensure locking happens on restart after recovery.
2018-03-23 17:18:00 +09:00
Mike Blumenkrantz b950ae8020 remove adding theme extension for "default" theme on startup
elm_theme does this automatically so there should never be a need for it
2018-02-27 17:41:01 -05:00
Mike Blumenkrantz ed361340d7 don't require E_START env var to be set when running on valgrind
make manually valgrinding easier
2018-02-06 11:17:26 -05:00
Carsten Haitzler d73d902292 init anim - fix sudden vanish of init splash in some cases
this seems to happen to @manmower in T6619. it may just be timing
changes that changed the start loop time to be at init of ecore maybe ...
but it was doing a forced hide and not a clean "done"
that animates/fades. so fix this along with deferring show until the
first render pre.

this fixes T6619
2018-01-17 18:14:29 +09:00
Carsten Haitzler 3daf3ac456 e main - xdg runtime dir fixup - dont overwrite same buffer
this path i never saw triggered before on linux because xdg runtime
dir is set... but if it isn't... dont mess up the runtime dir path

@fix
2017-10-28 23:43:50 +09:00
Derek Foreman a85a602a39 Revert "Set close on exec for stdin"
This reverts commit 40e8bb044c.

EFL master solves this properly
EFL stable currently has a bug that solves this accidentally

so there's a window of about 3 commits in git where it's a problem,
and nobody should run those commits in production :)

This fix caused some problems when restarting E, as stdin would
cloexec and then the following startup would try to set cloexec
on an invalid fd and generate an err that generated a cri because
of an invalid log domain.

Someone should probably figure out the log domain thing.
2017-09-26 14:19:24 -05:00
Derek Foreman 40e8bb044c Set close on exec for stdin
ref T5606
2017-09-22 21:02:32 -05:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00