Theming - Razor-qt/razor-qt GitHub Wiki

Overview

Theme content

Theme is basically a folder. Folder's name is the theme name.

Razor-Qt looks for theme folders in:

  • ~/.local/share/razor/themes/
  • /usr/local/share/razor/themes/
  • /usr/share/razor/themes/

To tell the truth only if a folder contains file razor-panel.qss it is considered a theme. With just this one empty file it will look ugly, believe me.

Complete theme would include these files:

  • preview.png
  • razor-appswitcher.qss
  • razor-desktop.qss
  • razor-lightdm-greeter.qss
  • razor-notificationd.qss
  • razor-panel.qss
  • razor-power.qss
  • razor-runner.qss
  • wallpaper.cfg and most probably some images.

Themes shipped with the source code contain:

  • one or more image for desktop background,
  • icons for some applications in subfolders, usually: razor-lightdm-greeter, razor-notificationd, razor-power and razor-runner.

File formats

QSS

QSS - are Qt Style Sheets files. In short words - it's Qt-flavoured CSS.

Official docs are pretty good:

http://qt-project.org/doc/qt-4.8/stylesheet.html

http://qt-project.org/doc/qt-4.8/stylesheet-syntax.html

https://qt-project.org/doc/qt-4.8/stylesheet-reference.html

https://qt-project.org/doc/qt-4.8/stylesheet-customizing.html

#### CFG

wallpaper.cfg - is actually an INI file.

It has 'wallpapers' array on the global level. Each item has key 'file' pointing to a raster image file. Each entry corresponds to each screen. Probably SVG support will be added in the future.

Theme parts

desktop (razor-desktop.qss)

  • analogclock
  • helloworld
  • iconview
  • notepad (NotepadWin)

panel (razor-panel.qss)

 * clock (#Clock)
 * colorpicker
 * cpuload
 * desktopswitch (#DesktopSwitch)
 * mainmenu (#MainMenu)
 * mount (MountButton, #RazorMountPopup)
 * networkmonitor
 * panelvolume
 * quicklaunch (#QuickLaunch)
 * screensaver (#PanelScreenSaver)
 * sensors
 * showdesktop (#ShowDesktop)
 * taskbar (#TaskBar)
 * tray (#Tray, TrayIcon)

other applications

 * appswitcher (razor-appswitcher.qss)
 * notificaion (razor-notificationd.qss)
 * power (razor-power.qss)
 * runner (razor-runner.qss)

greeter (razor-lightdm-greeter/razor-lightdm-greeter.qss)

Some hints