Commit Graph

12494 Commits

Author SHA1 Message Date
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 7e47977d9a printf format macros - put them in the right places for no warnings 2020-01-15 19:06:24 +01:00
Carsten Haitzler e122b2855f e start - fix warning on unused params when ptracing 2020-01-15 19:06:24 +01:00
Carsten Haitzler 9c8661abe2 efx - valid casts to silence warnings - same enum vals by design 2020-01-15 19:06:24 +01:00
Carsten Haitzler 13e696ce46 efx - fix type return type - still same actual value (0) 2020-01-15 19:06:24 +01:00
Carsten Haitzler 0e715f89b1 e fx - cast explicitly as 2 enums have same values by design 2020-01-15 19:06:24 +01:00
Carsten Haitzler 9022620366 e_fx - explicit case as enums have same values explicitly 2020-01-15 19:06:24 +01:00
Carsten Haitzler 0f1e2862a6 e win - fix recursive symbol typo
amazing this didn't blow up before. missing e_ in front ad the macro
should have transformed this to wrap the e version of this func...
clang warning pointed this out. a real bug waiting to happen.

@fix
2020-01-15 19:06:24 +01:00
Carsten Haitzler 10c2d74a9b e system api - fix warning about buffer ptr get
binbuf buffers are universally aligned anyway...
2020-01-15 19:06:24 +01:00
Carsten Haitzler fcb7f3c1ec e pointer -fix cast alignement warning
these will be aligned due to how evas works... so just silence this
2020-01-15 19:06:24 +01:00
Carsten Haitzler ea75a4384d e hints - put in some casts to silence earnings - enums are same vals 2020-01-15 19:06:24 +01:00
Carsten Haitzler 72a2f7e8aa e system cpufreq - silence bsd warnings for unused params and ifdefs 2020-01-15 19:06:24 +01:00
Carsten Haitzler fb9948738b e system test - fix warnings about aligned types 2020-01-15 19:06:24 +01:00
Carsten Haitzler 72496cbfeb e system backlight - fix bsd size type for sysctl 2020-01-15 19:06:24 +01:00
Carsten Haitzler a290469b4e bryce - fix warning on sign comparison 2020-01-15 19:06:24 +01:00
Christopher Michael ad68b07404 e_int_config_comp: Disable OpenGL options when selecting Software engine
This patch disables OpenGL radios & checks when a user selects
Software as the rendering engine.

ref T8553
2020-01-15 09:36:01 -05:00
Christopher Michael 16040d4492 e_int_config_comp: Disable VSync checkbox if we are using Software
engine

ref T8553
2020-01-15 09:20:35 -05:00
Christopher Michael 754a2d4f93 e_int_config_comp: Don't enable VSync checkbox if we are using
software engine

ref T8553
2020-01-15 09:03:23 -05:00
Christopher Michael 468c46d850 e_int_config_comp: Don't display vsync checkbox if opengl is not
supported.

ref T8553
2020-01-15 09:00:48 -05:00
Carsten Haitzler 5ec8fee280 e_randr2 - fix screen change detection to look at right prev screen 2020-01-15 11:33:55 +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 a43869cdc0 e_sys -> move from enlightenment_sys to e_system 2020-01-15 11:33:55 +00:00
Carsten Haitzler f277ab71e7 e backlight - move to the new e system tool for backlight
no improvements like per screen brightness... but a straight
conversion to the new system tool which simplifies e backlight a lot.

it'd be betetr to use the new system also to read backlight value and
list lightss etc ... but for now this is a good first stage.
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 73e3911874 e randr x - fix mouseto use new ecore x api to force screen bound limits
use ecore_x_root_screen_barriers_set() new in efl git, thus bumping to
1.23.99 as a requirement for e.
2020-01-07 14:22:47 +00:00
Carsten Haitzler b7c5fd2a0b pager_plain - remove module and migrate people to just plain pager
let's not keep 2 plager gadgets ... one only - yes. it's mini
previews. it's easier to maintain this way.
2020-01-05 20:35:39 +00:00
Carsten Haitzler 5ad9734c9a randr - dont save instantly inline - comp may not be up. defer in job
save in a job later ... not instantly. as ave may involve an error
which may involve a dialog coming up which if compis not up yet...
boom.

@fix
2020-01-04 16:10:48 +00:00
Carsten Haitzler 04d395f2dd in the event of e_comp evas being null ... dont just fall over and die
@fix
2020-01-04 16:10:43 +00:00
Carsten Haitzler 6fddd05d95 e env - set E_HOME_DIR to e's config dir (~/.e/e/ normally) 2020-01-04 16:07:00 +00:00
Carsten Haitzler a6cc86af44 e - stop trapping inlined windows - they shouldnt be 2020-01-03 17:44:37 +00:00
Alastair Poole 555d64d5d5 filepreview_widget: Show "Resolution" field when appropriate.
Summary:
This adds additional checks to ensure we dont add this field
when it shouldn't be there. Currently files like .tgz are
listing a "Resolution" on mouseover in EFM.

Test Plan:
Mouse over different file types. See inappropriate field.
Apply patch.
Mouse over file types. Resolution should only show for media.

Reviewers: raster, devilhorns

Reviewed By: raster

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D10783
2020-01-01 14:04:08 +00:00
Carsten Haitzler 42d8e3b07b pointer - use the swallowed obj geom as that is what we are tracking 2019-11-16 14:21:15 +00:00
Carsten Haitzler 60324a7b2c steam - special workaround for bad steam games so they match desktops
many steam games don't provide much in properites - not enough to
match to a desktop file. the only thing that actually consistently
works is to use the STEAM_GAME property and match thyat to the uri
provided to the steam command in the exec of the desktop file. this
actually can work. nothing else works reliably across the board.

and man can games be horrible and playing nice with desktops and
having poor properties. even steam itself is not good. i had to add a
workaround for that too to match steam-runtime explicitly. :(
2019-11-10 01:33:39 +00:00
Carsten Haitzler 7e81c0bd8e silence another ERR log with invalid obj type 2019-11-08 16:29:05 +00:00
Carsten Haitzler 6375d1a726 err logs - fix up some of the err logs i see accessing invalid objects 2019-11-08 08:45:31 +00:00
Carsten Haitzler 59e5ff63b5 e startup - increase timeout for efreet update events coming in 2019-11-07 14:34:24 +00:00
Carsten Haitzler 57a9f728a8 acpi - delay missing acpid dialog until after we've started up
with a timer it'll wait untuil after mainloop is running before it
times out and thus shows the dialog ensuring it appears once the
compositor is fully up. this should avoid weird sized windows.

@fix
2019-10-30 12:29:01 +00:00
Carsten Haitzler 7edb3550dd win stacking - fix stacking transients if there are multiple
if 1 parent has 2, 3 or 4 etc. transi3ents as immediate children we
reverse-stacked them. go to stacking them in order they are added
(which would normally bve creation order which makes more sense). this
stops some dialogs appearing intitally behind other dialogs that were
there before.

@fix
2019-10-30 11:18:46 +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 fca53bbd3f e invert to set env var for fussy aborts as opposed to inverse
better stability for users.
2019-10-13 23:15:12 +01:00
Carsten Haitzler 1ff2b77bc4 comp show helper - make it a non-critical err
this stops an abort which is better for the user experience and is
recoverable.

fixes T8318
2019-10-13 23:12:02 +01:00
Carsten Haitzler 1a867c180d e alert - use the provided font ttf for the alert
this enforces the look i wanted, and also makes this work when no sans
or mono font exist.
2019-10-09 18:47:16 +01:00
Carsten Haitzler a0fc5a7c30 ckpasswd: remove warning of unused var 2019-10-08 08:48:30 +01:00
Carsten Haitzler 5f4697fd7d e - add polkit module to add an auth agent into e
new feature - polkit auth agent support partly in core (need to have
the pam setuid root auth tool respond via dbus) and partly a module
(the agent dbus protocol handling and setup as well as auth gui). this
took me a while even with all the docs to work out how polkit works...
it was really fussy and its data structs are an extra pain in the butt
to craft with eldbus, but i managed it. not everything is supported
but the core basics are there and this can be built on.

right now the gui is really basic, but does the job.
2019-10-08 01:38:54 +01:00
Carsten Haitzler c7d0d6e6c9 e - wl dmabuf - handle versioning for modifiers
this syncs with what weston does in handling versioning for modifiers.
2019-09-30 22:07:46 +01:00
Carsten Haitzler f8bda510a7 e randr - fix plug/unplug of external screen
it seems some logic to stop internal screen fake plug/unplugs from
interfering were hurting external screen plug/unplug. fix makes that
work again.
2019-09-28 18:44:08 +01:00
Carsten Haitzler 6d8a1bd3fe kill e process before alert in non-x uses 2019-09-27 19:29:14 +01:00
Carsten Haitzler fed69a7380 alert - move to using full efl stack for it
still have a problem - cant work in wl drm/kms mode because e still
holds the ownership/lock on the console, but using full efl to draw
the alert and even blink it...

this drops xcb requirement too.
2019-09-27 07:13:24 +01:00
Carsten Haitzler 754e56f68c e build fix - make uuid an explicit dep of gadget loader
fix build break thanks to latest 1.23 bet bleeding edge efl.
2019-09-25 18:45:31 +01:00
Carsten Haitzler e69a27a81c e comp - tell user about invalid env var options
it seems people are using these env vars so we should tell them if
they have invalid options.
2019-09-24 01:17:08 +01:00
Carsten Haitzler 2c91a2c24d backlight - update timer on power plug/unplug
this ensures a different timeout can be applied if you plug or unplug
power.
2019-09-21 23:04:09 +01:00
Carsten Haitzler c16a58d75f warn - silence invalid alignment warning
these potrs are to structs we malloc thus will be universally aligned
for all data so... not valid. throw in a void * cast to do that.
2019-09-20 10:54:12 +01:00
Carsten Haitzler 6cb25300f1 e desk - remove unused vars 2019-09-20 10:47:23 +01:00
Carsten Haitzler 822680869f e comp - remove the disable/fast effects
for fast we probably should look at something like having a multiplier
on edj transitions and set it to 0 to make it instant. this would be
much better and able to apply to ALL effects... so let's remove this
way for now. as for no shaodws and other stuff - moving to wl cant
control CSD and even then it's a theme look ant feel - a "flat theme
withotu any shadows" would just not have them. probably not a checkbox
to have here.
2019-09-20 10:47:18 +01:00
Carsten Haitzler f89cb93829 e - bump config version properly in src
this doesnt resulti n a looping of wiz - but does result in a "version
too new of config" complaint and issues... so fix.
2019-09-19 19:29:28 +01:00
Carsten Haitzler 11c0fb01bd pager/desks - stop using numeric N,M if no name is set - be blank 2019-09-19 18:37:52 +01:00
Carsten Haitzler 1783c32839 backlight - add battery timeout in addition to regular dim timeout
this allows for a shorter timeout when on battery vs when on ac for
backlight dimming. this is actually important so when on ac dimming
can interrupt minimally bur when on battery it can be much more
aggressive.
2019-09-18 18:59:54 +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 d961e31436 blanking - special timeout immediately and force dpms todo
make special timeout universal and in all cases. cleaner with better
power management as we turn off bakclights earlier in some cases etc.
2019-09-11 10:56:21 +01:00
Carsten Haitzler 14a30c74b0 blue4 - remove. obsolete now and bluez5 has replaced it 2019-09-11 09:50:05 +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 48c4ea17f2 e - fix up resize/move by kbd to work again
this used to work years ago ... it seems tihave broken. this fixes it
all up to work again so you can bind a move/resize of a window tothe
kbd and then use arrow keys etc. like you used to....

@fix
2019-09-04 19:17:12 +01:00
Carsten Haitzler 2430b36b84 e comp object - fix null comp win access on move begin
don't crash.

@fix
2019-09-04 13:34:05 +01:00
Alastair Poole 38ee777a1c e_xsettings: Set appropriate font sizes.
This sets GTK+/Qt font sizes appropriately by converting
from pixels to point.
2019-08-27 23:09:51 +01:00
Carsten Haitzler e49f4f8de1 e menu - fix type for setting fill to wrong obj... 2019-08-22 19:50:14 +01:00
Carsten Haitzler 02957edfe9 e gadgcon popup - actually for reals smooth out show
now it actually does look smooth. i oopsed in my last attempt.
2019-08-22 08:21:39 +01:00
Carsten Haitzler b7d2ac57b0 freeze/that - use a bit more to cut out unwanted events 2019-08-20 08:42:55 +01:00
Carsten Haitzler 9f5fa6d00f gadcon popup - smooth out show just a little by deferring to next loop
so this is kind of a hack, but a neat one - defer the object show
until the next loop to skip the time involved in object creation thus
starting nay animation after this has happened.
2019-08-18 09:45:08 +01:00
Carsten Haitzler 67da43ee36 e hints - fix beyond end of array fetch and segv
asan found this one.

@fix
2019-08-10 13:34:32 +01:00
Carsten Haitzler 2aae421d7a any dialog - nicety - emot focusd/unfocused sigs to base
makes for nicer themes... simple.
2019-08-10 00:48:39 +01:00
Carsten Haitzler 2158d46dba e comp obj - edje messages - also send on size change
so sned only if bx/y/xx/yy or size changed
2019-08-09 10:01:21 +01:00
Carsten Haitzler fdd472879b xkb - make basic variant null now and handle in wl too the same as x
now russian works for me. :)

