Skip to content

Repository files navigation

BentoBar icon

BentoBar

Add, hide and organise items in your Googlebook's status bar.
What Bartender and iStat Menus do for the Mac menu bar, as an ordinary Android app: no root, no adb.

⬇ Download BentoBar.apk  ·  Install  ·  Privacy  ·  What's new

Googlebook OS, Android 17 No internet permission MIT license Developed on a Googlebook

A personal hobby project by Fika Labs, proudly developed on a Googlebook. Not affiliated with or endorsed by any employer (more). Formerly DiscoBar (moving over).

BentoBar's items in the Googlebook status bar, with the CPU menu open under the CPU item

What it does

BentoBar puts your own items into the empty part of the status bar, right next to the system's icons, in the same font and colour. Items you don't need all the time can show only while they have something to say, or wait behind the ‹ button: one click reveals them, another folds them away. Like a bento box: everything in its compartment, and the whole thing neat.

The status bar with BentoBar folded, then with its hidden items revealed
With hidden items behind ‹ (a Look setting; the default shows everything that fits), folded (top) and revealed (bottom): a world clock, battery and memory slide in next to the running timer.

  • Show when active: a hidden item can pop out on its own while it has something to say, such as a running timer, a meeting about to start or a busy CPU, and disappear again after. Its settings say the rule in words ("Show when CPU load is above 80%") and let you set the number.
  • Drag to reorder in settings, within a section or into another one.
  • Click any item for its menu: charts, details and actions.
  • Right-click an item to hide it, move it or change how it looks.
  • Scroll over the sound item to change the volume, or over the timer to add minutes.
  • Quick Settings tiles switch BentoBar off (for presenting), keep the screen awake, or start a 25-minute timer.
  • Live Update chip: when BentoBar is off, a running timer still shows as Android's own status bar chip.

BentoBar stays out of the way. It moves aside when the system's own icons or chips change, and hides when an app goes full screen or the screen locks.

Items

Item In the bar In its menu
CPU load busy % chart, per-core load, clock speeds, GPU load
Network speed ↓ download ↑ upload chart, totals since start-up, connection
Memory RAM in use used, available, chart
Battery details watts, %, temperature or time to full power in or out, voltage, current, health, cycles, thermal state
Storage free space used and free, shortcuts to clean up
Date and calendar the date, in your format a month view, and the day's events (all-day ones too) with Join and Directions; tasks that apps like Todoist sync to your calendar are left out, here and in Next meeting
Next meeting title and countdown, until 3 a.m. tomorrow; just the icon when there are no more meetings today's meetings with Join and Directions
Clock a second clock: seconds, 24-hour or another city world clocks
Timer countdown, stopwatch or Pomodoro start, pause, +1 min, stop
Countdown days and hours to a date exact time left
Keep awake coffee cup: click to switch 15 min to "until I turn it off"
Sound volume volume slider, play/pause/next
Tools toolbox screenshot, lock, overview, all apps, power, settings shortcuts
App folder / App shortcut your apps a grid of apps / one click to open
Text or emoji, Spacer anything you like optional link

BentoBar menus: network, timer, the right-click item menu, tools, and BentoBar's ‹ menu with the hidden items

Settings

A live preview of your bar at the top; below it, your items in three groups (in the bar, hidden and off; drag a row to move it) with each item's options on the right. Changes apply to the status bar right away.

BentoBar settings: the bar preview, the item list and the CPU item's options

Adding items, and the look and behavior options
Adding items, and choosing where BentoBar sits and how it looks.

Install

BentoBar is made for Googlebooks (Googlebook OS, Android 17). Other Android 14+ devices with a status bar may work, but haven't been tested.

  1. On your Googlebook, download BentoBar.apk from the latest release.
  2. Open it from Chrome's downloads or the Files app. If Android asks, allow Chrome (or Files) to install apps, then tap Install. Google Play Protect may then say "App blocked to protect your device" because it hasn't seen an app from this developer before: tap More details › Install anyway.
  3. Open BentoBar and go to Setup › Turn on. Android opens Accessibility settings.
  4. Because BentoBar came from a download, Android guards this switch the first time:
    1. Open BentoBar and tap the switch. Android says "Restricted setting". Tap OK.
    2. Back in BentoBar, tap App info, then ⋮ (top right) › Allow restricted settings, and confirm with your PIN.
    3. Return to Accessibility › BentoBar and turn it on.
  5. Optional: in Setup, allow notifications (timer alerts, the Live Update chip) and calendar access (Next meeting, events in the month view).

About a day later, Android shows "Review app with full device access". That's a standard check for every app that uses an accessibility service. Keep BentoBar if you're happy with what it does (below).

