K-Meleon
K-Meleon skins (or themes) change the browser's appearance. Unlike in other browsers, K-Meleon skins can set a default layout, modify appearance preferences, and even define which buttons will be available in the browser. Skins are backwards compatible and skins from older versions will still work on current releases. However, very old skins may not include support for newer features without some modifications.
Skins are stored as subfolders within the K-Meleon/skins folder or the Profiles/your.profile/skins folder. You can examine and edit any part of the skins on your computer. They are distributed as .zip, .7z, or .exe archives which must be extracted first.
To change the browser's skin:
To install a new skin in K-Meleon:
Instead of storing skins in the existing main skins folder, you can also store skins within your profile. This will make keeping skins easier if you update your browser or use another computer. Simply create a Profiles/your.profile/skins/ folder. You can use this folder the same way as the main K-Meleon skins folder. If a theme in your profile's folder has the same name as a skin in the main folder, K-Meleon will use the theme from your profile.
There are several places to look for new K-Meleon skins:
It's easy to modify skins in K-Meleon. Before you begin, you should back up the original skin to another area on your computer. K-Meleon also allows you to keep custom versions of skins within your profile folder so that you don't have to modify the original skin's files. To create a custom version of a skin without changing the original files:
If you ever want to restore the default version of your skin simply change the name of your custom skin. For example, if you wanted to restore your Klassic skin to its original state, you could rename the custom version to _Klassic or anything that makes sense for you.
Entire toolbars can be switched on and off in View > Toolbars. Individual buttons can be commented out. To comment out a button:
Adding buttons is more complicated but still fairly straightforward. First, you'll need to open toolbars.cfg for your skin just like above. Your skin will likely have some buttons commented out by default; you can add these buttons simply by removing the # marks at the beginning of each line in the button's description.
If you want to create your own button you can use the buttons from your skin as an example or use this basic template:
Open{ ID_FILE_OPEN }
The text above will create an "Open" button. The first line is the name of the button. The second line is what it triggers. That second line can be nearly anything in K-Meleon. Your button can trigger commands, macros, pop-up menus, and functions from Kplugins.
In version 75 and up, this will create a button using the menu icon for the command. Menu icons will be defined in your theme's skin.cfg or menuicons.cfg file. If you want the name displayed as text beside the icon, add a ! to the beginning of the name, so the above example would be named !Open.
In version 74 and below this will create a text-only button. In those older versions, the browser will display the name as text if no icon is chosen. For older versions, a button will contain only text or only an image.
It's possible to add right-click menus, custom icons, and tooltips to your button. Check out the other buttons in your skin's toolbars.cfg to use as a reference. You can add image files to your skin's folder for icons and all skins can use the image files in the skins/Default/ or Skins/Shared/ folders. Visit the K-Meleon graphics forum if you need assistance.
You can add your custom buttons to an existing toolbar or you can create custom toolbars. To add a new toolbar to your current theme:
YourToolbar { # Add buttons here. }
This example will default to a 16-pixel-high toolbar with 16-pixel-wide buttons. You can manually set the size by placing the height and button width in parentheses like so: YourToolbar(32,32)
On K-Meleon versions 75 and up you can use the same icon size from the tab bar by setting both values to zero like: YourToolbar(0,0)
If you would like to create a new skin, it will help to use an existing skin for reference. If you're creating a classic-style skin, Phoenity is a perfect template. Lim Chee Aun's Phoenity was once the default skin. He is an excellent graphic designer, the skin still works with modern versions of K-Meleon, it was released under a Creative Commons License, there is an update packed with helpful comments, and its text files are cleanly laid out.
➥Download the Phoenity theme for K-Meleon.
K-Meleon 75 introduced a new skin system that is used in the Default skin. Versions 75 and up support both this new system and the older classic system. If you would like to create a skin using this format refer to the High Resolution skin. This skin adds improved high-resolution icons to the Default skin. The higher-resolution icons are based on the vector versions of Lim Chee Aun's Aura icons. High Resolution was created to demonstrate how 75-style skins function. It's available under an open-source license and you're welcome to use it as a template.
➥Download the High Resolution theme for K-Meleon.
Additional resources are available if you are modifying or building a skin:
From an end user's point of view, the 75-style skins are very similar, but they offer better support for modern displays and easier customization. The new skins introduced the ability to change icon size from the preferences dialog. To change the icon size on a KM75-style skin go to Edit > Preferences (F2) >> GUI Appearance and change the Toolbar size value. Setting the toolbar size to 0 will use the default size which will depend on your computer's resolution and zoom settings.
K-Meleon 75 and up allow you to store a custom toolbars.cfg in your profile without editing the skin itself. If you use multiple 75-style skins you can use the same config file in your profile for each of them. K-Meleon will check for toolbars.cfg first in the user's profile folder, then the skin's own folder, and then in the "default/settings" folder. However, note that K-Meleon will use that config for all themes which will likely cause issues for older one like Klassic.
The key differences between classic skins and 75-style skins are:
Classic Skins | 75-Style Skins |
Icons are bitmap images or .ICO files. | Icons can be in many formats including .PNG, .JPG, .GIF, .TIFF, .ICO, and bitmap images. |
The skin defines icon sizes. | The user defines a preferred icon size; the skin defines images for various size ranges. It's possible for a theme's author to define all icon sizes or to set all icons to the user's preference. |
Each skin has a separate toolbars.cfg file. | The toolbars.cfg file can be in the profile folder, the skin's folder, or the browser/defaults/settings folder. K-Meleon will check in that order and use the first config file it finds. |
Icons for commands are defined in toolbars.cfg and menuicons.cfg. | Icons can be defined in toolbars .cfg and menuicons.cfg still. Icons are now mainly assigned to commands in skin.cfg. The commands are then automatically paired with menu items and can be assigned toolbar locations in toolbars.cfg. If a theme contains menuicons.cfg but not skin.cfg, K-Meleon will use the 16-pixel menu icons as the default toolbar icons. |
No chrome URL support. | There is limited chrome URL support for "cold" images only; don't use this. |
Button names are displayed as text if there is no image. | Button names are displayed as text if they are preceded by a !. A button can have only an icon, only text, or both. |
If the theme works fine except for the history button, there is an easy fix. Open toolbars.cfg in a text editor and search for the following lines:
%ifplugin history History{ history(View)|Histor&y
Replace those 3 lines with the 3 lines below:
%ifplugin macros History{ macros(Places_History)|Histor&y
Now save the file and restart K-Meleon.
This change is required because older versions of K-Meleon used a separate Kplugin for the history button, but after improvements to the macro language, it was later handled by a macro. Refer to this update announcement in the forum for more information.
If you are using a very old skin some icons or features may not be defined. The skin itself defines what icons and toolbars are available to K-Meleon. If you want to use very old (pre 1.5) skins you'll have to define new features in toolbars.cfg to update the skin for your version of K-Meleon or add the graphic assets from the desired skin into a more recent skin.
If you use a skin(variant), like Phoenity(Large) or Classiria(16px_max), the issue is different and very easy to fix. K-Meleon 75 and up no longer support variants. K-Meleon 74 and below will pull the missing icons for variants from their original skins. K-Meleon 1.5.x used the technique by default if you would like to examine an example. Version 1.5.x included both the Phoenity and Phoenity(Large) themes. If you examine their contents you'll notice that many icons are not present in Phoenity(Large).
To make a skin(variant) work correctly on modern versions of K-Meleon, you can patch them manually:
If you select a theme and all of the icons are invisible then K-Meleon can't find the config files. Go to your skins folder and open the folder for the theme that's invisible. There should be images and .cfg files there. If you instead see one or more folders, copy and paste those folders to your /skins folder.
If you are using the Default skin or another 75-style skin, you can increase the toolbar and icon size by going to Edit > Preferences (F2) >> GUI Appearance > Toolbar Size, entering a size, and re-starting K-Meleon.
Old-style themes define their own icon size. If a classic skin's icons are too small, you can try a different skin or modify the icons.
Some systems including WINE on Linux, ReactOS, and older versions of Windows do not fully support "alpha" transparency in icon files. If you're seeing black (or some solid color) rectangles around all icons, your system's library doesn't support the transparencies used in your theme. These systems either display a pixel in the bitmap or do not display the pixel; there is no partial or in-between state.
You can still use any theme that doesn't contain alpha transparencies. The "Klassic" theme that comes with K-Meleon is an old-style theme that uses traditional all-or-nothing transparency. The Phoenity theme was once the default theme for K-Meleon and will support nearly every version of K-Meleon including up to the current release. It should also work.
If you edit a .bmp file and it loses transparency, check the following things: