Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vi bindings, and the freestyle usage mode #15

Merged
merged 4 commits into from
Jan 23, 2022
Merged

Conversation

mjrusso
Copy link
Owner

@mjrusso mjrusso commented Jan 23, 2022

This PR adds support for navigation using vi bindings, and introduces a new usage mode (invoked with the ⇧⌘L global keyboard shortcut). For more context, see #12.

Thanks to @shadowgate15 for contributing (and adapting) the vi bindings.

Usage details are documented in the README, but a few notes for posterity —

The vi bindings need to be explicitly enabled. To turn them on:

defaults write ~/Library/Preferences/com.mjrusso.Scoot.plist KeybindingMode vi

(No UI for this, yet.)

Be sure to restart Scoot after toggling vi bindings on, or the app won't see the changes.

Freestyle mode is an alternative usage mode. When activated, it will bring Scoot to the foreground, but not activate any of the special "character based decision tree" machinery for moving around. However, all of the other keyboard shortcuts (the ones based on text editing shortcuts) will continue to work.

Freestyle is a freeform usage mode that offers no special
navigation assistance. (The existing support for moving the
cursor using document editing shortcuts, both MacOS + Emacs, will
work, as they do in the other modes.)

This mode is a stepping stone for enabling additional keyboard
shortcuts for moving the cursor. This includes vi shortcuts,
which would normally conflict with the sequences for navigating
the character-based decision trees of the grid-based and
element-based nav modes.
(And add an enum to capture the user's preferred keybinding mode; vi support
coming soon!)
There is currently no UI for setting the keybinding mode. To opt in to vi
keybindings, execute the following command in your terminal:

```
defaults write ~/Library/Preferences/com.mjrusso.Scoot.plist KeybindingMode vi
```

For more context and discussion, see #12 (#12).
@mjrusso mjrusso merged commit 5035efe into main Jan 23, 2022
@mjrusso mjrusso deleted the freestyle-and-vi branch January 23, 2022 14:21
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant