Ovvi

Swiping

Session pages in the sidebar, and ⌥ + swipe

  • Two-finger swipe on a trackpad. Pages snap.
  • Sidebar. A sideways swipe on the sidebar moves to the next or previous session page open in the window (Sidebar); not in the overview, where only ⌥ + swipe steps. Archived Sessions and the page dots stay put. At the first or last page the swipe does nothing.
  • Everywhere else. A sideways swipe goes to the content under the pointer, as any scroll does: a card's own sideways scroll (over a browser card, WebKit's back and forward), the tab bar when its tabs do not fit, or nothing. It never changes the tab; tabs change with a click, ⇧⌘[ and ⇧⌘], ⌃⇥, ⌘1–9 and the palette, at once (Tab bar).
  • ⌥ + swipe. With ⌥ (Option) held, a two-finger swipe anywhere in the window, over the cards too, moves between sessions sideways and between the sidebar's rows up or down. Sideways it moves the sidebar's pages as a swipe over them does; with the sidebar hidden, or in the overview, it steps one session, as ⌥⌘[ ] do. Up or down it steps one row: the space above or below, as ⌃⌘[ ] do. Fingers up go to the row above, down to the one below, whatever the scroll direction. One step a gesture; a mouse wheel's burst of clicks with ⌥ steps once too. A swipe begun with ⌥ held never scrolls what is under the pointer, its momentum neither; ⌥ pressed mid-swipe changes nothing. In a floating pane's window, a sheet or under a panel a ⌥ + swipe steps nothing. ⌃ + scroll is the system's zoom and ⇧ + scroll scrolls sideways, so neither is used.
  • One target. The app's scroll monitor locks a gesture to one axis (D35). It gives a sideways gesture over the sidebar (its pages, the dots, Archived Sessions and the filter) to the sidebar's pages; any other gesture goes to the view under the pointer. Under a panel (the palette, Open Session) the sidebar's pages do not move.
  • The sidebar's pages follow the fingers one to one. As the fingers lift they slide on to the page they land on, starting at the fingers' speed: the next page that way, or the nearest page when they move slowly (under 100 pt a second) or stop before they lift. They slide with a spring of response 0.2 s and no bounce (0.14 s feels too quick). At the first and last page the pages stop. The app's scroll monitor gives the pages the gesture's moves and its lift and drops the momentum. The pages are the app's own, not a scroll view's: a scroll view's paging snap is too slow (about 0.4 s) and sends a quick flick back to its page. At rest only the page in view is laid out; the others come in while the pages move. A swipe during a slide takes the pages from where they are. The window shows the session once the pages are drawn on their place, within half a point: its first draw holds the slide still, so shown at the lift it would hold the slide's start, and shown earlier the pages would stop short and jump. A wheel's sideways burst over the sidebar turns one page. Under Reduce Motion the pages switch without motion.
  • First visit to a session page: the app shows herdr's focused space and its active tab. Later visits: the space and tab the user last picked there, in that window.
  • Every swipe also has a keyboard path, a menu path and a button. The keys are in Keyboard shortcuts.

How it works: Swipes and views.