fixes T7979

@fix
2019-08-09 09:50:33 +01:00
Carsten Haitzler 855c7028c4 xkb core - make layotu set safer by udp before we free
this should fix another possible crash vector.

@fix
2019-08-09 00:40:18 +01:00
Carsten Haitzler ac6ceb0b99 reduce getenv calls by only getting once
we do egetvn's quite frequently and this is more costly than
remembering once and getting it once... fix that in some cases.
2019-08-08 23:54:09 +01:00
Carsten Haitzler 78c26e5f8d e comp - dont send messages uselessly with same values to theme
when border changes send then but not all the time. this drops some
mebryo overhead i was seening.
2019-08-08 23:53:18 +01:00
Carsten Haitzler f76627a6be e comp - reorder alpha native etc. surface sets to avoid crashes
this also avoids spurious texture uploads so it should be an
optimization too, but more importantly... thisis a fix. it fixes T8021

@fix

yay yay yay
2019-08-08 20:44:14 +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 fd26c7b224 evry - handle invalid chars in filters nicely and stop string walking
possible issue lurking if a utf8 char sequence has invalid content ...
avoid it.
2019-08-07 21:16:12 +01:00
Carsten Haitzler 8884f27975 e wl - fix borders to keep cutouts working
in soem cases a client has no csd and then border l/r/t/b/ are all 0
so artifically keep 1 at 1... to keep cutouts working.

