TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
홈 화면에서 앱·연락처·브라우저 탭을 검색하고, 앱 내부 검색이나 웹 탐색도 SearchLauncher에서 바로 가능
Search apps, contacts and browser tabs from your home screen. Search inside apps, or browse the web without leaving SearchLauncher.
생산성Kotlin · JavaScriptGitHub @ontola온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Swipe Search Launcher for Android
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Android app that lets you search everything on your phone and on the web, and opens what you find in its own ad-blocking browser.
Get it on Google Play. APKs are also on GitHub Releases.README 전문 보기 ↗Android app that lets you search everything on your phone and on the web, and opens what you find in its own ad-blocking browser.
Get it on Google Play. APKs are also on GitHub Releases: choose app-play.apk for the same signing identity as Google Play. The older app-release.apk is only for legacy GitHub/F-Droid installs.
Website: searchlauncher.eu (source in website/)
The integrated browser now uses GeckoView, the Firefox engine, with SurfaceView rendering. Supported websites can be installed from Browser menu → Install app and launched from favorites without the browser bar. Long-press the favorite to open in a normal tab or remove app mode. Sites requesting standalone mode keep Android's system bars; fullscreen apps hide them.
Favorites, bookmarks and launcher settings stay in place when updating the production app. WebView cookies, open-page sessions and website storage are not transferred to Gecko, so you may need to sign in again. The separate SearchLauncher Gecko testing app remains a separate install; use export/import to transfer its launcher data if needed.
Website notifications work while Gecko is running. Remote Web Push after the browser process closes is not configured. Passkey support depends on the credential provider's browser policy; per-site storage totals and private popup windows remain unsupported.
git clone https://github.com/ontola/searchlauncher.git
cd searchlauncher
# Format code
./gradlew spotlessApply
# Install to connected device over ADB
./gradlew installDebug
# Run tests
./gradlew test
# Build an optimized test APK that can coexist with Google Play
./gradlew assembleGecko
# Install it as SearchLauncher (Debug Gecko), package com.searchlauncher.app.gecko
./gradlew installGecko
Debug builds always use separate application IDs and names containing Debug.
PR/main CI builds also produce a separate Debug Preview APK, never a production-package APK.
The optimized Gecko test build keeps its existing .gecko ID so it upgrades older experimental
installs without erasing their data. It uses the same Gecko engine as production.
For a production APK that can receive Google Play updates, use app-play.apk from GitHub
Releases. Do not use the legacy app-release.apk: its signing key differs from Google's Play key. The conflict also applies
when the old copy remains in a work profile, Xiaomi Second Space, or another Android user.
See installation conflicts and recovery.
Search shortcuts (y cats searches YouTube) are listed in
app/src/main/resources/search_shortcuts.json.
To add a site or app, add an entry there:
{
"id": "etsy",
"aliases": ["et", "etsy"],
"description": "Etsy Search",
"shortLabel": "Etsy",
"urlTemplate": "https://www.etsy.com/search?q=%s",
"apps": ["com.etsy.android"],
"color": "#F1641E",
"onlyWhenInstalled": true
}
urlTemplate gets the query in place of %s. Web addresses work best: they open in the app when it claims the link, and in the built-in browser otherwise.apps are the Android package names of the app. Its icon replaces the letter tile.onlyWhenInstalled keeps the shortcut hidden until one of those apps is installed, so regional and niche apps are welcome. Leave it out only for shortcuts everyone should get.aliases are the keys to try, shortest first. When the app is installed, the shortcut gets the first key nobody else uses and keeps it. End with one that only this shortcut lists, such as its name. Skip words that start ordinary queries, like a or i../gradlew test checks the file for duplicate ids, a missing last-resort key, missing %s and bad colours.
versionCode and versionName are plain literals in app/build.gradle.kts because F-Droid
parses them straight out of that file. Bump both, add a changelog under
fastlane/metadata/android/en-US/changelogs/<versionCode>.txt, then tag. See
DISTRIBUTION.md.
The marketing site lives in website/ and deploys to
searchlauncher.eu via
.github/workflows/deploy-website.yml
on pushes to main that touch website/.
Setup notes (Pages source + Openprovider DNS records): website/README.md.
This project is open source. See LICENSE file for details.