TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Meta Neural Band gestures on Android — companion to air-gestures · Mirror of https://gitlab.com/896kb/air-gestures-android — issues and merge requests there.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Use a Meta Neural Band with an Android phone: thumb swipes, taps, a middle-finger hold and pinch-and-turn control music, volume, brightness and the screen. The Android side of air-gestures for Linux. Not affiliated with Meta.
Site: https://band.896.ro
Download the latest APK and install it on an Android 10+ phone:
https://gitlab.com/896kb/air-gestures-android/-/releases/permalink/latest/downloads/air-gestures.apk
Tested on a Xiaomi 17 Pro. On HyperOS, turn on Autostart for the app and set its battery saver to No restrictions, or the system stops it in the background.
The band can be claimed right on the phone: tap Claim under Setup, sign in to Meta on Meta's own page in the app, then hold the band's button for 3 seconds until it flashes (pairing mode) and pick it in the system's list, which also links it so Android can wake the app when the band comes into range. Claiming makes the phone the band's owner: it unlinks the band from Meta's glasses and app, and a key from a computer that claimed it before stops working. The app keeps the Meta sign-in encrypted on the phone; Sign out under Setup deletes it.
Or use a band that was claimed with the Linux app:
air-gestures pair, then run air-gestures export;
it writes air-gestures-band.json (the owner key and the band's address).air-gestures disconnect on the computer (the band talks to one device at a time)
and tap the power button in the app.It works the other way too: Setup → Export the key saves the same file from the phone, and
air-gestures import air-gestures-band.json uses it on the computer. Keep the file private and
delete it once imported: anyone holding it can control the band.
The first connection may need the band in pairing mode (hold its button 3 s); after that the phone reconnects on its own.
Every gesture except the middle hold can be mapped: play or pause, next or previous track, volume, mute, brightness, swipe the screen up, down, left or right, Back, Home, Recent apps, the flashlight, or open an app you pick. Pinch and turn is a dial for volume, playback position (5 s per step) or brightness. The middle hold turns the controls off and on. Screen actions and opening apps need the app's accessibility service; brightness needs Modify system settings; playback position needs notification access (to reach the playing app's media session; no notifications are read). The app shows each under Setup when a gesture needs it.
Needs the Android SDK (platform 36) and NDK, JDK 21, and Rust with the
aarch64-linux-android target and cargo-ndk.
rust/band-core is a git submodule (band-core, shared with the Linux daemon): clone with git clone --recursive, or run git submodule update --init after a plain clone.
./build-rust.sh # the Rust bridge → app/src/main/jniLibs
./gradlew assembleDebug
A debug build is its own app, dev.kb896.airgestures.dev ("Air Gestures (dev)", with a dev
tab on its icon), so it installs beside the release instead of over it. Only one of them
can hold the band at a time. scripts/push-identity.sh gives it the desktop's band key.
cd rust && cargo test runs the protocol and bridge tests against a simulated band.
MIT, see LICENSE. Parts of the protocol core started from
callbacked/kinesis (MIT), whose notice is in
LICENSE-kinesis. Fonts: Geist (OFL). Icons: Lucide (ISC). Handwriting
word data: app/src/main/assets/words.txt from FrequencyWords (CC BY-SA 4.0, and so this
file too), pairs.txt from Tatoeba (CC BY 2.0 FR); see app/src/main/assets/licenses.txt.