LXQt Theming

From Manjaro Linux
Jump to: navigation, search

This wiki page is about theming your LXQt installation.



Window Title Bar Theming

The window title bars are drawn onto your screen by the window manager you use. The default window manager of LXQt is Openbox.

The Openbox Configuration Manager can be opened: Start Menu --> Settings --> Openbox Configuration Manager


If you lack the Openbox Configuration Manager, please install it:

sudo pacman -S obconf


You can also install the AUR package:

yaourt -S obconf-qt-git


Then please choose your preferred window title bar theme in Openbox Configuration Manager .

Additional themes can be downloaded. Examples:

sudo pacman -S menda-themes-dark
sudo pacman -S menda-themes
yaourt -S mediterraneannight-theme


Alternatively, follow this guide to install a more modern window manager with higher hardware resources: LXQt with kwin


Window Content Theming

This section is about theming the content of you windows. Especially the background and font colors, but also the form of menus and buttons.


Instructions to have a unified theme for all your GTK2/3/Openbox and Qt4/5 applications and be able to customize them:

1.

Choose GTK+ in lxqt-config (LXQt Configuration Center --> LXQt Appearance)

2.

Install the LXDE theme switcher:

sudo pacman -S lxappearance

Open it by clicking on: Start Menu --> Settings --> Appearance.

Unfortunately, this functionality is not implemented in LXQt yet. Therefore, the LXDE theme switcher is still needed.

3.

Install well maintained themes supporting GTK2/3 and Openbox


Examples:

sudo pacman -S menda-themes-dark
sudo pacman -S menda-themes
yaourt -S vertex-themes

Edit manually the theme files to further customize if you like.


Theming A Pure Qt4/5 System

For customizing a pure Qt4/5 system you can use the preinstalled qtconfig-qt4 and you can install its qt5 version, qt5ct by

yaourt -S qt5ct-svn


After installation you need to put this in your ~/.bashrc file:

export QT_QPA_PLATFORMTHEME=qt5ct

Attention: After an update to Qt5 you may need to re-install/compile qt5ct.


Your customization by this tool will not be honoured immediately (only) by pcmanfm-qt which runs in your LXQt system in daemon mode. In order for it to honour your customization you need to re-login.


In addition to the preinstalled Qt theme engines you can install qtcurve-qt4 and qtcurve-qt5 from the repo by:

sudo pacman -S qtcurve-qt4 qtcurve-qt5


And you can install virtuality AUR packages by:

yaourt -S virtuality-qt4-git virtuality-qt5-git


Those two theming engines' default styles by themselves can be customized too. With qtcurve you need to manually edit the ~/.config/qtcurve/stylerc file. You can, for instance, change the menu bar background colour by

shadeMenubars=#cdcdcd

and then change the popup menu background colour by

shadePopupMenu=true

or change sliders colour by

shadeSliders=origselected