To update, install a newer BentoBar.apk over the old one; your layout stays.

Coming from DiscoBar?

BentoBar is DiscoBar's new name (from version 0.5). It's a new package, so it installs next to DiscoBar rather than over it. To bring your layout along:

  1. In DiscoBar, open Look › Copy settings.
  2. Install and open BentoBar, then Look › Paste settings.
  3. Turn BentoBar on in Setup, and uninstall DiscoBar (otherwise both draw in the status bar).

Privacy: why an accessibility service, and what BentoBar does with it

Android lets an app draw on top of the status bar only through an accessibility service, so Android warns that BentoBar can "view and control your screen". Here is everything BentoBar does with that access:

  • It listens only for windows appearing, going or moving, not their content, so it can hide for full-screen apps and shades.
  • It reads the status bar's layout, and no other window, to find free space.
  • It copies the colour of the status bar clock, from a picture of the status bar's own window (not your screen), so your items match.
  • It runs system actions (screenshot, lock, overview, all apps, power) when you pick them in the Tools menu.

BentoBar doesn't read other apps' windows, doesn't watch your keyboard, mouse or touches, and has no internet permission: your layout, your calendar and everything it measures stay on your Googlebook.

Usage access is optional and off by default. If you turn it on (Setup, or the Network and Storage menus), BentoBar reads how much data and storage each app uses, to list the top five in those menus, and nothing else. Android's switch also covers which apps you use and when; BentoBar doesn't read that. Turn it off any time in Android's Usage access settings (Setup › Usage access › Open setting takes you there). Android doesn't share other apps' CPU or memory use with apps at all, so the CPU and Memory menus show the whole system instead.

Permission Used for
Accessibility service drawing items on the status bar and running Tools actions
Notifications (optional) timer alerts, and the Live Update chip
Calendar (optional) Next meeting, and events in the month view
Alarms and reminders (optional) timers that ring on the second while the Googlebook sleeps
Usage access (optional) the apps using the most data today and the largest apps, in the Network and Storage menus
Network state, launcher apps the network menu, and picking apps for shortcuts

Good to know

  • System icons stay. Android doesn't let an installed app hide or reorder the system's own icons (clock, Wi-Fi, battery, notifications), so BentoBar organises its own items next to them.
  • Keyboard shortcut. The launcher entry BentoBar menu opens BentoBar's menu with every item in it: arrows and Enter open an item's menu, Escape closes it. Give it a shortcut in the system's keyboard shortcuts (Action + / › Customize), e.g. Action + T. BentoBar itself doesn't read keys.
  • One chip. Android shows one Live Update chip per app, with about seven characters of text, and hides it while that app's own window is open.
  • CPU load comes from each core's idle time (Android doesn't let apps read overall CPU usage), and matches the system's top within a point or two.
  • Advanced Protection (Android 17) turns off accessibility services that aren't assistive tools, and with it BentoBar's bar. The chip and tiles keep working.
  • Light on battery: about 0.5% of one CPU core with the CPU and network items updating every second, and nothing at all while the screen is off.

Build

Needs JDK 21 and the Android SDK (platform 37).

./gradlew :app:assembleDebug      # app/build/outputs/apk/debug/app-debug.apk
./gradlew :app:assembleRelease    # signed if ~/.config/bentobar/keystore.jks and keystore.pass exist

./bento is the development helper (build, install, enable, test hooks, screenshots) for a Googlebook connected over Wireless debugging. CLAUDE.md explains how the code is organised, and docs/research has the platform findings behind the design.

Releases are built and signed by GitHub Actions when a v<version> tag is pushed, so nobody needs the release key on their machine: see docs/RELEASING.md.

About this project

BentoBar is my personal hobby project, published as Fika Labs. It has no affiliation with my employer: my employer didn't make, sponsor, review or endorse it, and BentoBar doesn't endorse my employer or its products either. The views, choices and any mistakes here are mine alone.

It was proudly developed on a Googlebook: written, built and tested on the device itself, in its Linux terminal and on its own Android, from the first probe of the status bar to this release.

— Fika Labs

License

BentoBar is free software under the MIT License. It includes Google's Material Symbols (Apache License 2.0) and uses Jetpack Compose, AndroidX, Kotlin and kotlinx.serialization (Apache License 2.0).

BentoBar is an independent project. It isn't made by or affiliated with Google, or with Surtees Studios (Bartender) or Bjango (iStat Menus).

About

Add, hide and organise items in your Googlebook's status bar (formerly DiscoBar). A personal hobby project, proudly developed entirely on a Googlebook. No root, no adb, no internet permission.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages