Day 30 — Upgraded to Ubuntu 20.04

Today I spent a lot of time upgrading my Ubuntu from 18.04 to 20.04, just to get a new version of gnome-shell which was needed by this cool window manager I wanted to try out. The whole process reminded me of 2014 when I was literally trying out a new Linux distro and a window manager / desktop environment combination each day! I'd finally landed on Arch Linux + KDE after reading posts by Jai and Rishab and hearing about their Arch experience. I need to get back to Arch!

I installed material-shell soon after the Ubuntu upgrade and I've been using it ever since! I ran into this issue where applications with overlayed windows (guake, peek, evince, gnome-screenshot) were also tiled by default. But I found that there's an option where you can exclude these windows by adding their classes to the extension's config. On X11, you can run the xprop WM_CLASS command, and then click on the window to find its class.

This upgrade broke the Pomodoro timer I've been using, so I came up with a new one using termdown.


  $ termdown -a '0h 55m' && notify-send "Take a break!" && paplay /usr/share/sounds/gnome/default/alerts/bark.ogg

It sends me a notification and plays a bark sound after the timer ends!

The upgrade also broke some of my Python virtual environments (including the one I've been using to deploy this website). I was able to create a new one, but I still couldn't deploy as I'd forgotten to add some new dependencies to my requirements.txt :( And I wasn't able to do a pip freeze in the old env because pip kept failing with a distutils.util import error. As a quick fix, I removed all distutils.util imports from the pip code in the old site packages to get pip freeze to run, after which I was able to install all dependencies with their exact versions in the new environment.

And the upgrade also broke lock screen support! So I had to create a shell script with dm-tool lock in it, and then also add a new keyboard shortcut to call this script whenever Super + L is pressed. I also created a systemd service to call this script when the system goes to sleep.


  [Unit]
  Description=DM Lock before sleep
  Before=sleep.target

  [Service]
  ExecStart=/home/vinayak/lock.sh

  [Install]
  WantedBy=sleep.target

The day ended with a heart-warming never graduation ceremony for the Summer 2 batch! Today also marked the midpoint of the Fall 1 batch. It's been fun to show incoming Recursers around the Virtual RC space. Looking forward to the next 6 weeks :)