Dialog pro vyber souboru - tak to je jedna velka vec, co mi v linuxu vadi (a ve winech taky). pokud se clovek neomezuje jen na software skupiny (KDE, GNOME), tak to vypada pokazde jinak, ma to jine chovani, a neni problem behem prace narazit na 4 ruzne typy toho sameho.
A i tak, je to pokazde hruza. Casto si dialogy nepamatuji posledni misto, a pri praci v ruznych programech musim tu samou cestu najit vicekrat, nektere programy tvrdosijne trvaji na male velikosti dialogu i kdyz ja ho potrebuji vetsi, nejake sjednoceni zalozek s cestama taky nefunguje na 100 %.
Zkousel jsem kdysi nejake programky na sjednoceni, ale veci to spis rozbijelo nez zlepsovalo.
Ne ze by to bylo ve windowsech lepsi.
Já netvrdím, že to používá každá aplikace, jen, že na to existuje řešení. Jestli to aplikace používá nebo ne, je pak na jejích autorech. Firefox by měl portál výhledově taky podporovat, pro některé věci ale požaduje udělení přístupu k celé složce, což daný portál zatím neumí, proto používá ten z GTK, ale řeší se to.
Jen to co umožňuje portál -> https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.FileChooser.html
na stranu druhou, tohle není potřeba nějak často, konkrétně mě teď nenapadá žádný rozumný use case. Byl by nějaký vhodný příklad?
Třeba náhled nad rámec toho, co umí standardně? Donedávna neuměl ani obrázky. Windows Explorer už umí třeba i 3D objekty a naše firma to využívá (CAD/CAM software). A pak různé checkboxy a přepínátka, ve Windows je to běžné. Je otrava, aby pak vyskočil druhý dialog pro parametry otevření nebo uložení (např. síla JPG/PNG komprese)
1. 10. 2024, 17:28 editováno autorem komentáře
Problém je, že ten file chooser dialog běží zcela nezávisle na aplikaci. Tento design je kvůli bezpečnosti. Aplikace běží v sandboxu, potřebuje nějaký soubor z domovského adresáře, požádá XDG portal, ten spustí proces mimo sandbox, který vykreslí dialog, uživatel vybere soubor a aplikace jen dostane file descriptor k vybranému souboru.
Bylo by neudržovatelné, kdyby XDG portal implementoval kdejakou vlastnost jako JPG kompresi, kterou by mohla nějaká aplikace využít. Anebo by umožnil aplikacím dialog, který má z bezpečnostních důvodů běžet zcela nezávisle na aplikaci, jakkoliv rozšiřovat.