Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Pracovní prostředí => Téma založeno: kapetr 18 Dubna 2013, 17:23:36

Název: [VYŘEŠENO] Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: kapetr 18 Dubna 2013, 17:23:36
Zdravím,

mohl by mi někdo znalý programování UI (user interface) přibližně naznačit, jak to funguje, že tatáž aplikace (např. Firefox) vypadá jinak v např. Unity a jinak ve Fluxboxu ?

Mám na mysli - jiné fonty menu aplikace, jiné, hranaté tvary tlačítek, jiné ikonky v menu a liště aplikace, ...

Myslel bych, že okenní manager má vliv jen na okraje okna, zavírací tlačítka či menu okna a pod.
Ale vnitřek okna je pod dikcí aplikace - tedy použitých knihoven, v nichž je naprogramována, .... Ikonky jejích menu/panelů bych čekal, že jsou součástí instalace aplikace a nejdou tedy dynamicky měnit bez "vědomí" aplikace, ...

Díky za info.
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: pacholik 18 Dubna 2013, 17:32:43
v každým prostředí můžeš mít nastavený jiný téma

resp. ty lehčí se sice možná koukaj do gtkrc, ale ty větší si to dělaj po svým
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: kapetr 18 Dubna 2013, 17:35:38
Zajímala by mě podrobnější odpověď.
Témata v prostředích se týkají právě jen "ozdob" oken, barev titulků, pozadí, menu prostředí, ...
Mě zajímá "obsah" oken.
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: GdH 18 Dubna 2013, 17:46:21
Design obsahu oken určuje téma vzhledu, víc v tom není. Okna jsou založena na nějakém toolkitu a ten umožňuje skinování a respektuje globální nastavení fontů. S okenním správcem to nemá společného nic.
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: kapetr 18 Dubna 2013, 18:40:16
Aha.
Vezměme příklad. Firfox má na konci tabů tlačítko "+".
Je to zřejmě nějaké okno vyplněné obrázkem "+". Tento obrázek je ale jiný v Unity a jiný ve fluxboxu.

Já si jen nějak neumí představit, že programátor firefoxu neurčí, jak má obrázek tohoto elementu vypadat a místo toho asi (????) nějak jen řekne, že to má být okno určité velikosti s ikonou "nějakého plusu" a spolehne se na to, že GTK vybere něco použitelného.
A ani si nechci domyslet, jak nekonečný by musel být nějaký soubor s DEFINE, který by určoval konstanty pro všechny myslitelné prvky (a to mluvím jen o ikonkách) , jež by programátor UI mohl potřebovat.  To mi prostě nějak neleze do kebule :-)
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: GdH 18 Dubna 2013, 18:57:08
Programátor si samozřejmě může vybrat jakou ikonu tam dá, ale může určit nějakou generickou, kterou nabízí daný toolkit a která se bude měnit podle toho, jaká je zrovna vybraná sada ikon. Nemusí ale ani využívat objekty, které nabízí přímo toolkit, jen ikonu při insalaci umístí do nějakého obecného adresáře a pokud v aktuální sadě ikon existuje alternativa, použije se ta. Zjednodušeně. Samozřejmě nenačítá přimo ikonu z daného umístění ale řekne "chci tuhe ikonu" a dostane buď výchozí, nebo alternativu.
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: Vojtěch Trefný 18 Dubna 2013, 19:10:31
Grafické knihovny mají funkce, kterými můžete "něčemu" (tlačítku, položce nabídky...) přiřadit vlastní obrázky, ale také mají funkce, které programátorovi umožní přiřadit nějakou "defaultní" ikonu -- takové ty základní jako pluska, křížky, fajfky, adresáře atp. jsou prostě předdefinované, takže programátor řekne něco jako k tomuhle tlačítku použij ikonu gtk.STOCK_ADD a tím to pro něj končí. Systém pak už jen při vykreslování vybere "to správné" plusko podle aktuálního motivu -- proto jsou pro tvorbu motivů nějaké standardy a tyhle "základní" grafické prvky by měly být součástí každého správného iconsetu.

Takhle to například vypadá pro Python/PyGTK:

http://www.pygtk.org/docs/pygtk/gtk-stock-items.html
Název: Re:Různý vzhled aplikací v různých prostředích - jak to funguje ?
Přispěvatel: kapetr 18 Dubna 2013, 19:22:07
Ano - děkuji všem za vysvětlení.
Ostatně zmíněné poznání samo o sobě dokazuje, že to tak nějak být musí. Jen je to pro mne, jako ne-programátora, těžko představitelné. Těch ikonek v menu FF ..., a snad všechny jsou opravdu určené jen výběrem z předefinovaných variant - a tedy skinovatelné. Žasnu.

Ještě jednou díky a zdravím.