Commander
0.1.0-alpha.6 · GitHub
More about this app
Keyboard-first command bar and notification hub; uses Shizuku for recent-app switching and privileged shell controls.
Commander
A fast, keyboard-first command bar and notification hub for Android.
Important
Commander is alpha software. Features may change, and some integrations depend on the Android version, device firmware, launcher, keyboard, and installed apps.
What it does
Commander puts common Android actions behind one searchable overlay. Open the bar from a hardware key, launcher gesture, shortcut, or optional home-screen typing, then type what you want to do.
- Search installed apps and launcher shortcuts.
- Switch between recent apps with previews, filtering, keyboard navigation, and optional hold-to-switch shortcuts.
- Control accessible on-screen actions with compact keyboard hints and control search.
- Add Todoist tasks with natural-language date and time recognition.
- Browse Todoist Tasks, Upcoming, and Calendar views from the command bar.
- Search files and folders, with optional previews and sorting.
- Start timers, calculate expressions, and convert common units.
- Search contacts for calls and messages.
- Open configurable searches in Maps, YouTube, Spotify, Reddit, Play Store, and other apps.
- Search common Android Settings destinations through a configurable alias.
- Discover configured search and Tasker aliases directly inside the command bar.
- Run selected Tasker tasks.
- Ask Gemini in the overlay or continue a query in ChatGPT.
- Read, filter, dismiss, open, and reply to supported notifications in Commander Hub.
- Retain optional encrypted notification history for a user-selected period.
- Organise SMS contacts and supported app conversations through Commander Contacts.
- Trigger supported audio, display, media, battery, and device Quick Controls.
- Customise accent colour, blur, glow, app-result animation, and interface sounds.
Commander is designed for speed and physical-keyboard devices first. It also works on conventional Android phones and can be operated by touch, but its shortest workflows are built around typing and keyboard navigation.
Why Commander exists
Commander began as a passion project after I could not find the fast, keyboard-centric command palette I wanted on Android. I was also tired of seeing useful everyday workflows divided between subscriptions and paid apps. A tool that can make every interaction with a phone faster should be available to everyone, so Commander is open source.
The renewed interest in keyboard phones gives me hope that we can have more choice, not only in the devices we carry, but in the software designed for them. I still find it remarkable that devices like the Titan 2 and Q25 exist at all. I hope Commander makes them, and Android phones generally, just a little faster and more fun to use.
This project can only improve as a group effort. Testing, device reports, ideas, fixes, and thoughtful feedback are all valuable, especially from people using hardware and workflows I do not have access to.
See Commander in action
Fast app search from a physical keyboard.
![]() Fast app search |
![]() Recognised Todoist dates and times |
![]() Configurable app aliases |
![]() Commander Hub |
Select to watch the full in-hand walkthrough.
Tested devices
Most development and testing has been done on:
- Unihertz Titan 2
- Zinwa Q25
Commander should work on other Android phones, including other keyboard phones, but hardware-key handling and background-launch behaviour vary between manufacturers. If you test another device, please open a compatibility report with the model, Android version, keyboard, launcher, and what worked or failed.
Tested integrations
The first alpha has been developed and personally tested primarily with:
- Todoist for tasks
- Google Calendar for calendar events
- The device's default Clock app for timers
- Pastiera Enhanced as the physical-keyboard input method
- Solid Explorer for file and folder results
- Gemini API for in-bar AI and ChatGPT for app hand-off
- WhatsApp and Facebook Messenger for supported notification replies and messaging workflows
Other apps may work when they expose compatible Android intents, shortcuts, or notification actions, but they have not received the same level of testing yet.
Install and set up
Open the Commander releases page to download the latest APK
Warning
Play Protect may warn that Commander is unknown or block the installation. Commander is currently distributed directly through GitHub rather than Google Play, so new releases do not yet have Play Store reputation. Commander also offers optional Accessibility, notification, contact, SMS, and file features, which Android correctly treats as sensitive. These permissions are requested only for the related features and are explained in PRIVACY.md.
Download Commander only from this repository's Releases page. Each release includes a SHA-256 checksum so you can verify that the APK was downloaded intact. Do not disable Play Protect globally. If Android does not offer an informed install-anyway option, wait for a verified distribution route or build Commander from the public source.
- Download the APK from the latest GitHub release.
- Allow installation from the app you used to download it, then install Commander.
- Open Commander Settings.
- Configure only the permissions and integrations you intend to use.
- Add Commander Bar to a hardware key, launcher gesture, or automation app.
Commander requires Android 10 or newer.
Android may block Accessibility for manually installed apps until Allow restricted settings is enabled from Commander’s Android app-info page. Commander Settings provides direct links to both app info and Accessibility.
See the complete setup guide for notification access, home typing, files, contacts, Todoist, Gemini, Tasker, and keyboard shortcuts.
Default commands
| Input | Action |
|---|---|
| normal text | Search installed apps |
Space |
Search files and folders |
@ |
Message a contact |
# |
Call a contact |
- |
Add a task |
! |
Create a note |
* |
Create a calendar event |
+ |
Start a timer |
, |
Calculate or convert units |
/ |
Search the web |
? |
Ask Gemini in Commander |
?? |
Continue in ChatGPT |
The note and file triggers are configurable. Search aliases can also be assigned to supported apps and services.
Commander Hub
Commander Hub uses Android’s notification-listener interface to collect active notifications into one keyboard-friendly view. It supports configurable category tabs, unread highlighting, dismissing notifications, opening their original destination, and inline replies when the originating app exposes an Android direct-reply action. Optional tabs can be shown automatically, kept visible, or hidden.
Notification history is off by default. When enabled, Commander retains encrypted text snapshots for the selected period. Images and live notification actions are not retained.
Reply support is determined by the notification. Some apps or notification types do not provide a reply action, and grouped notifications may expose only a summary.
Messaging integrations have additional Android and app-level constraints. WhatsApp and Messenger contacts cannot be queried as freely as ordinary device contacts. Exact-chat opening and quick replies therefore depend on conversation shortcuts, a live reply-capable notification, or an intent exposed by the installed app. Commander cannot guarantee silent background sending, and some flows may still require confirmation inside the messaging app.
Permissions and privacy
Commander has no advertising or analytics SDK. Data is processed locally except when you explicitly use a feature that contacts an external service, such as Gemini, Todoist, or a web/app search.
Powerful permissions are optional and feature-specific. Notification access, Accessibility, contacts, SMS, and full-file access should be enabled only if you use the corresponding feature. Gemini and Todoist credentials are encrypted with Android Keystore before being stored.
Read PRIVACY.md for the complete data and permission explanation.
Current alpha limitations
- Home-screen typing depends on the active launcher and device keyboard handling.
- Blur support varies by device and firmware.
- Messaging-app automation depends on the intents, shortcuts, notifications, or reply actions exposed by those apps.
- File access and folder opening can vary by file manager and Android storage implementation.
- Commander Home remains experimental and is hidden from the alpha launcher build.
Roadmap
These are directions for future releases rather than promises or fixed deadlines:
- Finish Commander Home as an optional launcher experience that can reduce reliance on Accessibility for home-screen typing.
- Expand custom command triggers.
- Simplify Settings and build a clearer first-run onboarding flow.
- Support more task and calendar apps.
- Add more configurable search providers and app-search integrations.
- Expand quick-reply support across messaging apps.
- Improve contact and conversation lookup.
- Support more AI providers through bring-your-own-key integrations and app-intent hand-offs.
- Improve blur on unsupported Android builds and deepen integration where device firmware permits it.
Build from source
Requirements:
- JDK 17 or newer
- Android SDK 36
./gradlew assembleDebug
The debug APK is written to app/build/outputs/apk/debug/.
API keys, signing keys, local.properties, and machine-specific paths are not part of the repository.
Contributing
Device reports, focused bug reports, and small pull requests are welcome. Please read CONTRIBUTING.md before submitting changes.
Support development
Commander is an open-source passion project. If it makes your phone faster or a little more fun to use, you can help support continued development:
Licence and attribution
Commander is released under the MIT License. Third-party software and font notices are listed in NOTICE.md.
Commander is an independent project. It is not affiliated with, endorsed by, or sponsored by The Minimal Company Inc. or the makers of the third-party apps and services it can open.
How Shizuku is used
Can browse, preview, switch and dismiss recent apps and run system controls via `ActivityTaskManager` and shell commands through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Commander uses Shizuku to power its recent app switcher and several system quick controls from the command bar.
- Browse recent apps: see a filtered list of recently used apps retrieved with privileged task access, with a shell dump fallback when the privileged service is unavailable.
- Show app previews: display live thumbnail images for recent tasks using privileged task snapshots.
- Switch between apps: jump directly to a selected recent task with a privileged foreground move, falling back to a shell move command or a normal app launch.
- Dismiss recent tasks: close or remove a recent task from the switcher with privileged task removal.
- Start split screen: identify the app under Commander to use as the split screen target by reading shell recent activity output through Shizuku.
- Change system theme: apply the chosen dark, light or auto night mode with the
cmd uimode nightshell command through Shizuku. - Control battery protection: turn charging protection on or off or set a 70, 80, 90 or 100 percent limit with
service callshell commands through Shizuku. - Toggle mini mode: switch the device mini mode state with a
service callshell command through Shizuku. - Toggle scroll assistant: flip touchpad scrolling on or off by reading and writing a system property with shell commands through Shizuku.
- Open audio output: open the system media output dialog with an
am broadcastshell command through Shizuku when the normal broadcast fails.
Android APIs or commands used
ActivityTaskManager.getServiceActivityTaskManager.getRecentTasksActivityTaskManager.getTaskSnapshotActivityTaskManager.moveTaskToFrontActivityTaskManager.startActivityFromRecentsActivityTaskManager.removeTaskTaskSnapshot.getHardwareBufferTaskSnapshot.getColorSpaceBitmap.wrapHardwareBufferdumpsys activity recentscmd uimode nightservice call agui_commonservice call AServiceam broadcastam stack move-taskgetprop persist.sys.scroll_assistant
Notable details
Switching apps can still open the app normally when the privileged switch fails, and the audio output control first tries a normal system broadcast before using Shizuku.
Changelog
What's new for version 0.1.0-alpha.6
Commander 0.1.0 Alpha 6
Alpha 6 is Commander's largest update so far. It expands the keyboard-first command palette into a broader navigation and control layer while continuing to prioritise fast launch, physical-key input, and compact phone displays.
Highlights
- Key Control adds keyboard hints and searchable actions over supported Android interfaces.
- Commander hardware shortcuts can open Command Bar, Hub, App Switcher, or Key Control without a separate key-mapping app.
- App Switcher gains faster previews, hold-to-switch controls, sticky mode, filtering, keyboard navigation, and swipe-to-close.
- Quick Controls now cover common device, audio, display, media, battery, and device-specific actions where Android or the device ROM exposes them.
- Todoist gains Tasks, Upcoming, and Calendar pages with filtering, keyboard completion, due times, and live refresh.
- Commander Contacts groups SMS contacts and supported app conversations into clearer person-based routes.
- Each Commander Contact can have a default messaging route that appears first when searching by person.
@recentsprovides fast access to recent replyable conversations and their pending message context.- Hub gains encrypted notification history with selectable retention and a dedicated History view.
- Settings gains search, category shortcuts, and a clearly visible Commander Contacts entry.
Signal and Telegram use Commander's matching fallback messaging icons until an appropriate notification glyph has been captured on the device. This does not affect messaging behaviour.
See CHANGELOG.md for the complete list of additions, improvements, and fixes.
Getting started with the new features
Key Control
Search for Key Control or assign its dedicated Android or Commander hardware shortcut. Letter hints represent actions exposed by the current screen. Type a hint to activate it, or press Shift to search the available control labels. Key Control depends on the accessibility information supplied by the app, so coverage varies between screens.
App Switcher
Search for App Switcher or assign its shortcut. Use Left and Right to navigate, Enter to switch, type to filter, or swipe a card upward to close it. Hold-to-switch mode selects an app while a modifier is held and opens it when released. Sticky mode leaves the switcher open for filtering.
Tasks
Search for Tasks or enter tasks . Use Left and Right to move between Tasks, Upcoming, and Calendar. Use Up and Down to select a task, Enter to complete it, and Shift+Enter to open it in Todoist.
Quick Controls
Search for Quick Controls or use the configured alias. Controls can also be mixed into ordinary app results from Settings. Some controls toggle immediately, while controls such as brightness, volume, ringer mode, and battery protection accept a value or mode.
Commander Contacts
Open Commander Contacts from the top of Settings. Create a person from an unassigned messaging notification, attach additional app identities or an SMS contact, then choose a default route. Search with @name, scope the search with inputs such as @Messenger , or use @recents for recent replyable conversations.
Hub history
History is off by default. Choose a retention period under Hub & command bar, then use the History icon beside Manage in Hub. Stored snapshots are encrypted and do not retain notification images or live reply and action handles.
Compatibility
Commander now requires Android 10 or newer.
Most development and testing has been performed on the Unihertz Titan 2 and Zinwa Q25. Other Android devices and keyboard phones are welcome, but behaviour can vary between manufacturers, Android versions, launchers, keyboards, and third-party app versions.
Some capabilities require optional Android access:
- Accessibility for home typing, hardware shortcuts, Key Control, and selected hand-off flows
- Notification access for Hub, recent conversations, notification actions, and notification-derived messaging routes
- Contacts for phone contact lookup
- SMS for optional direct carrier SMS
- File access for device file and folder search
- Shizuku for supported privileged App Switcher and device-control features
Installation notice
Play Protect may warn that Commander is unknown or block the installation. Commander is distributed directly through GitHub rather than Google Play, so new releases do not yet have Play Store reputation. Commander also offers optional Accessibility, notification, contact, SMS, and file features, which Android correctly treats as sensitive.
Download Commander only from the official GitHub Releases page. Do not disable Play Protect globally. If Android does not offer an informed install-anyway option, wait for a verified distribution route or build Commander from the public source.
Before installing an alpha update, exporting Commander settings is recommended. Future updates must be signed with the same official Commander signing key.
Permissions
9 permissions requested



