Szybka nawigacja
Stabilny: 6.00.3.77
Testowy: brak
 Aktualności  Forum dyskusyjne  Blog

   Informacje ogólne

Aktualności
Artykuły
Instalacja Tlenu
Instalacja dodatków
   » ręczna
   » automatyczna
Zrób sam
   » styl
   » skórkę
FAQ
Lista zmian
Wywiady
Pomoc
Lista życzeń
   Strefa plików

Komunikator Tlen.pl 7
  Skórki
  Ikonki (1)
  Emotikonki (1)
  Style rozmów (8)
  Wtyczki
  Wersje Tlenu
   Windows
    Wersje testowe (1)
    Wersje stabilne
   Linux
    Wersje testowe
    Wersje stabilne
   Mac OS X
    Wersje testowe
    Wersje stabilne
Komunikator Tlen.pl 6
  Skórki
   Okno główne (505)
   Okno rozmowy (19)
   Okno czatu (4)
  Ikonki (233)
  Emotikonki (53)
  Style rozmowy (231)
  Style czatów (4)
  Dźwięki (114)
  Wtyczki (133)
  Wersje Tlenu
   Wersje testowe (103)
   Wersje stabilne (27)
Różne
  Schematy evn (54)
  Tapety (72)
  Narzedzia i inne (15)
  Gry (2)
   Tlen.Czaty

Informacje
Regulamin
Kontakt z SU
Wejdz na czat
   Inne platformy

TleenX3 [win32/linux]
   » informacje
   » autorzy
   » download
   » screeny
TleenX2 [linux]
   » informacje
   » autorzy
   » download
   » screeny
PocketTlen [Pocket PC]
   » informacje
   » download
   » screeny
IMEX [MS Excel]
   » informacje
   » jak wygląda
   » autorzy
   Inne

Koszulki tlenowe
Bramka www > tlen
Forum tlenowe
   Strona

Redakcja
Reklama
Nasze bannery
Nasze sukcesy
Dla prasy
Napisz do nas
   Losowa skórka

Insipid
   Newsletter
 
Adres e-mail
 
 
   Zaloguj się
 
Login
Hasło
Zapamiętaj mnie
 
 
   RSS

Wyświetl nasze aktualności na swojej stronie

   Reklama






Zrób sam - skórkę

Przygotowaliśmy dla Was skrótowy poradnik, który tłumaczy, jak zaprojektować i wykonać skórę graficzną do programu Komunikator Tlen.pl.

START...

Tworząc nową skórkę najpierw musimy narysować tło okienka. Przeskoczę od razu do momentu, w którym tło takie mamy gotowe:


Następnie musimy wyodrębnić z takiego rysunku obszary - w naszym przypadku będą to: 4 narożniki (nr 1-4), 4 rozciągane elementy brzegowe (nr 5-8) oraz obszar listy kontaktów (nr 9):


W celu zmniejszenia rozmiaru zajmowanego na dysku (i w pamięci) przez skórkę należy zmniejszyć tak tło, aby elementy brzegowe miały jak najmniejszą szerokość (nr 5 i 7) bądź wysokość (nr 6 i 8), po tym zabiegu tło wygląda następująco:


Fioletowe narożniki w naszej skórce oznaczają obszary, które będą niewidoczne. Tym sposobem uzyskamy efekt zaokrąglonych narożników w okienku Komunikatora.

Obraz przedstawiający tło zapisujemy w pliku BMP, dajmy mu np. nazwę skin.bmp

<bitmaps>
 <i i="1" f="skin.bmp"/>
</bitmaps>


Teraz musimy odszukać sobie współrzędne lewych górnych narożników każdego z 8 elementów w pliku skin.bmp oraz ich szerokości i wysokości (na tejże własnie bitmapie).

Następnie ustalamy współrzędne obszaru elementu w okienku Komunikatora, określone są one w pliku skin.xml 4 zmiennymi - lewy brzeg (l), prawy brzeg (r), górny brzeg (t), dolny brzeg (b). Gdy wartość zmiennej jest dodatnia oznacza to, że pozycjonujemy element względem odpowiednio lewego (zmienne l i r), bądź górnego (zmienne t i b) brzegu. Gdy wartość jest ujemna, pozycjonowanie odbywa się względem prawego (zmienne l i r) bądź dolnego brzegu (zmienne t i b). Jeśli wartość jest równa 0, to pozycjonowanie odbywa się względem tego samego brzegu co zmienna: l - lewego, r - prawego, t - górnego, b - dolnego.

I tak przykładowo dla elementu nr 1 (lewy górny narożnik):

- współrzędne w skin.bmp: l="0" t="0", szerokość i wysokość: w="22" h="71"
- współrzędne obszaru w oknie Komunikatora: l="0" r="22" t="0" b="71"

Dla elementu nr 3 (prawy dolny narożnik):

- współrzędne w skin.bmp: l="23" t="72", szerokość i wysokość: w="67" h="67"
- współrzędne obszaru w oknie Komunikatora: l="-67" r="0" t="-67" b="0"

Dla elementu nr 7 (dolny brzeg):

