ShizuStore

Freeform Beta

bravoyush

1.4 · GitHub

Download APK
Customization Android 11+ 2 months ago Apache-2.0
76 ShizuStore
1.3k GitHub
20 Stars
98 MB Size

More about this app

Experimental freeform window-manager helper adding title bars, resize borders and display scaling through Shizuku system APIs.

FreeformShell πŸš€

Build and Release FreeformShell APK Discord Chat License Android Compatibility AI Co-Developed

FreeformShell is an experimental system-level window manager overlay and helper utility operating directly on native Android windowing components. Leveraging system-level APIs via Shizuku, direct Binder reflection, and fallback ADB shell utilities, FreeformShell adds custom window controls, display scaling configurations, and helper overlays for Android devices running Android 11 (API 30) up to Android 15+ (API 35+).


🎯 Target Audience: Who is FreeformShell for?

FreeformShell is a specialized power-user tool developed with a specific target audience and socio-economic purpose in mind. It is not designed for every Android user.

🚫 Who does NOT need this?

  • Samsung & Flagship OEM Users: If you are using a premium Samsung flagship with Samsung DeX, or a device from an OEM that already bundles a robust, feature-rich desktop mode (with built-in window title bars, drag handles, and desktop panels), you do not need this utility.

🎯 Who is this built for?

  • OEM Feature Compensation (e.g. Sony, Motorola, etc.): Many OEMs (such as Sony) allow you to launch applications in Android's native freeform mode, but strip out window title bars, borders, and multi-window resizing controlsβ€”often limiting you to just a single floating app at a time. FreeformShell injects those missing title bar frames, drag-to-resize borders, side-snapping guidelines, and minimized floating bubbles back into the OS to restore fully functional multitasking.
  • The "Phone-First" Workstation (Bridging the PC Cost Gap): For many people worldwide, their smartphone is their primary or only computing device. With hardware inflation, supply shortages, and high costs making desktop PCs unaffordable, FreeformShell empowers users to bridge the gapβ€”transforming a powerful smartphone they already own into a fully functional desktop station.
  • Power Users with Scrcpy & ADB: Ideal for users who have a high-spec or second-hand phone supporting Type-C video output (DisplayPort Alt Mode), but only have access to an older or low-power PC. By leveraging scrcpy and ADB wireless, power users can cast a beautiful, window-managed Android desktop workspace directly to their large monitors.
  • Restricted Tablet Users: Large-screen and Android tablet users who want a rich, desktop-like multitasking environment, but whose device manufacturer did not bundle any desktop interface in their software.

⚠️ Important Pre-requisites: Third-Party Launchers

Warning

FreeformShell is a window overlay helper and customization utility, not a full desktop system or app drawer.

Android's built-in launcher does not natively support launching other applications in freeform windows. Therefore, to build a complete and productive desktop multitasking environment on your device, you will need to pair FreeformShell with a third-party desktop-mode launcher.

In this setup, the companion launcher handles starting your apps in freeform mode, while FreeformShell wraps those running windows with custom borders, drag-to-resize handles, minimize bubbles, side-snapping guidelines, and display-density scaling.

Highly Recommended Companion Launchers:

  • Taskbar (by farmerbb) β€” A highly reliable, open-source desktop-style taskbar and app drawer overlay for Android.
  • SmartDock β€” A modern desktop dock and system panel provider supporting advanced freeform behaviors.
  • YoukiDEX β€” A dedicated desktop-mode experience provider for custom window scaling.

πŸ“– Quick Start & User Guide

Follow this step-by-step guide to get FreeformShell configured on your device:

1️⃣ Step 1: Install the APK

  1. Navigate to GitHub Releases.
  2. Download the latest compiled asset:
    • FreeformShell-debug.apk (Recommended for developers/testers).
    • Freeform-Beta-[Version]-debug.apk (Standard beta branch build).
  3. Install the APK on your Android device (ensure "Allow Installation from Unknown Sources" is enabled in settings).

Step 1: APK Installation

2️⃣ Step 2: Establish the Binder Connection

FreeformShell uses system Binder connections to manage overlays safely.

  • Option A: Using Shizuku (Recommended β€” On-Device):
    1. Install Shizuku from Google Play.
    2. Open Shizuku and follow the on-screen instructions to start it via Wireless Debugging (no computer required!).
    3. Open Freeform Beta, click on Shizuku Permission under the status dashboard, and grant permission in the popup.
  • Option B: Using ADB Shell (Computer Fallback): If Shizuku is not running, connect your phone to a computer with USB Debugging enabled, and start Shizuku's binder service manually:
    adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
    

Step 2: Shizuku & Binder Setup

3️⃣ Step 3: Enable the Accessibility Service

To display desktop window frames and drag handles on top of normal Android apps:

  1. Open the Freeform Beta App.
  2. Click the Accessibility Service chip under status dashboard.
  3. System settings will open. Locate Freeform Beta / FreeformShell, toggle On, and accept overlay warnings.

Step 3: Accessibility Permission

4️⃣ Step 4: Master the Window Controls & Gestures

Once set up, launching apps via your companion launcher (e.g. Taskbar) or FreeformShell widgets will trigger the overlay frames:

  • Drag & Move: Hold the colored title bar at the top of a floating app to move it anywhere.
  • Resize: Grab the corners or bottom/side borders of a window to resize it.
  • Minimize Bubble: Click the _ icon on the window frame. The window shrinks into a floating bubble on the screen edge. Tap the bubble to expand it back instantly!
  • Maximize: Click the [] icon to expand the window to fullscreen.
  • Split-Snapping: Drag a window toward the left or right edge of the display. A visual snapping guideline appearsβ€”release to snap the app to exactly half-screen, creating a split productivity workspace.
  • Close: Tap the X button on the title frame to close the task.

Step 4: Window Controls & Floating Overlays


Note

πŸ’‘ The Philosophy: Why "FreeformShell"?

  • Freeform: Refers to Android’s native Freeform Windowing Mode (originally introduced in Android 7.0). This hidden system mode allows multiple applications to run simultaneously inside floating, resizable, overlapping windows, mimicking a desktop multitasking experience rather than standard mobile split-screen or single-app layouts.
  • Shell: In operating systems, a shell is the outer interface that manages how users interact with services, organize active workspaces, and control tasks. FreeformShell acts as a system-level overlay shellβ€”providing window titles, close/minimize/maximize buttons, snap-to-edge guidelines, minimized floating bubbles, and display-density adjustment dialogs. It literally wraps the native Android window system in a desktop-like shell overlay.
  • Freeform Beta (Launcher Name): To ensure absolute user clarity during testing, the app displays as Freeform Beta in the Android launcher for experimental/beta branches, while keeping all internal packages, Gradle parameters, and system APIs unified under the robust FreeformShell name.

✨ Core Features Tour

Explore the main configuration screens of FreeformShell designed to help you customize your window overlay experience:

πŸ“Š 1. Dashboard & Diagnostics

  • Status Telemetry: Monitor status checks of the Shizuku Binder Service, active binder permissions, and Accessibility Service.
  • Display Enumerator: Displays names, IDs, hardware resolutions, and default densities of all active displays (built-in phone screen + connected external monitors).
  • System Diagnostics: Provides a real-time console log of underlying shell activity, command execution diagnostics, and ADB connection status.

🎨 2. Window Customization & Style

  • Visual Adjustments: Tune transparent window overlays, borders, and dimming backdrops to match your styling preference.
  • Interactive Corner Sliders: Adjust window corner roundness (0dp sharp up to 32dp rounded) and border thickness in real-time.
  • Title Bar & Stroke Opacities: Customize handle transparency to make overlays bleed seamlessly into the background.
  • HSL Accent Color Picker: Integrates an HSL-based color selector to style overlay title frames, snap indicators, and minimized bubbles. Includes a real-time Interactive Window Preview within the app so you see styles apply instantly.

πŸ“ 3. Display Safe Area Offsetter

  • Notch & Camera Offset: Compensate for rounded corners, camera notches, or punch-hole cameras by defining safe-area insets.
  • Multi-Monitor Customization: Configure top, bottom, left, and right safe boundaries independently for each connected display panel.

βš™οΈ 4. Display Density (DPI) Scaling & Presets

  • Scaling Down Focus: Pack more information on screen! Presets focus on scaling down, including 120 DPI (Ultra Compact), 160 DPI (Desktop mdpi), 240, 320, 360, Physical Default, and 480 DPI.
  • Allow Unsafe Extreme DPI: Technical users can toggle an override option to unlock extreme custom values down to 100 DPI.
  • Windows-Style Reversion Shield: To prevent touch soft-locks, applying density changes triggers a 15-second overlay countdown timer with a 50% backdrop dimming effect. If unconfirmed, it automatically rolls back safely to your previous DPI.
  • Unrestricted Secondary Displays: Custom scale external desktop screens (e.g. mock monitors, USB-C docks, virtual displays) instantly without safe boundary limits or warning interruptions.

