Improving Thunderbird on Linux

linux-category-inverted

As it should be apparent by now, I’ve completely moved off of Windows and moved to Linux for my servers and desktops.  As part of that move I had to find a new mail client, as Outlook has been my go to app for years.

The obvious choice is Thunderbird, its cross-platform and is mature, supporting everything I need, including contacts and calendar from NextCloud.

Unfortunately, the default configuration of Thunderbird on Linux looks a little… well.. terrible to be honest:

This might have been acceptable 10 years ago, but in comparison to a modern version of Outlook, it’s hard to take that big of step backwards.

But what if it could look like this instead:

Well that looks a little better doesn’t it?

To accomplish this there are several steps/requirements:

  • You must be using Thunderbird 60 or above.
  • You have to be comfortable editing TB’s advanced settings.
  • You have to install a custom theme/add-on.
  • You have to customize the toolbars.
  • And add a few extensions and other settings as well.

So here’s each step broken down.

Note: This guide is for Linux, but all of the below customizations should work on Windows as well, but I haven’t tested them so try at your own risk.

Install Thunderbird 60

I’m not going to go in to any detail on this, your distro will probably already have a package all ready for you, so either go to your software store or command line and download it.

If you’re not sure which version is installed, just go to the Thunderbird Menu -> Help -> About dialog and it will be there for you.

Hiding the Application Title Bar

One of the most annoying things about Thunderbird and Firefox is that on Linux, by default, they don’t use client side decorations (the min/max/close buttons) and therefore require the application title bar to be present, wasting screen real estate.

For Firefox, there’s a simple check mark in the customization screen to either enable or disable the title bar, but Thunderbird for some reason decided not to add that.  It still has the functionality, just not the UI to make it easy to enable.

So, as per this helpful article, do the following:

  1. Go to the Thunderbird Menu
  2. Select Preferences -> Preferences
  3. Select the Advanced tab and the General sub tab
  4. Click the Config Editor button near the bottom
  5. If this is your first time running it, accept the warning and tell it to go away for good 😉
  6. In the search field, enter (without the quotes) “mail.tabs.drawInTitlebar”
  7. Double click on the preference name in the list below and Thunderbird should now be titleless (you may need a restart if it isn’t)

Adding A New Theme

This is a little tricky, because if you’ve ever added a theme before, we’re not going to do it that way.

Instead, what we’re really going to do is add an extension:

  1. Go to the Thunderbird Menu
  2. Selection Add-ons -> Add-ons (the add-on manager should be displayed)
  3. In the left had menu, select Extensions
  4. In the search field at the top right, enter “Monterail” (again, without the quotes)
  5. Three items should show up in a new tab:
    1. Monterail (a blue coloured theme, but has some issues with add-ons like Lightning due to contrast)
    2. Moterail Dark (the version I used in the screen shot above)
    3. Monterail Full Dark (makes the message list background dark as well)
  6. Select “Add to Thunderbird” for the theme you want to use
  7. Restart Thunderbird

When Thunderbird restarts it will be using the selected theme, and if you go to the add-ons page you’ll notice that there is no extension that matches the new theme, but instead it is listed under Themes.

Customize Your Toolbars

This is probably the easiest part of this change, but the most tedious as well, all of the below are optional and you may select which ones you want to add, step one is to open the customizer by right clicking on the toolbar and select Customize, then:

  • Move the Thunderbird menu all the way to the left
  • Add a divider between the Thunderbird menu and the first item
  • Remove the Get Messages, Chat, Address Book, Tag, and Quick Filter buttons.
  • Add Reply, Reply All, and Forward buttons
  • Add another divider
  • Add the File and Delete buttons
  • Add a divider
  • Add the Print button
  • Add a divider
  • On the right of the search bar, add a spacer

Once that is done, at the bottom of the customizer window should be a “Show:” combo box, select “Icons and Text” and then close the customizer.

Now, go and open and e-mail and repeat pretty much all of the above and remove the duplice buttons below the message toolbar as well 😉

Extensions And Other Settings

In addition to the above, there are a few other extensions you may want to use:

  • Hide Local Folders: By default Thunderbird shows some local folders to support POP accounts, but if you don’t have any, they’re redundant so this extension hides them from the list.
  • FireTray: Thunderbird doesn’t have a very good way of showing new mail, this extension adds a gnome tray icon which you can customize.  unfortunately FireTray hasn’t been updated for Thunderbird 60 support yet (and may never be), fortunately someone else has forked it and updated.  unfortunately it’s not in the Thunderbird Extension store yet, you’ll have to grab it from the GitHub Repo directly.
  • LookOut (fixed version): If you’re sending messages back and forth with Outlook users, this will add support for Microsoft’s proprietary message extensions.
  • CardBook: For getting your contacts from NextCloud or other CardDAV servers.
  • Lightning: For getting your calendar from NextCloud or other CalDAV servers.

