abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 1
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 2
    včera 13:55 | Komunita

    Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.

    Ladislav Hagara | Komentářů: 9
    28.4. 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:22 | Zajímavý projekt

    TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:00 | Nová verze

    Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.

    Ladislav Hagara | Komentářů: 5
    27.4. 21:33 | Nová verze Ladislav Hagara | Komentářů: 0
    26.4. 23:00 | Komunita

    V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 485 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    GTK file chooser dialog a výchozí adresář

    20.10.2012 04:54 | Přečteno: 894× | Výběrový blog | poslední úprava: 20.10.2012 05:01

    Stručně: dávám k dispozici jednoduchý wrapper upravující chování GTK file chooser dialogu tak, aby výchozím místem byl aktuální pracovní adresář.

    Méně stručně: ačkoliv se vývojáři Gnome snaží tvářit, že aktuální adresář nikoho nezajímá, ponechali v GTK knihovně stále funkci gtk_file_chooser_set_current_folder. Protože narozdíl od nich považuji pracovní adresář za docela praktický koncept, stvořil jsem výše zmíněný wrapper. Měl by fungovat jak s GTK2 tak s GTK3, odchytává gtk_file_chooser_dialog_new() který používají prakticky všechny aplikace, co jsem otestoval, a dále g_object_new(GIMP_TYPE_FILE_DIALOG,...) používaný Gimpem.

    Kód je na pár řádek, asi nejzajímavější (a nejprasáčtější) je volání původní gtk_file_chooser_dialog_new(), což je funkce s proměnným počtem argumentů a verzi akceptující va_args jsem neobjevil. Vyřešeno pomocí switch, jehož obsah vypadne z makra generovaného shellem v Makefile. Maximální počet argumentů je tak sice omezený, ale hodnota jde jednoduše nastavit v Makefile, pokud by to bylo potřeba. Umíte-li to lépe, podělte se v diskuzi.

    Použití pomocí LD_PRELOAD, případný script, bash aliases apod. si předpokládám každý zvládne vyrobit podle svých preferencí.

    Vítám komentáře, se kterými programy to nefunguje, úpravy, vylepšení, cokoliv. :) Pokud komukoliv přijde tenhle výtvor zajímavý a hodí jej někam víc na veřejnost, budu jen rád (já osobně jsem na to lenivý, přiznávám).

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    mess avatar 20.10.2012 11:42 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Ty proměnné parametry by se daly řešit pomocí vloženého assembleru. Měl bys to potom univerzální, ale zase za cenu nutnosti napsat ten kousek assembleru pro každou platformu extra. A taky je to dost prasárna, co si budem povídat :-D
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    20.10.2012 22:00 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    No právě, myslel jsem něco, kde nebude potřeba řešit "ručně" desítky různých calling conventions, ale nechá se to na překladači, který by je měl tak nějak z principu znát. Ale asi to opravdu nejde.
    Marián Kyral avatar 20.10.2012 21:29 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Bylo by fajn, kdyby se někdy zase rozběhl a dotáhl ten projekt file dialogu nezávislého na toolkitu. Tedy, že bych si v KDE vybral jeho dialogy ty by se pak používaly všude. Stejně tak někdo jiný, by si vybral gtk dialogy. Ovšem to vyžaduje podporu u všech toolkitů.

    Jednu dobu se o tom živě diskutovalo, ale pak to vyšumělo :-(
    20.10.2012 21:52 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    No pokud nechceš udržovat patche oproti gtk, kde a všem aplikacím, co to využívají :), tak asi jediná průchozí cesta je implementovat existující API těch toolkitů vlastním kódem. Tedy zhruba to, co jsem tady předhodil, v poněkud větší verzi.

    Problém je hlavně v tom, že API týkající se file dialogů je poměrně rozsáhlé, a ty bys potřeboval implementovat všechno, a ještě to udržovat. Navíc už jen u prostého GTK file dialogu jsem narazil na to, že Gimp prostě nevolá žádnou "normální" funkci na vytvoření gtk_file_chooser. Po relativně dlouhém hrabání v kódu jsem se dostal k obecnému g_object_new(), což sice, zdá se, funguje, ale je to specifický hack pro Gimp a stejně mi není pořád moc jasné, jak a proč se takhle vytváří filedialog.

    A mám obavu, že při snaze o implementaci kompletního fileselectorového API by podobných zrad, kdy si aplikace dělají věci méně obvyklým způsobem bylo víc, než je zvládnutelné. Navíc třeba v GTK je file_chooser vlastně obecný widget, který se dá pověsit do libovolného jiného okna. Pak bys s požadavkem na selector z jiného toolkitu asi dost narazil. (Pravda, zrovna tenhle styl vytváření dialogu asi není moc častý, protože ho ve svém wrapperu neodchytávám, a neobjevil jsme zatím aplikaci, kde by to vadilo. Nicméně princip zůstává.)

    Ono jde také o to, že mě je v principu upřímně jedno, jakou barvu a ikonky má dialog, pokud mi vysloveně nepřekáží v práci. A tuhle hranici zatím jednoznačně překonalo jen tohle zrušení konceptu pracovního adresáře. Tudíž cesta nejmenšího odporu.
    Marián Kyral avatar 21.10.2012 13:09 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Pro KDE takovýhle hack existuje. Jmenuje se to Kgtk. Bohužel s tím jsou různé problémy, funguje to jen u některých nejrozšířenějších aplikací, dokonce i v Gimpu, jen se neukazuje progress bar. Bohužel nová verze jakéhokoli programu to je schopna rozbít a distribuce od používání Kgtk raději ustoupily. Já to ještě chvíli zkoušel, ale pak jsem to taky vzdal a trpím s gtk dialogy.

    Tudy cesta nevede. Jednalo se mi spíše o to, že každý toolkit bude mít svůj vlastní dialog, ale zárověň API, kterým si dle nastavení prostředí zavolá systémový dialog.

    S barvou není problém, to se už dnes dá nastavit. Stejně tak existují témata vzhledu pro kde/gtk a aplikace pak vypadají stejně. S těmi ikonami je to trochu horší, tam nevím jak nastavit stejné pro obě prostředí. Vadí mi to třeba právě u toho file dialogu. V KDE má kořenový adresář červenou ikonu, v gtk ne. Celkem to zhoršuje orientaci.

    Gtk dialog mi začal překážet v práci od té doby, co se rozhodli jej osekat a vyházet "nepotřebné" funkce. Často se mi stává, že chci soubor ještě před otevřením přejmenovat. Případně narazím na nějaký dočasný soubor a chci jej smazat. S gtk dialogem mám smůlu.

    Podobný problém je i se save dialogem. Je super, že si můžu vytvořit nový adresář. Ovšem nesmím se splést. Pokud udělám při pojmenování chybu, není žádná šance to napravit. Přejmenovat ani smazat a znova vytvořit to nejde. A tohle mně sere nehorázně. Do bugzilly jsem tento příklad popsal, odezva nulová.
    21.10.2012 00:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Gtk filepicker je svou koncepcí sice strašný, ale proti tomu [autocensored] nápadu z GIMPu 2.8, že se pro ukládání do jiných formátů než XCF z výchovných důvodů nebude smět používat "Save" nebo "Save As", je to celkem zanedbatelná drobnost.
    Tomáš Bžatek avatar 23.10.2012 21:40 Tomáš Bžatek | skóre: 29 | Brno
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Jo, taky si na to furt nemuzu zvyknout. :-(
    Koupim litajiciho tucnaka
    24.10.2012 22:12 Milan Meninger
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Gimp do jiných formátů než XCF ukládat neumí a nikdy to neuměl...
    24.10.2012 22:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    Jak se píše smajlík obracející oči v sloup?
    Petr Tomášek avatar 25.10.2012 16:15 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: GTK file chooser dialog a výchozí adresář
    $-o
    multicult.fm | monokultura je zlo | welcome refugees!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.