Comment by zahlman

4 hours ago

> Additionally, I disagreed with the default way of installing Qtile. As a principle, I never sudo pip install anything. Instead, I asked my friend Karthikeyan Singaravel, who is a Python core developer, and he recommended using the deadsnakes PPA for Ubuntu to install any version of Python that I chose. I tried compiling python 3.10 myself, installing to /opt/qtile/ using configure --prefix /opt/qtile/ during the configuration stage of the source code. However, I admit that using deadsnakes is a far better idea since I could create a virtual environment based on python3.10 into /opt/qtile/ instead. I had to change the owner of the folder to my user account. Note that I could store the virtual environment in my home folder and just use that, but I wanted to isolate this outside of my home folder.

Qtile doesn't appear to be tied to a specific Python version. Could you not have made a virtual environment based off the system Python? For that matter, could you not have made a virtual environment from a local compiled-from-source Python? (I do that all the time, because I'm interested in testing against specific Python versions and comparing their performance characteristics.)

> Then, I changed the owner of the folder to my regular user account.

> Then, it was time to install qtile.

> I created /usr/share/xsessions/qtile.desktop and filled it with the following:

Doesn't this require the environment to be owned by root? Doesn't it make more sense to leave things that are in /opt as root-owned anyway? (Or at least, change them back after running the installation as an unprivileged user.)

> After this, I logged out of my previous window manager and switched to the new entry for Qtile.

Will any random greeter program just naturally pick up the contents of /usr/share/xsessions, then?

> Qtile’s config file rests at ~/.config/qtile/config.py

So does it just ignore all your other dotfiles? Can I safely just try this out regardless of my usual WM/DE choices?

> Doesn't this require the environment to be owned by root? Doesn't it make more sense to leave things that are in /opt as root-owned anyway? (Or at least, change them back after running the installation as an unprivileged user.)

I changed the permissions so everyone can run the binary.

You _can_ use a venv. I prefer a dedicated environment for this. I've been using Mise-en-place lately, it's great.

> Will any random greeter program just naturally pick up the contents of /usr/share/xsessions, then?

Yep. Your login manager will pick it up.

> So does it just ignore all your other dotfiles? Can I safely just try this out regardless of my usual WM/DE choices?

Yeah, you can. It's self-contained. I even setup ansible-based dotfile installation in https://GitHub.com/stonecharioteer/distributed-dotfiles.

While qtile doesn't care about the python version, I do. I've grown wary of environment clobbering, it's an issue that Python has had, one that even Ruby does better than it, I've discovered. I like isolating these, helps debug a lot. Now I have added more shortcuts to my config using Rofi scripts, I can see the Qtile log, access, the dunst notification history and other stuff easily with rofi. Give Qtile a go if you've been looking for a Tiling Window Manager. It's married to the Qtile Bar, though, but the Bar can do almost everything.