Pages
Developer Documentation

Developer Documentation

This tier is for people building Sonic-DE from source or contributing to it.

  • Building Sonic-DE explains how to fetch and build the whole desktop from source with sonicde-builder.
  • Dependencies lists what a build host needs.
  • Troubleshooting collects known build problems.
  • Kirigami tutorial: build convergent applications with QML and Kirigami, from a first window to C++ models and Kirigami Addons.
  • Python with Kirigami: write and package a Kirigami application with PySide, and use the frameworks' Python bindings.
  • Getting started with KXmlGui: a tutorial that builds a small text editor with SonicDE's libraries.
  • Common programming mistakes in C++ and Qt code.
  • SSH password prompt: ask for SSH passphrases in a window with ksshaskpass, and save them in KDE Wallet.
  • Configuration: storing settings with KConfig and KConfig XT, settings modules (KCMs) and configuration updates.
  • Libraries: archives, idle time, notifications, hardware (Solid) and spell checking (Sonnet).
  • KAuth: running privileged parts of your application.
  • Desktop integration: desktop files, icons, cursor themes and session management.
  • Themes and plugins: desktop themes, widgets, desktop scripting, KRunner plugins, SonicWin scripts and effects, window decorations, task switchers, wallpapers and comic plugins.
  • Ecco: add your own actions to the file manager's context menu.
  • Sensor faces: create new display styles for System Monitor.
  • System administration: lock down deployments with Kiosk, and set default favorites, About page branding and portal permissions.
  • Mobile interface: the shell for phones, porting a device and the telephony stack.
  • D-Bus: how to call and offer D-Bus interfaces from your own code. SonicDE is gradually moving its own communication between processes to Sonic IPC.
  • Human Interface Guidelines: how to design applications and icons that feel at home on SonicDE.

To write applications or plugins against the Sonic-DE libraries, see the API Documentation.

Edit this page on GitHub

We use cookies to personalize content and to analyze our traffic. Please decide if you are willing to accept cookies from our website.