Mar 22,
2018

Sqlitebrowser

Hello folks!

A few days ago I needed to inspect an SQLite DB file and after a quick query through Google, I found out that I already had the Sqlitebrowser package installed but I somewhat forgot about it or to have used it at all.

After firing it up and used it for a couple of minutes I finally recalled why I stopped using it: it horribly breaks Gnome's Workspaces1.

(ノಠ益ಠ)ノ彡┻━┻

This time I chose to fix it, yak shaving time!

Well, to be honest I'm surprised that the issue isn't present on the Debian bug tracking system, I wonder what SQLite browser is used by the Gnome's majority, anyway on the upstream GitHub repository there's a bug report (#934) and a commit (c4c4cf62a2adf90c7604a920c409c27192f177ce) that allegedly should fix this issue.

Small divagation

I started to use Docker to rebuild packages as it's quite friction-less when one become familiar with the terminology and the concepts of images and containers. I was never quite comfortable with the deb-builder even if Docker has some limitations, for example cross-building is not an option, anyway with Debian's dget it's quite fast to get packages' sources and the building dependencies, assuming one is using Docker on a fast up-link with the Interweb or a packages proxy2.

Turning back to the subject of this post, the interested reader can find below the required patch for current Debian stable package:

--- orig/src/MainWindow.cpp 2016-10-03 01:25:32.000000000 +0200
+++ mod/src/MainWindow.cpp  2018-11-14 12:53:07.466422797 +0100
@@ -814,7 +814,6 @@
 {
     if (!visible) {
         // Update main window
-        activateWindow();
         ui->dataTable->setFocus();
     } else {
         // fill edit dock with actual data

By the way, after fixing it, I found another SQLite capable browser called Sequeler, that also supports MySQL, MariaDB and PostgreSQL, and sports in my opinion a quite slick GTK3 interface. The latest version is also available as Flatpak, a nice touch if someone asks me.

For the moment, it lacks the ability to modify a record directly from the interface, without typing an update query on the console, but in it's current form is nonetheless a quite useful tool.

Now after the interruption I can continue with the regular programme schedule.


  1. what are commonly called "virtual screens↩︎

  2. Ephemeral Logs Reprise ↩︎