- współrzędne w skin.bmp: l="0" t="71", szerokość i wysokość: w="15" h="1"
- współrzędne obszaru w oknie Komunikatora: l="0" r="15" t="71" b="-67"
(jak widać, element ten jest rozciągany pomiędzy 71 pikselem od góry okienka a 67 pikselem od dołu okienka, tworząc lewy brzeg o szerokości 15 pikseli)

Po obliczeniu wszystkich współrzędnych oraz obszarów ich definicja w sekcji elementów statycznych wygląda następująco (po kolei, elementy od 1 do 8):


(* Na szaro komentarz, nie występuje w pliku skin.xml)

<static>

 <i e="1" w="22" h="71" l="0" r="22" t="0" b="71" p="FF00FF">

 e="1" - oznacza że dany element korzysta z bitmapy o ID="1"
 w="22" - szerokość elementu na bitmapie
 h="71" - wysokość elementu na bitmapie
 l, r, t, b - współrzędne elementu w okienku komunikatora (opisane wyżej)
 p="FF00FF" - kolor narożnika - w okienku programu będzie to niewidoczne (zaokrąglony narożnik)

   <a k="0" l="0" t="0"/>
   współrzędne lewego górnego rogu elementu na bitmapie dla okna Komunikatora aktywnego
   <a k="1" l="0" t="0"/>
   współrzędne lewego górnego rogu elementu na bitmapie dla okna Komunikatora nieaktywnego
  </i>

<i e="1" w="67" h="71" l="-67" r="0" t="0" b="71" p="FF00FF">
   <a k="0" l="23" t="0"/>
   <a k="1" l="23" t="0"/>
 </i>

<i e="1" w="67" h="67" l="-67" r="0" t="-67" b="0" p="FF00FF">
   <a k="0" l="23" t="72"/>
   <a k="1" l="23" t="72"/>
 </i>

<i e="1" w="22" h="67" l="0" r="22" t="-67" b="0" p="FF00FF">
   <a k="0" l="0" t="72"/>
   <a k="1" l="0" t="72"/>
 </i>

 <i e="1" w="1" h="71" l="22" r="-67" t="0" b="71" s="1">
 parametr s="1" oznacza, że ten element jest rozciągany w oknie Komunikatora (jego szerokość na bitmapie to 1 piksel, a jest rozciągnięty tak, że tworzy górny brzeg)
   <a k="0" l="22" t="0"/>
   <a k="1" l="22" t="0"/>
 </i>

<i e="1" w="15" h="1" l="-15" r="0" t="71" b="-67" s="1">
   <a k="0" l="75" t="71"/>
   <a k="1" l="75" t="71"/>
 </i>

<i e="1" w="1" h="67" l="22" r="-67" t="-67" b="0" s="1">
   <a k="0" l="22" t="72"/>
   <a k="1" l="22" t="72"/>
 </i>

<i e="1" w="15" h="1" l="0" r="15" t="71" b="-67" s="1">
   <a k="0" l="0" t="71"/>
   <a k="1" l="0" t="71"/>
</i>

</static>


» W pliku skin_guide.txt znajduje się opis niewymienionych tutaj parametrów znajdujących się w pliku skin.xml, który definiują wygląd skóry graficznej.

Teraz możemy przystąpić do zdefiniowania przycisków (które wcześniej narysowaliśmy - dajmy bitmapie nazwę buttons.bmp):



W sekcji bitmap dodajemy kolejny plik - buttons.bmp:

<bitmaps>
 <i i="1" f="skin.bmp"/>
 <i i="2" f="buttons.bmp"/>
</bitmaps>


Jak widać większość przycisków posiada 2 stany - dla przycisków zakładek biały oznacza wciśnięty, natomiast małe przyciski na żółtym tle o większym nasyceniu będą pojawiać się po najechaniu na dany przycisk myszką.

Podobnie jak w przypadku elementów statycznych musimy wiedzieć, jaka jest współrzędna przycisku w pliku buttons.bmp oraz jego rozmiary, a także jaki obszar w okienku komunikatora będzie zajmował przycisk.

Przykładowo dla przycisku "E-mail" będzie wyglądać to tak:

współrzędne w buttons.bmp: przycisk nieaktywny: l="35" t="0", przycisk wciśnięty: l="35" t="31", szerokość i wysokość: w="35" h="31" współrzędne obszaru w oknie Komunikatora: l="52" r="87" t="40" b="71"

Definicja w skin.xml takiego przycisku wygląda tak:

<i i="EMAIL" d="1" w="35" h="31" l="52" r="87" t="40" b="71" n="E-mail">
  <s i="0" e="2" d="1">
    <a k="0" l="35" t="0" d="1"/>
  </s>
  <s i="1" e="2">
    <a k="0" l="35" t="31" d="1"/>
  </s>
</i>


» W pliku skin_guide.txt znajduje się dokładny opis parametrów znajdujących się w pliku skin.xml, który definiują wygląd skóry graficznej.

Wszystkie przyciski zdefiniowane w skin.xml:

