awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
qtile avatar

qtile/qtile

0
View on GitHub↗
5,273 stars·734 forks·Python·MIT·47 viewsqtile.org↗

Qtile

Qtile is a programmable tiling window manager and compositor written and configured in Python. It organizes application windows into non-overlapping tiles or floating modes to maximize screen real estate and supports both X11 and Wayland display server protocols.

The environment is defined by executing Python scripts, allowing the programmatic customization of keybindings, visual styles, and system behaviors. This approach enables a personalized workspace where the entire user interface and layout logic are managed through a script-based configuration.

The project covers broad capability areas including virtual workspace organization, automated desktop workflows, and the management of application windows across different graphics protocols. It also includes tools for monitoring system health via memory allocation tracking and process performance profiling.

Features

  • Programmable Configurations - The entire user interface and system behavior are defined by executing a Python configuration script.
  • Display Server Abstractions - Implements a protocol-agnostic backend to maintain consistent logic across X11 and Wayland servers.
  • Desktop Environments & UI - Provides a programmable workspace where visual interfaces and window layouts are defined via script.
  • Display Protocol Compositors - Operates as a compositor that unifies different display server protocols into a single output stream.
  • Display Compositors - Acts as a display compositor managing window placement and input routing across server protocols.
  • Tiling Window Managers - A window manager written and configured in Python to organize windows into non-overlapping tiles.
  • Virtual Workspaces - Provides virtual workspace organization to manage multiple application sets across different virtual desktops.
  • Programmable Editor Configurations - Enables deep personalization of layouts and keybindings using a full programming language.
  • Tiling Layout Engines - Ships a programmable engine that calculates window geometry using predefined geometric tiling rules.
  • Custom Python Components - Uses Python scripts to programmatically define keybindings, visual styles, and system behaviors.
  • Cross-Protocol Compositing - Manages the display and arrangement of windows across both X11 and Wayland protocols.
  • Bars and Widgets - Provides a dynamic pipeline of Python objects that render system data into a unified status bar.
  • Virtual Desktop Organizers - Manages multiple application sets across virtual desktops to improve multitasking and project isolation.
  • Desktop Automation - Supports automating repetitive desktop tasks through external scripts and shell command integration.
  • IPC Command Routers - Provides an IPC socket allowing external shell scripts to send commands and modify the running environment.
  • Remote CLI Control Interfaces - Allows controlling windows and system widgets via a command shell for desktop automation.
  • Event-Driven State Managers - Implements an event-driven system where window and system changes trigger UI updates and layout refreshes.
  • Window Managers - Hackable tiling window manager configured in Python.
  • Miscellaneous Utilities - Scriptable tiling window manager for Linux.

Star history

Star history chart for qtile/qtileStar history chart for qtile/qtile

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does qtile/qtile do?

Qtile is a programmable tiling window manager and compositor written and configured in Python. It organizes application windows into non-overlapping tiles or floating modes to maximize screen real estate and supports both X11 and Wayland display server protocols.

What are the main features of qtile/qtile?

The main features of qtile/qtile are: Programmable Configurations, Display Server Abstractions, Desktop Environments & UI, Display Protocol Compositors, Display Compositors, Tiling Window Managers, Virtual Workspaces, Programmable Editor Configurations.

Which projects share features with qtile/qtile?

Projects with overlapping indexed features include: end-4/dots-hyprland — This project is a configuration suite for the Hyprland Wayland compositor, providing a set of automated scripts and… ianyh/amethyst — Amethyst is a tiling window manager for macOS designed to automate the arrangement of application windows. It… asmvik/yabai — Yabai is a system-level utility for macOS that provides automated window management and workspace organization. It… swaywm/sway — Sway is a Wayland compositor and tiling window manager for Linux. It functions as a display server that manages window… i3/i3 — i3 is a configurable tiling window manager for the X11 window system. It organizes application windows into… yalter/niri — Niri is a Wayland compositor that provides a desktop environment for Linux. Its primary purpose is to implement a…

Projects sharing features with Qtile

These projects share indexed features with Qtile. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • end-4/dots-hyprlandend-4 avatar

    end-4/dots-hyprland

    12,857View on GitHub↗

    This project is a configuration suite for the Hyprland Wayland compositor, providing a set of automated scripts and files to deploy a consistent desktop environment across Linux distributions. It functions as an automation tool that synchronizes system settings, software packages, and interface themes to ensure a uniform workspace state. The environment distinguishes itself through deep integration with language models, allowing users to access local or cloud-based AI assistants directly from the desktop interface for tasks such as text translation and content generation. Visual consistency i

    QMLdotfileshyprlandlinux
    View on GitHub↗12,857
  • ianyh/amethystianyh avatar

    ianyh/Amethyst

    16,009View on GitHub↗

    Amethyst is a tiling window manager for macOS designed to automate the arrangement of application windows. It functions as a productivity utility that organizes windows into non-overlapping layouts, allowing users to manage their desktop environment through keyboard-driven controls rather than manual mouse interaction. The application distinguishes itself by providing a state-machine engine that calculates window geometry based on user-defined tiling patterns. It maintains an accurate representation of the desktop by monitoring system-level notifications for window events, enabling it to auto

    Swiftmacmacoswindow-manager
    View on GitHub↗16,009
  • asmvik/yabaiasmvik avatar

    asmvik/yabai

    29,093View on GitHub↗

    Yabai is a system-level utility for macOS that provides automated window management and workspace organization. It functions as a tiling window manager that uses binary space partitioning to arrange application windows into grid layouts, bypassing standard desktop constraints through direct interaction with the system window server. The project distinguishes itself by offering granular control over the graphical user interface via a socket-based command interface and event-driven system hooks. This allows for the programmatic manipulation of window states, display configurations, and virtual

    C
    View on GitHub↗29,093
  • swaywm/swayswaywm avatar

    swaywm/sway

    17,054View on GitHub↗

    Sway is a Wayland compositor and tiling window manager for Linux. It functions as a display server that manages window placement and input handling, organizing application windows into logical grids to maximize screen space. The project is designed for a keyboard-driven workflow, allowing users to manage workspaces and window geometry without relying on a mouse. It provides a modular environment for desktop customization and includes translation layers to support legacy applications, facilitating the replacement of older window management systems. The compositor utilizes hardware-accelerated

    Ccompositorwayland
    View on GitHub↗17,054
Compare all 30 related projects→