Ricky Linden logo

Installing qtile (on Ubuntu based distros)


qtile is a tiling window manager written in Python that I've been happily using for a few months now. On Ubuntu, Mint and similar Linux distributions it's unfortunately not available in the official repositories, so the easiest way to get it is either to replace Ubuntu with an Arch based distribution, or build it from source. Here I'll go through how to build it from source on Linux Mint 20.1 (has worked well for me on Ubuntu 20.04 as well).

Always be aware that installing programs outside of the official repositories might make your system less stable. I haven't personally had issues, but please be aware if you follow my instructions it's on your own risk. (And in case you are here many moons after 28 March 2021, you might just prefer following the official documentation instead.)

Besides taking a backup, you need to:

1. Have Python, pip and git installed

sudo apt install python3 python3-pip git

2. Install these (in the following order!)

sudo apt install libxcb-render0-dev libffi-dev

pip3 install xcffib

sudo apt install libcairo2

pip3 install --no-cache-dir cairocffi

sudo apt-get install libpangocairo-1.0-0

pip3 install dbus-next

4. Clone the git repo, cd into it and install qtile

git clone git://github.com/qtile/qtile.git

cd qtile

pip3 install .

5. a) Finally create the qtile.desktop file (replace vim with nano or whatever text editor of your choice)

sudo vim /usr/share/xsessions/qtile.desktop

5. b) In that file paste the following, save and quit

[Desktop Entry]
Comment=Qtile Session
Exec=qtile start

That's it! Logout, choose you want to log into qtile and start configuring your config located in: ~/.config/qtile/config.py

(If you need a reference, you can find my config over at sourcehut.)

28 Mar 2021, 18:07

Based cooking


There's this neat little project started by Luke Smith called Based Cooking. It's a minimal recipe site that does not track you and is not filled with ads and junk.

Here is the first and second video to why this project was started.

It fits me well because I've been pissed at the same thing. I started saving my recipes in markdown and pushing them to my git-server to save some frustration. But, now there's actually a nice website to get some recipes from.

I also added two of my own recipes to Based Cooking. So far Instant Tom Yam Kung noodle soup and Marinated pork steaks. We'll see, maybe I'll add some more.

The only irony is that when I mentioned this on Mastodon I was shown to a recipe site called GrimGrains, and incredibly enough it's a quick neat little recipe site without trackers and excessive javascript madness. It even has RSS, wow!

I think they are both focused on a bit different food though. GrimGrains being a bit more modern, Based Cooking a bit more traditional, and well, based. Either way, more minimal functional sites in general are desperately needed, happy to have done a small contribution to Based Cooking. Will be interesting to see the development of the project.

12 Mar 2021, 22:07

Added some good stuff


I have been getting more and more fascinated by the idea of a decentralized web in 2021.

Meaning, instead of visiting a few tech giants site, we can have a web with many smaller sites. Of course, this is nothing new. These kinds of sites have existed since the birth of the web, but I feel many websites are more like a redirect to people's social media sites etc.

What I want is unique sites. Interesting sites. Sites you actually want to visit and spend some time on.

One tiny way I can contribute to this is to add some awesome things I've discovered over the years.

So, if you head over to this part of my website you'll find lists of different good stuff. Still a work in progress. So far I've added my top 100 films I've seen, some books I feel left an impression after I had finished them, in some cases they changed my life. And finally some links to some websites I think are useful/neat. I will add more good stuff as I go.

Hope you find something you like, that would make me happy.

11 Mar 2021, 21:47

How to fix Gnome's virtual desktops on Ubuntu 20.04


When it comes to using Gnome as a desktop environment on Linux it has a very specific workflow in mind. You can still make some changes, but sometimes simply changing keyboard shortcuts through GUI does not work for certain key combinations. One such situation in the Gnome version that ships with Ubuntu 20.04 is switching workspace (or virtual desktop as Gnome calls them).

If you do not like adding workspaces as you go, but prefer the tiling window manager way of dealing with workspaces (having nine fixed workspaces for specific programs/use cases), read on.

This has worked for me, without breaking anything, but obviously your mileage may vary, so please take a backup first with for instance Timeshift or rsync.

The solution is based on user jabirali's comment on an open issue on Pop_OS! GitHub-page. So, what you need to do:

1. Set a static number of workspaces to 9:

gsettings set org.gnome.mutter dynamic-workspaces false

gsettings set org.gnome.desktop.wm.preferences num-workspaces 9

2. Then unbind all the Gnome default keybindings for switching between applications:

gsettings set org.gnome.shell.keybindings switch-to-application-1 []

gsettings set org.gnome.shell.keybindings switch-to-application-2 []

gsettings set org.gnome.shell.keybindings switch-to-application-3 []

gsettings set org.gnome.shell.keybindings switch-to-application-4 []

gsettings set org.gnome.shell.keybindings switch-to-application-5 []

gsettings set org.gnome.shell.keybindings switch-to-application-6 []

gsettings set org.gnome.shell.keybindings switch-to-application-7 []

gsettings set org.gnome.shell.keybindings switch-to-application-8 []

gsettings set org.gnome.shell.keybindings switch-to-application-9 []

3. Rebind them to switch between workspaces on Super + number:

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['1']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['2']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['3']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['4']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['5']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-6 "['6']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-7 "['7']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-8 "['8']"

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-9 "['9']"

4. In addition, it's convenient to have Super + Shift + number move a window between workspaces:

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['1']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['2']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['3']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['4']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['5']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-6 "['6']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-7 "['7']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-8 "['8']"

gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-9 "['9']"

01 Feb 2021, 19:27