Library / SDK
Mahmud0808/PixelLauncherEnhanced avatar
Mahmud0808/PixelLauncherEnhanced

Pixel Launcher Enhanced: an Xposed module that rewrites launcher behaviour

An Xposed module to unleash the full potential of your launcher!

555 stars40 forksKotlinGPL-3.0

At a glance

What is it?
Pixel Launcher Enhanced is a Kotlin Xposed module that patches a home screen at runtime to add features the stock launcher does not have, from icon shape and size controls to per-app icons, hidden apps and a frosted dock. It works on Pixel Launcher and on Launcher3, and the support is not identical between the two.
Who is it for?
Pixel Launcher Enhanced fits a user on Pixel Launcher or a stock Launcher3 device who wants the icon, dock and app drawer controls that custom launchers usually charge for, and who is willing to run a module that modifies the launcher process. It does not fit a user who wants a replacement launcher rather than a patch to one, since the module only changes what is already installed, and it does not fit a device where the launcher in use is neither Pixel Launcher nor Launcher3.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A patch to your launcher, not a launcher

Pixel Launcher Enhanced is an Xposed module, and that single word determines what the project is. It does not replace your home screen. It runs inside the launcher process, hooks its internals, and changes the behaviour of the launcher already on your phone.

The README says the module is designed to add a variety of features to your launcher, and the important detail in the same paragraph is the scope note. Even though the name suggests it is for Pixel Launcher, it also fully supports Launcher3. That sentence is the reason the project matters beyond one app, because Launcher3 is the launcher implementation that ships with AOSP and is what most Android devices without a third party home screen are running.

The support matrix in the README is a set of tables, one per area of the launcher, with a column for Pixel Launcher and a column for Launcher3. The legend marks fully supported, partially supported, and not supported. Almost every row is fully supported on both, which is a deliberately narrow title for a much broader capability, and the exception is instructive rather than cosmetic: search bar frosted and liquid glass is fully supported on Pixel Launcher and marked not supported on Launcher3.

The project is written in Kotlin, licensed GPL-3.0 with the LICENSE file at the root, the default branch is master, and the homepage is mahmud0808.github.io/PixelLauncherEnhanced/. The last push to the repository was on 2026-10-20, and the recent releases are v1.1.0 from 2026-04-20, v1.0.3 from 2025-05-04 and v1.0.2 from 2025-04-16.

What the home screen and dock tables add

The home screen table is where the module starts to look like a settings app rather than a set of visual tweaks. Homescreen columns and rows, icon labels on desktop, page transitions, endless page scrolling, hide At A Glance, lock layout, wallpaper zooming, hide statusbar, hide top shadow, dark statusbar icon, hide page indicator and dark page indicator are all listed as fully supported on both launchers.

Several of these are the kind of setting a user discovers exists and then wants everywhere. Wallpaper zooming hides the home screen page indicator, and hiding the status bar removes a permanent strip of screen, both of which trade system information for a cleaner surface. Lock layout is a static mode that stops accidental swipes, and endless page scrolling is the opposite: it removes the hard stop at the last page. Hide At A Glance matters on devices that show the next calendar entry or a weather summary at the top of the home screen.

The dock table is where the module goes further than most launchers. Disable dock, hide desktop search bar, dock frosted and liquid glass, dock tint color, floating or attached dock, dock margin and corner radius, and dock top and bottom spacing are all supported on both. A floating dock with a margin and a corner radius you choose is the kind of thing that used to mean writing a launcher from scratch, and here it is a table row.

Frosted and liquid glass is the term the module uses for the translucent blur treatment, and it appears in the dock table, the folder table and the widgets table, where widget frosted and liquid glass is supported alongside free widget resizing and remove widget backgrounds.

Icons, where the granularity gets unusual

The icon table is the longest one in the README, and it is where the module offers something genuinely different rather than a set of options most launchers already have.

Icon packs with fallback order means a themed pack that does not cover every app falls back to another pack rather than to a blank or unthemed icon. Themed icon packs, per-app icons and per-app themed icons mean an individual app can have its own icon and its own themed variant, and the icon can differ between the home screen and the app drawer, since separate home screen icons and themed icons in app drawer are both separate rows. Rename apps and shortcuts, home screen shortcut icons, custom icon shape, icon size, text size, remove shortcut icon badge, force themed icons, and a second row for themed icons are all supported on both launchers.

The last two entries deserve a second look because they interact. Themed icons and themed icons in app drawer are separate toggles, so the two surfaces can be themed independently, and force themed icons is a separate row from themed icons, which suggests the default behaviour can be overridden when a themed pack has a gap.

This is the part of the module where the difference between a launcher and a launcher patch shows. A stock Launcher3 draws one icon per package, and a themed pack either has an icon for your app or it does not. Here the granularity is per app, per surface, with a fallback order, which is closer to a theme engine than to a setting.

App drawer, folders and widgets

The app drawer table is the third largest, and it contains the two features that change how the launcher is used rather than how it looks.

Hide apps from app drawer removes an app from the drawer without uninstalling it, and search hidden apps makes those hidden apps findable anyway, which turns hiding into a de-emphasis rather than a removal. Toggle hidden apps from homescreen popup exposes the hidden set from the home screen itself, so you can reach what you hid without going into settings. App drawer columns, row height multiplier, icon labels in app drawer, app drawer background opacity, hide scrollbar, toggle app search bar, quick launch, app drawer tabs, tabs at the bottom, edit apps in built-in tabs and disable app drawer are all supported on both launchers.

