Commit Graph

12679 Commits

Author SHA1 Message Date
Alastair Poole 51da79c869 e_gadcon: resolve autoscroll issue.
Autoscroll was working until the client changed dimensions. This
removes a size hint change on the same callback for size hint
changes on the same object.

Ensure container box dimensions reflect the minimum size after
a size hint change on the contained objexct.
2020-09-28 11:26:54 +01:00
Alastair Poole 8ef9a44214 e_client_volume: remove unused object 2020-09-24 00:37:51 +01:00
Alastair Poole af560c6566 procstats: window resource module.
The module sends messages which the theme displays. Thus, the
module requires a theme with an implemented edj script to be
useful.

Currently EFL 1.26 includes a basic text label for this...
Usage is recursive...everything under the window is included.

Rudimentary, as usual...please do something pretty...

RFC. Hopefully I didn't break the universe...again!
2020-09-23 19:57:24 +01:00
Alastair Poole 2c70e9648d xsettings: unbreak config and use standard naming.
Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12150
2020-09-18 10:59:55 -04:00
Alastair Poole 91d98c0183 xsettings: keep the logic "simple".
No need for hook. Wrong use of the API. The widget already does
this when checking various objects.

Set DPI to a default if X application settings enabled else use
the custom DPI.

GTK applications only respect the changes
if they are started when the xsettings is brought up. This is
confusing. Sorry for the noise :(
2020-09-17 19:29:36 +01:00
Alastair Poole 1183f221cc xsettings: restore DPI on X settings disable. 2020-09-17 17:45:45 +01:00
Christopher Michael 9adfc913e4 e_utils: Increase tmpbuf allocated size
Increase size of allocated tmpbuf in order to eliminate compiler
warnings in regard to truncated strings
2020-09-17 12:18:37 -04:00
Christopher Michael 43035f34f7 e_module: Increase 'body' buffer size
Increase size of body text to eliminate compiler warnings about
truncated strings
2020-09-17 12:18:37 -04:00
Christopher Michael 595babc0eb e_intl: Fix formatting
NB: No functional changes
2020-09-17 12:18:37 -04:00
Alastair Poole 9f33fbf62e xsettings: Allow for custom DPI setting.
Until a wayland/X11 solution allow setting a custom DPI in
Settings -> Application Theme -> X Application Settings
2020-09-17 16:50:24 +01:00
Carsten Haitzler d039b53484 e sys babcklight - streamline setting bl_power 2020-09-07 20:24:57 +01:00
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