QtileLXA is a modular extension suite for the Qtile window manager, featuring custom widgets, dynamic theming, video wallpapers, and system controls, all designed to enhance and automate your Qtile desktop experience.
Project description
🧩 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
xautolockorbetterlockscreen
- Integrates with
-
🔊 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
📜 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qtile_lxa-0.0.10.tar.gz.
File metadata
- Download URL: qtile_lxa-0.0.10.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f017663029135c861917917e6483450092a8d433fe5796c375b80666ab5493e
|
|
| MD5 |
9eeb9c8e07bee25062c42d0528feeb58
|
|
| BLAKE2b-256 |
33fd1705c7c53556d450034021b72362c608ecf0c078c38cf37f541d59c50268
|
File details
Details for the file qtile_lxa-0.0.10-py3-none-any.whl.
File metadata
- Download URL: qtile_lxa-0.0.10-py3-none-any.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba262c37d7a241307a0c8cd76e1206adafe4a78dd4af06ded7bb6c70ad8577ec
|
|
| MD5 |
ece352346d6d547721f8b9ed924265b0
|
|
| BLAKE2b-256 |
da81cd94bffbd3402c762845ac681913349744dbd024140580d12a4cfaa2e9c6
|