Plasma themes and plugins (2024)

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.

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)
  • Tutorial

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 and kde-gtk-config will automatically sync colors to the Breeze GTK Theme in ~/.config/gtk-3.0/colors.css
  • Documentation

Icon Theme

A collection of icon files in different sizes that follows the Freedesktop specification.

Panel Layout Template

A Plasma Script 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.

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)
  • Tutorial

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 theKDecoration2 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).

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
  • KWin Scripting API

Login Screen (SDDM)

The theme used for the screen you see before you log in to 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.

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.

Plasma Widget tutorialLearn how to create a KDE Plasma widget.
KWin EffectsHow to write a QML effect for KWin
Plasma Desktop scripting
Plasma Style tutorialLearn how to create a KDE Plasma Style.
Aurorae window decorationsHow to create window decorations with SVGs
KWin scripting tutorialLearn how to programmatically manipulate windows with KWin scripts.
WallpapersSet a custom accent color for wallpapers in Plasma
Plasma ComicLearn how to create a Comic provider plugin
Create a custom Window Switcher
KRunner C++ plugin
Plasma themes and plugins (2024)

References

Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 5760

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.