Skip to main content

🧩 QtileLXA

QtileLXA is a modular extension suite for the Qtile window manager, offering advanced desktop enhancements like custom widgets, utility scripts, dynamic theming, screen locking, Docker integration, and more — designed to streamline advanced Linux desktop setups.


📦 Features

  • 🎨 Dynamic Theme Manager:

    • PyWall & VidWall support
    • Wallpaper rotation with NASA/Bing/Git repo sources
    • Live decoration and color scheme switching
  • 🔐 Auto Screen Lock:

    • Integrates with xautolock or betterlockscreen
  • 🔊 Device Controllers:

    • Volume, microphone, brightness toggles and indicators
  • 🖥️ Multi-screen Management:

    • Profile switcher for workspace and layout presets
  • 📡 Smart Network Profile Detection

  • 🪄 Custom Power Menu:

    • Shutdown, reboot, sleep, hybrid-sleep, hibernate, etc.
  • 🧩 Modular Codebase:

    • Easily extensible and cleanly organized Python modules

📂 Project Structure

Click to expand
qtile_lxa/
├── src/qtile_lxa/           # Main package
│   ├── assets/              # Icons, sounds, wallpapers
│   ├── utils/               # Utilities (lock, controllers, notifications)
│   └── widget/              # Custom widgets by category
├── test/                    # Widget test scripts
├── dist/                    # Build artifacts
├── pyproject.toml           # Build config
├── requirements.txt         # Dependencies
├── README.md                # You’re reading it!
└── LICENSE                  # MIT License

🚀 Installation

1. Clone the repository

pip install qtile-lxa

Dependencies: docker, qtile, xautolock, betterlockscreen, dunst, etc.


🛠️ Setup in Qtile Config

In your ~/.config/qtile/config.py:

from pathlib import Path
from qtile_lxa import widget as lxa_widgets
from qtile_lxa.widget.theme.bar import DecoratedBar
from libqtile.config import Screen

Use your favorite widgets like:

screens = [
    Screen(
        top=DecoratedBar(
            [
                lxa_widgets.docker.DockerCompose(
                    config=lxa_widgets.docker.DockerComposeConfig(
                        compose_file=Path("docker-compose.yml"),
                    )
                ),
                lxa_widgets.theme.theme_manager.ThemeManager(),
                # Add more...
            ],
            height=24,
        ).get_bar(),
    ),
]

🧠 Example Use Cases

  • Auto lock screen after idle time with Qtile hooks
  • Monitor containerized environments (Docker, Podman, K8s)
  • Instantly switch wallpapers, themes, and bar decorations
  • Get visual feedback for volume and mic status with dunst

🧪 Development & Testing

Run import tests

python test/import_widgets.py

Build the package

python -m build

📷 Screenshots

Top Left Bar
Workspaces Controller
Top Right Bar
System Monitors
Bottom Right Bar
Other Custom Widgets
Theme Manager
Wallpaper, Color, Decorations
Video Wallpaper
Dynamic Background Control
Power Menu
Shutdown, Restart, Sleep

📜 License

This project is licensed under the MIT License.


🙌 Contributing

Contributions are welcome! Please open an issue or pull request for suggestions, bug fixes, or new widgets.


🧠 Credits

Built with ❤️ by Pankaj Kumar Patel (Pankaj Jackson) for the Arch/Qtile community.

Wallpaper credits: NASA, Bing Images, and LXA originals.

Metadata

Release files for qtile-lxa 0.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qtile-lxa 0.0.10
File Size Uploaded Provenance Actions
qtile_lxa-0.0.10.tar.gz 3.0 MB Without provenance Details for qtile_lxa-0.0.10.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qtile-lxa 0.0.10
File Interpreter ABI Platform Actions
qtile_lxa-0.0.10-py3-none-any.whl Python 3 none any Details for qtile_lxa-0.0.10-py3-none-any.whl

Total release size: 6.1 MB

Release files / qtile_lxa-0.0.10.tar.gz

Download URL qtile_lxa-0.0.10.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0f017663029135c861917917e6483450092a8d433fe5796c375b80666ab5493e
BLAKE2b-256 checksum
How to use checksums
33fd1705c7c53556d450034021b72362c608ecf0c078c38cf37f541d59c50268
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / qtile_lxa-0.0.10-py3-none-any.whl

Download URL qtile_lxa-0.0.10-py3-none-any.whl
Size 3.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ba262c37d7a241307a0c8cd76e1206adafe4a78dd4af06ded7bb6c70ad8577ec
BLAKE2b-256 checksum
How to use checksums
da81cd94bffbd3402c762845ac681913349744dbd024140580d12a4cfaa2e9c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Security for qtile-lxa 0.0.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page