An icon theme is a set of icons that have common looks and feel. The user can select the icon theme that they want to use, and all apps use icons from the theme if a particular icon is not available in theme the fallback theme is used .
An icons theme is only a mapping. Given an arrangement of indexes to search for icons in and a theme name it maps from icon name and icon size to an icon filename.
Icon in Meilix are stored in /usr/share/icons/meilix.
We need to create a index.theme file which tells the LXQT desktop where the icons for a particular application or mime type are located
[Icon Theme] Name=Meilix DisplayDepth=32 DesktopDefault=48 DesktopSizes=16,22,32,48,64,128,256 ToolbarDefault=22 ToolbarSizes=16,22,32,48 MainToolbarDefault=22 MainToolbarSizes=16,22,32,48 SmallDefault=16 SmallSizes=16,22,32,48 PanelDefault=32 PanelSizes=16,22,32,48,64,128,256 DialogDefault=32 DialogSizes=16,22,32,48,64,128,256 ################################# # Fallback icon theme to use # ################################# Inherits=oxygen
After defining the icon theme name and sizes we next define the fallback icon theme to use icons from in case of missing icons so we have chosen Oxygen icon theme which is very similar to Meilix icon theme to have a consistent looks and feel.
We further define the different types of icons with their locations , resolution and type.
Meilix icon theme use four different sizes 16 , 22 , 24 ,32 ,64 and two types scalable for svg icons and fixed for png icons.
[actions/32] Size=32 Context=Actions Type=Fixed [actions/48] Size=48 Context=Actions Type=Fixed # Apps [apps/16] Size=16 Context=Applications Type=Fixed [apps/22] Size=22 Context=Applications Type=Fixed
Meilix Icon pack directory structure
Adding more icons to theme
To append a custom icon to Meilix icon theme xdg-icon-resource can be used. This will resize and copy the icon to /share/icons/meilix. With this method, custom emblems can also be added. Examples:
$ xdg-icon-resource install --size 64 --context --theme meilix emblems meilix-example.png --mode system # add as emblem $ xdg-icon-resource install --size 64 --theme meilix meilix-example.png --mode system # add as normal icon
Mime type icons
file managers get definitions from /usr/share/mime/ . Calling an icon according to the definition found there and copying it to /share/icons/meilix will cause the file manager to display the custom mime type icon.
Creating a custom icon for text files (*.txt)
# grep txt /usr/share/mime/globs | egrep -o '.+\/[^:]+' | tr '/' '-' application-x-kate ;# rename your icon according to this output xdg-icon-resource install --size 64 --context mimetypes --theme meilix application-x-kate.png --mode system