🚫 5. Application Blacklist Manager

  • Compatibility Safety Valve: Select specific applications (like mobile-only banking apps, camera software, or heavy fullscreen games) to blacklists. Blacklisted applications will launch in standard native fullscreen rather than freeform mode.

🧩 6. Interactive Home Screen Widgets

  • One-Click Launches: Pin specialized widgets to your Android launcher to launch pre-selected workspaces or specific apps directly into a floating freeform window.

πŸ› οΈ Developer & Contributor Guide

Welcome to the development center! Below are instructions on how the codebase is structured, compiled, and maintained using automated pipelines and AI-guided boundaries.

πŸ“‚ Project Structure

β”œβ”€β”€ .agents/                 # Developer Guidelines & AI Agent instructions
β”‚   └── rules/
β”‚       β”œβ”€β”€ compatibility.md  # Key Android 11-15+ compatibility boundaries
β”‚       └── graphify.md       # Knowledge Graph navigation rules
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       └── release.yml      # CI/CD Automated Gradle builder & Release drafter
β”œβ”€β”€ app/                     # Main Android Application module
β”‚   β”œβ”€β”€ src/main/java        # Source files (MainActivity, Services, Core managers)
β”‚   └── build.gradle.kts     # Build definitions & Shizuku dependencies
β”œβ”€β”€ docs/                    # Architectural plans & mermaid diagram snapshots
β”œβ”€β”€ LICENSE                  # Apache 2.0 Open-Source License
└── NOTICE                   # Primary human-AI co-development attribution shield

🧩 Tech Stack & Architecture

  • Language: Modern Kotlin
  • UI Framework: Jetpack Compose (Material 3) with customized harmonized HSL-based styling
  • System Core:
    • Shizuku / Rikka API β€” For ultra-low latency direct Binder connection.
    • LSPosed HiddenApiBypass β€” Safely bypass reflection limits on Android 14+.
    • Defensive Fallbacks β€” Seamless transition between Binder commands and ADB shell commands.

πŸ€– AI-Human Co-Development & "Vibe-Coding"

This project is built using a modern AI-Human Co-Development paradigm. We check in the .agents/ folder and graphify-out/ into the Git repository to enable seamless agentic collaboration:

  • .agents/rules/: Any future developer's AI agent (like Cursor, Claude, Antigravity) will instantly read compatibility.md on startup, preventing them from introducing breaking changes or breaking API backwards compatibility.
  • graphify-out/: Houses the codebase's semantic relation graph, helping AI tools navigate and map class dependencies with zero latency.

For more information on contributing, see our CONTRIBUTING.md guide.

πŸš€ Building & Running Locally

Ensure you have Android Studio installed and a device/emulator connected with ADB enabled.

1. Compile the App

Compile the project directly via Gradle in your terminal:

./gradlew compileDebugKotlin

2. Install to Connected Device

Install the debug APK on your device:

./gradlew installDebug

πŸ“¦ Automated Release Pipeline (CI/CD)

FreeformShell includes a fully automated build pipeline. Simply push a version tag to GitHub to trigger the release workflow:

git tag v1.4.0
git push origin v1.4.0

GitHub Actions will automatically spin up, build the Debug and Unsigned Release APKs, compile changelogs from your commit history, and draft a release containing the downloadable files!


πŸ’¬ Join the Community

Connect with other power users, share your custom configurations, and get real-time assistance:

Join FreeformShell Discord Server

Why join our Discord?

  • πŸš€ Get Instant Help: Troubleshoot your Shizuku or ADB setup with other community members.
  • πŸ“ Share Presets: Post your custom DPI layouts, safe area offsets, and display configurations.
  • πŸ’‘ Suggest Features: Directly pitch system overlay improvements or launcher integrations.
  • πŸ”„ Beta Updates: Get notified immediately when a new pre-release APK is compiled!

πŸ›‘οΈ License & Attributions

This project is open-sourced under the Apache License 2.0.

Under Section 4d of the Apache 2.0 license, any downstream forks or commercial adaptations must preserve and distribute the original NOTICE file unmodified. This legal shield guarantees that you, your AI tool creators, and future contributors receive lasting attribution:

See NOTICE for details.

Close

How Shizuku is used

Can manage freeform windows, scale external displays, mirror the phone screen and control system toggles via `Shizuku` privileged shell and system services.

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

Freeform Beta uses Shizuku to run window management, display scaling, screen mirroring and quick settings controls with system privileges.

  • Resize and move windows: dragging borders, snapping and docking resizes freeform tasks through the privileged task manager with shell fallback.
  • Bring, minimize and close tasks: tapping a window, minimizing or closing it brings tasks forward, switches fullscreen and freeform modes, or removes tasks through the privileged task manager and related shell commands.
  • Launch on displays: opening apps on a chosen monitor relaunches tasks in freeform mode on that display through the privileged task manager with shell fallback.
  • Stop running apps: the active apps list and task manager force stop packages and remove their tasks through the privileged activity service and am force-stop.
  • See active apps: the quick panel lists foreground apps by querying running services through the privileged activity service, with a system dump fallback.
  • Change display scaling: display settings apply and revert per display density with the wm density command and per display resolution with the wm size command through Shizuku.
  • Mirror phone screen: the mirror window captures the phone with privileged screenrecord output decoded for live display.
  • Control system toggles: quick settings change Do Not Disturb with a system settings command, hotspot with connectivity commands, auto rotate with a system settings command, animations with global settings commands, and assistant with an input key command through Shizuku.
  • Manage Wi-Fi networks: the Wi-Fi panel shows saved networks, live connection details, scan results and IP address using privileged Wi-Fi service access plus dumpsys wifi and cmd wifi commands through Shizuku.
  • Send touch and keys: mirrored input and automation inject taps, swipes and key presses with input commands through Shizuku.

Android APIs or commands used

  • IActivityTaskManager.resizeTask
  • IActivityTaskManager.moveTaskToFront
  • IActivityTaskManager.startActivityFromRecents
  • IActivityTaskManager.setTaskWindowingMode
  • IActivityTaskManager.removeTask
  • IActivityTaskManager.moveTaskToBack
  • IActivityTaskManager.setFocusedRootTask
  • IActivityTaskManager.setFocusedTask
  • IActivityTaskManager.getTasks
  • IActivityTaskManager.getTaskOrganizerController
  • ITaskOrganizerController.registerOrganizer
  • IActivityManager.forceStopPackage
  • IActivityManager.getServices
  • IWifiManager.getPrivilegedConfiguredNetworks
  • IWifiManager.getConfiguredNetworks
  • cmd activity task resize
  • cmd activity task movetotop
  • cmd activity task set-windowing-mode
  • cmd activity task remove
  • am start-activity --task
  • am start-activity --windowingMode
  • am force-stop
  • wm density
  • wm size
  • screenrecord --output-format=h264
  • input tap
  • input swipe
  • input keyevent
  • settings put global window_animation_scale
  • settings put global transition_animation_scale
  • settings put global animator_duration_scale
  • settings put global zen_mode
  • settings put system accelerometer_rotation
  • settings get system accelerometer_rotation
  • cmd connectivity hotspot start
  • cmd connectivity hotspot stop
  • cmd wifi start-softap
  • cmd wifi list-networks
  • cmd wifi start-scan
  • cmd wifi list-scan-results
  • dumpsys wifi
  • dumpsys activity services
  • dumpsys bluetooth_manager
  • cmd appops set
  • getenforce

Notable details

Task and active app lists fall back to parsing system dumps when the privileged service is unavailable. Display density and resolution changes show a confirmation overlay and revert automatically if not confirmed.

Close

Changelog

What's new for version 1.4

πŸš€ Release v1.4 - Aluminum OS Top Panel, Task Manager, Quick Settings & Guides

Welcome to Version 1.4 of FreeformShell! This major update introduces a sleek Aluminum OS-inspired top bar, integrated Notification & Quick Settings sub-panels, an advanced Task Manager inspired by Windows 11, and interactive setup guides.


🌟 Major Features & Deep-Dive Insights

