Commit Graph

12718 Commits

Author SHA1 Message Date
Carsten Haitzler 100121bd64 e pointer - on lock push a default pointer and ensure it is ok after
this makes the pointer a default - so no resize animations sticking
around when locked, and on unlock we are restored to default.

@fix
2020-09-07 01:04:49 +01:00
Carsten Haitzler 951bb66fa0 e wl - drm - fix dlopening of libecore_drm2
this should load .so.1 not .so ... and it shouldnt dlclose a null dl
handle. fix a crash

@fix
2020-09-05 12:05:49 +01:00
Carsten Haitzler 63bc2a8093 backlight - support backlight on non-lid panels and bl_power too
i didn't know bl_ppower existed... i found a device that exposes this
sysfs node and it seems it's a good idea to swizzle it too in addition
to brightness. so fix that and also fix e's backlight handling to find
backlight devices for non-lid panels marked to have a backlight ... i
have such a device here. this makes backlight controls work in this
case.
2020-09-05 11:34:14 +01: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
Marcel Hollerbach 124113ad64 e_acpi: add support for bluetooth remote controls
bluetooth remote controls are for example bt headsets with play / pause
/ next / prev interactions.
2020-09-02 15:39:01 +02:00
Carsten Haitzler b4264801d0 randr - more debug to tell us decision reasons to change setup or not 2020-08-27 11:57:27 +01:00
Christopher Michael a8eb8821f8 e_bindings: Remove unused variable 2020-08-22 14:41:07 -04:00
Carsten Haitzler b1897a3667 e fps debug - have more details like wake+sleep, rend+rend flush etc.
more mini pixels to tell you a story of debug.
2020-08-18 22:02:38 +01:00
Carsten Haitzler ead43c40c3 ddc - add libddcutil.so.3 as supported as it is compatible for our uses 2020-08-18 12:06:43 +01:00
Carsten Haitzler d32ab7e33d comp fix other 4 corners fo fps display other than top-left 2020-08-17 18:35:04 +01:00
Carsten Haitzler 65a9a6615b icons - fix icons used in code to be better 2020-08-17 18:22:12 +01:00
Carsten Haitzler 9abcae15f6 comp fps debug - show separate input and output fps 2020-08-17 18:22:12 +01:00
Carsten Haitzler 1f4c6b41d8 e comp - remove obsolete comp render animator and lock fps options 2020-08-17 18:22:11 +01:00
Alastair Poole 2027734141 conf_randr: List modes using double scan correctly.
As we can detect for double scan (since randr 1.2), list the mode
as valid, and also ensure the refresh rate is displayed correctly.
Each line is rendered twice, doubles the dot clock, so divide the
settings view by 2 so that it makes "sense". Can always add
flags to settings if deemed necessary.
2020-08-15 16:54:22 +01:00
Carsten Haitzler 94ad423d6e e screen restore - properly show/hide windows on current desk 2020-07-29 11:43:26 +01:00
Carsten Haitzler 73d305d2a8 client - restore to added zone if were there before
rememebr zone randr id where clients were if forced off a zone. if a
zone is added check clients with that zone id - if they have it then
restore them there. thbis will get loat if you move those clients
between zones after they are dumped on the other zone or you change
their virtual desktop etc.
2020-07-28 19:47:10 +01:00
Carsten Haitzler 02707fd2ef fullscreen handling - restore fs state if forced out by focus
much better behavior this way...
2020-07-28 19:47:10 +01:00
Carsten Haitzler 8c06fc454c e alert - use same exit codes as e for explicit restart/logout
be consistent.
2020-07-27 11:15:21 +01:00
Marcel Hollerbach 4678fa60c2 Introduce gesture recognition
This is currently using libinputs gesture recognition. And offers a
config screen to setup new gestures.

1. No default gesture bindings are setup

2. When libinput is not available the module is not going to be loaded,
   and nothing is recognited.+

3. Only swipe gestures are recognized yet.

4. For now, you are required to be part of the input group, otherwise we cannot
   get the libinput events. (See Todo 1)

5. The visual representation is not really good. In terms of UI, it is
   visually showing a value coming from left to right, which is
   indicating a direction, which is not always the direction of the
   gesture, which is kind of bad. More improvements needed here.

Some things that still can be done:

1. The whole libinput things should be handled by elput, either with the
   input group hack, or logind, or simply by root. The ideal idea would
   be that e_sys is creating the elput context, which also listens for new
   devices etc.. When all this is done, and it recognizes a new device, it
   can simply sent a message from e_sys to e, that there is some new
   device, with a opened fd. (However, this all needs to be locked up in a
   way that e_sys cannot be abused)
2020-07-21 15:26:34 +02:00
Marcel Hollerbach 324b2661ce e_shelf: only reset autohide timer if we are not hidden
otherwise we might hide shelfs even if the calendar is shown, without
the possibility of reshowing them again.
2020-07-21 15:22:50 +02: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
Alastair Poole 1c27438ecb config_modules: Show module description.
This has been collapsed for some time now. In modules settings
when selecting a module, its description will display as it did
previously.
2020-07-19 12:01:55 +01:00
Carsten Haitzler 15f049f777 e askpass - convert text to plain utf8 proeprly for passwd output
@fix
2020-07-15 14:40:17 +01:00
Carsten Haitzler 072fd2d741 e system - isolate stdio of commands we run so they dont pollute 2020-07-14 13:31:29 +01:00
Carsten Haitzler e0227cf536 e start - handle exit code for restart AND exit choices because of lib
so library somewhere is causing an exit(1) sometimes... this means i
lose my entire desktop. this is not e doing it... so it's some
dependency bug and this shouldn't happen - but it does and it causes
the entire login session to be losst, so treat an exit code ofr 0 as a
clean exit, and anything else as a bug to be handled like segfaults
etc. and restart e.
2020-07-12 09:58:06 +01:00
Carsten Haitzler ea5967e2a6 remove warnings of unused functions and vars 2020-07-08 17:32:54 +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 979a8e8953 e exec - if an invalid exe is found - null it out 2020-07-01 13:25:09 +01:00
Carsten Haitzler dabda6154b desklock - remove autolock as its pointless as we can lock on blank
alsoit was inaccurate reling on polling (a poller) and thus wakeups
all the time ... so use the "lock on blanking" in timers instead... :)
less complexity to deal with in config anyway.
2020-06-30 12:14:23 +00:00
Carsten Haitzler 4fa3ca249b comp wl - blanking fix saver timeout if 0 - dont set it as its off at 0 2020-06-30 12:14:23 +00:00
Christopher Michael bc5f4e5635 e_comp_wl: Fix possible typo with function name 2020-06-29 09:07:04 -04:00
Carsten Haitzler 5c03da91a7 only call notidle if wl compiled in and wl on... 2020-06-28 20:23:07 +01:00
Carsten Haitzler db73bcabd9 e comp x - ensure animator works before fading in backlight 2020-06-28 15:29:22 +01:00
Carsten Haitzler f6e4be1005 e wl screen dimming.blanking/timeouts/lock handling redo/fixup
so there was a fair bit of stick-tape and chewing gum in putting the
wl screensaving in e_Screensaver.c ... it thus was very different to
the x stuff. it SHOULd have had e_comp_wl handle idle timeout like the
xserver did and then glue in the same way the x code did to be
conistsent. instead of trying to fix the chewing gum ball there in
e_Screensver.c to find the logic holes ... i made it work like the
code as indicated above. this now makes it work reliably. dim
reliably. lock reliably. it even doesnt exit on ctrl+alt+backspace
once desklock is up now to allow locks to really lock... (dont use
locks during dev then if you need ctl+alt+backspace).

at least now all this dpms/screensavwr/brightness/backlight/lock goop
is consistent between wl and x11 and wl seems reliabkle now (to me).

knock this off as an annoyance fixed.

