Skins
Contents
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.