Overview
Developed by DanGLVK, NavTweaks (formerly Fullscreen/Immersive Gestures) is a systemless interface module designed to customize the navigation bar and gesture pill across Android 10 through Android 15.
While Android’s stock gesture navigation provides full-screen gestures, it leaves a persistent visual navigation bar (“gesture pill”) and an artificial blank spacer beneath keyboards. NavTweaks injects targeted framework overlays to eliminate the gesture bar and restore genuine edge-to-edge screen real estate.
Technical Architecture & How It Works
Runtime Resource Overlay (RRO) Customization
NavTweaks operates through Android’s Runtime Resource Overlay system:
- Volume Key Interactive Installer: During installation via
customize.sh, the module queries the hardware volume rocker to let users select custom overlay parameters (e.g. completely hidden pill, slim pill, keyboard gap removal, or tablet layouts). - Framework Overlay Injection: Builds and mounts customized
android.overlaypackages over/system/overlay/or/product/overlay/. - Metric Overrides: Redefines Android framework dimension integers (
navigation_bar_height,navigation_bar_frame_height,navigation_bar_gesture_height) to zero or custom values, adjusting UI layout boundaries dynamically.
Installation & Setup
- Download the latest
NavTweaks-*.ziprelease from official channels. - Flash the module in Magisk, KernelSU, or APatch.
- Use your device’s Volume Up (Select) and Volume Down (Confirm) keys to pick your desired visual style during terminal installation.
- Reboot the device to apply framework overlays.
Configuration & Usage
- KernelSU Specific Requirement: In KernelSU Manager, verify that
com.android.systemuiis included in your app list and thatUmount modulesis toggled off for it. - Reconfiguration: To modify your bar height, keyboard gap, or corner radius later, simply flash the module zip again and choose different options in the installer prompt.
Troubleshooting & Common Issues
- GSI ROM Issues: Generic System Images (GSIs) often employ non-standard overlay priority ordering, which may cause navigation bar tweaks to be ignored.
- Navbar Coloring Inconsistencies: On Android 11 and above, adaptive light/dark navbar tinting may behave inconsistently depending on OEM launcher theming.
Frequently Asked Questions
Why does SystemUI crash or fail to apply on KernelSU?
KernelSU isolates applications using mount namespaces. To allow NavTweaks overlays to attach to SystemUI, you must ensure the SystemUI package is added to KernelSU's profile list with the 'unmount modules' option disabled.
Can I change my gesture bar options after installing?
Yes. Simply re-flash the module in your root manager without uninstalling. The volume key selector will prompt you to pick your preferred bar height and spacing configuration again.
