Getting started
How to customize plasma with widgets, themes and icons
The KDE wiki has a few tutorials that haven't been ported to https://develop.kde.org yet.
Plasma is very modular, made up of themable widgets that can be added, removed, re-arranged, and customized. Pre-installed widgets and themes are stored at /usr/share/plasma/
, while third-party widgets and themes are stored in the user's home directory at ~/.local/share/plasma/
.
Global Theme
Formerly called a "Look and Feel", it bundles a Panel Layout Template, an Icon Theme, a Plasma Style (and its Color Scheme, a Task Switcher, a Splash Screen, a lock screen theme, or any combination thereof.
System/Default:
/usr/share/plasma/look-and-feel/
(GitLab)User Installed:
~/.local/share/plasma/look-and-feel/
(KDE Store Category)
Plasma Style
Also called a Desktop Theme or a Plasma Theme, it controls the visual styling of panels, widgets, OSD popups, the lock screen, and the logout screen. Plasma Styles can also include their own color scheme that overrides the systemwide color scheme for Plasma UI elements.
System/Default:
/usr/share/plasma/desktoptheme/
(GitLab)User Installed:
~/.local/share/plasma/desktoptheme/
(KDE Store Category)
Color Scheme
A list of colors in plain INI format that define the colors to be used for UI elements that follow the systemwide color scheme. These typically consist of KDE/Qt apps, GTK apps themed with the Breeze GTK theme, and Plasma UI elements when using a Plasma style that respects the systemwide color scheme.
Usually set in the
colors
file in a Plasma Style.System/Default:
/usr/share/color-schemes/
(GitLab)User Installed:
~/.local/share/color-schemes/
(KDE Store Category)When a color scheme is applied, its values are copied to
~/.config/kdeglobals
andkde-gtk-config
will automatically sync colors to the Breeze GTK Theme in~/.config/gtk-3.0/colors.css
Icon Theme
A collection of icon files in different sizes that follows the Freedesktop specification.
System/Default:
/usr/share/icons/
(GitLab)User Installed:
~/.local/share/icons/
(KDE Store Category)
Panel Layout Template
A [Plasma Script]({{< ref "scripting" >}}) written in JavaScript that defines a specific panel layout, accessed when right-clicking the desktop and selecting "Add Panel".
System/Default:
/usr/share/plasma/layout-templates/
(GitLab)User Installed:
~/.local/share/plasma/layout-templates/
Task Switcher
A visual representation of the windows you can switch to with Alt+Tab, written in QML.
System/Default:
/usr/share/kwin/tabbox/
(GitLab)User Installed:
~/.local/share/kwin/tabbox/
(KDE Store Category)Can also be bundled in a Global Theme like Breeze does.
Plasma Widget
Also known as a Plasmoid, it is an interactive and self-contained piece of functionality. A Widget is essentially a small app that can be embedded within the current Plasma layout, either on the desktop or a panel. Widgets are written in QML.
System/Default:
/usr/share/plasma/plasmoids/
User Installed:
~/.local/share/plasma/plasmoids/
(KDE Store Category)
Wallpaper Plugin
A plugin written in QML that draws the desktop wallpaper. It can be chosen and configured in the wallpaper settings window using the "Wallpaper Type" combobox.
System/Default:
/usr/share/plasma/wallpapers/
(GitLab)User Installed:
~/.local/share/plasma/wallpapers/
Window Decoration
Handles the theme and button style of the window titlebar. A window decoration can be created by editing SVG files (Aurorae) or by writing a C++ plugin (KDecoration).
System/Default:
/usr/share/aurorae/themes/
(usually empty)User Installed:
~/.local/share/aurorae/themes/
(KDE Store Category)The default Breeze decoration is a C++ plugin implementing the KDecoration2 API.
Aurorae is a theming engine which allows to create window decorations based on SVGs. Tutorial
Aurorae can also load QML-based themes.
KWin Effect
Also known as a Desktop Effect, it applies visual changes to any area of the screen. KWin effects can be purely visual (e.g. an animation during window events, like "minimize") or they can be interactive with their own rich UI (e.g. the "Overview" effect).
System/Default:
/usr/share/kwin/effects/
(GitLab)User Installed:
~/.local/share/kwin/effects/
(KDE Store Category)
KWin Script
A script written in JavaScript or QML that manages windows, allowing to automatically arrange them in a grid for example.
System/Default:
/usr/share/kwin/scripts/
(GitLab)User Installed:
~/.local/share/kwin/scripts/
(KDE Store Category)[Tutorial]({{< ref kwin >}})
[KWin Scripting API]({{< ref "kwin/api" >}})
Login Screen (SDDM)
The theme used for the screen you see before you log into Plasma in most KDE distros. Despite the visual similarity of their Breeze themes, SDDM is not the lock screen. Lock screen themes are included within Plasma Styles.
System/Default:
/usr/share/sddm/themes/
(Breeze example on GitLab) (KDE Store Category)Testing:
sddm-greeter --test-mode --theme /usr/share/sddm/themes/breeze
Splash Screen
The animated screen you see after you log into Plasma in most KDE distros. It is written in QML and can use images like PNGs, SVGs or GIFs.
System/Default:
/usr/share/plasma/lookandfeel/<theme_name>/contents/splash/
(Breeze example on Gitlab)User Installed:
~/.local/share/plasma/look-and-feel/<theme_name>/contents/splash/
(KDE Store Category)
Last updated