There are a few other settings you might consider:

  • Hide the message pane via Menu -> Preferences -> Layout -> Message Pane
  • Hide the Quick Filter bar, either by clicking the button before you remove it above or via Menu -> Preferences -> Quick Filter Bar
  • Open messages in a new window via Menu -> Preferences -> Display -> Advanced
  • Close message window on move delete is the same place as above
  • Disable the crash reporter via Menu -> Preferences -> Advanced -> Data Choices

What Else Could Be Improved?

After you finish with the above, you’ll have a much better Thunderbird experience than you get out of the box, but it’s not perfect:

  • The message list is from the 90’s (ok, maybe the 2000’s).  Specifically each field is one column in the list, which makes poor use of the horizontal space.  Outlook moved away from this years ago.  Unfortunately we’re going to have to wait for Thunderbird to fix it themselves as the research I did seems to be pretty clear an add-on can’t fix this.
  • When you compose a message, you get the full, ugly drop down menu at the top of the window.  I did find a plugin that hides it, but not until after it’s been displayed so I don’t think that’s better.
  • The hamburder menu is ugly, this isn’t specific to Thunderbird, I just think all hamburger menus are ugly.  The “blue” Monterail theme does replace it with a little Thunderbird logo, so it is possible to change, but it looks like a complete new theme is required to do so.
  • Remove the tabs.  I know most people like them, and for a web browser they probably make sense, but for a mail client they just rub me the wrong way.  Being able to disable them would be nice but I don’t expect it to happen.

And that’s it… happy Thunderbirding!

 

Android Apps

mobile-category-inverted

When I first replaced my Windows Phone with Lineage, I gave a summary of the software I was using with it.  Well, it’s been a year and so it’s time to give an update…

GAPPS

When I first used Lineage I installed a minimal set of Google apps, but having just installed Lineage 15.1 on a new phone I’ve decided against install GAPPS.  This has come with a few drawbacks, apps that either warn you that they don’t run without GAPPS (but often still work anyway) to a few (like KAYAK) that just crash after loading.

It seems like a reasonable trade-off though as almost all of the apps I’ve found that don’t work have websites that do.

App Stores

Initially I used F-Droid and 1Mobile for my app stores, but I’ve moved away from 1Mobile.  I found too many issue with it.

To replace it, I’m using Yalp Store, which pulls apks straight from Google Play (obviously only free apps).

The Launcher

Trebuchet has come a long way with Lineage 15.1 and while previously I had installed Nova launcher, I’ve decided to give Trebuchet a try for a while.

The Keyboard

AnySoft Keyboard is still my go to keyboard  Nuf said.

Applications

  • Weather: Forecastie isn’t the slickest weather app around, but it has a good widget for the home screen and is completely open source.
  • Music: I have been using Phonograph for quite a while, but it’s recently implemented a “Pro” pay version.  This has caused it a bit of a stir in the open source project and a fork has been made, Vinyl.  The other benefit to Vinyl is that it is on F-Droid.
  • Mapping: osmAnd~ is an open source mapping solution.  I used it last year on a trip to the southern US without any issue.
  • Passwords: Still using Keepass2Android.
  • Bluetooth Connections: Stock Android doesn’t seem to remember volume settings for different Bluetooth devices, so I installed A2DP from the F-Droid store which allows for complete customization of what happens when a Bluetooth device connects to the phone.
  • Mail: I’ve gone though several mail clients, but I’ve landed on K9, while it has a very outdated visual design, it is extremely functional.
  • BrowserFirefox, along with Ghostery.
  • Office: LibreOffice Viewer handles any office file formats I need to view.
  • Twitter: Twidere is a nice open source client for Twitter, it also supports several other social networks as well.
  • Two Factor Auth: Several sites I login to use OTP, so andOTP is my go to client for them.
  • Gallery: Lineage’s default gallery app has one major limit, no ability to exclude folders, so instead is use Simple Gallery.
  • Birthdays: Birthday Droid keeps me up to date for upcoming birthdays.
  • Music Store: I don’t subscribe to any streaming music services, but I do use the 7 Digital music store to purchase any music I want.
  • Contacts/Calendar Sync: Having moved away from MS Exchange to NextCloud for my calendar and contacts means I need something to sync them to Android, DAVdroid works flawlessly.
  • Torrents: Ok, so I don’t do much torrenting on my phone, but once in a while in an emergency I have had need to, so LibreTorrent is installed.
  • PDF: MuPDF is my PDF viewer.
  • Tasks: OpenTasks is the recommended task app for DAVdroid.

I’ve also installed NextCloud and the related apps.

Lineage 15.1

mobile-category-inverted

In my previous post about replacing Windows Phone I eventually installed Lineage 14.1 (Android 7.1.2) on my Motorola G4 Plus.  It’s been a while and things have been going well with it, but Lineage released 15.1 (Android 8.1) a few weeks ago and the G4 didn’tit make the list of first devices supported by 15.1.