Disable app drawer is the aggressive one, and paired with quick launch and app drawer tabs it describes a home screen where the drawer is either a working surface with its own tab structure or not there at all.

The folder table adds folder columns and rows, tap folder to open first app, folder cover mode, folder frosted and liquid glass, and folder background tint, all on both launchers. Folder cover mode is the one that changes interaction, since a folder that opens directly on the app inside it removes a step.

Widgets are the smallest table: free widget resizing, widget frosted and liquid glass, and remove widget backgrounds, supported on both.

Installing it, and what the repository says to look at

The README text available here does not include a command line for installation, and the repository does not ship a prebuilt install script that the documentation points to. What it does point to is the GitHub releases page, which is where the built module is published, and a project homepage at mahmud0808.github.io/PixelLauncherEnhanced/ where the documentation lives.

The project home is the place to start for the parts the README does not cover. The repository has a docs/ directory, and the homepage is a GitHub Pages site, so the instructions for enabling the module, choosing a compatible Xposed implementation and the supported Android versions live there rather than in the README.

The build system is visible from the repository layout. There is an app/ directory for the module itself, a ModuleBase/ directory, a root build.gradle.kts and settings.gradle.kts for the Gradle build, a gradle/ directory with the wrapper, gradlew and gradlew.bat for the wrapper scripts, and gradle.properties. The Kotlin toolchain with the Gradle wrapper is what a contributor uses to produce a build, and the module is then installed on a device the same way any Xposed module is.

One more file in the root is worth knowing about. crowdin.yml indicates that the translation of the module's strings is handled through Crowdin, which means a non-English install gets a translated settings screen, and a contributor who wants to help with translations works through that platform rather than editing strings in the source.

Where this module is the wrong choice

Three cases point elsewhere. The first is a user who wants a different launcher. This is a patch, so it applies to a launcher you already have. If the answer to your problem is Nova Launcher, Smart Launcher or Lawnchair, installing this module on top of a stock launcher is the wrong path, because those launchers ship many of these options themselves and would conflict with a module that is also rewriting the same surface.

The second is a device whose launcher is neither Pixel Launcher nor Launcher3. The entire support matrix is built around those two, and a manufacturer launcher, or a heavily themed third party one, is not in scope. A module that hooks launcher internals is sensitive to the version it hooks into, so a launcher that happens to be Launcher3-derived but heavily modified is a different situation from the plain AOSP implementation the table describes.

The third is a user who will not run a hooking framework. Xposed-style modules require a modified or patched runtime, which is a real security decision, and the module's own licence and the framework's are separate questions. If a device's integrity matters more than the launcher tweaks, the honest answer is to stay on the stock launcher and adjust what it does offer.

The alternative worth weighing is a standalone custom launcher, and the difference in approach is architectural. A custom launcher owns the whole home screen, so it can implement anything, and it ships as an ordinary APK with no framework requirement. A module like this one owns nothing and changes the behaviour of code it does not ship, so its feature list is bounded by what the hooked launcher allows and by what the hooking framework permits. For a user who wants a different look, a custom launcher is the more honest choice; for a user who is happy with the current launcher but wants more control over it, the module is the smaller step.

Editorial conclusion

Pixel Launcher Enhanced fits a user on Pixel Launcher or a stock Launcher3 device who wants the icon, dock and app drawer controls that custom launchers usually charge for, and who is willing to run a module that modifies the launcher process. It does not fit a user who wants a replacement launcher rather than a patch to one, since the module only changes what is already installed, and it does not fit a device where the launcher in use is neither Pixel Launcher nor Launcher3. Before you install it, read the support table for the launcher you actually have, because the README marks one dock feature as not supported on Launcher3, and note that the module is GPL-3.0 with a custom build system, so trust in what you flash comes down to the Xposed framework you pair it with.

Frequently asked questions

What is Pixel Launcher Enhanced?

It is an Xposed module that adds features to an existing Android launcher, covering the home screen, dock, folders, widgets, app drawer and icons. Despite the name it also fully supports Launcher3, and the project is written in Kotlin and licensed under GPL-3.0.

Does Pixel Launcher Enhanced work with Launcher3 and not just Pixel Launcher?

Yes. The README states that even though the name suggests it is for Pixel Launcher, it also fully supports Launcher3, and the feature tables in the README have a column for each of the two launchers with fully, partially and not supported marks.

What per-app customisation does Pixel Launcher Enhanced offer?

Per-app icons and per-app themed icons, separate home screen icons, home screen shortcut icons, icon packs with fallback order, themed icon packs, force themed icons, custom icon shape, icon size, text size, and the ability to remove a shortcut icon badge.

Which features are not supported on Launcher3?

In the tables published in the README, search bar frosted and liquid glass is listed as fully supported on Pixel Launcher and not supported on Launcher3. Every other row shown in the home screen, dock, folders, widgets, app drawer and icons tables is marked fully supported on both launchers.

How do I get Pixel Launcher Enhanced?

Built modules are published on the GitHub releases page, and the project documentation is at mahmud0808.github.io/PixelLauncherEnhanced/ with a docs/ directory in the repository. The source is a Gradle and Kotlin project with an app/ directory, a ModuleBase/ directory and the gradlew wrapper scripts.

Official sources

  1. License: GPL-3.0
  2. Mahmud0808/PixelLauncherEnhanced on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/mahmud0808-pixellauncherenhanced.svg)](https://hysenlabs.com/projects/mahmud0808-pixellauncherenhanced)

Was this useful?