dock/pill: reserve pill strip (dock floats above), pill swipe-up = dock gesture not home/keyboard
This commit is contained in:
parent
57031bbf4f
commit
ccb51820e5
2 changed files with 17 additions and 12 deletions
|
|
@ -156,6 +156,10 @@ Scope { // Scope
|
|||
bottom: true
|
||||
left: true
|
||||
right: true
|
||||
// Reserve the pill's strip at the very bottom (pill is 26px +
|
||||
// a hair of breathing room). The dock floats just above it so
|
||||
// they never overlap and the pill stays touchable at all times.
|
||||
margins.bottom: 32
|
||||
}
|
||||
|
||||
exclusiveZone: root.dockState === Dock.DockState.Pinned ? implicitHeight - (Appearance.sizes.hyprlandGapsOut) - (Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut) : 0
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
// pill — Phosh-style gesture bar for the Pixel 3.
|
||||
// Gesture map (2026-07-11 rewrite):
|
||||
// double-tap : toggle fullscreen (maximize, mode 1) of the active window
|
||||
// swipe up : go home (empty ws)
|
||||
// Gesture map (2026-07-12):
|
||||
// double-tap : toggle app-mode (fullscreen maximize, mode 1) of active win
|
||||
// swipe up : pulse the dock (ii "dock" swipeUp IPC) — same gesture as
|
||||
// the bottom-edge hyprgrass bind, so there's one dock gesture
|
||||
// regardless of where you swipe from
|
||||
// swipe down : dismiss the dock (ii "dock" swipeDown IPC)
|
||||
// The long-press-for-keyboard binding was REMOVED from the pill; the OSK is
|
||||
// still reachable via the 3-finger-swipe-up hyprgrass bind (hyprland.lua).
|
||||
// Fullscreen mode 1 (maximize/borderless) is used, not mode 0 (true
|
||||
// fullscreen), so it stays reversible and doesn't force clients to redraw
|
||||
// their UI — the phone-friendly default. Apps that want true fullscreen do
|
||||
// it themselves (future advanced per-app toggles).
|
||||
// Keyboard is NOT on the pill. The OSK lives on the 3-finger-swipe-up
|
||||
// hyprgrass bind alone until the grip sensor arrives. Fullscreen mode 1
|
||||
// (maximize/borderless), not mode 0 — reversible, phone-friendly.
|
||||
import Quickshell
|
||||
import Quickshell.Wayland
|
||||
import QtQuick
|
||||
|
|
@ -48,9 +47,11 @@ ShellRoot {
|
|||
if (fired) return
|
||||
if (startY - mouse.y > 35) {
|
||||
fired = true
|
||||
// This Hyprland is the lua fork: hyprctl dispatch takes
|
||||
// lua dispatcher calls, not classic "workspace empty".
|
||||
Quickshell.execDetached(["hyprctl", "dispatch", "hl.dsp.focus({ workspace = \"empty\" })"])
|
||||
// Pulse the dock (brings it on top for a few seconds, or
|
||||
// escalates to overview if already visible). Mirrors the
|
||||
// bottom-edge hyprgrass swipe-up so there's one dock
|
||||
// gesture from either surface.
|
||||
Quickshell.execDetached(["qs", "-c", "ii", "ipc", "call", "dock", "swipeUp"])
|
||||
} else if (mouse.y - startY > 35) {
|
||||
fired = true
|
||||
Quickshell.execDetached(["qs", "-c", "ii", "ipc", "call", "dock", "swipeDown"])
|
||||
|
|
|
|||
Loading…
Reference in a new issue