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/)
Highly customizable Wayland bar for Sway and Wlroots based compositors. ✌️ 🎉
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.
i3's interprocess communication (or ipc) is the interface i3wm uses to receive commands from client applications such as i3-msg. It also features a publish/subscribe mechanism for notifying interested parties of window manager events.
i3ipc-python is a Python library for controlling the window manager. This project is intended to be useful for general scripting, and for applications that interact with the window manager like status line generators, notification daemons, and window pagers.
If you have an idea for a script to extend i3wm, you can add your script to the examples folder.
For details on how to use the library, see the reference documentation.
