Ubuntu and Firefox update (#E15)

Funny how UI changes in some of the most popular websites on earth can nudge you upgrading stuff. Oh, and how crappy (defective) hardware can finally flip the switch.

I’ve recently heard about the Ubuntu 20.10 release (Groovy Gorilla), which made me remember I’m still on 18.04 LTS (Bionic Beaver). Since I’m only jumping from LTS to LTS releases as my hardware gets older, I was determined to make the 20.04 (Focal Fossa) jump once I hit 256 days of uptime with my laptop.

I didn’t. Testing some old, almost forgotten, Ultrabay slice battery last week

+++ ThinkPad Battery Status: BAT1 (Ultrabay / Slice / Replaceable)
/sys/devices/platform/smapi/BAT1/manufacturer               = SONY
/sys/devices/platform/smapi/BAT1/model                      = 41U4890
/sys/devices/platform/smapi/BAT1/manufacture_date           = 2007-10-10
/sys/devices/platform/smapi/BAT1/first_use_date             = 2012-07-20
/sys/devices/platform/smapi/BAT1/cycle_count                =     44

caused an unexpected shutdown. Not when inserting or charging, but when actually discharging without AC supply, despite having a known-good BAT0 present. Runtime wasn’t like new, but still double the amount I needed, and I tested with AC present multiple times before (tlp discharge BAT1). But once really running without AC, it simply cut off so fast a couple minutes later that my good ol’ T400 didn’t have time to switch back to the main battery. Failed at some 220 days of uptime. I might or might not have said FUCK out loud.

Now that this major upgrade was scheduled, I prepared the next most critical thing – Firefox. I’ve been apt-pinning (blocking) this bastard to upgrade beyond version 52 since mid-2017 (with the latest ESR patch being mid-2018) because of their dumb Quantum/Photon redesign that also killed the entire existing addon infrastructure, including the derived Thunderbird project with all of their addons. That, however, is still unsolved and I kept Thunderbird 60 until that is sorted. I still have a lot of annual leave left in 2020…

In those two years I tried multiple times upgrading to the most current ESR, but all that fallout from UI redesign wasn’t fixed. Now it is – not the way I’d like to have it, but most UI crap is fixable by CSS hacks that break with the next update (ha, ESR), and there was enough time for people to figure it out multiple times. No one however has published a solution for my special case – tabs on bottom (fuck you, tabs on top) and an auto-hiding, multi-row bookmark bar. All of these things are available individually, but it took me a few hours to make those hacks work together. This might not work for you out of the box because of window managers, themes, scaling and all the small things that distinguish Linux and Windows/OSX, but you should be able to tweak those pixel and em values to your liking.

Most of the now defunct addons (some have been made core functionality) have been replaced by others. List below the userChrome.css dump that allows said layout magic in FF78 (I’m really sorry I cannot name the individual authors, this really was a few hours of googling and experimentation):

@namespace html url("http://www.w3.org/1999/xhtml");

#navigator-toolbox toolbar:not(#nav-bar):not(#toolbar-menubar) {-moz-box-ordinal-group:10}

/* Tab bar below Navigation & Bookmarks Toolbars */
#nav-bar { /* main toolbar */
  -moz-box-ordinal-group: 1 !important;
  box-shadow: none !important;
  padding-top: 1px !important;

#titlebar { /* menu bar + tabs bar */
  -moz-box-ordinal-group: 2 !important;
  padding-top: 1px !important;

#PlacesToolbar > hbox{ 
  display: block;
  width: 100vw; 

#TabsToolbar {/* tab bar */ 
 position: absolute !important;
 width: 100vw !important; 
 -moz-box-ordinal-group:2 !important;

  --uc-bm-height: 40px; /* Might need to adjust if the toolbar has other buttons */
  --uc-bm-padding: 4px; /* Vertical padding to be applied to bookmarks */
  --uc-autohide-toolbar-delay: 900ms; /* The toolbar is hidden after 0.6s */
  /* 0deg = "show" ; 90deg = "hide" ;  Set the following to control when bookmarks are shown */
  --uc-autohide-toolbar-focus-rotation: 0deg; /* urlbar is focused */
  --uc-autohide-toolbar-hover-rotation: 0deg; /* cursor is over the toolbar area */
  --multirow-bmb-n-rows: 2; /* Control how many rows are shown before scrolling */ 
:root[uidensity="compact"] #PersonalToolbar{ --uc-bm-padding: 1px }
:root[uidensity="touch"] #PersonalToolbar{ --uc-bm-padding: 7px }

  position: relative;
  margin-bottom: calc(0px - var(--uc-bm-height) - 2 * var(--uc-bm-padding));
  transform: rotateX(90deg);
  transform-origin: top;
  transition: transform 10ms linear var(--uc-autohide-toolbar-delay) !important;
  z-index: 1;
 #PlacesToolbarItems > .bookmark-item{ padding-block: var(--uc-bm-padding) !important;  }

  display: flex;
  flex-wrap: wrap; 
  max-height: calc(var(--multirow-bmb-n-rows) * (100px + 1em + (2 * ( var(--uc-bm-padding,2px))))) !important;
 top: 0px !important;

#nav-bar:focus-within + #PersonalToolbar{
  transition-delay: 100ms !important;
  transform: rotateX(var(--uc-autohide-toolbar-focus-rotation,0));

#navigator-toolbox:hover > #PersonalToolbar{
  transition-delay: 100ms !important;
  transform: rotateX(var(--uc-autohide-toolbar-hover-rotation,0));

#navigator-toolbox:hover > #nav-bar:focus-within + #PersonalToolbar {  
  transform: rotateX(0);

/*** Hide Tab Close buttons ***/
.tabbrowser-tab .tab-close-button {
  visibility: collapse !important;
toolbarbutton#scrollbutton-up, toolbarbutton#scrollbutton-down {display:none !important;}

.tabbrowser-tab:not([pinned]) {
  max-width: 250px !important;

.tabbrowser-tab:not([pinned]):not([fadein]) {
  max-width: 0.1px !important;

.closing-tabs-spacer {
  width: 0 !important;

Final look, ignore the crappy fonts (described below):

Current addon list:
AdBlocker for Youtube
Awesome RSS
Binnen-I be gone
Close Tab Button (I’d still prefer a cross…)
Cr!Box (bug reported, now working)
Does Amazon Ship to …?
Exif Viewer
Font Finder
Popup ALT Attribute
Proxy Toggle
Show comic title-text (a new one, useful for e.g. xkcd)
Tab Session Manager
TinEye Reverse Image Search
User-Agent Switcher and Manager

Still ToDo: Copy as Plain Text, Long URL Please, RightToClick and the never-coming-back Ebay Negs that was killed by an eBay API change. I dropped uBlock Origin as well as NoScript (pretty zippy now!), as my Pi-Hole does a pretty good job in keeping crap out, except for YouTube ads. Which wouldn’t be an issue if only youtube-dl wasn’t taken down on October 23rd by some RIAA cockwombles. DMCA complaint, my ass…

(why isn’t this shown 100% when I say so?)
So after making a painfully slow fullbackup via 1Gbit LAN I did the 20.04 upgrade yesterday and I’m still fixing and patching all the small things that broke during the update:

* FF non-ESR was installed – removed before this could botch my profile folder.
* All fonts (system-wide) are gruesome, as shitty cleartype is now more present than ever (see FF screenshot above). I’m converting the backup to a virtualbox machine right now to see which font families were used back then, as the new defaults are optimized for anti-aliasing and cause cancer without. As of now, it seems like the Ubuntu font was replaced by some abomination without telling anyone… (left: VM with 18.04, right: live system at 20.04)

* GIMP was installed with correct libraries but complained and didn’t work – fixed by installing the snap (fuck that space hog for everyday applications).
* whatpulse 2.8.4 is finally broken because of openssl dependencies (difficult at 18.04 already) and was actually removed from their page. There’s a beta 2.9 snap available with some known networking issues. It also shows “5 years” as longest uptime which might be inaccurate with 5.x kernels being released in March 2019.
* The KeePass autotype function autotypes in the wrong keymap setting, hence everything is useless as of now.
* Print and scan functionality on my Samsung CLX6220 is untested, as there have been changes with the sane package family and the old suldr repo. Any problem might be fatal since HP took over the Samsung printer business, and of course they’re pushing new HP printer instead of Samsung gear.
* KDE task bar has spacing issues with the clock being on the rightmost position – seconds are partially off-screen. This doesn’t happen when something else is in that position.
* All available Plasma network (speed/bandwidth) widgets are broken. ALL of them.
* QuiteRSS moved data path from ~/.config/QuiteRss/ to ~/.local/share/QuiteRss/QuiteRss/ (might have killed a symlink during upgrade, I think that was part of the 0.19.4 upgrade from April, which I already had installed previously).
* Some new iWatch daemon is spamming me with local changes in certain system folders, e.g. /etc. While that’s cool in general, I don’t think several hundreds of mails during a system upgrade are more helpful than a summarized one.

Other than that, Ubuntu 20.04 and Firefox ESR 78 are fine…

Leave a Reply

Your email address will not be published. Required fields are marked *