@fix
2020-06-28 15:06:37 +01:00
Alastair Poole 8cc3bd7cdb e_start_main: Guard against malloc.h on BSD.
This fixes a build break on FreeBSD. Guarding as per other
blocks. These guards can be removed at a later stage as OpenBSD
has removed malloc.h and FreeBSD is in the process of
reintroducing it after a failed attempt to deprecate the header.
For consistency's sake keep these blocks identical within the
tree. We can nuke these later when FreeBSD make their minds up.
2020-06-24 23:45:29 +01:00
Carsten Haitzler 21200cb2f7 e init - stop listening to zone changes once init has been hidden 2020-06-22 08:16:46 +01:00
Carsten Haitzler 2c9405b92f fix preload of e icon when already loaded to show new icon
didn't stack right always. had if (x) not if (!x) ...
2020-06-21 23:54:17 +01:00
Carsten Haitzler ddc9ff7280 randr - add response timeout config value 2020-06-20 01:50:03 +01:00
Carsten Haitzler e8f5794b81 e xsettings - do not use long for 32bit types... it's WRONG
long varies by architecture... whoever decided C32 should be long...
was totally wrong. it varies between 32 and 64bit (on unixen).

@fix
2020-06-17 13:21:13 +01:00
Carsten Haitzler b55fa736ed randr - add option to ignore disconnects on specific screens...
work around kvm's that like to disconenct screens... be able to force
an ignore on disconnects on specific screens.
2020-06-15 22:27:34 +01:00
Carsten Haitzler c4ab23511e fix null edid more - found hole missed in last fix
adds more fix on top 80f92ee486
2020-06-14 14:00:48 +01:00
Carsten Haitzler 1b5d229855 e - increase timeout for efreetd responding to 20 sec
it seems some peole suffer from an unusually long scan time so account
for that.
2020-06-14 12:09:43 +01:00
Carsten Haitzler ce66161874 init - handle zone changes during startup/init 2020-06-14 00:33:44 +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 18c522fb24 Revert "e randr - x - only apply/modify randr if xurrent config not the same"
This reverts commit cf0a43b844.

This seems to cause some issues on restore at startup.
2020-06-13 22:56:40 +01:00
Carsten Haitzler b519c44c67 pager+thumb - speed up thumb generation and pager aspect
pager didnt reset aspect after setting min size. fixed. also improve
thumb generation by having no artifical delays. use idle enterer + job
wakeups instead. now thumbs appear almost instantly.

also remove initial pager popup on starup that is just not needed.

fixes T8314
@fix
2020-06-13 16:22:07 +01:00
q66 fd9a798376 meson: fix fnmatch dependency lookup
The previous version didn't really make sense whatsoever, also
it was unused.
2020-06-11 02:44:55 +02:00
q66 9fc310db63 try linking against execinfo when execinfo.h is present
This should fix build on systems where execinfo.h is present
but the APIs are implemented in a separate library - commonly
a case on the BSDs as well as on non-glibc libcs and so on.
2020-06-11 02:37:26 +02:00
q66 6e87988071 e_util_suid: need signal.h on some libcs 2020-06-10 21:13:41 +02:00
Carsten Haitzler ed1d9ea62c e backlight - fix initial restore of backlight after previous fix
no edid fix broke initial restore. fix it.
2020-06-10 12:34:21 +00:00
Carsten Haitzler 80f92ee486 e backlight - handle screens with no edid
this fixes backlight support on my pinephone...

@fix
2020-06-10 11:05:13 +00:00
Carsten Haitzler a91ba4e1a8 exec - dont run null exec commands
fixes T7133

@fix
2020-06-09 22:11:32 +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
Carsten Haitzler cf0a43b844 e randr - x - only apply/modify randr if xurrent config not the same
so if already the same - leave it as-is.
2020-06-07 00:57:13 +01:00
Carsten Haitzler 74815ebc9b e start - save 24k of stack that gets touched then never again.
use less stack with smaller "just big enough" alloca'd string buffers.
as e_start hangs around looking after e all day, using a bit less mem
is a good thing.

@opt
2020-06-07 00:54:57 +01:00
Carsten Haitzler 71b5cb3e7c xsettings - always use decimal for format for float prints
snprintf will use locale and maybe print 10,24 instead of 10.24 ...
thus use a custom routine to specially do this always by hand without
mssing with locale.

