Peristyle: an Android wallpaper manager built around your own folders
Advance wallpaper manager app for Android with cool glassmorphic UI, tags, auto wallpaper, custom effects and multiple folder support and a native live wallpaper picker.
At a glance
- What is it?
- Peristyle is a Kotlin and Jetpack Compose app for browsing local wallpaper folders, tagging images, applying blur and colour filters before setting a wallpaper, and rotating wallpapers automatically per screen. It ships on F-Droid and GitHub releases under Apache-2.0, and it asks for storage permissions that some users push back on.
- Who is it for?
- Peristyle fits an Android user whose wallpapers live in folders they control, who wants tags, filters and automatic rotation without accounts or ads, and who is willing to grant storage access to the app. It does not fit someone who wants a curated wallpaper feed with no storage permission involved, since the app is built around reading local directories.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- 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 wallpaper manager that starts from your own folders
Peristyle is a simple wallpaper manager for Android, written in Kotlin with Jetpack Compose. The reason for its existence is stated in the README in unusually blunt terms: it exists because other apps are bloated with features and support locally stored wallpapers poorly, when all the user wanted was an app to browse, select, manage and set their own wallpapers. That framing sets the audience. It is for someone with a folder of images on the device who wants those images used, not for someone who wants a curated feed of new wallpapers. The architecture is described as simple, and the app browses images and hands the chosen one to the system wallpaper manager rather than drawing its own wallpaper service, which is a small decision with large consequences for battery use and for how the app behaves on different Android versions.
Tags, multiple folders and .nomedia scanning shape the library
The organisation model is where most wallpaper apps differ, and Peristyle's is folder based with tagging on top. It supports multiple folders, so a library can be split across internal storage, an SD card and any shared volume the user grants. Any wallpaper can be assigned tags, which is what makes automatic rotation and filtering usable at scale. There is also support for scanning .nomedia directories, and the README explains the reason plainly: to keep wallpapers out of the phone gallery. That is a deliberate choice about how the images live on the device rather than about the app's own storage. Combined, these three features give the user a library that is browsable by folder or by tag and can be kept out of the system gallery, which is the practical difference between this app and a gallery reader.
Blur and colour filters are applied before the wallpaper is set
Peristyle can apply blur and colour filters dynamically to any wallpaper before applying it, and the README also claims lossless editing and applying of filters on wallpapers in realtime. The practical effect is that the filter is a property of how the image is presented rather than a destructive edit that has to be undone later, so the original file stays available. The app also compresses or reduces images on the fly, which matters on devices where a 4K wallpaper set is measured in gigabytes and the system imposes its own size limits. The visual side of the app is described as glassmorphic, built on realtime blur effects and caustic shadows, with Material You colour theming and dark mode support. Those are rendering choices, and they are the part of the project most likely to behave differently across Android versions, since realtime blur depends on what the platform compositor offers.
Auto wallpaper rotation can be triggered from outside the app
Automatic wallpaper change is supported with dedicated folders and tags for each screen, so a phone can show one set of images on the home screen and another on the lock screen. Two mechanisms make that work. The first is permission based: the app asks for REQUEST_IGNORE_BATTERY_OPTIMIZATIONS so the AutoWallpaperService can run whenever it is needed, which is what keeps a scheduled rotation alive on aggressive battery managers. The second is a public intent, documented in the README, with the action name app.peristyle.START_AUTO_WALLPAPER_SERVICE. Because the trigger is an intent rather than a UI button, any automation or scheduling tool can fire it and create its own scenarios, including changing the wallpaper on a custom event such as locking or unlocking the device. That is the interesting integration point for people who already run their own automation stack.
Storage permissions are the price of the folder-first design
Peristyle needs MANAGE_EXTERNAL_STORAGE and READ_MEDIA_IMAGES to show the system wallpapers in the app, and the README points to a specific issue thread where this has been discussed, which signals that it is a contested point rather than a settled one. It also needs access to any wallpaper directories the user specifies, on top of the battery optimisation permission. Read that set of requirements against the alternative designs and the trade-off becomes clear: an app that ships its own wallpapers needs almost no permission, but cannot touch the folders you already have. The permission cost of the folder-first approach is real, and on recent Android versions broad storage access is exactly the kind of grant that users and reviewers scrutinise. The README does not describe any fallback for a user who declines the permission.
Distribution through F-Droid, GitHub releases and IzzyOndroid
There is no build instruction in the README, and there does not need to be one for most users. The download section points at the GitHub release, the F-Droid listing under the package identifier app.simple.peri, and an IzzyOndroid repository, so the intended install path is a signed release or an F-Droid style client rather than a source build. The repository itself is a conventional Gradle project with an app module, a fastlane directory holding the store listing and screenshots, a crowdin.yml file and a LEGACY.md file. The README also advertises a fully reproducible build as a feature, which is a meaningful claim for an app that asks for storage access, since it lets a reviewer confirm that the binary matches the source. Translations are managed through Crowdin, so a new locale is contributed there rather than by editing source strings directly.
v9.8.x releases with a same-day tag and push
The release cadence is fast and the versions are high, which is common for a single maintainer app that ships to several Android versions. The recent tags are v9.8.1 on 2026-09-25, v9.8.2 on 2026-10-08 and v9.8.3 on 2026-10-16, and the last push to the repository was on 2026-10-16, the same day as the newest tag. In other words, the tag and the working tree are in step, and there is no sign of a repository that has been parked. For a user, that fast cycle means bug fixes arrive quickly but also that upgrade notes matter, since a nine-version jump in the scheme is ordinary here. The licence is Apache-2.0, and the README reproduces the standard notice in full:
Copyright 2023 Hamza Rizwan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.The project also ships a code of conduct and a security policy.
A built-in Wallhaven client sits oddly beside the no-internet claim
One feature deserves a flag rather than praise. The feature list advertises a built-in Wallhaven client for browsing and downloading wallpapers from the internet, while the same list claims no ads, no tracking, no analytics, no internet permissions and no unnecessary permissions. Both statements are in the README, and the README does not explain how the browsing feature is reconciled with the absence of an internet permission, since an embedded web view can fetch content without the app holding the permission itself, but the document does not say that is what happens here. Anyone whose reason for choosing the app is the no-permissions, offline posture should treat the Wallhaven client as a feature that changes that posture and verify the behaviour on their own device before assuming the strictest reading.
Editorial conclusion
Peristyle fits an Android user whose wallpapers live in folders they control, who wants tags, filters and automatic rotation without accounts or ads, and who is willing to grant storage access to the app. It does not fit someone who wants a curated wallpaper feed with no storage permission involved, since the app is built around reading local directories. Before installing, read the permission section and the linked discussion of MANAGE_EXTERNAL_STORAGE and READ_MEDIA_IMAGES, and check whether the Wallhaven browsing feature matters to you given the stated absence of internet permissions.
Frequently asked questions
How do I install Peristyle on Android?
The README points to the GitHub release page, the F-Droid listing under the package identifier app.simple.peri, and an IzzyOndroid repository. No build instructions are given for installing from source.
Which permissions does Peristyle need and why?
It needs MANAGE_EXTERNAL_STORAGE and READ_MEDIA_IMAGES to show the system wallpapers in the app, plus access to any wallpaper directories the user specifies, and REQUEST_IGNORE_BATTERY_OPTIMIZATIONS so the AutoWallpaperService can run when required. The README links to a discussion of the storage permissions in issue 72.
Can Peristyle change the wallpaper automatically?
Yes. Auto wallpaper change is supported with dedicated folders and tags for each screen, and the service can be started externally through the intent action app.peristyle.START_AUTO_WALLPAPER_SERVICE, which lets automation tools trigger it for events such as locking or unlocking.
Does Peristyle add filters to wallpapers?
The app can apply blur and colour filters dynamically to a wallpaper before setting it, and the README also describes editing and applying filters losslessly in realtime. It can also compress or reduce images on the fly.
Official sources
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.
[](https://hysenlabs.com/projects/hamza417-peristyle)Was this useful?