65 lines
2.8 KiB
Text
65 lines
2.8 KiB
Text
---
|
|
layout: "@layouts/ConfigLayout.astro"
|
|
title: "About Quickshell"
|
|
---
|
|
import { Icon } from "astro-icon/components";
|
|
|
|
# About Quickshell
|
|
Quickshell is a framework for building various desktop components, such as *status bars,
|
|
docks, panels, and overlays*, collectively known as the desktop shell.
|
|
|
|
With Quickshell, you can create a desktop shell that is entirely your own.
|
|
It can look and feel however you want, to the extent of your ability to
|
|
use the [QML](https://doc.qt.io/qt-6/qmlreference.html) language.
|
|
|
|
We provide a set of [easy to use libraries](/docs/types) for interacting with your
|
|
operating system, and *instant config reloading* so you can see your changes in real time,
|
|
as shown below.
|
|
|
|
<video width="100%" preload="metadata" controls>
|
|
<source src="/assets/simple-shell-livereload.mp4" type="video/mp4"/>
|
|
</video>
|
|
|
|
> [!NOTE]
|
|
> Quickshell is still in a somewhat early stage of development.
|
|
> There will be breaking changes before 1.0, however a migration guide will be provided.
|
|
|
|
# Feature Overview
|
|
Quickshell, QtQuick and the QML language provide the following notable features:
|
|
- Full customization. You are not limited to a predetermined set of modules.
|
|
- Full hot reloading. Your changes will be visible instantly on save.
|
|
- A fully reactive language, which means as properties change, all usages
|
|
will be re-evaluated. Manual signal usage can be largely avoided.
|
|
- Full support for animations, which can be entirely custom.
|
|
- Support for GLSL shaders. (further ease of use integrations are in progress)
|
|
- Support for third party QML modules.
|
|
|
|
Quickshell provides operating system integrations for the following features:
|
|
- Panel windows (docks, status bars, desktop backgrounds, overlays)
|
|
- Wayland compositors require the `zwlr_layer_shell_v1` protocol.
|
|
- Many X11 window managers implement struts incorrectly,
|
|
causing anchors and exclusive zone not to work as intended.
|
|
- Lock screens
|
|
- Wayland compositors require the `ext_session_lock_v1` protocol.
|
|
- Currently unsupported on X11.
|
|
- Popup windows
|
|
- Unsupported on lockscreens.
|
|
- Clicking outside a popup to dismiss only works under [Hyprland](https://hyprland.org).
|
|
- Floating / Normal windows
|
|
- Display manager / Login screen (via Greetd)
|
|
- Management of other application windows (taskbar)
|
|
- Wayland compositors require the `zwlr_foreign_toplevel_management` protocol.
|
|
- Currently unsupported on X11.
|
|
- System Tray (StatusNotifierItem only, no XEmbed)
|
|
- Notification Daemon / Server
|
|
- Audio Controls (via PipeWire)
|
|
- Media Controls (MPRIS compatible players)
|
|
- Battery / power status (via upower)
|
|
|
|
The following features are planned, but are not yet implemented:
|
|
- Bluetooth controls
|
|
- Ability to take a screenshot without using an external tool
|
|
- Embedded previews of other windows
|
|
- Hot reloading of GLSL shaders
|
|
- Bundling an optimized version of a configuration as an executable
|
|
- Larger set of builtin controls
|