<buttons>

 <i i="PEOPLE" d="1" w="35" h="31" l="13" r="48" t="40" b="71" n="Ludzie">
 i="PEOPLE" - identyfikator przycisku (na stronie ..... znajduje się opis identyfikatorów)
 d="1" - oznacza że przycisk należy do zakładek przełączających zawartość głównego okienka (ludzie, poczta, portal)
 w, h - szerokość i wysokość na bitmapie
 l, r, t, b - obszar zajmowany przez przycisk w okienku Komunikatora
 n - teksty wyświetlany w okienku pomocy (hint)
  <s i="0" e="2" d="1">
    zestaw dla przycisku wyłączonego
    e="2" - korzysta z bitmapy o ID="2'
    d="1' - jest to domyślny zestaw
    <a k="0" l="0" t="0" d="1"/>
    współrzędne lewego górnego rogu elementu na bitmapie dla okna Komunikatora aktywnego
  </s>
  <s i="1" e="2">
    zestaw dla przycisku włączonego
    <a k="0" l="0" t="31" d="1"/>
  </s>
 </i>

<i i="EMAIL" d="1" w="35" h="31" l="52" r="87" t="40" b="71" n="E-mail">
  <s i="0" e="2" d="1">
    <a k="0" l="35" t="0" d="1"/>
  </s>
  <s i="1" e="2">
    <a k="0" l="35" t="31" d="1"/>
  </s>
</i>

<i i="PORTAL" d="1" w="35" h="31" l="90" r="125" t="40" b="71" n="Portal" a="w:web.tlen.pl">
    a="w:web.tlen.pl" - po naciśnięciu w oknie Komunikatora otworzy się strona web.tlen.pl
    <s i="0" e="2" d="1">
    <a k="0" l="70" t="0" d="1"/>
  </s>
  <s i="1" e="2">
    <a k="0" l="70" t="31" d="1"/>
  </s>
</i>

<i i="SMS" w="35" h="31" l="-48" r="-13" t="40" b="71" n="SMS">
  <s i="0" e="2" d="1">
    <a k="0" l="105" t="0" d="1"/>
    współrzędne na bitmapie dla przycisku nieaktywnego
    <a k="2" l="105" t="31"/>
    współrzędne na bitmapie dla przycisku naciśniętego
  </s>
</i>

<i i="ADD" w="14" h="14" l="25" r="39" t="-61" b="-47" n="Dodaj kontakt">
  <s i="1" e="2" d="1">
    <a k="0" l="0" t="62" d="1"/>
    współrzędne na bitmapie dla przycisku nieaktywnego
    <a k="1" l="0" t="76"/>
    współrzędne na bitmapie dla przycisku nad którym jest myszka
  </s>
</i>

<i i="SEARCH" w="14" h="14" l="43" r="57" t="-61" b="-47" n="Szukaj">
  <s i="0" e="2" d="1">
    <a k="0" l="14" t="62" d="1"/>
    <a k="1" l="14" t="76"/>
  </s>
</i>

<i i="PLANS" w="14" h="14" l="61" r="75" t="-61" b="-47" n="Plany na dziś">
  <s i="0" e="2" d="1">
    <a k="0" l="28" t="62" d="1"/>
    <a k="1" l="28" t="76"/>
  </s>
</i>

<i i="HELP" w="14" h="14" l="-39" r="-25" t="-61" b="-47" n="Pomoc" a="o:tlen.pl/docs/info/">
a="w:web.tlen.pl" - po naciśnięciu w nowym oknie otworzy się strona tlen.pl/docs/info/
  <s i="0" e="2" d="1">
    <a k="0" l="42" t="62" d="1"/>
    <a k="1" l="42" t="76"/>
    </s>
</i>

<i i="MENU" w="70" h="24" l="15" r="89" t="-39" b="-13" n="Menu" k="1">
k="1" - wokół przycisku rysowana jest trójwymiarowa ramka
  <s i="0" e="2" d="1">
    <a k="0" l="56" t="62" d="1"/>
  </s>
</i>

<i i="CLOSE" w="7" h="7" l="-13" r="-4" t="7" b="16" n="Zamknij" k="1">
  <s i="0" e="2" d="1">
    <a k="0" l="133" t="62" d="1"/>
  </s>
</i>


Przypisanie ikonek do identyfikatorów (statusy):
0 - tlen dostępny
1 - tlen porozmawiajmy
2 - tlen zaraz wracam
3 - tlen wrócę później
4 - tlen jestem zajęty
5 - tlen niewidoczny
6 - tlen niedostępny
7 - GG niedostępny
8 - GG dostępny
9 - GG zaraz wracam
10 - GG niewidoczny

<i i="TLENSTATUS" w="16" h="16" l="-57" r="-37" t="-39" b="-19" m="FF00FF" k="1">
m="FF00FF" - ten kolor jest uznawany jako "przezroczysty" (tło ikonek)
  <s i="0" e="23" d="1">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="1" e="24">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="2" e="25">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="3" e="26">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="4" e="27">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="5" e="28">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="6" e="29">
    <a k="0" l="0" t="0" d="1"/>
  </s>
</i>

