Skins

From AMule Project FAQ
Jump to: navigation, search

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.