Instead of "origselected" you can enter "selected" or any colour (#xyxyxy) you want.

You can set

colorMenubarMouseOver=true

You can set custom menu text colour by

customMenuNormTextColor=#ff5500
customMenuSelTextColor=#ffaa00
customMenuTextColor=true

Besides, you can download a qtcurve preset (a xxxxx.qtcurve file) and copy-paste its content into your .stylerc.

Another theme engine is kvantum:

yaourt -S kdestyle-kvantum-kde4-git

It doesn't have KDE dependencies, but its said customization utility seemingly only works in KDE (at this time) as I couldn't see any such utility in my system after installing it. kvantum can be installed as a Qt5 app as well, but since there's no separate Qt5 AUR package, you need to install it once more as a Qt5 app. To do that you should edit the package content when yaourt asks you to; just replace the "qt4" entries with "qt5".


Panel Theming

Panel theming is available via the LXQt Configuration Center --> LXQt Appearance --> LXQt Theme

Additionally there are more themes available for download in the Manjaro LXQt subforum. All Theme folders need to be unpacked into the following directory:

/usr/share/lxqt/themes/

Attention: Some themes do not fully work. Please read the comments about the recommended usage.

Example:

Please look at this Chrome theme.

The downloaded folder needs to be unpacked and moved into the right location mentioned above. The final path to the "chrome" folder has to be

/usr/share/lxqt/themes/chrome/


Change Mouse Cursor

Mouse cursor theming is available via the LXQt Configuration Center --> LXQt Appearance --> Cursor.

Adwaita is the default mouse cursor theme in LXQt. Other mouse cursor themes can be downloaded. Example of a mouse cursor theme:

sudo pacman -S xcursor-menda


Change Icon Theme

The icon theme can be changed via LXQt Configuration Center --> LXQt Appearance --> Icon Theme

The default icon theme of LXQt is oxygen-icons. It is a relatively large download, but pretty complete.


Examples of other icon themes are:

sudo pacman -S menda-circle-icon-theme
yaourt -S numix-icon-theme-git
sudo pacman -S faenza-icon-theme
yaourt -S tango-icon-theme
yaourt -S azenis-icon-theme
yaourt -S azenis-green-icon-theme

All of these example do not provide complete icon themes. Especially in the LXQt Configuration Center are icons missing. Some application icons can be missing, too. You can easily identify applications and settings with missing icons by opening the start menu and looking at all the icons in it.

Please read the next chapter (chapter 5) for a tutorial on how to assign new/other icons.


Change Icons of Applications and System Settings

The path of icons is saved in .desktop files. For each application you can find their corresponding .desktop files in one of these two locations:

/usr/share/applications/
~/.local/share/applications/

Note that all folder names beginning with a dot are hidden folders. You need to make them visible by clicking View --> Show Hidden in your PcManFM-Qt File Browser. The ~ directory is your home folder.


Open a .desktop file with a text editor with root privileges and look for the following line:

Icon=

Insert the path to the icon you want to use after the = symbol. A lot of system icons can be found in this location:

/usr/share/icons/


Example:

If you want to use a flag icon, use this line in the .desktop file:

Icon=/usr/share/icons/gnome/48x48/apps/locale.png


Create Custom Icon on Panel

Right click on your panel and choose "Add panel widget". Then add a Quick Launch / Starter widget. A text will appear on your panel.

You can drag and drop any icon (from your start menu / mainmenu or your custom icon file) there in order to create a Quick Launch / Starter icon in your panel. You can even drop multiple icons / icon files on one Quick Launch / Starter widget.

But if you want your custom icon in your panel, you must first create your own .desktop file (please keep reading).

Example:

For demonstration purposes, let's create a custom icon, which will shut down our computer when clicked:

First, let's create a new file (e.g. in your home directory or any other directory you want): Right click and choose "Create New" --> "Blank File". Name the file ShutDown.desktop. You can choose any name you want, but the .desktop in the end is important.

Next, edit this file with a text editor. It's file content is supposed to look like:

[Desktop Entry]
Type=Application
Name=ShutDown
Comment=Shut down my computer
Exec=poweroff
Icon=/usr/share/icons/Menda-Circle/actions/scalable/bottom.svg
  • Name= is the name of the icon
  • Comment= gets shown when you hover with your mouse cursor over the icon
  • Exec= defines the terminal command, which is executed when the icon is clicked
  • Icon= specifies the path to the icon


Finally, you can drag and drop your custom icon file onto a Quick Launch / Starter widget in your panel (as described in the beginning of this chapter) to create your custom panel icon.


Create Custom Icon in Start Menu / Mainmenu

Read the previous chapter of this Wiki tutorial in order to get familiar with the content of .desktop files.

Now, a custom .desktop files needs to get created (as root) in this location:

/usr/share/applications/

Please look at other .desktop files as examples for the .desktop file content: All have a category specified, e.g.

Categories=Qt;KDE;Settings;

This setting is important for the Start Menu / Mainmenu category this custom icons appears in. Use it.

Another important line in the .desktop file is:

OnlyShowIn=LXQt;

If this is set to another desktop environment, set it to LXQt or delete this line entirely in order to see this custom icon in your Start Menu / Mainmenu.


Change Order of Icons on Panel

You can click the right mouse button on top of a panel element in order to move it. Alternatively, you can move panel elements by holding CTRL+Left Mouse and draging the element. These methods work for all panel elements, except Quick Launch / Starter elements with added icons.

Quick Launch / Starter elements have "Move Left" and "Move Right" as right click options, which do enable you to freely move it. Just click the "Remove from quicklaunch" in order to remove the icon from the Quick Launch Widget.

Now, you can move the Quick Launch Widget like all other panel elements. After you have moved the Quick Launch Widget to the desired position on your panel, follow this tutorial to add your icon again.


Change Icon of Start Menu / Mainmenu

This Icon can be changed by opening the following folder with root privileges:

/usr/share/lxqt/themes/<theme name>/

Replace <theme name> with the name of the theme you are currently using. The name of your current theme can be found in System Settings>LXQT Configuration Center>LXQtAppearance>LXQt Theme. The Start Menu icon will only get changed for <theme name>. All other themes still use the default icon!

In this folder, you find a mainmenu.png file. It is the icon of your Start Menu (called "Mainmenu" in LXQt). Replace this file with the icon file you want to use. Rename your icon file to the same name.


Great icons can be found in this thread: https://forum.manjaro.org/index.php?topic=15613.0


In order to see the changes logout and log in again. If you want to see the changes immediately run the following commands:

killall lxqt-panel
lxqt-panel


Links

You can find more pages about LXQt in the Manjaro Wiki here.