Difference between revisions of "Skins"

From AMule Project FAQ
Jump to: navigation, search
(=Procedure=)
(Switch/Switch2 in Debian)
 
(4 intermediate revisions by 3 users not shown)
Line 11: Line 11:
 
=== Procedure ===
 
=== Procedure ===
  
'''CVS tarballs only!'''
+
Skins are implemented through a zip file, which contains all the images. If a image is not found in the skin, the default image will be used.
  
Skins are implemented through a text file, just like an .ini file, which will have lines that point to bitmaps. This text file must be specified in <br>Preferences->Gui Tweaks->Skin Support->Skin File.
+
You can select a skin in Preferences->Gui Tweaks->Skin Support. Of course, to enable skins, the checkbox "Enable Skin Support" must be checked.
 
+
Of course, to enable skins, the checkbox "Use skin file to set aMule bitmaps" must be checked.
+
  
 
Currently, there are two kinds of skins:
 
Currently, there are two kinds of skins:
* Client bitmaps
+
* User skins
* Toolbar bitmaps
+
* System skins
 +
 
 +
System skins are available for every user of the computer while user skins are only available for the current user. The following paths are used on different platforms:
 +
 
 +
'''Windows''':<br>
 +
User: C:\Documents and Settings\username\Application Data\aMule\skins<br>
 +
System: .\skins (amule.exe directory)
 +
 
 +
'''Mac''':<br>
 +
User: ~/Library/Application Support/aMule/skins<br>
 +
System: aMule.app/Contents/SharedSupport/skins/
  
Both must be specified in the same text file. An example file is below. If you omit any option, aMule will use the default image. There are no restrictions on the image sizes, but gui may look weird if they are too big.
+
'''Linux/Solaris/BSD''':<br>
 +
User: ~/.aMule/skins/<br>
 +
System: /usr/share/amule/skins (/usr is the installation prefix, e.g. /usr/local/share/amule/skins is possible for local builds as well)
  
'''IMPORTANT:''' eMule toolbar skins (one .png with all images in a row) '''are not supported'''.
+
=== skin file ===
  
<pre>
+
A skin file is a simple zip file containing the images. The following elements of aMule are skinable, whereas Toolbar Images are 32x32 px size and Client Images 16x16 px size.
[Toolbar Bitmaps]
+
Connect_icon=/home/user/icons/32x32/actions/connect_established.png
+
Disconnect_icon=/home/user/icons/32x32/actions/connect_no.png
+
Connecting_icon=/home/user/icons/32x32/actions/connect_creating.png
+
Network_icon=/home/user/icons/32x32/actions/homepage.png
+
Transfer_icon=/home/user/icons/32x32/actions/reload.png
+
Search_icon=/home/user/icons/32x32/actions/find.png
+
Share_icon=/home/user/icons/32x32/actions/fileopen.png
+
Messages_icon=/home/user/icons/32x32/apps/kopete.png
+
Stat_icon=/home/user/icons/32x32/apps/clock.png
+
Pref_icon=/home/user/icons/32x32/actions/configure.png
+
Import_icon=/home/user/icons/32x32/actions/kaboodleloop.png
+
Help_icon=/home/user/icons/32x32/actions/help.png
+
  
