Lawnchair is a free, open-source home app for Android. Taking Launcher3 — Android’s default home app — as a starting point, it ports Pixel Launcher features and introduces rich options for customization. This branch houses the codebase of Lawnchair 12.1, currently in alpha and based on Launcher3 from Android 12.1. For Lawnchair 9, 10, 11, and 12, see the branches with the 9-
, 10-
, 11-
, and 12-
prefixes, respectively.
Whether you’ve fixed a bug or introduced a new feature, we welcome pull requests! (If you’d like to make a larger change and check with us first, you can do so via Lawnchair’s Telegram group chat.) To help translate Lawnchair 12.1 instead, please see “Translate.”
You can use Git to clone this repository:
git clone --recursive https://github.com/LawnchairLauncher/lawnchair.git
To build the app, select the lawnWithQuickstepDebug
build type. Should you face errors relating to the iconloaderlib
and searchuilib
projects, run git submodule update --init --recursive
.
Here are a few contribution tips:
-
The
lawnchair
package houses Lawnchair’s own code, whereas thesrc
package includes a clone of the Launcher3 codebase with modifications. Generally, place new files in the former, keeping changes to the latter to a minimum. -
You can use either Java or, preferably, Kotlin.
-
Make sure your code is logical and well formatted. If using Kotlin, see “Coding conventions” in the Kotlin documentation.
-
Set
12.1-dev
as the base branch for pull requests.
You can help translate Lawnchair 12.1 on Crowdin. Here are a few tips:
-
When using quotation marks, insert the symbols specific to the target language, as listed in this table.
-
Lawnchair uses title case for some English UI text. Title case isn’t used in other languages; opt for sentence case instead.
-
Some English terminology may have no commonly used equivalents in other languages. In such cases, use short descriptive phrases—for example, the equivalent of bottom row for dock.
You can view all our links in the Lawnchair Wiki.