Repository navigation
Releases: channelramble/DensityToggle
Release list
Density Toggle v5.15
Removes the Full-size typing feature.
It existed because an older keyboard build broke its gestures at very low densities. Retesting on current One UI Watch showed the keyboard now works correctly even at 140 dpi — numbers/symbols gesture included — so the feature no longer did anything useful. One less chip in Choose apps, simpler app.
Update with adb install -r; all other settings carry over.
Density Toggle v5.14
New feature: Reach — tap the buttons the round screen hides.
Rectangular phone layouts put controls in corners the circular display physically clips, and no density can move them into view. Reach adds a small translucent ⌕ button that lists the app's clickable controls sitting outside the visible circle and taps them for you — controls don't need to be visible to be clicked.
- Modes: off / shrunk apps (default) / all apps — cycled on the main screen
- Per-app override chip in Choose apps
- Adjustable transparency (10–90%), greyed out while Reach is off
- Unnamed controls are labelled by position ("bottom-right control")
- System apps never get the button; apps that hide their UI tree show "no hidden controls found"
Verified on the Galaxy Watch Ultra: opens Bandcamp's clipped Now Playing, Proton Mail's composer, and YouTube's search from the panel.
Update from any 5.x with adb install -r; settings carry over.
Density Toggle v5.11
Reliable foreground detection: the service now reads the system's usage ledger (one extra one-time adb grant, done by the installer) instead of relying on accessibility events that One UI Watch simply doesn't fire for warm app re-opens — the cause of shrinks sometimes not applying, most visibly with YouTube.
- Warm re-opens of running apps now shrink within ~2s
- Direct app-to-app switching applies each app's own density
- A heartbeat rescan backstops every case where no event fires
- Existing users: re-run install.sh (or run
adb shell appops set com.dt.toggle android:get_usage_stats allow) to enable the new detection; without it the app falls back to the old behaviour
Tested 20/20 on the Galaxy Watch Ultra across four apps at 100/140/180/220 dpi: warm launches, direct switches, rapid cycling, playback exit, force-stop.
Density Toggle v5.10.1
Rotation handling done honestly.
Shrunk phone apps use tablet layouts, which rotate with the accelerometer — so apps flip sideways when you tilt your wrist. An in-app toggle can't fix this (apps requesting sensor orientation bypass the auto-rotate setting, and the window-manager mode that overrides them needs a signature permission). v5.10's non-functional toggle is removed.
The real fix is one optional, persistent adb command, now built into the installer:
bash install.sh <ip:port> --lock-rotation
# or directly: adb shell cmd window fixed-to-user-rotation enabled
# undo: adb shell cmd window fixed-to-user-rotation disabled
The README now documents every command the installer runs and why.
Density Toggle v5.9.2
Fixes intermittent failure to restore density after leaving YouTube / media playback.
- A watched app's window-teardown event no longer re-arms the launch grace (this could defer the restore indefinitely while a media session was live, e.g. playing to a Bluetooth headset).
- The One UI media-output picker no longer counts as "another app" (this restored density mid-video when playback started).
Verified with an on-device test battery on the Galaxy Watch Ultra: simple leave, leave mid-playback, rapid re-enter/leave, and force-stop all restore within a few seconds.
Density Toggle v5.9.1
First public release.
Shrinks Wear OS display density so sideloaded phone apps fit the round screen, then restores it automatically when you leave the app. Built for the Galaxy Watch Ultra / Ultra 2.
Install
- Download
DensityToggle.apkbelow. - Enable wireless debugging on the watch.
bash install.sh <watch-ip>:<port>(or the manual adb commands in INSTALL.md).
See the README for all features and INSTALL.md for the full setup walkthrough.
Features
- Automatic per-app shrinking with per-app sizes
- Per-app "Full-size typing" for keyboards at low densities
- Works with secure apps (Bitwarden and other password managers)
- Launch preemption — apps open at the right size, no mid-launch rescale
- Restore-to-stock escape hatch + on-device diagnostics
No root. No Gradle. One-time adb grant, then the watch is standalone.