Odpicuj sobie Psi

Dnia 08 lutego 2007, o godzinie 16:34:47 nabazgroliłem:

Tytuł zainspirowany komentarzem Ktosia odnośnie mojej aktualnej czynności :).

Czym takim się zajmuję? Otóż postanowiłem pobawić się w stworzenie unikalnych ikonek kontaktów niektórych swoich znajomych w Psi, w postaci miniaturki zdjęcia (avatara) i nałożonej odpowiedniej ikonki statusu. Uznałem, że jak już dojdę jak to zrobić, by rozsądnie wyglądało, to wypadałoby się podzielić ze światem tą informacją :)

A więc jeśli chcesz, by Twoi znajomi mieli unikalne ikonki w Twoim rosterze i by spojrzenie na ikonkę od razu podpowiadało, kim jest dana osoba (zdjęcie/avatar mówi więcej niż tysiąc słów ;) ), należy uzbroić się w odrobinę cierpliwości (ile wynosi odrobina zależy od ilości znajomych, jakim chcecie sprawić takie ikonki), program GIMP (może być inny, ale ten tutek opierać się będzie o GIMP'a, gdyż jest wystarczająco rozbudowany do tego celu, a zarazem darmowy i multiplatformowy, jak sam Psi), galerię fotografii swoich znajomych (po jednej fotce dla każdego ;) ) albo avatarów (j.w.), Psi (ewentualnie innego klienta jabbera pozwalającego na modyfikację ikonek kontaktów do tego stopnia) oraz zestaw ikonek wzorcowych (tych, które będziemy dodawać na daną fotkę jako oznaczenie danego statusu).

Na potrzeby tego poradnika wykorzystam zdjęcie mojej znajomej (jest ładna, może się nie obrazi :P ), oraz zestaw ikonek z GG (jest uboższy w statusy, więc będzie mniej roboty, a to akurat osoba, która z GG korzysta - w innych przypadkach sytuacja byłaby bardzo podobna).

A więc zaczynamy. W pierwszej kolejności otwieramy za pomocą GIMPa fotkę, z której chcemy zrobić ikonkę kontaktu.

Screen z otwartej fotki

Oczywiście ikona kontaktu rozmiarów 2288x1712px nam nie specjalnie odpowiada. A więc zabieramy się do przycinania i zmniejszania fotki. W moim przypadku do następującej postaci:

Zdjęcie po zmniejszeniu do 32x32px i pod 800% zoomem

Wybrałem rozmiar 32x32px, gdyż w przypadku 16x16px niewiele co widać, choć standardowo ikonki mają taki właśnie rozmiar. Czy użyjecie standardowego 16x16px, 32x32px (tak jak ja), czy może jeszcze innego rozmiaru, to Wasz wybór. Obraz oglądam pod 8-krotnym zoomem, bo tak wygodniej będzie nakładać ikonki statusu.

Kolejnym krokiem, jaki należy podjąć, jest nazwanie jakoś warstwy Tła (można zostawić standardowe Tło/Background/whatever, zależnie od wersji językowej GIMPa, ja użyłem bardziej konkretnej nazwy - Fota), oraz dodanie odpowiedniej ilości nowych warstw (zależnie od tego, jakie mamy możliwości statusów, w przypadku GG bez wykrywacza niewidzialności wystarczą 3 - w tym wypadku online, offline i away). Wszystkie te warstwy powinny mieć przeźroczyste tło, można też zmniejszyć krycie w celu uzyskania półprzeźroczystości (ja po próbie z 50% wróciłem do 100% krycia, lepiej wszystko widać).

Okno z zakładką warstw po dodaniu nowych

Kolejnym krokiem jest wklejenie do powyższych nowych warstw odpowiednich ikonek statusów. W tym celu należy otworzyć wszystkie ikonki statusu (jeśli mamy do czynienia z plikiem .jisp wystarczy zmienić jego rozszerzenie na .zip i rozpakować) za pomocą GIMPa oraz przenieść je na odpowiednie warstwy (Ctrl+A i Ctrl+C na ikonce, następnie przełączenie się na obrazek z warstwami, kliknięcie w odpowiednią warstwę, Ctrl+V i przemieszczenie w odpowiednie miejsce obrazka - w moim przypadku prawy dolny róg, bo tam najlepiej się komponowało). Oczywiście w przypadku zastosowania rozmiaru 16x16px może zajść konieczność zmniejszenia każdej z oryginalnych ikonek statusu, by nie zasłaniały całości zdjęcia. Dobrym pomysłem jest również zapisanie naszej pracy na tym etapie w formacie xcf (ważne, żeby wszystko się zapisało jak należy - z warstwami itp.). Efekt takich działań wygląda mniej więcej tak:

Obrazek po dodaniu ikonek do warstw

Następnie pozostaje nam wyłączenie widoczności wszystkich warstw poza tłem, a następnie kolejno dla każdej warstwy powtarzanie następujących czynności: Włączenie jednej warstwy, Plik->Zapisz kopię... jako kolejno online.png, offline.png i away.png, zatwierdzenie eksportu, domyślne ustawienia zapisu do PNG (chyba, że ktoś ma jakieś lepsze i chce je stosować), po czym wyłączenie tej warstwy i przejście do następnej. Zdaję sobie sprawę z faktu, że można to zrobić o wiele szybciej za pomocą skryptów GIMPa, ale ten fragment zostawiam osobom, które bardziej się na tym znają. Jak ktoś taki skrypt napisze i zechce go udostępnić, to chętnie go tu umieszczę/podlinkuję. Nie napiszę takiego sam, gdyż wiedza na temat tego, że da się to zrobić niestety kończy moje kompetencje w tej kwestii :)

W ten sposób uzyskujemy trzy istotne dla nas obrazki: online.png, offline.png i away.png. Możemy sprawdzić, czy wszystkie wyglądają dokładnie tak, jak chcemy, a następnie przejść do kolejnego kroku.

Jednym z ostatnich zadań, jakie nam pozostały do wykonania, jest stworzenie odpowiedniego pliku icondef.xml. W moim przypadku wygląda to mniej więcej tak:

<?xml version='1.0' encoding='UTF-8'?>
<icondef>
	<meta>
		<name>Unikalne ikonki</name>
		<version>0.9</version>
		<description>Unikalne ikonki stworzone ze zdjęcia</description>
		<creation>2007-02-08</creation>
		<home>unknown</home>
		<author jid='adam.pilorz@jabber.autocom.pl' email='adam@pilorz.net' www='http://adam.pilorz.net'>Adam Pilorz</author>
	</meta>

	<icon>
		<x xmlns='name'>status/online</x>
		<object mime='image/png'>online.png</object>
	</icon>

	<icon>
		<x xmlns='name'>status/chat</x>
		<object mime='image/png'>online.png</object>
	</icon>

	<icon>
		<x xmlns='name'>status/invisible</x>
		<object mime='image/png'>offline.png</object>
	</icon>

	<icon>
		<x xmlns='name'>status/offline</x>
		<object mime='image/png'>offline.png</object>
	</icon>

	<icon>
		<x xmlns='name'>status/away</x>
		<object mime='image/png'>away.png</object>
	</icon>

	<icon>
		<x xmlns='name'>status/xa</x>
		<object mime='image/png'>away.png</object>
	</icon>

	<icon>
		<x xmlns='name'>status/dnd</x>
		<object mime='image/png'>away.png</object>
	</icon>
</icondef>

Oczywiście odpowiednie elementy informujące o autorze, nazwie, opisie i wersji można zmieniać w miarę własnej inwencji

Kolejny etap to nazwanie tej paczki jakoś, stworzenie katalogu (folderu) o tej nazwie, wrzucenie tam obrazków i icondef.xml, kompresja zip całego katalogu i zmiana nazwy z nazwa_paczki.zip na nazwa_paczki.jisp. Kompresję można sobie oczywiście darować (sam katalog w iconsets wystarczy), ale tak jest wygodniej, o mniejszej ilości zajmowanego miejsca nie wspominając.

Ostatni krok polega na przypisaniu tej paczki danemu kontaktowi. W tym celu wrzucamy naszą paczkę do KATALOG_PSI/iconsets/roster/, otwieramy Psi (restart nie jest konieczny), w nim Menu->Preferencje->Wygląd->Ikony kontaktów->Własne, dodajemy nową regułę, wpisujemy JID, któremu chcemy przypisać dany zestaw zamieniając kropki na \. w miejsce RegExpa (w moim przypadku jest to 1234567@gg\.chrome\.pl, oczywiście 1234567 nie jest autentycznym numerem GG tej osoby na zdjęciu, nie myślcie sobie :P), oraz wybranie odpowiedniej paczki obrazków z listy i kliknięcie OK. No i voila :)

Komentarze:

Dnia 08 lutego 2007, o godzinie 18:30:19 Michał Moroz nabazgrolił:

Ciekawe. Zastanawiam się, czemu jeszcze w żadnym znanym mi komunikatorze nie zastąpiono w pełni kontaktów samymi awatarami/zdjęciami...

Dnia 08 lutego 2007, o godzinie 18:40:17 Dot nabazgrolił:

Jeśli się nie mylę, to bodaj w Pandionie avatary są wyświetlane na liście kontaktów. Całkowite zastąpienie nazw kontaktów avatarami raczej trochę mija się z celem. Żeby były wyraźne na tyle, by być rozpoznawalne bez tekstu musiałyby być duże, a to stałoby się niewygodne przy dużej ilości kontaktów (ja mam na ten przykład okrągłe 250 kontaktów).

Dnia 08 lutego 2007, o godzinie 18:49:52 Michał Moroz nabazgrolił:

Natchnąłeś mnie. ;)

Dnia 08 lutego 2007, o godzinie 19:12:03 rash nabazgrolił:

Daj JID/gg znajomej.

;->

Dnia 08 lutego 2007, o godzinie 20:23:14 Abecadło smoczątka nabazgrolił:

Komunikator nowej ery?

Post `Odpicuj sobie PSI', który ukazał się na blogu Dota skłonił mnie do zastanowienia się nad interfejsem komunikatorów internetowych - czy nie byłoby wygodniej dla użytkownika mieć garść (rozpoznawalnych) awatarów lub zdjęć swoich[.[...]

Dnia 08 lutego 2007, o godzinie 22:02:58 Ktos nabazgrolił:

@rash: Ja mogę przekazać, Dot niedokładnie numer zamazał jak mi screena pierwowzoru tego rostera pokazywał ;-)

Dnia 08 lutego 2007, o godzinie 22:04:10 Dot nabazgrolił:

E... Nie wiem, czy to dobry pomysł :P. Anyway - i tak jest zajęta :P

Dnia 20 lutego 2007, o godzinie 10:14:37 marmez nabazgrolił:

ciekawe, sam sie ostatnio zastanawiałem nad zrobioniem czegoś takiego, ale dałem za wygraną i tylko ustawiłem wybranym osobom avatary (Psi-0.11) któe sie pokazują w oknie rozmowy, albo dymku nad kontaktami.

Niestety Psi nie wyświatla avatarow w rosterze tak jak Gajim, czy Pandion, a mogło to by sie podobać niektorym.

Dnia 20 lutego 2007, o godzinie 15:45:57 Dot nabazgrolił:

Akurat avatary to mam u swoich znajomych od dawna (tak, w większości zdjęcia tychże znajomych), ale to przestało być właśnie wystarczające :).

Dnia 09 czerwca 2007, o godzinie 14:52:09 matc nabazgrolił:

Sory że tak niena temat, faaaajna laska ;)

Dnia 09 czerwca 2007, o godzinie 17:15:02 Dot nabazgrolił:

Wiesz, mnie nie musisz tego mówić ;).

Dodaj komentarz:

Podpis:
Treść:
Strona WWW (opcjonalnie):
Wpisz kod:code