@fix
2020-06-05 11:21:20 +01:00
Carsten Haitzler 3fdd7d3118 e sys - also force e to exit on halt or reboot after a timeout.
also log more on what is going on...
2020-05-30 21:56:29 +01:00
Carsten Haitzler eb61b825e4 suspend/hibernate - add a small delay before doing the deed
allow any pending frames to pop out of the pipeline before we
sleep
2020-05-30 21:56:29 +01:00
Carsten Haitzler af63443e19 sys - fix non-systemd code patch for suspend/resume handling/tracking
so in the non-systemd case there was a current e sys action stored and
never cleared. e keeps thinking it is in the midddle of an action as
it was not cleared. the systemd code path was different and didn't
suffer from this. this fixes that so the non-systemd path works too.

@fix
2020-05-28 23:07:56 +01:00
Carsten Haitzler 596def7806 e system - storage - improve mount/umount code to enforce simple std
all dirs owned by root - so can't be exploited. this code is not
acessible at this point so no actual issues. it still needs testing.
until other work is done it won't be tested yet.

fixes T8671 further comments on umount check.
2020-05-28 11:24:32 +01:00
Carsten Haitzler a018f8273f e randr x - move pointer to a visible screen coord if outside screens
on reconfigure if we find the pointer outside the screen region bounds
it can get caught there until a warp forces it in. this is due to the
barriers i added i think. this fixes that

@fix
2020-05-27 14:17:07 +01:00
Carsten Haitzler 373b4c5ee1 e ckpasse - also back out another change i made to fix up pk 2020-05-27 09:24:24 +01:00
Carsten Haitzler fc89c4f78c e ckpasswd - clean some vars to be static and a fprintf status 2020-05-27 09:19:47 +01:00
Carsten Haitzler d8f1e63a75 back out undo of pk fix - back to bu5hm4ns version 2020-05-27 09:16:04 +01:00
Carsten Haitzler d2c0c1bf19 polkit - fix user id we're authing to and be explicit which one it is
@fix
2020-05-25 13:45:44 +01:00
Carsten Haitzler b16b2fac74 e auth - fix missing stderr output logs i missed last commit 2020-05-25 13:45:40 +01:00
Marcel Hollerbach 4475eb42a6 e_ckpasswd_main: fix polkit to auth root
there were the wrong pids passed.
This fixes calls like "systemctl start docker".
2020-05-25 14:39:25 +02:00
Carsten Haitzler e84dce7806 e auth - nicely prefix logs and clean up error reports and report more 2020-05-25 12:27:49 +01:00
Carsten Haitzler ac6ad8cb96 add debug printf (commented out) for frame requests 2020-05-23 09:35:44 +01:00
Carsten Haitzler fb5bcc24af remove base time - not needed anymore 2020-05-21 21:17:37 +01:00
Carsten Haitzler c742c011ae e wl - fix frame req timestamp to be the same as others
no others subtrace the base... weston doesnt.. no input events cb's
do... this is a mistake with what is a wrong timeline as a result. fix
and use the same timeline as everyone else

@fix
2020-05-21 21:11:14 +01:00
Carsten Haitzler 048470f888 xkb - optimize handling of keymaps to only change them a few times
also listen to all xkb events properly..

@fix
2020-05-19 18:51:03 +01:00
Elyes HAOUAS f84d23ffd2 Remove duplicated includes
Remove duplicated includes

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11857
2020-05-19 13:06:21 -04:00
Elyes HAOUAS 44b029378a tree-wide: get rid of trailing whitespace (part 5)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11824
2020-05-14 13:49:17 +02:00
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
Elyes HAOUAS 2b1a72f3cb tree-wide: get rid of trailing whitespace (part 3)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11822
2020-05-14 13:49:13 +02: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
Carsten Haitzler 4c52048f09 undo the client volume fix as it causes memory access issues.
reopen D8928

it looked good until i started having some apps start/stop audio a lot
with asan on - it was catching memory mis-accesses. definitely not ok
to have this in

Revert "e client vol - fix del-self in a del while deleting self..."
This reverts commit e78c8b6b5f.
Revert "e_client_volume: Update the e_client frame object on sink del event"
This reverts commit f4c1ba959e.
2020-05-14 12:10:24 +01:00
Carsten Haitzler e78c8b6b5f e client vol - fix del-self in a del while deleting self... 2020-05-14 11:41:55 +01:00
Elyes HAOUAS 3524bc167c tree-wide: get rid of trailing whitespace (part 1)
Remove trailing white spaces.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11780
2020-05-14 12:30:31 +02:00
Thierry 2a96a8dbaf I can not load my preferences shortcuts keyboards. To take them into account I must reload e. I came across this error, "e_config_binding_key_match" uses "mouse_bindings" instead of "key_bindings". Unfortunately it does not change anything to my...
Summary: ...problem.

Reviewers: zmike!, devilhorns, raster

Reviewed By: raster

Subscribers: raster, cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6997
2020-05-14 11:28:02 +01:00
Thierry HUCHARD 48b555b204 Fixed menu crashes in the systray.
Reviewers: devilhorns

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D11502
2020-05-14 11:26:11 +01:00
thierry1970 19395ae1fe Fix : Check that the file has a protocol.
Reviewers: devilhorns

Subscribers: raster, cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D10410
2020-05-14 11:23:04 +01:00
Ross Vandegrift 765d8e1d3d Don't set x-scheme-handler/file for File manager app.
Summary:
File managers should handle inode/directory, not
x-scheme-handler/file.  Registering x-scheme-handler/file means that the file
manager app should open all "file://" URLs.  And because of some details of the
FDO spec, scheme handlers override mime-type handlers.  As a result, other
desktop environments can start using a file manager to open all local files.

fixes T7521

Reviewers: devilhorns, raster

Reviewed By: raster

Subscribers: cedric, zmike

Tags: #enlightenment-git

Maniphest Tasks: T7521

Differential Revision: https://phab.enlightenment.org/D10244
2020-05-14 11:23:04 +01:00
Michael Bouchaud (yoz) f4c1ba959e e_client_volume: Update the e_client frame object on sink del event
Reviewers: raster, devilhorns

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D8928
2020-05-14 11:23:04 +01:00
Elyes HAOUAS 7071faca6c e_mmx: & evry: Remove unneeded white spaces
Remove unnecessary white spaces

Differential Revision: https://phab.enlightenment.org/D11779
2020-05-14 12:17:49 +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 9cb83899b4 gadcon - defer resize handling in a job to speed up startup 2020-05-12 14:47:13 +01:00
Carsten Haitzler 306632a21c e menus - dont double unref/free a menu
e_menu_item_submenu_set() already unrefs the previous submenu...
2020-05-11 11:14:53 +01:00
Carsten Haitzler a310999640 shelf - debug printf remove 2020-05-11 11:01:44 +01:00
Carsten Haitzler 811e4240b6 shelf - fix off-by one added in previous fix to invisible shelf 2020-05-08 11:55:05 +01:00
Carsten Haitzler 01f710335a e order - do null check for path and return before alloc of obj
fix coverity CID 1428757
2020-05-07 17:33:08 +01:00
Carsten Haitzler e3b909538c shelf content change handle - only show again if hidden bc its a shelf 2020-05-05 12:45:16 +01:00
Carsten Haitzler 65d7830aae gadcon config - show shelf again if hidden on content del 2020-05-04 22:33:42 +01:00
Carsten Haitzler 83369e331a whitespace fix 2020-05-04 21:44:33 +01:00
Carsten Haitzler 73a754a411 shelf - fixup initial layout with workaround fixup
this is complicated ... but a confluence of zoomap original geom vs
transformed geom etc. ... things go wrong. this does a fixup to ensure
they go right...

@fix
2020-05-04 21:42:32 +01:00
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 ead3991e3f e order - bring back handling desktop files in dirs as well as .order 2020-05-03 19:41:26 +01:00
Carsten Haitzler 9d289d73c1 0.24 - prepare dotting i's and crossing t's for 0.24 alpha 1 2020-05-02 16:15:30 +01:00
Carsten Haitzler 33dfe6899c menus - ensure submenus deacivate when parent does 2020-05-02 15:20:51 +01:00