We’re happy to bring you the 1.6 release full of stuff the community has been asking for.
- We have both native and client-side app menus. Windows native menus look terrible, so we’ve brought a VS-Code style combined titlebar/menubar to Beekeeper Studio.
- Now we have a place to put basic settings and app options
- This is a fairly minor visual change with a major yak shave underneath it. Handling both native and client-side rendered menus was a major piece of work we did not appreciate the scope of.
- Go to view -> theme to switch
Much faster table loading
- tables load with O(1) complexity, rather than O(n) complexity. That means to load 100 or 10,000 tables takes 2 queries, previously it took 101 and 10,001 respectively.
Statusbar with colors
- We added connection color coding in a previous release, well now those colors adorn the Statusbar too. It looks super nice.
- We officially support multi-window Beekeeper Studio – Go to File -> New Window to open a new window and connect to a second database
Execution time - see how long your query took
- Just in case you forgot to save your connection we give you a way to see the connections you recently accessed.
- Thanks to the community for reporting, and in many cases, fixing, bugs.
So building menus into Electron apps is easy, unfortunately we made the decision ages ago to not use the default Electron titlebar and menubar for Windows – because they don’t look very good, especially in dark mode.
We’ve always believed that we want Beekeeper Studio to feel ‘good’ on every desktop platform, and no platform should be an afterthought. With that in mind we came up with the following scheme:
- Windows - Client-side titlebar and menus by default
- Linux - Native titlebar and menus by default
- Mac - Client titlebar, native menus. No choice
Opinions on Electron titlebars and menus
As a Linux user (Matthew), I hate it when apps hide the default titlebar and give me some janky thing that looks like it came from Windows. That said, Linux is about choice, so we give Linux users the choice of native/client menus, but by default we don’t mess up the windows. I actually now prefer the client-side menubar, even on Linux.
Mac is really opinionated and so we don’t really have a choice here, we have to provide system-integrated menus, so we disable client-side menus if you are on a Mac.
Windows is a funny one, it feels like not many (any?) of the core Electron team work on Windows. For example on Windows 10 dark mode titlebars are
white, but the menubar is
black. This looks terrible. Instead, we decided to build our own titlebar/menubar hybrid, much like VSCode. We think it looks amazing, we hope you do too.
Why it was a Yak Shave
To provide a (fairly simple) menubar we had to build:
- A settings storage system
- A menu API that works both in Electron, and in Vue
- A way to load settings in both background and renderer code
- A way to communicate changes both ways between Electron and Vue, depending on where the menu is rendered.
- A VueJS menubar that behaves like a native menubar (this was actually really hard)
It was still worth it
We think UX and polish are critical to Beekeeper Studio. We’re confident we’ve taken a tremendous step forward with this release, and we hope you like it!