Of course, the G4 is a very popular phone for Lineage and there is no doubt that it will eventually be supported, but I picked it up in the first place to give Lineage a try and after almost a year of usage, it was time to move on.

Samsung Galaxy Tab S2

Before I get to that though, about six months ago I picked up a Samsung Galaxy Tab S2 to replace my Surface 3 as my primary tablet.  The S2 is well supported by Lineage and was included in the initial list of supported devices for 15.1 and so that was the first device I upgraded.

Lineage has a nice built in auto-updater and it has worked well for me over the last year, but the upgrade to 15.1 is a manual process.  Basically you need to wipe the system partition and then re-flash Lineage.

That all went fine and the tablet booted up without a problem right until the launcher tried to load and failed.

I poked around a bit to see if I could download a different launcher and run it, but that failed to work as well.

I then tried to downgrade to 14.1 again, but that simply never got past the Lineage boot screen.

That turned out to be more of a problem than you might think as the S2 doesn’t do a hard power off by holding down the power button.  I looked around the net and there didn’t seem to be any info on how to do it and the few suggestions I found basically said to wait for the battery to run down.

That didn’t seem like something I wanted to wait on so I tried a few key combo’s and found that holding the volume down and power button for 10 seconds did the trick.

Once it was back in to recovery mode, I did a clean wipe of the hole device and reinstalled 15.1.

After rebooting, everything worked as expected, including the launcher.

Lineage 15.1

Lineage is pretty faithful to the stock Android look and feel, but there are some enhancements that Lineage has put in over the years.  A few of these are missing on 15.1 but are being worked on and should be released over the coming releases.

The most notable changes I’ve noticed so far are:

  • Trebuchet (the Lineage launcher) has had a pretty major overhaul, with the new “dots” feature fully supported.
  • The notifications pull down is now semi-transparent (not a real fan of this)
  • The settings icon in the notification area has been moved to below the quick actions instead of above it.
  • All new icons… again not sure if I like them yet.
  • Icon styles, don’t like them round?  No problem, though I find it odd that “square” isn’t an option.

OnePlus 5T

To replace my G4 I decided on the OnePus 5T, for a few reasons:

  • Reasonably priced.
  • High end specs.
  • Nice “almost” full body OLED screen, I really don’t like the idea of notches.
  • Carrier support.
  • Unlocking the bootloader is quick and easy.
  • True dual SIM support.

The phone is incredible well built, it feels solid and comfortable in my hand and so far it’s been great

I went with the 8g/128g model as I’ve always preferred to have lots of local storage.  It would have been nice to have an SD card slot, but not a deal breaker.

The only thing that it’s really missing is wireless charging.

Installing Lineage was pretty straight forward, simply follow the Lineage wiki instructions with two minor points:

  • Before unlocking the bootloader, you have to enable developer options and enable the unlock function.
  • After unlocking the bootloader, the 5T leaves the data partition unformatted, if you try and boot Lineage with it unformatted you’ll get punted back to recovery mode without an explanation.

After that it was just a matter of setting up the phone with apps.

There was one other thing to do, since I don’t use Google services on my phone, I used SMS Backup and Restore to move my SMS and call log across from the G4.

I’ve been using the phone for a few days and all is good. Next week I’ll give an update on the software that I’m currently using on my phone.

ProxMox Updates

linux-category-inverted

As mentioned in my previous article, ProxMox uses a subscription model to pay for development, however they do support home/lab usage via nagware.

However, by default, the base install assumes your going to have a subscription and that makes for a recurring error each time you try and update the server with “apt-get”:

W: The repository 'https://enterprise.proxmox.com/debian/pve stretch Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://enterprise.proxmox.com/debian/pve/dists/stretch/pve-enterprise/binary-amd64/Packages 401 Unauthorized
E: Some index files failed to download. They have been ignored, or old ones used instead.

This is caused by the fact that without a subscription, the standard update repo for ProxMox is unavailable.

Fortunately they do have a public repo which they give instructions on this support page.

The basic steps are as follows:

  1. Open a shell on your ProxMox Server.
  2. Go in to “/etc/apt/sources.list.d”.
  3. Copy “pve-enterprise.list” to “pve-enterprise-no-sub.list”
  4. Edit “pve-enterprise-no-sub.list” and replace the contents with the lines from the support page.
  5. Edit the “pve-enterprise.list” file and comment out the repo line (use a #), alternatively you can just delete this file if you want as well.

Then re-run “apt-get update && apt-get upgrade” and your off to the races.

ProxMox Mail Config

linux-category-inverted

After getting ProxMox all setup, there was one last thing to investigate, mail was not flowing from the ProxMox host.  Taking a quick look, two changes were required.

  1. The Postfix aliases database wasn’t initialized, so it was throwing an error, simply running “newaliases” on both nodes resolved this error.
  2. As port 25 is blocked by my host, all mail has to go through my ISP’s mail servers.  Since I already have a Postfix server configured to handle this, setting the “relayhost” value in “/etc/postfix/main.cf” resolved this issues easily enough.