Portál AbcLinuxu, 15. května 2025 05:07
/usr/share/applications/eopauthapp.desktop
mám asociaci dle očekávání, ale problém je, že jakmile browser chce otevřít URL např. czeeopauth://mwid=767aae75-d431-4680-9f1f-363a9341b400
, tak xdg-open
nakonec zkusí otevřít toto URL v Chromu (mém výchozím prohlížeči).
Je to ovšem celé o dost zapeklitější. Ověřil jsem, že xdg-open
používá kde-open5
, a to se chová následovně:
czeeopauth://mwid=767aae75
-> zkusí spustit prohlížeč (chyba)czeeopauth:/mwid=767aae75
-> spustí správnou aplikaciczeeopauth://mwid767aae75
-> spustí správnou aplikaciczeeopauth:mwid=767aae75
-> spustí správnou aplikacipřeprasit zdrojáček kde-open5 tady asi hele :D
Aj keď riešenie workaroundom v kde-open, alebo inou alternatívou môže byť rýchlejšie.IMHO nejenom rychlejší, ale i správnější, protože vyhodnocování v jakém programu se má daná URI otevřít by nemělo probíhat na základě toho jestli obsahuje znak "=".
Aside from dot-segments in hierarchical paths, a path segment is considered opaque by the generic syntax. URI producing applications often use the reserved characters allowed in a segment to delimit scheme-specific or dereference-handler-specific subcomponents. For example, the semicolon (";") and equals ("=") reserved characters are often used to delimit parameters and parameter values applicable to that segment. The comma (",") reserved character is often used for similar purposes. For example, one URI producer might use a segment such as "name;v=1.1" to indicate a reference to version 1.1 of "name", whereas another might use a segment such as "name,1.1" to indicate the same. Parameter types may be defined by scheme-specific semantics, but in most cases the syntax of a parameter is specific to the implementation of the URI's dereferencing algorithm.https://www.ietf.org/rfc/rfc3986.txt Můj předchozí komentář se netýkal správné/nesprávné URI (podle rfc definice), ale jestli je správné mít v Linuxu program (kde-open5), který vyhodnocuje (otevírá) vhodné aplikace pro danou URI jen podle toho jestli se v URI nachází znak "=". To jaká aplikace se použije pro danou URI by se mělo vyhodnotit snad podle "scheme" a nikoliv podle "=" v názvu. Nesouhlasíš?
keď ten znak urobí z URI pre zmenu URLA jsi o tom skálopevně přesvědčen, že znak "=" v URI z ní udělá URL? Já už o tom tak přesvědčený nejsem.
Ale to je zbytočné rozoberať.Není. To v čem se otevře daná URI mně přijde jako docela zásadní věc, která by měla být doladěná a měla by fungovat dle očekávání.
http://czeeopauth/mwid=767aae75
. Prostě to do schématu prdne http a z původního schématu to udělá hostname!
Můžeme vést nekonečné diskuze o tom, co v URI má nebo nemá být, ale to, co z toho KDE vyrobí, než to předá prohlížeči, určitě nemá podporu ani v RFC, ani v jakékoliv logice.
Ten kód, co tohle dělá, musí bejt strašná prasárna.
Ten kód, co tohle dělá, musí bejt strašná prasárna.Podle mě se někdo snažil o nějakou automatiku při rozpoznávání URL, aby to bylo co nejuniverzálnější pro široké použití v KDE a trošku to s tou automatikou přehnal
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.