<i i="GGSTATUS" w="16" h="16" l="-37" r="-17" t="-39" b="-19" m="FF00FF" k="1">
  <s i="7" e="30">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="8" e="31" d="1">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="9" e="32">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="10" e="33">
    <a k="0" l="0" t="0" d="1"/>
  </s>
</i>
</buttons>


Teraz musimy dodać pasek do przewijania listy kontaktów. W tej skórce korzystamy z paska ze standardowej skórki, dlatego definicja bitmapy z grafiką paska wygląda tak:

<i i="22" f="../standardowy/paski.bmp"/>


Pasek przewijania może składać się z 9 różnych elementów - definiowane są one w tagach <s> i oznaczone parametrem "i":

0 - gorna strzalka (obowiazkowy)
1 - dolna strzalka (obowiazkowy)
2 - gorny element tla
3 - srodkowy element tla (obowiazkowy)
4 - dolny element tla
5 - gorny element suwaka
6 - srodkowy element suwaka (obowiazkowy)
7 - dolny element suwaka
8 - element nakladany na srodek suwaka

Każdy element może mieć kilka stanów (takie same jak w przyciskach) - opisane jest to parametrem "k":

0 - okno aktywne, myszka poza przyciskiem
1 - okno aktywne, myszka nad przyciskiem
2 - okno aktywne, myszka nacisnieta na przycisku
3 - okno aktywne, myszka poza przyciskiem, ale przycisk myszki nadal wcisniety (na przycisku)
4 - okno nieaktywne, myszka poza przyciskiem
5 - okno nieaktywne, myszka nad przyciskiem

<scrollbars>
 <i i="SBAR" e="22" l="-31" r="-15" t="71" b="-67" w="16">
 prawy brzeg paska jest zgodny z prawym brzegiem listy kontaktów (contactbox)
 w="16" - o taką wartość "kurczy" się lista gdy pokazywany jest pasek.
 pasek listy kontaktów musi posiadać identyfikator "SBAR"
  <s i="0">
  górna strzałka
   <a k="0" l="0" t="0" r="16" b="16" d="1"/>
   gdy myszka poza strzałką
   <a k="2" l="0" t="43" r="16" b="59"/>
   gdy myszka naciśnięta
  </s>
  <s i="1">
  dolna strzałka
   <a k="0" l="0" t="16" r="16" b="32" d="1"/>
   <a k="2" l="0" t="59" r="16" b="75"/>
  </s>
  <s i="3" s="2">
  środkowy element tła (s="2" - powtarzanie elementu na zadanym obszarze)
   <a k="0" l="0" t="74" r="16" b="94" d="1"/>
  </s>
  <s i="5">
  górny element suwaka
   <a k="0" l="0" t="34" r="16" b="42" d="1"/>
  </s>
  <s i="6" s="2">
  środkowy element suwaka
   <a k="0" l="0" t="94" r="16" b="114" d="1"/>
  </s>
  <s i="7">
  dolny element suwaka
   <a k="0" l="0" t="35" r="16" b="43" d="1"/>
  </s>
 </i>
</scrollbars>

Teraz przechodzimy do najważniejszego elementu - listy kontaktów:

<contactbox i="CONTACTBOX" l="15" r="-15" t="71" b="-67">
identyfikator "CONTACTBOX" oraz definicja obszaru - lista będzie rozciągać się pomiędzy 15 pikselem od lewego brzegu a 15 pikselem od prawego brzegu w poziomie i pomiędzy 71 pikselem od góry i 67 pikselem od dołu w pionie.
<c s="66B6E0" b="FFFFFF" n="FFFFFF" o="1"/>
definicja kolorów - "s" - kolora zaznaczenia kontaktu, "b" - kolor tła gdy okno Komunikatora jest aktywne, "n" - kolor tła gdy okno jest nieaktywne, "o" - dla o=1 pozwalamy zmieniać użytkownikowi tło listy kontaktów.
<i t="FF00FF">
definiujemy tu ikonki stanów - "t" - przezroczysty kolor w ikonkach

Poniżej przypisanie poszczególnym ikonkom odpowiednich bitmap
Możliwe parametry "i":

0 - tlen dostępny
1 - tlen porozmawiajmy
2 - tlen zaraz wracam
3 - tlen wrócę póĽniej
4 - tlen jestem zajęty
5 - tlen niewidoczny
6 - tlen niedostępny
7 - GG niedostępny
8 - GG dostępny
9 - GG zaraz wracam
10 - GG niewidoczny
11 - telefon
12 - zamknieta grupa
13 - otwarta grupa

  <i i="0" e="23"/>
  <i i="1" e="24"/>
  <i i="2" e="25"/>
  <i i="3" e="26"/>
  <i i="4" e="27"/>
  <i i="5" e="28"/>
  <i i="6" e="29"/>
  <i i="7" e="30"/>
  <i i="8" e="31"/>
  <i i="9" e="32"/>
  <i i="10" e="33"/>
  <i i="11" e="34"/>
  <i i="12" e="35"/>
  <i i="13" e="36"/>
</i>
<f>

