A lightweight screen dimmer for KDE Plasma (Wayland) built with Qt 6 and LayerShellQt.
Screen Dimmer creates a fullscreen translucent overlay using the Wayland layer-shell protocol, allowing the display to be dimmed without changing monitor brightness. It runs as a small background daemon and can be toggled instantly with a keyboard shortcut.
- Fullscreen dimming overlay
- Works over fullscreen applications and videos
- Click-through overlay (mouse and scroll events pass through)
- Multi-monitor support
- Keyboard shortcut friendly
- Background daemon with negligible CPU usage while idle
- KDE Plasma (Wayland)
- Qt 6
- LayerShellQt
- CMake
- C++20 compatible compiler
sudo pacman -S qt6-base layer-shell-qt cmakegit clone https://github.com/<your-username>/screen-dimmer.git
cd screen-dimmer
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build buildinstall -Dm755 build/screen-dimmer ~/.local/bin/screen-dimmerStart the daemon:
screen-dimmer &Toggle the overlay:
pkill -USR1 -x screen-dimmerStop the daemon:
pkill -x screen-dimmerA helper script is provided in scripts/toggle-dimmer.sh.
Bind the script to a keyboard shortcut from:
Copy scripts/screen-dimmer.desktop to:
~/.config/autostart/
Update the Exec= path if necessary.
.
├── CMakeLists.txt
├── LICENSE
├── README.md
├── src/
│ └── main.cpp
└── scripts/
├── screen-dimmer.desktop
└── toggle-dimmer.sh
- Currently tested only on KDE Plasma Wayland.
- Requires LayerShellQt.
- Other desktop environments and compositors have not been tested.
Released under the MIT License.