πŸ’Ž 1. Top Panel Inspired by Aluminum OS

  • Aluminum OS inspired Status Bar: Translucent desktop header bar running across the display with live digital time/date, battery telemetry, and quick launcher triggers.
  • Integrated Notification Center: Dedicated notification drawer with expandable notification cards, inline reply actions, clear-all triggers, and custom toast overlays.
  • Quick Settings Flyout & Sub-Panels: Compact tile grid featuring one-tap system toggles (Wi-Fi, Bluetooth, Dark Mode, Flashlight, Hotspot, Rotation), dual interactive sliders for display brightness and media volume (with mute toggling), a dedicated media player card, and an active running apps inspector.
  • Fluid Spring Morphing: Employs Compose spring physics (Spring.StiffnessLow) to smoothly interpolate container height transitions when switching between the main Quick Settings grid and detailed sub-panels.

πŸ“Š 2. Task Manager Inspired by Windows 11

  • Adaptive Desktop & Compact Layouts: Built on BoxWithConstraints layout logic. On desktop/tablet displays, it presents a permanent vertical navigation sidebar; on mobile screens, it transforms into an ergonomic bottom horizontal "Metric Strip" for easy thumb reachability.
  • High-Density Telemetry Graphs: Multi-threaded real-time graphing for CPU core utilization, RAM memory pressure, GPU performance, Storage disk I/O, Network Wi-Fi throughput, and Battery discharge rates.
  • High-Precision Unit Conversion Engine: Unified unit conversion math (8x bit-to-byte conversion) synchronizing axis labels, legend overlays, and tooltips across Mbps, MB/s, and B/s.
  • Live Process Inspector: Integrated process view allowing users to inspect active background processes, analyze per-app RAM consumption, and manage running tasks.

πŸ“š 3. New Interactive Setup Guides & Quick Start

  • Shizuku Pairing & Authorization Guide: Step-by-step visual tutorial demonstrating wireless debugging pairing, port detection, and Shizuku permission authorization with embedded video/image previews.
  • Taskbar & Launcher Setup Assistant: Detailed guide for configuring primary launcher settings, integrating third-party taskbars, and configuring window overlay permissions.
  • Developer Options Helper: Guided walkthrough for unlocking Android developer settings, enabling Force activities to be resizable, Enable freeform windows, and Enable desktop mode.

πŸ“Ά 4. Wi-Fi & Bluetooth Control Refactoring

  • Wi-Fi Sub-Panel: Dynamic height bounds (no container stretching), 1:1 skeleton shimmer loading cards, frequency/generation badges (5 GHz, Wi-Fi 6), inline accordion details, and pure Kotlin QR code sharing with full-screen preview.
  • Bluetooth Engine: Reliable svc bluetooth toggling, 14-second auto-restart discovery scanning, cross-referenced active connection checks, and thread-safe device pairing.

⚠️ Important Testing Note & Feedback

Important

Android Version Notice: This release was tested primarily on Android 12. The developer's Android 14 test device is currently broken, so you may encounter minor glitches or layout issues on Android 14+ or specific OEM software.

πŸ’¬ Help Us Improve: If you encounter any bugs or weird behavior, please share your logs and feedback on our Discord Server! Your feedback is invaluable in helping us fix edge cases.


πŸ—ΊοΈ Future Roadmap & Upcoming Features

Here is what we are working on for upcoming releases:

  • ⚑ Titlebar & Window Performance: Optimizing drag-resize and titlebar responsiveness on other Android OS versions and custom OEM ROMs (OneUI, MIUI, OxygenOS).
  • πŸ“¦ APK Size Reduction: Cleaning up bundled media assets to significantly cut down on overall app installation size.
  • πŸ”’ Desktop Mode Lock Screen: Adding a dedicated lock screen experience tailored for desktop windowing mode.
  • πŸŽ₯ Desktop Screen Recording with Internal Audio: Expanding screen recording capabilities to capture system internal audio (currently video recording works, but audio is omitted).

πŸ“¦ Download

Download Freeform-Beta-v1.4.apk from the Assets section below!

Close

Permissions

21 permissions requested

  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.CHANGE_WIFI_STATE
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.INTERNET
  • moe.shizuku.manager.permission.API_V23
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.POST_NOTIFICATIONS
  • android.permission.CAMERA
  • android.permission.SET_WALLPAPER
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.MANAGE_EXTERNAL_STORAGE
  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_ADMIN
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.BLUETOOTH_SCAN
  • com.example.freeformshell.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Close