Zdravím Vás,
Děkuji moc, za velmi ochotnou pomoc, zkoušel jsem, ale nejde vložit ikonu před text v jakémkoliv tématu metacity. Muselo by být celé xml přepsané, asi nejde jen doplnit pár řádků...Mooc složité a zdlouhavé. Zkusím ještě laborovat až budu mít trochu času. Zatím děkuji.
Není to tak hrozné. Stačí přepsat jem malý úsek code v daném theme*.xml. Tak nějak mi to nedalo, a zkusil jsem vložení ikony prakticky. Povedlo se a pokusím se zde dát návod jak na to, aplikovatelný na libovolné theme*.xml, které používá metacity. Já si vložil ikonu jablka (soubor "metacity-window-demo.png") do metacity theme*.xml "Atlanta", kterážto ikona se mi nyní zobrazuje v každém title každého window, které otevřu. Jen lituji, že jsem nesehnal na netu icon file nějaké prsatice (pro začátek by stačila třeba Pamela Anderson), upravované theme by získalo na plastičnosti...
Nuže dosti slov, jdeme na to....
0. Cíl - vložit ikonu k title window do theme*.xml metacity applikace
1. pro kontrolu ověříme, že theme*.xml, které chceme editovat, lze korektně otevřít pomocí Aplikace -> Systém -> Volby -> Vzhled ->Motiv . Na mém PC mám spoustu témat, ale jen některá jdou takto otevřít, možná metacity podrobí kontrole proti *dtd otevíraný theme*.xml a pokudtento kontrole nevyhoví, tak se dále nezpracovává.. . Otevření můžete ověřit i pomocí metacity-theme-viever aplikace, která je v /usr/bin.
2. Pokud jde theme*.xml otevřít aplikací metacity,
vytvoříme zálohu daného theme*.xml (přes sudo)
3. Otevřeme theme*.xml, nejlépe xml editorem, v nouzi libovolným textovým editorem (přes sudo)
4. Hledáme element <draw_ops name="title_text_with_icon"> (to je ideální stav) anebo element <draw_ops name="title_text">, obecně : element <draw_ops> v jehož jméně je attribut "name" s hodnotou "*title*"
5. Do nalezeného elementu vložíme element <image>, samozřejmě s povinnými atributy.
Kde o nich nalezneme informaci ? V /usr/share/sgml/metacity-common/metacity-theme.dtd
Toto metacity-theme.dtd obsahuje strukturální definici struktury theme*.xml files.
Pokud <draw_ops> již obsahuje <icon>, tak ten buď zlikvidujeme, nebo (lépe) , zakomentujeme takto :
<!-- icon ............ / -->
Btw. :
<!-- toto je commnet v xml -->
6. Ad theme*.xml, které jste zaslal :
a) nalezněte elementy <draw_ops name="title-text-focused"> a <draw_ops name="title-text-unfocused"> a upravte je takto :
<draw_ops name="title-text-focused">
<clip x="0" y="0" width="width" height="height"/>
<image filename="pamela_anderson.png"
x="(width - title_width - mini_icon_width - IconSpacing) / 2"
y="(height-mini_icon_height) / 2"
width="mini_icon_width" height="mini_icon_height"/>
<title color="#c3c3c3" x="(width - title_width) / 2 +0" y="(height - title_height) / 2 + 1"/>
<title color="#3c3c3c" x="(width - title_width) / 2" y="(height - title_height) / 2"/>
</draw_ops>
<draw_ops name="title-text-unfocused">
<clip x="0" y="0" width="width" height="height"/>
<image filename="pamela_anderson.png"
x="(width - title_width - mini_icon_width - IconSpacing) / 2"
y="(height-mini_icon_height) / 2"
width="mini_icon_width" height="mini_icon_height"
alpha="0.5"/>
<title color="#d2d2d2" x="(width - title_width) / 2 +0" y="(height - title_height) / 2 + 1"/>
<title color="#757575" x="(width - title_width) / 2" y="(height - title_height) / 2"/>
</draw_ops>
Samozřejme musíte nahrát file ikony "pamela_anderson.png" do adresáře , kde leží theme*.xml, které editujete.
Srovnejte code snippet, který zasílám, s originálním code Vašeho theme*.xml a vše Vám pravděpodobně bude jasné..
7. Otevřít editované theme*.xml pomocí aplikace metacity a opticky zkontrolovat zdali upravené odpovídá zamýšlenému....
8. Pro ilustraci, tady je příklad úpravy dalšího theme*.xml : "DarkRoom"
<draw_ops name="title_text">
<title color="shade/gtk:bg[NORMAL]/0.75"
x="(3 `max` (width-title_width)) / 2 - 1"
y="(((height - title_height) / 2) `max` 0)"/>
<title color="shade/gtk:bg[SELECTED]/0.5"
x="(3 `max` (width-title_width)) / 2 + 1"
y="(((height - title_height) / 2) `max` 0) + 2"/>
<title color="gtk:fg[NORMAL]"
x="(3 `max` (width-title_width)) / 2"
y="(((height - title_height) / 2) `max` 0)+1 "/>
<image filename="metacity-window-demo.png" x="0" y="0" width="object_width" height="height" />
</draw_ops>
Ikona jablka ("metacity-window-demo.png") je po výše uvedené editaci theme "DarkRoom" a jeho aktivaci "rozpláclá" a leží daleko od window title : je třeba si trochu pohrát s obsahem @x, @y , @width a @height podobně jako to má <image> v bodě 6.
Enjoy !
Pěkné počtení na téma "metacity" zde :
https://help.ubuntu.com/community/Metacity