BambooForge Labs

Backend Launcher: Quick App Switcher

Jump back to the record you had open this morning, from any machine: recents and favourites stored on the server, in the command palette.

Buy on the Odoo Apps StoreOpen the live demoExtra Tools€99Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0, Odoo 20.0. Technical name bambooforge_launcher.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0Odoo 20.0
Screens and walkthrough for
Transcript of the walkthrough (Odoo 20)

Backend Launcher: Quick App Switcher. Jump back to the record you had open this morning, from any machine: recents and favourites stored on the server, in the command palette. Odoo's command palette (Ctrl+K) searches menus and commands. It cannot take you back to the quotation you were reading before lunch, and nothing in it survives a different browser.

In the next few minutes: backend launcher: quick app switcher, then recents, on the server, then favourites, with a key, then everything is yours alone, then how it fits every series. Then what this app deliberately does not do, so you can tell before you buy whether it fits. Everything lives under Launcher then Recently Opened then Favourites. 1.

Copy bambooforge_launcher into your addons path and update the app list, or install the ZIP from the Odoo Apps Store. 2. Install Backend Launcher: Quick App Switcher. 3.

Open Launcher - its menus are Recently Opened, Favourites. Backend Launcher: Quick App Switcher. Odoo's command palette (Ctrl+K) searches menus and commands. It cannot take you back to the quotation you were reading before lunch, and nothing in it survives a different browser.

Recents, on the server. Every record you open is remembered: the model, the record, its name, when you last saw it and how often. Press Ctrl+K and type >, and the records you have been working in are right there, newest first. The important word is server.

A recents list kept in the browser's local storage is gone when you pick up the laptop, gone again when IT clears the cache, and gone a third time when you switch to the other browser you keep for the customer portal. This one follows the person: the tab you had open on the office desktop is one keystroke away at home. Favourites, with a key. Pin any record or any menu.

Give the ones you live in a number, and Alt+1 … Alt+9 go straight there from anywhere in the backend — not just from the screen where a particular view happens to be mounted. Type * in the palette for the whole list. A favourite whose target has gone — a record somebody deleted, a menu you no longer have access to — is silently skipped rather than offered. A shortcut into an error page is worse than no shortcut.

Everything is yours alone. Both lists are per user, and a global record rule sees to it: your recents are yours, your favourites are yours, and no report, no export and no clever domain reaches anybody else's. Global rather than attached to a group, because a rule attached to a group is OR-ed with every other group's rule — and "mine is mine" has to hold without exception. How it fits every series.

One small file of JavaScript per series, and on 17.0 through 19.0 it is literally the same file, because everything it hangs off is identical there: the command_provider and command_categories registries, the hotkey service, and the form controller's model and record id. The namespaces are > and because the obvious ones are taken: web owns / for menus, and mail owns @ for user mentions and # for channels wherever Discuss is installed. A recents list served under a palette whose placeholder reads Search for a user…*, with real users listed beneath it, is not a feature — so a test pins both namespaces and fails if either of the taken ones ever creeps back in. What it deliberately does not do It does not remember list views, dashboards or reports — only records you opened.

A recents list of "the sales order list, forty times" is not a recents list. It does not remember a record you were creating and never saved. There is nothing to go back to. It is an internal tool: portal and public users are refused at the server, not merely hidden from the menu.

How we make sure it works. Before every release, 35 automated checks run against this app on Odoo 16, 17, 18, 19 and 20. Among them: A record they cannot read is never remembered. Two favourites cannot share one key.

The hotkeys do not swallow keys they do not own. The kind column follows the reader not the writer. The palette namespaces are not claimed by core. The complete list is in the source you receive.

Questions people ask. Which Odoo versions does it run on? Odoo 16.0, 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing. Community or Enterprise?

Both. It needs no Enterprise app. The complete manual is at docs dot bambooforge dot dev, the demo database is linked from the store page, and support answers within twenty-four hours. Links are in the description.

Favourites - bambooforge_launcher
Favourites
List - bambooforge_launcher
List
Recents - bambooforge_launcher
Recents

Key facts

