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 14, which is currently in beta and is based on Launcher3 from Android 14. For Lawnchair 9 to 13, see the branches with the 9-
to 13-
prefixes, respectively.
- Pixel Launcher-like UI with Material You design
- At a Glance widget with Smartspacer support
- QuickSwitch support
- Global Search support
- Icons, fonts, and colors customization
- And more!
See the Releases section for the latest beta build. For development builds with new icons, use the nightly builds.
Please visit the Lawnchair Contributing Guidelines for information and tips on contributing to Lawnchair.
You can view all our links in the Lawnchair Wiki.
What’s Changed
- Update dependency androidx.compose:compose-bom to v2024.04.00 by @renovate in #4200
- Update dependency androidx.compose.material3:material3 to v1.3.0-alpha04 by @renovate in #4196
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-alpha04 by @renovate in #4197
- Re-enable modifier missing check rule by @Goooler in #4172
- Reorder lambda params in Composable by @Goooler in #4173
- Update plugin com.google.devtools.ksp to v1.9.23-1.0.20 by @renovate in #4222
- Flatten Navigation hiearchy by @SuperDragonXD in #4233
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4238
- Update dependency com.kieronquinn.smartspacer:sdk-client to v1.0.8 by @renovate in #4237
- Update plugin com.gradle.develocity to v3.17.1 by @renovate in #4254
- Update AGP to v8.3.2 by @renovate in #4255
- Give nightly release and apk pretty names by @osm0sis in #4264
- Use short sha in nightly filename, remove disallowed parentheses by @osm0sis in #4272
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.14 by @renovate in #4276
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.15 by @renovate in #4278
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4280
- Use safeDrawingPadding for ModalBottomSheetContent by @t895 in #4289
- Update dependency androidx.activity:activity-compose to v1.9.0 by @renovate in #4304
- Update plugin androidx.baselineprofile to v1.2.4 by @renovate in #4303
- Update dependency composeOptions to v1.5.12 by @renovate in #4302
- Update dependency androidx.compose:compose-bom to v2024.04.01 by @renovate in #4301
- Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.2.4 by @renovate in #4300
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-alpha05 by @renovate in #4299
- Update plugin com.gradle.develocity to v3.17.2 by @renovate in #4296
- Update dependency androidx.core:core-ktx to v1.13.0 by @renovate in #4305
- Update dependency androidx.datastore:datastore-preferences to v1.1.0 by @renovate in #4306
- Update dependency androidx.compose.material3:material3 to v1.3.0-alpha05 by @renovate in #4298
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4313
- Update dependency com.kieronquinn.smartspacer:sdk-client to v1.0.9 by @renovate in #4314
- Enable automatic per-app language support by @validcube in #4312
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.16 by @renovate in #4318
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.17 by @renovate in #4321
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.18 by @renovate in #4326
- Update dependency com.google.errorprone:error_prone_annotations to v2.27.0 by @renovate in #4330
- Don’t elevate priority for devices below Q by @validcube in #4331
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4334
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.19 by @renovate in #4340
- Kotlin 2.0.0-RC2 by @Goooler in #4343
- Update AGP to v8.4.0 by @renovate in #4346
- Update plugin com.google.devtools.ksp to v2.0.0-RC2-1.0.20 by @renovate in #4345
- Update dependency com.google.errorprone:error_prone_annotations to v2.27.1 by @renovate in #4355
- Update dependency androidx.datastore:datastore-preferences to v1.1.1 by @renovate in #4354
- Update dependency androidx.core:core-ktx to v1.13.1 by @renovate in #4353
- Update dependency androidx.core:core-animation to v1.0.0 by @renovate in #4352
- Update dependency androidx.compose:compose-bom to v2024.05.00 by @renovate in #4356
- Update dependency com.google.android.material:material to v1.12.0 by @renovate in #4357
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.20 by @renovate in #4358
- Improvement to Lawnchair by @validcube in #4338
- Correct versionCode semantic by @validcube in #4361
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4363
- Name Nightly with CI number before commit hash by @osm0sis in #4366
- Update Google Fonts listing by @validcube in #4362
- Update Kotlin, KSP and Compose Compiler by @renovate in #4374
- Update plugin com.gradle.develocity to v3.17.3 by @renovate in #4373
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4378
- Update dependency io.nlopez.compose.rules:ktlint to v0.3.21 by @renovate in #4381
- Update plugin com.google.devtools.ksp to v2.0.0-RC3-1.0.20 by @renovate in #4386
- Update androidx.lifecycle to v2.8.0 by @renovate in #4390
- Use collectAsStateWithLifecycle to safely collect uiState by @Goooler in #4385
- Update dependency io.nlopez.compose.rules:ktlint to v0.4.1 by @renovate in #4395
- Update plugin com.gradle.develocity to v3.17.4 by @renovate in #4397
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4404
- Fix isVisible NoSuchField issue on devices below Android 12 by @berkekbgz in #4402
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-beta01 by @renovate in #4351
- Update AGP to v8.4.1 by @renovate in #4406
- Update dependency com.kieronquinn.smartspacer:sdk-client to v1.0.10 by @renovate in #4411
- Kotlin 2.0.0 by @renovate in #4408
- Update plugin com.google.devtools.ksp to v2.0.0-1.0.21 by @renovate in #4412
- Update protocVersion to v4.27.0 by @renovate in #4415
- Improve Lawnchair documentation by @JovannMC in #4370
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4419
- Update dependency io.nlopez.compose.rules:ktlint to v0.4.2 by @renovate in #4423
- Update dependency com.airbnb.android:lottie to v6.4.1 by @renovate in #4421
- Update dependency io.nlopez.compose.rules:ktlint to v0.4.3 by @renovate in #4424
- Update dependency androidx.appcompat:appcompat to v1.7.0 by @renovate in #4433
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-beta02 by @renovate in #4432
- Update androidx.lifecycle to v2.8.1 by @renovate in #4430
- Update crowdin/github-action action to v2 by @renovate in #4428
- Update dependency androidx.compose.material3:material3 to v1.3.0-beta02 by @renovate in #4431
- Update dependency androidx.navigation:navigation-compose to v2.8.0-beta02 by @renovate in #4436
- Update dependency com.google.errorprone:error_prone_annotations to v2.28.0 by @renovate in #4442
- Update dependency gradle to v8.8 by @renovate in #4443
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4444
- Update dependency io.github.fornewid:material-motion-compose-core to v1.2.1 by @renovate in #4445
- Fixed crashes with gesture by @MrSluffy in #4417
- Update plugin com.google.devtools.ksp to v2.0.0-1.0.22 by @renovate in #4451
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.0 by @renovate in #4454
- Update protocVersion to v4.27.1 by @renovate in #4453
- Update dependency io.nlopez.compose.rules:ktlint to v0.4.4 by @renovate in #4452
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4463
- Update AGP to v8.4.2 by @renovate in #4472
- Update dependency androidx.navigation:navigation-compose to v2.8.0-beta03 by @renovate in #4479
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-beta03 by @renovate in #4478
- Update androidx.lifecycle to v2.8.2 by @renovate in #4476
- Update plugin com.gradle.develocity to v3.17.5 by @renovate in #4480
- Update dependency androidx.compose.material3:material3 to v1.3.0-beta03 by @renovate in #4477
- Update dependency androidx.compose:compose-bom to v2024.06.00 by @renovate in #4481
- Update dependency androidx.concurrent:concurrent-futures to v1.2.0 by @renovate in #4482
- Update AGP to v8.5.0 by @renovate in #4483
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4486
- Update dependency com.github.topjohnwu.libsu:core to v5.3.0 by @renovate in #4489
- Add Support for big screen by @MrSluffy in #4461
- Update to conform to Material Design’s style guide by @Susexe in #4209
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4499
- Update dependency androidx.test.espresso:espresso-core to v3.6.0 by @renovate in #4504
- Update dependency androidx.test.ext:junit to v1.2.0 by @renovate in #4505
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.1 by @renovate in #4510
- Update protocVersion to v4.27.2 by @renovate in #4511
- Update dependency androidx.navigation:navigation-compose to v2.8.0-beta04 by @renovate in #4518
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-beta04 by @renovate in #4516
- Update dependency androidx.compose.material3:material3 to v1.3.0-beta04 by @renovate in #4515
- Update dependency androidx.test.espresso:espresso-core to v3.6.1 by @renovate in #4519
- Update dependency androidx.test.ext:junit to v1.2.1 by @renovate in #4520
- Update dependency com.github.topjohnwu.libsu:service to v6 by @renovate in #4523
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4528
- Clarified web suggestion provider icon string by @HarmfulBreeze in #4534
- Update androidx.lifecycle to v2.8.3 by @renovate in #4535
- Update dependency io.nlopez.compose.rules:ktlint to v0.4.5 by @renovate in #4536
- Update dependency com.kieronquinn.smartspacer:sdk-client to v1.0.11 by @renovate in #4540
- fix recents activity crash on Android 12 by @sandstranger in #4530
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4550
- Update dependency androidx.navigation:navigation-compose to v2.8.0-beta05 by @renovate in #4556
- Update AGP to v8.5.1 by @renovate in #4558
- Update dependency gradle to v8.9 by @renovate in #4557
- Update plugin com.google.devtools.ksp to v2.0.0-1.0.23 by @renovate in #4561
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4566
- Update dependency com.google.errorprone:error_prone_annotations to v2.29.0 by @renovate in #4575
- Added Yandex QSB Provider by @hotmule in #4545
- Update dependency com.google.errorprone:error_prone_annotations to v2.29.1 by @renovate in #4579
- Update dependency io.coil-kt:coil-compose to v2.7.0 by @renovate in #4578
- Update dependency com.google.errorprone:error_prone_annotations to v2.29.2 by @renovate in #4581
- New Crowdin translations by GitHub Action by @lawnchair-bot in #4583
- Update plugin com.gradle.develocity to v3.17.6 by @renovate in #4586
- Update dependency androidx.navigation:navigation-compose to v2.8.0-beta06 by @renovate in #4595
- Update dependency androidx.activity:activity-compose to v1.9.1 by @renovate in #4593
- Update dependency androidx.compose.material3:material3-window-size-class to v1.3.0-beta05 by @renovate in #4594
- Update androidx.lifecycle to v2.8.4 by @renovate in #4592
- Launcher3: quickstep: TouchInteractionService: Do not crash on boot by @nivlafx in #4589
- Update dependency androidx.compose.material3:material3 to v1.3.0-beta05 by @renovate in #4597
New Contributors
- @osm0sis made their first contribution in #4264
- @t895 made their first contribution in #4289
- @berkekbgz made their first contribution in #4402
- @JovannMC made their first contribution in #4370
- @Susexe made their first contribution in #4209
- @HarmfulBreeze made their first contribution in #4534
- @sandstranger made their first contribution in #4530
- @hotmule made their first contribution in #4545
- @nivlafx made their first contribution in #4589
Full Changelog: v14.0.0-beta2...nightly