Simple Switching
- 3 Devlogs
- 7 Total hours
A browser extension for switching through tabs in MRU (most recently used) order
A browser extension for switching through tabs in MRU (most recently used) order
I feel like every project I make I face a similar set of limitations. So, let’s make a recap of the first stage of this project!
As usual, I’m facing API issues. I enjoy making app extensions less and less due to restrictive rules they enforce. To make it clear, initially I had a specific set of plans at which my extension would excel compared to others:
However, only one of those I was able to accomplish, with another one planned for the second stage of this project:
Spending a lot of time, I at least made sure the extension functions well, with no memory termination and with each window having its own tab access history.
Well at first, Manifest V3 greatly reduced the amount of stuff that can be accessed by Chrome’s API. On top of that, chrome:// pages can’t be anyhow monitored or modified due to essential safety. This posed many issues, one of which was the inability to detect the press of a modifier key, so I had to go one of two ways:
I chose the second option.
I spent a whole day trying to save and load tab history, but the problem is that Chrome:
And, any tab indication falls short because Chrome doesn’t have any API to reliably highlight tabs without selecting them.
Next thing I will most likely do is make the provisioning system that overrides Ctrl+Tab shortcut and installs the extension automatically.
The extension itself is memory safe and very useful as is. I don’t plan to update it anyhow besides changing the current branding.
Due to Chrome’s very restrictive API, there are things that will not be implemented as promised. Things such as:
Having said the limitations of Chrome’s API, I was able to fulfill these things:
Before I start coding the Python applet that would provision this extension, I want to also solve these problems:
I’m sick of not being able to switch recent tabs in most of Chrome-based browsers! And the problem with the existing extensions is that they don’t memorize more than 5 tabs, and use a timing-based system, which requires very fast shortcut tapping. I’m on a mission to change this.
On top of my goals of making an unlimited tab queue and fix the timing issues, the extension will be 100% free and open source, also I don’t plan to release it on any extension store, because I have a different install method in mind.
I want to make a beautiful Python CLI or GUI wrapper that installs and provisions the extension. Things like:
Will all be shown and handled by the installation app
Stay tuned! If I succeed it will be a very nice extension for everyone and every machine!