[Client Bitmaps]
+
'''Toolbar Images''':
Client_Transfer=/home/user/icons/small/Client_Green_Smiley.png
+
<pre>Toolbar_Connect.png
Client_Connecting=/home/user/icons/small/Client_Red_Smiley.png
+
Toolbar_Disconnect.png
Client_OnQueue=/home/user/icons/small/Client_Yellow_Smiley.png
+
Toolbar_Connecting.png
Client_A4AFNoNeededPartsQueueFull=/home/user/icons/small/Client_Grey_Smiley.png
+
Toolbar_Network.png
Client_Unknown=/home/user/icons/small/Client_White_Smiley.png
+
Toolbar_Transfers.png
Client_ExtendedProtocol=/home/user/icons/small/Client_ExtendedProtocol_Smiley.png
+
Toolbar_Search.png
Client_SecIdent=/home/user/icons/small/Client_SecIdent_Smiley.png
+
Toolbar_Shared.png
Client_BadGuy=/home/user/icons/small/Client_BadGuy_Smiley.png
+
Toolbar_Messages.png
Client_CreditsGrey=/home/user/icons/small/Client_CreditsGrey_Smiley.png
+
Toolbar_Stats.png
Client_CreditsYellow=/home/user/icons/small/Client_CreditsYellow_Smiley.png
+
Toolbar_Prefs.png
Client_Upload=/home/user/icons/small/Client_Upload_Smiley.png
+
Toolbar_Import.png
Client_Friend=/home/user/icons/small/Client_Friend_Smiley.png
+
Toolbar_About.png
Client_eMule=/home/user/icons/small/Client_eMule_Smiley.png
+
Toolbar_Blink.png</pre>
Client_mlDonkey=/home/user/icons/small/Client_mlDonkey_Smiley.png
+
'''Client Images''':
Client_eDonkeyHybrid=/home/user/icons/small/Client_eDonkeyHybrid_Smiley.png
+
<pre>Client_A4AFNoNeededPartsQueueFull.png
Client_aMule=/home/user/icons/small/Client_aMule_Smiley.png
+
Client_aMule.png
Client_lphant=/home/user/icons/small/Client_lphant_Smiley.png
+
Client_BadGuy.png
Client_Shareaza=/home/user/icons/small/Client_Shareaza_Smiley.png
+
Client_CommentOnly.png
Client_xMule=/home/user/icons/small/Client_xMule_Smiley.png
+
Client_Connecting.png
Client_Unknown=/home/user/icons/small/Client_Unknown.png
+
Client_CreditsGrey.png
Client_InvalidRatingOnFile=/home/user/icons/small/Client_InvalidRating_Smiley.png
+
Client_CreditsYellow.png
Client_PoorRatingOnFile=/home/user/icons/small/Client_PoorRating_Smiley.png
+
Client_eDonkeyHybrid.png
Client_GoodRatingOnFile=/home/user/icons/small/Client_GoodRating_Smiley.png
+
Client_eMule.png
Client_FairRatingOnFile=/home/user/icons/small/Client_FairRating_Smiley.png
+
Client_Encrypted.png
Client_ExcellentRatingOnFile=/home/user/icons/small/Client_ExcellentRating_Smiley.png
+
Client_ExcellentRatingOnFile.png
 +
Client_ExtendedProtocol.png
 +
Client_FairRatingOnFile.png
 +
Client_Friend.png
 +
Client_GoodRatingOnFile.png
 +
Client_InvalidRatingOnFile.png
 +
Client_lphant.png
 +
Client_mlDonkey.png
 +
Client_OnQueue.png
 +
Client_PoorRatingOnFile.png
 +
Client_SecIdent.png
 +
Client_Shareaza.png
 +
Client_StatusUnknown.png
 +
Client_Transfer.png
 +
Client_Unknown.png
 +
Client_Upload.png
 +
Client_xMule.png
 
</pre>
 
</pre>
  
Line 92: Line 105:
 