still need to solve blending still being on though.
2019-08-07 21:15:00 +01:00
Carsten Haitzler d4340cb168 e wl pixmap - use id not xwin
copy & paste failure here. fix. found by asan.
@fix
2019-08-07 16:51:41 +01:00
Carsten Haitzler df0a64dc7a e dbusmenu - fix cross referencing from e menus created from debus menu
this stops crashes when e menu si still up when the dbus menu backing
it has changed/gone away... by referencing the dbusmenu to hang about
like a bad smell while the e gui menu is up until it's dismissed. this
fixes a real segv i saw with steam.

@fix
2019-08-07 00:43:47 +01:00
Carsten Haitzler 3c3e5f3b88 randr - use ints for mode info w/h as we want signed ints for a diff
fixes warning too.
2019-08-06 20:55:54 +01:00
Carsten Haitzler d0dc774673 efm - fix missing format strings in error reporting
fix CID 1403934
fix CID 1403923
2019-08-06 20:03:06 +01:00
Carsten Haitzler c1f73110ac wl input - use eina mkstemp to handle umask right
fix CID 1403927
2019-08-06 19:58:26 +01:00
Carsten Haitzler 52dde8d541 wl - handle null parent safely for subsurfs
fix CID 1403920
2019-08-06 19:23:25 +01:00
Carsten Haitzler 8c76ff3e32 gadget runner - check ptr return before deref
fix CID 1403925
2019-08-06 19:13:50 +01:00
Carsten Haitzler c9356a3f8c wl drag start - check source ptr consistently
fix CID 1403926
2019-08-06 19:11:24 +01:00
Carsten Haitzler e41d5e11bb e sys l2ping - report errors on fcntl failure
fix CID 1403933
2019-08-06 18:55:28 +01:00
Carsten Haitzler b30daea12c e client - check picmap type to be one of the only 2 valid ones
fix CID 1403938
2019-08-06 18:51:08 +01:00
Carsten Haitzler 490e532aa3 comp wl - fix check of source mime types
we dont always assume it's there.

fix CID 1403939
2019-08-06 18:45:58 +01:00
Carsten Haitzler 33ef4bc881 e comp wl - remove dead code
listener might maybe be null, but offer - never.

fix CID 1403945
2019-08-06 18:39:48 +01:00
Carsten Haitzler a536c8a6a2 e sys l2ping - check connect return for failures
fix CID 1403952
2019-08-06 18:21:29 +01:00
Carsten Haitzler 031e868b65 efm min - copy in nul byte terminator so be sure
coverity was not happy with this but it's harmless to copy that extra
nul byte... so do it

fix CID 1403950
2019-08-06 14:53:59 +01:00
Carsten Haitzler ccd0da5f02 e sys l2ping - close socket fd on error to be clean
fix CID 1403954
2019-08-06 12:54:28 +01:00
Carsten Haitzler 5b5b3005f6 e menu - remove excessive events and eo calls from menu init
so dropping a bit of overhead/latency for e menus here - this isn't to
the extent of a cache for menu objects/items... but it's just nuking
useless calls to do things not used or that can be done in fewer calls
as well as ordering things to we don't emit events and handle them
multiple times or calc min size multiple times etc. etc. -
adds a test case we can enable for perf testing too.
2019-08-01 10:39:29 +01:00
Carsten Haitzler 1967257dc7 e menu - fix grab and ungrab and forced hide all with desklock
found a valgrind issue and an input issue all in one... this fixes
that with no more valgrind complaints and input works if e menu is up
whilst desklock kicks in.

@fix
2019-07-31 13:38:50 +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 e9f00dacd1 e deskmirror - fix apply location to avoid access-after-free
this fixes T8082
@fix
2019-07-28 08:57:00 +01:00
Carsten Haitzler 646fde45de module errors - also report to stderr immediately to aid in debug
delaying the module error may mean you never see it, so display
immediately on stderr
2019-07-19 10:55:30 +01:00