https://git.enlightenment.org/raster/xdg-desktop-portal-efl

It's a prototype. It could have better code. But then again I cooked it up
basically inside of a day with codex (damn LLMs make this so productive/fast).

It's got a relatively decent design.

It can - unlike other portals I've seen, run WITHOUT the core
xdg-desktop-portal service launching it (but you can use this if you want
like other portals). So just run this and you get a relatively basic set of xdg
portals being offered (access, filechooser, settings).

It spawns a child process per dialog to handle the dialog with a parent
"serivce" dbus protocol handler that spans the dialog processes and speaks to
them via stdin/out.

if you run this without xdg-desktop-portal owning the
org.freedesktop.portal.Desktop serivce, then this ill run its on frontend to do
this so you don't need this.

this makes NO attempt to sandbox anything like for the fileselector. as i said
- it's an initial prototype. it does work though. so if you find you NEED an
xdg desktop portal no like some chromium based browsers now require (they no
longer have built in file selectors and only work via portals), then this is
probably a not-bad solution using efl.

now yes - it needs expanding to support more. what is there needs more testing
and fleshing out. it needs the code to be cleaner and more re-usable but it's
not bad right now. i ant to polish it a bit more before:

1. adding more services
2. eventually this would merge into enlightenment as why run a whole portal
dbus process eating up yet more stack and heap space when if you use
enlightenment... this could just be a module that adds in the service handling
(and it'd still spawn dialogs processes like it does now).

the latter (2) falls in line with e trying to be efficient and using its module
system to have e handle being a service handler for occasionally used services
to save having to run 184 different services all day long that rarely get used
and thus eat up lots of ram and startup overhead.

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - [email protected]



_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to