Dunst is a lightweight replacement for the notification daemons provided by most desktop environments. It's very customizable, isn't dependent on any toolkits, and therefore fits into those window manager centric setups we all love to customize to perfection.
Quickshell is a toolkit for building a desktop shell, which is to say components of your desktop like bars, widgets, lock screens, display managers, and the like.
Quickshell is based on QtQuick and configured with QML, the QtQuick interface description language. It provides integrations for common shell functionality, as well as support for hot reloading and tools to work with processes, sockets, files, and more.
Built-in integrations are currently provided for:
-
Wayland and X11 for windowing
-
Wayland for window management and screen recording
-
Workspace management in Hyprland, I3, and Sway
-
Pipewire for audio controls
-
BlueZ for bluetooth
-
Pam for authentication and building lockscreens
-
Greetd for building a display manager
-
UPower for monitoring battery statistics
-
Power Profiles Daemon
-
MPRIS compatible media players
-
StatusNotifierItem compatible system tray clients
-
Quickshell](https://quickshell.org/)
A clean, modern, and minimal SDDM theme inspired by Google Pixel UI and Material Design 3. Supports both the latest Qt6 engine and legacy Qt5 systems.
Rofi started as a clone of simpleswitcher, written by Sean Pringle - a popup window switcher roughly based on superswitcher. Simpleswitcher laid the foundations, and therefore Sean Pringle deserves most of the credit for this tool. Rofi (renamed, as it lost the simple property) has been extended with extra features, like an application launcher and ssh-launcher, and can act as a drop-in dmenu replacement, making it a very versatile tool. Thanks to the great work of lbonn, who added Wayland support in his fork and maintained it for years, Rofi now officially supports Wayland (since 2025).
Rofi, like dmenu, will provide the user with a textual list of options where one or more can be selected. This can either be running an application, selecting a window, or options provided by an external script.
Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. It works with your existing i3 configuration and supports most of i3's features, plus a few extras.
Sway allows you to arrange your application windows logically, rather than spatially. Windows are arranged into a grid by default which maximizes the efficiency of your screen and can be quickly manipulated using only the keyboard.
Sway is documented via manpages. For a list of available manpages, refer to man -k sway.
We also maintain the wlroots project to provide a modular basis for Sway and other Wayland compositors to build upon, and we publish standards for interoperable Wayland desktops.
i3lock is a popular X11 screen lock utility. As far as customization goes, it only allows one to set a background from a PNG file. This limitation is part of the design of i3lock: its primary goal is to keep the screen locked, something difficult enough with X11. Each additional feature would increase the attack surface and move away from this goal. Many are frustrated with these limitations and extend i3lock through simple wrapper scripts or by forking it.
The first solution is usually safe, but the second goes against the spirit of i3lock.
XSecureLock is a less-known alternative to i3lock. One of the most attractive features of this locker is to delegate the screen saver feature to another process. This process can be anything as long it can attach to an existing window provided by XSecureLock, which won’t pass any input to it. It will also put a black window below it to ensure the screen stays locked in case of a crash.
XSecureLock is shipped with a few screen savers, notably one using mpv to display photos or videos, like the Apple TV aerial videos. I have written my own saver using Python and GTK.
It shows a background image, a clock, and the current weather.
XSecureLock is an X11 screen lock utility designed with the primary goal of security.
Screen lock utilities are widespread. However, in the past they often had security issues regarding authentication bypass (a crashing screen locker would unlock the screen), information disclosure (notifications may appear on top of the screen saver), or sometimes even worse.
In XSecureLock, security is achieved using a modular design to avoid the usual pitfalls of screen locking utility design on X11. Details are available in the Security Design section.
Wayland is the next-generation display server for Unix-like systems, designed and built by the alumni of the venerable Xorg server, and is the best way to get your application windows onto your user's screens. Readers who have worked with X11 in the past will be pleasantly surprised by Wayland's improvements, and those who are new to graphics on Unix will find it a flexible and powerful system for building graphical applications and desktops.
This book will help you establish a firm understanding of the concepts, design, and implementation of Wayland, and equip you with the tools to build your own Wayland client and server applications. Over the course of your reading, we'll build a mental model of Wayland and establish the rationale that went into its design. Within these pages you should find many "aha!" moments as the intuitive design choices of Wayland become clear, which should help to keep the pages turning. Welcome to the future of open source graphics!
Notice: this is a draft. Chapters 1-10 are more or less complete, but may be updated later. Chapters 11 forward in large part remain to be written.
TODO
- Expand on resource lifetimes and avoiding race conditions in chapter 2.4
- Move linux-dmabuf details to the appendix, add note about wl_drm & mesa
- Rewrite the introduction text
- Add example code for interactive move, to demonstrate the use of serials
- Use — instead of - where appropriate
- Prepare PDFs and EPUBs
I have been using a Lenovo Thinkpad X1 Carbon laptop (210 DPI) for four years and a Nokia 8 phone (550 DPI) for a year. I enjoy their HiDPI screens: text is crisp and easy to read. To get a similar experience for my workstation, I bought a pair of Dell P2415Q monitors:
Hey guys. I know I am not good in updating my blog currently, but I have some news to share. I became father few weeks ago. Two months actually. That is the reason why I don’t update my blog so often. Don’t expect a big change in this regard anytime soon :)
But I wanted to write something at least. Last week I migrated from urxvt to xterm, because I noticed that beginning last year (2012), xterm can finally open URLs nicely. This feature was a blocker for me, since I read all my e-mails in mutt and I hate copying links.
During migration, I noticed several nice features of xterm so I decided to write a blog post about some. Let’s start.
Comic Neue fixes the shortcomings of Comic Sans. It's the casual script choice for everyone, including the typographically savvy.
