Swipe gestures
v0.9.7Bind six vertical swipes on the home screen — one, two, and three fingers, up and down — to open the drawer, trigger a system action, or launch an app.
- Settings → Home screen → Gestures
Binding a gesture
Settings → Home screen → Gestures lists six swipe slots — one, two, and three fingers, swiping up or down — each set independently to one of: nothing, opening the drawer, a system action (Notifications, Quick settings, Lock screen, Recents, Power dialog, or Screenshot), or launching a specific app.
By default, one-finger swipe up opens the drawer, one-finger swipe down opens the notification tray, and the four multi-finger slots do nothing until you bind them yourself.
You can rebind one-finger swipe up away from the drawer with no restriction, and there’s no warning if doing so leaves nothing bound to open the drawer by a swipe at all — the change is visible right there on the same row, and undone by changing it back. Settings stays reachable from the home screen’s long-press menu regardless.
Under the hood
slots = {1up, 1down, 2up, 2down, 3up, 3down}
default[1up] = open_drawer
default[1down] = notifications
default[2up] = default[2down] = default[3up] = default[3down] = nothing
claim(slot) =
false if over_scrollable_widget # any finger count yields to a scrollable widget, no exceptions
false if slot == 1up and binding == open_drawer # the drawer's own gesture still runs
true if slot == 1up and binding == nothing # suppresses the drawer outright
false if binding == nothing # the other five stay inert
true otherwise
One-finger swipe up is the odd slot out in two ways. Bound to the drawer, it stays unclaimed so the drawer’s own continuously tracking swipe keeps working. Bound to Nothing, it does the opposite of what you’d expect from the other five slots: it claims the gesture and suppresses the drawer, rather than leaving the drawer’s swipe running. The other five slots bound to Nothing decline instead, leaving the gesture alone entirely — claiming and doing nothing there would suppress the drawer or the notification shade without offering an action in their place.
How a gesture is committed
If your finger begins over a widget that scrolls vertically, no gesture fires there — the widget gets the swipe, so a scrollable widget keeps working normally underneath whatever you’ve bound to swipe up or down elsewhere on the home screen.
A gesture only commits when you lift your finger, not the moment it crosses a distance — so you can start a swipe, change your mind, and drag back to where you started without it firing. It commits once you’ve moved far enough, or if you flick fast enough in the gesture’s own direction, whichever happens first.
Binding a swipe to Notifications or Quick settings normally works immediately, with no extra permission step. The other four system actions — Lock screen, Recents, Power dialog, and Screenshot — need Android’s accessibility service turned on; until you do, that gesture’s row shows a reminder. The first swipe that actually needs the service shows a one-time dialog explaining it and offering to turn it on; every swipe after that stays quiet.
Under the hood
finger_count = pointers currently down, watched for the whole gesture
if finger_count > 3:
gesture = poisoned # a fourth finger cancels any claim
dominance = 2 if finger_count == 1 else 1 # a looser ~45° cone once more than one finger is down
is_vertical_swipe = |dy| ≥ max(slop × dominance, |dx|)
commit_distance = 64dp # roughly a quarter inch; a fast enough flick commits sooner
A gesture can be claimed on the second or third finger touching down, not only on the first — the same code watches the whole gesture rather than deciding everything at the first touch. Notifications and Quick settings normally reach the system through a permission rather than the accessibility service; the service exists as a fallback for the moment that permission stops working, and as the only route for the other four actions, which have no permission equivalent at all.
Limits
Gestures work only on the home screen, vertically, and only when nothing else is in front of it. Three fingers is the ceiling — a fourth pointer cancels the gesture rather than adding a fourth binding. Each slot has one binding for the whole launcher, not a per-page binding. A gesture can only launch an app, not a shortcut or a specific action inside one. Swiping down to close an already-open drawer isn’t one of these six slots either — it’s the drawer’s own built-in gesture, separate from anything you bind here.