The important part is ''wxGTK2''. This means you are using GTK2. If you see ''wxGTK'' instead (notice there's no ''2''), then you're using GTK1.
 
The important part is ''wxGTK2''. This means you are using GTK2. If you see ''wxGTK'' instead (notice there's no ''2''), then you're using GTK1.
  
Ok, now make sure you have ''switch'' (got GTK1 users) or ''switch2'' (for GTK2 users). If you don't have it, install it.
+
Ok, now make sure you have ''switch'' (for GTK1 users) or ''switch2'' (for GTK2 users). If you don't have it, install it.
  
 
By running ''switch''/''switch2'' you'll be able to switch the GTK theme. Of course, you'll have to have some GTK theme(s) installed on your system.
 
By running ''switch''/''switch2'' you'll be able to switch the GTK theme. Of course, you'll have to have some GTK theme(s) installed on your system.
Line 102: Line 115:
 
[[Debian]] users can install ''gtk-theme-switch'' to get both ''switch'' and ''switch2''.
 
[[Debian]] users can install ''gtk-theme-switch'' to get both ''switch'' and ''switch2''.
  
Available themes for GTK1 users are all those whose names begin with ''gtk-engines-*'', such as ''gtk-engines-pixmap''(run ''aptitude search gtk1-engines'' to get all themes available for GTK1)
+
Available themes for GTK1 users are all those whose names begin with ''gtk-engines-*'', such as ''gtk-engines-pixmap'' (run ''aptitude search gtk1-engines'' to get all themes available for GTK1)
  
Available themes for GTK2 users are all those whose names begin with ''gtk2-engines-*'', such as ''gtk2-engines-*'', such as ''gtk2-engines-xfce'' (run ''aptitude search gtk2-engines'' to get all themes available for GTK2)
+
Available themes for GTK2 users are all those whose names begin with ''gtk2-engines-*'', such as ''gtk2-engines-*'', such as ''gtk2-engines-xfce'' (run ''aptitude search gtk2-engines'' to get all themes available for GTK2). In [[Debian]] Etch most ''gtk2-engines-*'' packages were replaced with transitional dummy packages depending on ''gtk2-engines'', so running ''aptitude install gtk2-engines'' would install most of them.

Latest revision as of 19:45, 3 May 2008

Definition

A skin (in software context) is a file or group of files which allow an application's interface to change, so that it is more comfortable for each user.

Using real skins

Explanation

aMule supports bitmaps skinning, allowing for anyone to change the icons and images displayed in it.

Procedure

Skins are implemented through a zip file, which contains all the images. If a image is not found in the skin, the default image will be used.

You can select a skin in Preferences->Gui Tweaks->Skin Support. Of course, to enable skins, the checkbox "Enable Skin Support" must be checked.

Currently, there are two kinds of skins:

  • User skins
  • System skins

System skins are available for every user of the computer while user skins are only available for the current user. The following paths are used on different platforms:

Windows:
User: C:\Documents and Settings\username\Application Data\aMule\skins
System: .\skins (amule.exe directory)

Mac:
User: ~/Library/Application Support/aMule/skins
System: aMule.app/Contents/SharedSupport/skins/

Linux/Solaris/BSD:
User: ~/.aMule/skins/
System: /usr/share/amule/skins (/usr is the installation prefix, e.g. /usr/local/share/amule/skins is possible for local builds as well)

skin file

A skin file is a simple zip file containing the images. The following elements of aMule are skinable, whereas Toolbar Images are 32x32 px size and Client Images 16x16 px size.

Toolbar Images:

Toolbar_Connect.png
Toolbar_Disconnect.png
Toolbar_Connecting.png
Toolbar_Network.png
Toolbar_Transfers.png
Toolbar_Search.png
Toolbar_Shared.png
Toolbar_Messages.png
Toolbar_Stats.png
Toolbar_Prefs.png
Toolbar_Import.png
Toolbar_About.png
Toolbar_Blink.png

Client Images:

Client_A4AFNoNeededPartsQueueFull.png
Client_aMule.png
Client_BadGuy.png
Client_CommentOnly.png
Client_Connecting.png
Client_CreditsGrey.png
Client_CreditsYellow.png
Client_eDonkeyHybrid.png
Client_eMule.png
Client_Encrypted.png
Client_ExcellentRatingOnFile.png
Client_ExtendedProtocol.png
Client_FairRatingOnFile.png
Client_Friend.png
Client_GoodRatingOnFile.png
Client_InvalidRatingOnFile.png
Client_lphant.png
Client_mlDonkey.png
Client_OnQueue.png
Client_PoorRatingOnFile.png
Client_SecIdent.png
Client_Shareaza.png
Client_StatusUnknown.png
Client_Transfer.png
Client_Unknown.png
Client_Upload.png
Client_xMule.png

Using generic GTK skins

NOTE: Most Windows and MacOS X users will not need to read this chapter, since they won't be using GTK (allthough it is possible to compile aMule linked to GTK on both platforms).

Explanation

aMule uses GTK, and the GTK library allows all widgets to be skinned. So we can use that to skin aMule.

This is a widget skinning. This means that you can change fonts, colours, shapes, sizes and behaviours of scrollbars, buttons, etc. But you won't be able to change aMule specific images and icons.

Have in mind that this will not only change the widgets aspect and behaviour for aMule, but for all other GTK applications.

Procedure

First, you must know if you are running aMule linked to GTK1 or to GTK2. Just run:

amule --version

You will get something like this:

aMule 2.0.3 using wxGTK2 v2.6.1 (Unicoded) (OS: Linux)

The important part is wxGTK2. This means you are using GTK2. If you see wxGTK instead (notice there's no 2), then you're using GTK1.

Ok, now make sure you have switch (for GTK1 users) or switch2 (for GTK2 users). If you don't have it, install it.

By running switch/switch2 you'll be able to switch the GTK theme. Of course, you'll have to have some GTK theme(s) installed on your system.

You'll also be able to change the font and it's size if you click on the icon at the right of the switch/switch2 application.

Switch/Switch2 in Debian

Debian users can install gtk-theme-switch to get both switch and switch2.

Available themes for GTK1 users are all those whose names begin with gtk-engines-*, such as gtk-engines-pixmap (run aptitude search gtk1-engines to get all themes available for GTK1)

Available themes for GTK2 users are all those whose names begin with gtk2-engines-*, such as gtk2-engines-*, such as gtk2-engines-xfce (run aptitude search gtk2-engines to get all themes available for GTK2). In Debian Etch most gtk2-engines-* packages were replaced with transitional dummy packages depending on gtk2-engines, so running aptitude install gtk2-engines would install most of them.