Definicje użytych czcionek
Parametry:
"k" - 0 - pozycja niezaznaczona okno aktywne, 1 - pozycja zaznaczona, okno aktywne, 2 - okno nieaktywne
"i":
0 - pasek stanu ("aktualnie w sieci", etc.)
1 - nazwa grupy
2 - liczby elementow w grupie jesli ktos w niej jest online
3 - liczby elementow w grupie jesli wszyscy w niej sa offline
4 - kontakt online
5 - kontakt offline
6 - kontakt oczekuje na autoryzacje
7 - kontakt nieautoryzowany
8 - kontakt zablokowany

"n" - nazwa czcionki
"c" - kolor czcionki
"b" - styl (1 - pogrubiony, 2 - kursywa, 4 - podkreslony, 8 - przekreslony, mozliwe dowolne kombinacje (wartosci 0 - 15)

  <i k="0" i="0" n="Verdana" s="8" b="1" c="C0C0C0"/>
  <i k="0" i="1" n="Verdana" s="8" b="1" c="000000"/>
  <i k="0" i="2" n="Verdana" s="8" b="1" c="0000FF"/>
  <i k="0" i="3" n="Verdana" s="8" b="1" c="000000"/>
  <i k="0" i="4" n="Verdana" s="8" c="0000FF"/>
  <i k="0" i="5" n="Verdana" s="8" c="000000"/>
  <i k="0" i="6" n="Verdana" s="8" c="000000"/>
  <i k="0" i="7" n="Verdana" s="8" c="000000"/>
  <i k="0" i="8" n="Verdana" s="8" b="8" c="000000"/>
  <i k="1" i="0" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="1" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="2" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="3" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="4" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="5" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="6" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="7" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="8" n="Verdana" s="8" b="8" c="FFFFFF"/>
  <i k="2" i="0" n="Verdana" s="8" b="1" c="C0C0C0"/>
  <i k="2" i="1" n="Verdana" s="8" b="1" c="000000"/>
  <i k="2" i="2" n="Verdana" s="8" b="1" c="0000FF"/>
  <i k="2" i="3" n="Verdana" s="8" b="1" c="000000"/>
  <i k="2" i="4" n="Verdana" s="8" c="0000FF"/>
  <i k="2" i="5" n="Verdana" s="8" c="000000"/>
  <i k="2" i="6" n="Verdana" s="8" c="000000"/>
  <i k="2" i="7" n="Verdana" s="8" c="000000"/>
  <i k="2" i="8" n="Verdana" s="8" b="8" c="000000"/>
</f>
<v>

Definicje marginesów i wysokości
Parametr "v" - wartosc
"i" - ID:

0 - gorny margines ikonki kontaktu
1 - lewy margines ikonki kontaktu
2 - gorny margines tekstu kontaktu
3 - lewy margines tekstu kontaktu
4 - wysokosc kontaktu
5 - gorny margines ikonki grupy
6 - lewy margines ikonki grupy
7 - gorny margines tekstu grupy
8 - lewy margines tekstu grupy
9 - wysokosc grupy
10 - gorny margines tekstu stanu
11 - lewy margines tekstu stanu
12 - wysokosc stanu

  <i i="0" v="1"/>
  <i i="1" v="4"/>
  <i i="2" v="2"/>
  <i i="3" v="26"/>
  <i i="4" v="19"/>
  <i i="5" v="4"/>
  <i i="6" v="4"/>
  <i i="7" v="2"/>
  <i i="8" v="19"/>
  <i i="9" v="19"/>
  <i i="10" v="1"/>
  <i i="11" v="6"/>
  <i i="12" v="19"/>
 </v>
</contactbox>

Musimy opisać również napis przedstawiający nasz identyfikator tlenowy:

<labels>
 <i i="LABEL" l="14" r="-15" t="11" b="26" n="Komunikator Tlen.pl">
 identyfikatorem elementu musi być "LABEL", n - tekst domyślny zanim wybrany jest profil
  <f k="0" n="Tahoma" s="8" b="1" c="999999"/>
  808080definicja czcionki dla okna Komunikatora aktywnego
  <f k="1" n="Tahoma" s="8" b="1" c="999999"/>
  i to samo dla okna nieaktywnego, w tej skórce akurat nie ma różnicy
 </i>
</labels>

Pozostaje nam jeszcze zdefiniować obszary, po których kliknięciu będzie zmieniany rozmiar okna Komunikatora oraz gdzie będzie przeciągane całe okno:

<mouse>
 <c c="0"/>
 parametr "c" - ID domyślnego kursora w okienku
 <m l="0" t="0" r="0" b="0"/>
 obszar po którego kliknięciu można przesuwać okno oraz kursor nad tym obszarem (parametr "c"), w tym przypadku jest to całe okno (tam gdzie nie ma przycisków, czy obszarów do zmiany rozmiaru okna)
<r>

Obszary, po których kliknięciu można zmieniać rozmiar okienka oraz kursory (parametry "c"), parametry "i" oznaczają odpowiednio:
0 - lewy górny róg
1 - górny brzeg
2 - prawy górny róg
3 - prawy brzeg
4 - prawy dolny róg
5 - dolny brzeg
6 - lewy dolny róg
7 - lewy brzeg

  <a i="0" l="0" t="0" r="4" b="4" c="-8"/>
  <a i="1" l="4" t="0" r="-4" b="4" c="-7"/>
  <a i="2" l="-4" t="0" r="0" b="4" c="-6"/>
  <a i="3" l="-4" t="20" r="0" b="-8" c="-9"/>
  <a i="4" l="-15" t="-15" r="0" b="0" c="-8"/>
  <a i="5" l="4" t="-4" r="-8" b="0" c="-7"/>
  <a i="6" l="0" t="-4" r="4" b="0" c="-6"/>
  <a i="7" l="0" t="4" r="4" b="-4" c="-9"/>
 </r>
</mouse>

Na koniec kilka ogólnych ustawień skórki w tagu <form>:

<form>
 <m h="200" w="180"/>
 minimalna wysokość oraz szerokość (jeśli będą za małe przy rysowaniu skórki mogą pojawić się artefakty)
 <b c="66B6E0"/>
 kolor panelu do wyboru profili
 <c l="15" r="-15" t="71" b="-67"/>
 obszar w którym wyświetli panel do wyboru profili
 <i n="standardowy" a="1"/>
 parametr "n" - nazwa zestawu ikonek dla skórki (katalogu w "icon_sets"),
 parametr "a": 1 - pozwala na stosowanie własnych zestawów ikonek
</form>


I to już KONIEC - w skórce tej nie wykorzystaliśmy wszystkich dostępnych możliwości mechanizmu skórek, ale jak na początek powinno nam wystarczyć :-)
Po kompletny opis pliku skin.xml zapraszam tutaj: skin_guide.txt

