Skip to content

Flip 1.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 12:02
· 8 commits to main since this release

The halves and quarters are settable too. They were nailed to ⌃⌥ with an
argument attached: every single modifier is already spoken for on the arrows, so
a pair is what is left. The argument holds for how many modifiers, and says
nothing about which two — so Settings › Windows now picks that as well, on the
same keys as everything else, with the display move above it. Each modifier is
listed with the keys it carries rather than all eleven in one table underneath,
which is the only arrangement in which you can see that the two do not tread on
each other.

The reasoning did not go away, it moved into the window that needed it: choose a
single modifier and Flip says what it takes from you, since ⌥ and an arrow is
move-by-word and ⌃ and an arrow switches spaces. The two modifiers on this page
can never collide, whatever you pick — the display moves live in a set the halves
cannot reach — and the tests now prove that across every combination of the two
rather than for the pair that used to be hard-coded.

An older configuration comes back on ⌃⌥, so nothing your fingers know moves.

The application keys have a leader of their own. They used to borrow the
switcher's, which quietly decided one question with the answer to another. The
two are held differently — one is tapped and let go, the other is held while you
aim at a key — and on a board with a Windows bottom row they are not even in the
places their names suggest, so the key that feels like command is the one macOS
calls option.

Settings › Shortcuts picks it as keys rather than from a menu, each carrying its
word, because which modifier this should be is a question about where your thumb
rests. Choosing one with command in it says so plainly: ⌘ and a letter is a
menu shortcut everywhere, and a binding there takes it away.

A file written before this keeps behaving exactly as it did — the shortcut leader
falls back to the switcher's rather than to a default, so nothing moves under an
update. Narrowing an open grid is the one thing that still answers to the
switcher's leader, since that is the modifier already holding the grid open.

The row in the editor also stops claiming ⌥ regardless of what is set. It never
followed the setting at all.

The settings window has pages down the side. Four tabs across the top were
already one more than a tab bar wears well, and each page had to introduce itself
in its own words. Now the pages are a sidebar with a colour each, the page says
its own name at the top, and the keyboard stays where it was along the bottom.

The switcher got a page of its own out of it. General had grown into everything —
what opens the grid, where it appears, how long it waits, what it draws — with
start-at-login and the update check sitting among them as though they were the
same kind of question. They are not: one page is the application, the other is
the grid. The two modifiers that open the switcher are picked as keys there now,
like every other modifier in the window.

Close a window from the grid. ⌥⌫ on the selected tile closes it and leaves
the grid standing, so the window you only opened the switcher to go and close is
gone without ever being focused, and the next one is a keystroke away.

It presses the window's own close button, which is the only close accessibility
offers — so the application still decides what closing means and an unsaved
document still gets to put its sheet up. The tile leaves at once rather than
waiting for the destroyed notification to come back around, and closing the last
one ends the session, because an empty grid answers nothing.

Held down it acts once. Backspace is a key people lean on, and a repeat would
empty the grid before they let go. With ⌘ held it does nothing at all: that is
⌘⌫, which means move-to-trash everywhere else.

The shortcuts editor records the key you press. It was a text field, so it
could only ever be given characters — and F1 to F12 are perfectly good bindings.
bindings.json could name them and the editor could not, which is a strange
place for a settings window to be. Click the key, press the one you want.

Recording asks Flip's own tap to stand down for the moment, or a key that is
already bound would be answered by that binding instead of arriving: F1 above
all, which ships bound out of the box and is exactly the key this is for. It
gives the keys back after five seconds if nothing is pressed, and pausing keeps
the last word — resuming from here cannot undo it.


Installing

brew install --cask mxwnk/tap/flip

Or take the disk image below. Flip is signed with its own certificate
rather than notarised, so a copy installed by hand has to be allowed once
under System Settings › Privacy & Security. Homebrew does that for you.

Accessibility is asked for on first run, Screen Recording only if you
want thumbnails. Both survive updates: the signature is pinned to the same
certificate every release, and the pipeline refuses to publish one where
it has drifted.