What it is
Jump back to the record you had open this morning, from any machine: recents and favourites stored on the server, in the command palette.
For
Extra Tools
Odoo versions
16.0, 17.0, 18.0, 19.0, 20.0 - Community and Enterprise
Runs on
Odoo.sh or Odoo you host yourself - not Odoo Online, which accepts no third-party apps
Price
99 EUR, one-time, on the Odoo Apps Store
Technical name
bambooforge_launcher
Not for
It does not remember list views, dashboards or reports — only records you opened. A recents list of "the sales order list, forty times" is not a recents list.; It does not remember a record you were creating and never saved. There is nothing to go back to.; It is an internal tool: portal and public users are refused at the server, not merely hidden from the menu.
Manual
https://docs.bambooforge.dev/bambooforge_launcher/
Live demo
https://demo20.bambooforge.dev/odoo/action-bambooforge_launcher.action_bf_launcher_recent
Store page
https://apps.odoo.com/apps/modules/20.0/bambooforge_launcher
Manual last updated
2026-09-24

Backend Launcher: Quick App Switcher

Odoo's command palette (Ctrl+K) searches menus and commands. It cannot take you back to the quotation you were reading before lunch, and nothing in it survives a different browser.

Recents, on the server

Every record you open is remembered: the model, the record, its name, when you last saw it and how often. Press Ctrl+K and type >, and the records you have been working in are right there, newest first.

The important word is server. A recents list kept in the browser's local storage is gone when you pick up the laptop, gone again when IT clears the cache, and gone a third time when you switch to the other browser you keep for the customer portal. This one follows the person: the tab you had open on the office desktop is one keystroke away at home.

What it will not do is remember something you were not allowed to see. The record is read with your rights before it is written down, so a recents list can never become a back door into a record a rule keeps from you.

The list is capped — a list nobody scrolls past twenty should not carry a thousand rows per person forever — and Launcher › Recently Opened shows the same thing as a list for people who would rather click, with a Forget everything to wipe it.

Favourites, with a key

Pin any record or any menu. Give the ones you live in a number, and Alt+1 … Alt+9 go straight there from anywhere in the backend — not just from the screen where a particular view happens to be mounted. Type * in the palette for the whole list.

A favourite whose target has gone — a record somebody deleted, a menu you no longer have access to — is silently skipped rather than offered. A shortcut into an error page is worse than no shortcut.

Two people can each use Alt+3 for their own thing; hotkeys are unique per person, not per database.

Everything is yours alone

Both lists are per user, and a global record rule sees to it: your recents are yours, your favourites are yours, and no report, no export and no clever domain reaches anybody else's. Global rather than attached to a group, because a rule attached to a group is OR-ed with every other group's rule — and "mine is mine" has to hold without exception.

How it fits every series

One small file of JavaScript per series, and on 17.0 through 19.0 it is literally the same file, because everything it hangs off is identical there: the command_provider and command_categories registries, the hotkey service, and the form controller's model and record id.

The namespaces are > and * because the obvious ones are taken: web owns / for menus, and mail owns @ for user mentions and # for channels wherever Discuss is installed. A recents list served under a palette whose placeholder reads Search for a user…, with real users listed beneath it, is not a feature — so a test pins both namespaces and fails if either of the taken ones ever creeps back in.

What it deliberately does not do

  • It does not remember list views, dashboards or reports — only records you opened. A recents list of "the sales order list, forty times" is not a recents list.

  • It does not remember a record you were creating and never saved. There is nothing to go back to.

  • It is an internal tool: portal and public users are refused at the server, not merely hidden from the menu.

How we make sure it works

Before every release, 35 automated checks run against this app on Odoo 16, 17, 18, 19 and 20. Among them:

  • A record they cannot read is never remembered.

  • Two favourites cannot share one key.

  • The hotkeys do not swallow keys they do not own.

  • The kind column follows the reader not the writer.

  • The palette namespaces are not claimed by core.

The complete list is in the source you receive.

Install

  1. Copy bambooforge_launcher into your addons path and update the app list, or install the ZIP from the Odoo Apps Store.

  2. Install Backend Launcher: Quick App Switcher.

  3. Open Launcher - its menus are Recently Opened, Favourites.

Questions people ask

Which Odoo versions does it run on?

Odoo 16.0, 17.0, 18.0, 19.0, 20.0, on the series you buy it for; each series is its own listing.

Community or Enterprise?

Both. It needs no Enterprise app.

What does it need?

The standard Web app. No extra Python package.

Where does it show up?

Under the Launcher menu (Recently Opened, Favourites).

Does anything leave my server?

No. It makes no call outside your Odoo server: no telemetry, no licence check, no third-party service.

What happens if I uninstall it?

Odoo drops the app's own tables and fields; the standard records it worked on (contacts, orders, products) stay as they are.