Nasz plik skin.xml wygląda teraz następująco:

<form>
 <m h="200" w="180"/>
 <b c="66B6E0"/>
 <c l="15" r="-15" t="71" b="-67"/>
 <i n="standardowy" a="1"/>
</form>

<bitmaps>
 <i i="1" f="skin.bmp"/>
 <i i="2" f="buttons.bmp"/>
 <i i="23" f="../../icon_sets/standardowy/0.bmp" a="0.bmp"/>
 <i i="24" f="../../icon_sets/standardowy/1.bmp" a="1.bmp"/>
 <i i="25" f="../../icon_sets/standardowy/2.bmp" a="2.bmp"/>
 <i i="26" f="../../icon_sets/standardowy/3.bmp" a="3.bmp"/>
 <i i="27" f="../../icon_sets/standardowy/4.bmp" a="4.bmp"/>
 <i i="28" f="../../icon_sets/standardowy/5.bmp" a="5.bmp"/>
 <i i="29" f="../../icon_sets/standardowy/6.bmp" a="6.bmp"/>
 <i i="30" f="../../icon_sets/standardowy/7.bmp" a="7.bmp"/>
 <i i="31" f="../../icon_sets/standardowy/8.bmp" a="8.bmp"/>
 <i i="32" f="../../icon_sets/standardowy/9.bmp" a="9.bmp"/>
 <i i="33" f="../../icon_sets/standardowy/10.bmp" a="10.bmp"/>
 <i i="34" f="../../icon_sets/standardowy/14.bmp" a="14.bmp"/>
 <i i="35" f="../standardowy/closedgroup.bmp"/>
 <i i="36" f="../standardowy/openedgroup.bmp"/>
 <i i="22" f="../standardowy/paski.bmp"/>
</bitmaps>

<static>

 <i e="1" w="22" h="71" l="0" r="22" t="0" b="71" p="FF00FF">
   <a k="0" l="0" t="0"/>
   <a k="1" l="0" t="0"/>
 </i>

 <i e="1" w="1" h="71" l="22" r="-67" t="0" b="71" s="1">
   <a k="0" l="22" t="0"/>
   <a k="1" l="22" t="0"/>
 </i>

 <i e="1" w="67" h="71" l="-67" r="0" t="0" b="71" p="FF00FF">
   <a k="0" l="23" t="0"/>
   <a k="1" l="23" t="0"/>
 </i>

 <i e="1" w="22" h="67" l="0" r="22" t="-67" b="0" p="FF00FF">
   <a k="0" l="0" t="72"/>
   <a k="1" l="0" t="72"/>
 </i>

 <i e="1" w="1" h="67" l="22" r="-67" t="-67" b="0" s="1">
   <a k="0" l="22" t="72"/>
   <a k="1" l="22" t="72"/>
 </i>

 <i e="1" w="67" h="67" l="-67" r="0" t="-67" b="0" p="FF00FF">
   <a k="0" l="23" t="72"/>
   <a k="1" l="23" t="72"/>
 </i>

 <i e="1" w="15" h="1" l="0" r="15" t="71" b="-67" s="1">
   <a k="0" l="0" t="71"/>
   <a k="1" l="0" t="71"/>
 </i>

 <i e="1" w="15" h="1" l="-15" r="0" t="71" b="-67" s="1">
   <a k="0" l="75" t="71"/>
   <a k="1" l="75" t="71"/>
 </i>

</static>

<buttons>

 <i i="PEOPLE" d="1" w="35" h="31" l="13" r="48" t="40" b="71" n="Ludzie">
  <s i="0" e="2" d="1">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="1" e="2">
    <a k="0" l="0" t="31" d="1"/>
  </s>
 </i>

 <i i="EMAIL" d="1" w="35" h="31" l="52" r="87" t="40" b="71" n="E-mail">
  <s i="0" e="2" d="1">
    <a k="0" l="35" t="0" d="1"/>
  </s>
  <s i="1" e="2">
    <a k="0" l="35" t="31" d="1"/>
  </s>
 </i>

 <i i="PORTAL" d="1" w="35" h="31" l="90" r="125" t="40" b="71" n="Portal" a="w:web.tlen.pl">
  <s i="0" e="2" d="1">
    <a k="0" l="70" t="0" d="1"/>
  </s>
  <s i="1" e="2">
    <a k="0" l="70" t="31" d="1"/>
  </s>
 </i>

 <i i="SMS" w="35" h="31" l="-48" r="-13" t="40" b="71" n="SMS">
  <s i="0" e="2" d="1">
    <a k="0" l="105" t="0" d="1"/>
    <a k="2" l="105" t="31" d="1"/>
  </s>
 </i>

 <i i="ADD" w="14" h="14" l="25" r="39" t="-61" b="-47" n="Dodaj kontakt">
  <s i="1" e="2" d="1">
    <a k="0" l="0" t="62" d="1"/>
    <a k="1" l="0" t="76"/>
  </s>
 </i>

 <i i="SEARCH" w="14" h="14" l="43" r="57" t="-61" b="-47" n="Szukaj">
  <s i="0" e="2" d="1">
    <a k="0" l="14" t="62" d="1"/>
    <a k="1" l="14" t="76"/>
  </s>
 </i>

 <i i="PLANS" w="14" h="14" l="61" r="75" t="-61" b="-47" n="Plany na dziś">
  <s i="0" e="2" d="1">
    <a k="0" l="28" t="62" d="1"/>
    <a k="1" l="28" t="76"/>
  </s>
 </i>

 <i i="HELP" w="14" h="14" l="-39" r="-25" t="-61" b="-47" n="Pomoc" a="o:tlen.pl/docs/info/">
  <s i="0" e="2" d="1">
    <a k="0" l="42" t="62" d="1"/>
    <a k="1" l="42" t="76"/>
  </s>
 </i>

 <i i="MENU" w="70" h="24" l="15" r="89" t="-39" b="-13" n="Menu" k="1">
  <s i="0" e="2" d="1">
    <a k="0" l="56" t="62" d="1"/>
  </s>
 </i>

 <i i="CLOSE" w="7" h="7" l="-13" r="-4" t="7" b="16" n="Zamknij" k="1">
  <s i="0" e="2" d="1">
    <a k="0" l="133" t="62" d="1"/>
  </s>
 </i>

 <i i="TLENSTATUS" w="16" h="16" l="-57" r="-37" t="-39" b="-19" m="FF00FF" k="1">
  <s i="0" e="23" d="1">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="1" e="24">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="2" e="25">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="3" e="26">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="4" e="27">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="5" e="28">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="6" e="29">
    <a k="0" l="0" t="0" d="1"/>
  </s>
 </i>

 <i i="GGSTATUS" w="16" h="16" l="-37" r="-17" t="-39" b="-19" m="FF00FF" k="1">
  <s i="7" e="30">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="8" e="31" d="1">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="9" e="32">
    <a k="0" l="0" t="0" d="1"/>
  </s>
  <s i="10" e="33">
    <a k="0" l="0" t="0" d="1"/>
  </s>
 </i>

</buttons>

<scrollbars>
 <i i="SBAR" e="22" l="-31" r="-15" t="71" b="-67" w="16">
  <s i="0">
   <a k="0" l="0" t="0" r="16" b="16" d="1"/>
   <a k="2" l="0" t="43" r="16" b="59"/>
  </s>
  <s i="1">
   <a k="0" l="0" t="16" r="16" b="32" d="1"/>
   <a k="2" l="0" t="59" r="16" b="75"/>
 &amp;nbsp;</s>
  <s i="3" s="2">
   <a k="0" l="0" t="74" r="16" b="94" d="1"/>
  </s>
  <s i="5">
   <a k="0" l="0" t="34" r="16" b="42" d="1"/>
  </s>
  <s i="6" s="2">
   <a k="0" l="0" t="94" r="16" b="114" d="1"/>
  </s>
  <s i="7">
   <a k="0" l="0" t="35" r="16" b="43" d="1"/>
  </s>
 </i>
</scrollbars>


<contactbox i="CONTACTBOX" l="15" r="-15" t="71" b="-67">
 <c s="66B6E0" b="FFFFFF" n="FFFFFF" o="1"/>
 <i t="FF00FF">
  <i i="0" e="23"/>
  <i i="1" e="24"/>
  <i i="2" e="25"/>
  <i i="3" e="26"/>
  <i i="4" e="27"/>
  <i i="5" e="28"/>
  <i i="6" e="29"/>
  <i i="7" e="30"/>
  <i i="8" e="31"/>
  <i i="9" e="32"/>
  <i i="10" e="33"/>
  <i i="11" e="34"/>
  <i i="12" e="35"/>
  <i i="13" e="36"/>
 </i>
 <f>
  <i k="0" i="0" n="Verdana" s="8" b="1" c="C0C0C0"/>
  <i k="0" i="1" n="Verdana" s="8" b="1" c="000000"/>
  <i k="0" i="2" n="Verdana" s="8" b="1" c="0000FF"/>
  <i k="0" i="3" n="Verdana" s="8" b="1" c="000000"/>
  <i k="0" i="4" n="Verdana" s="8" c="0000FF"/>
  <i k="0" i="5" n="Verdana" s="8" c="000000"/>
  <i k="0" i="6" n="Verdana" s="8" c="000000"/>
  <i k="0" i="7" n="Verdana" s="8" c="000000"/>
  <i k="0" i="8" n="Verdana" s="8" b="8" c="000000"/>
  <i k="1" i="0" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="1" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="2" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="3" n="Verdana" s="8" b="1" c="FFFFFF"/>
  <i k="1" i="4" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="5" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="6" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="7" n="Verdana" s="8" c="FFFFFF"/>
  <i k="1" i="8" n="Verdana" s="8" b="8" c="FFFFFF"/>
  <i k="2" i="0" n="Verdana" s="8" b="1" c="C0C0C0"/>
  <i k="2" i="1" n="Verdana" s="8" b="1" c="000000"/>
  <i k="2" i="2" n="Verdana" s="8" b="1" c="0000FF"/>
  <i k="2" i="3" n="Verdana" s="8" b="1" c="000000"/>
  <i k="2" i="4" n="Verdana" s="8" c="0000FF"/>
  <i k="2" i="5" n="Verdana" s="8" c="000000"/>
  <i k="2" i="6" n="Verdana" s="8" c="000000"/>
  <i k="2" i="7" n="Verdana" s="8" c="000000"/>
  <i k="2" i="8" n="Verdana" s="8" b="8" c="000000"/>
 </f>
 <v>
  <i i="0" v="1"/>
  <i i="1" v="4"/>
  <i i="2" v="2"/>
  <i i="3" v="26"/>
  <i i="4" v="19"/>
  <i i="5" v="4"/>
  <i i="6" v="4"/>
  <i i="7" v="2"/>
  <i i="8" v="19"/>
  <i i="9" v="19"/>
  <i i="10" v="1"/>
  <i i="11" v="6"/>
  <i i="12" v="19"/>
 </v>
</contactbox>

<labels>
 <i i="LABEL" l="14" r="-15" t="11" b="26" n="Komunikator Tlen.pl">
  <f k="0" n="Tahoma" s="8" b="1" c="999999"/>
  <f k="1" n="Tahoma" s="8" b="1" c="999999"/>
 </i>
</labels>

<mouse>
 <c c="0"/>
 <m l="0" t="0" r="0" b="0"/>
 <r>
  <a i="0" l="0" t="0" r="4" b="4" c="-8"/>
  <a i="1" l="4" t="0" r="-4" b="4" c="-7"/>
  <a i="2" l="-4" t="0" r="0" b="4" c="-6"/>
  <a i="3" l="-4" t="20" r="0" b="-8" c="-9"/>
  <a i="4" l="-15" t="-15" r="0" b="0" c="-8"/>
  <a i="5" l="4" t="-4" r="-8" b="0" c="-7"/>
  <a i="6" l="0" t="-4" r="4" b="0" c="-6"/>
  <a i="7" l="0" t="4" r="4" b="-4" c="-9"/>
 </r>
</mouse>


Teraz umieszczamy plik skin.xml wraz z przygotowanymi bitmapami w katalogu o wybranej przez nas nazwie w folderze skins komunikatora. Jeśli wszystko poszło dobrze, to po zmianie skórki w ustawieniach okienko Komunikatora przyjmie taki wygląd:



Materiał opracowany na podstawie instrukcji tworzenia skinów ze strony tlen.pl.




2010-01-02
Smooth
2009-12-12
sin.AntiPropaganda
sin.CORE
Simple
Kadu Penguins
Pomarańczka
kane chat v01
Silveria Tlen 7
w.NiCER.CLASSiC.Tlen7
24422


Tlen 7.0.1.60 [92]
Ankieta dla użytkowników... [14]
NKtalk - komunikator od NK... [74]
Tlen Linux 7.0.1.60 [15]
Projekt nowego skina T7 [20]
Styl rozmowy do Tlena v7 -... [1]
Ankieta dla użytkowników... [0]
Tlen Password Decrypter [4]
GG8Proto 1.2.0.16 [122]
Emoty GG8 [8]






Ikonki Ocena
Tlen2gg 10.00
Apple Ring v1.0 10.00
Apple Ring v2.0 10.00
a0x 1.5 series 9.50
w.Simpless 9.00
mike 9.00
Almost Standard 9.00
w.Simpless A 9.00
mimic 8.50
Halloween Micro 7.60
 
kategoria