Any suggestions for using BetterTouchTool (BTT) with Scrivener?

I’d not bought a new app for ages, and since there were a bunch of discounts last weekend, I decided to raid the piggybank and buy BTT – mainly because it has been mentioned here a few times and because it was going cheap.

But what to do with it?

I quickly found @nontroppo’s one-click compile, which will come in handy. Thanks for that. It was also instructive for a BTT noob, and introduced me to the Hyper Key – at last a use for Caps Lock \o/

Using ideas from that, I was able to construct my daily Scrivener startup, which involves opening a few projects, applying templates, and one or two other things. It’s quite magical to sit back and watch it all unfold with a single keystroke.

Another nice touch – though not Scrivener-specific – was being able to emulate a mouse middle-click on the trackpad.

Anyway, I realise I’ve only scratched the surface of what BTT can do, and it’ll take a while to go through the docs, so I thought I’d ask for suggestions from fellow users here.

The other things I use with Scrivener and BTT:

  1. Mouse gestures: I use mouse gestures a lot. For example:
    So I select an image in the binder, then gesture down+left to trigger the menu to replace that media files (I store my figures in the Binder, and use this when I update them externally). I have gestures to run my Build automation etc.
  2. Key sequences to trigger Scrivener styles: BTT can run actions on sequences of key presses, and I use this to activate styles:
    image – so :leftwards_arrow_with_hook::leftwards_arrow_with_hook:``` (which is markdown to start a code block) triggers my block code style automagically. I mostly do this for paragraph styles.
  3. Floating menu: I have a custom radial menu with some scrivener shortcuts and window layouts, follow this tutorial: Tutorial: Circular Floating Menu that can be shown by long right-click or gesture - Tutorials - BetterTouchTool Community, you can make as many menus as you like, it uses SF Pro icons so easy to tweak visually. I didn’t do much with it, you can do a bunch of cool stuff here.
  4. Run an AI editor: I use LM Studio to run a local LLM, and use BTT to take my text selection in Scrivener and run it with a custom system prompt through the LLM and paste the text back in Scrivener.
  5. Extend keyboard bindings: many apps can do this (and macOS can do it natively) but I just centralise everything in BTT. So for example I use BTT to rebind ⌘b to use bold style.

There are so many features that I still get lost in BTTs action menu :laughing: but there is enough simpler stuff that I can’t live without it…

2 Likes

Thanks for this.

  1. Gestures: Ditto. The reason I still use Firefox is because of gesture support. I’d like to move to Safari – simply because it’s one less app, and I’ve reached the stage of life where simplicity overrides most other things – and have already setup a few to try with Safari. I’m going to have to monitor my behaviour for a while to discover where else I can use gestures.

  2. Key sequences: Ah, that’s a good idea. For example, I use Scrivener annotations with a TODO: prefix. This will speed that up and avoid typos.

  3. Floating menus: I looked at these briefly during my initial exploration. I’m pretty good with Scrivener’s shortcuts – the ones I need, obvs. – but there are a few functions I use rarely that I can see this being handy for. Also for some of the GUI actions that then need mouse action, like Containers, for example.

  4. LLM back and forth: This would certainly make an LLM more useful when writing. I tried LM Studio after you mentioned it before, but soon lost interest. This sort of ‘integration’ is probably more viable.

  5. Keyboard re-bindings: Yes, I think it makes sense to centralise those. I only have a dozen or so atm. This is similar to the way I moved text replacement into espanso.

Thanks for your suggestions :+1:t3:

You can do just anything with BTT. @nontroppo 's useful list could be continued endlessly. I’m not going to do that, even if it tempts me. :innocent:

Instead, I’ll tell you this: I have set up a “reverse keyboard concept” with BTT (originally only for Scrivener). This means that all letters are typed when the key is released (not when the key is pressed as usual).

This enables the following: If a letter key is tapped briefly (as in normal writing), the letter is typed. If the same key is held down a little longer, a different action is triggered. Simple example: Holding “I” a little longer shows or hides the inspector.

I (almost) no longer need modifiers. This is wonderful for me because I can keep my eyes on the screen instead of constantly looking at the keyboard. It promotes my writing flow. :slightly_smiling_face:

2 Likes

Ha that is both totally insane and eminently logical at the same time :nerd_face:

I use 3 assistants, a scientific editor to improve clarity, an assistant to answer questions, and an editor to shorten text, they all work on selected text in any app and use whichever model is loaded in LM Studio (server port 4891, an oblique Orwell reference!).

LLM Assistants.bttpreset.zip (2.0 KB)

I also want to mention if you use Alfred, a brlliant workflow called Ayai which also has a nice set of actions that works with LM Studio (or any other LLM):

Screenshot 2024-12-06 at 09.41.14

Screenshot 2024-12-06 at 09.44.46

I switch between 3 layouts (mini, midi and max with the dice icons), two links icons “import” either files or aliases to the Research folder, and links to project search, snaphot with title and quick search: scrivener-menu.bttpreset.zip (92.3 KB)

BTT latest added a way to make floating menu’s from a text selection (aka popclip), and it works well in Scrivener:

I prefer to use other methods with selections, but it is there if you need it…


Recent BTT’s also greatly improved the Clipboard Manager. I used to use Alfred to manage my Clipboard but I switched to BTT, lots of cool features. You can make a clipboard entry a favorite, add it to named snippet collections etc. For example I have my signature as a PNG stored as a favorite so it is easy to insert it whenever I need.


Another amazing feature I missed: Cheat sheet — if you use BTT to configure your key bindings, then cheat sheet will show you all your entries, I bind it to a three-finger tap and HYPER-F1:

Thanks for the update. I checked out the thread on the BTT forum for more details.

I’m a PopClip user, and one thing it lacks is customisation per app, which BTT can obviously do. (PopClip can do this, but it requires hacking the extension files manually: Show specific extension only on specific apps - PopClip - PopClip Forum) This is an obvious weakness, and something the developer has said he has been looking at for years. After all, actions on text selection are going to be entirely different in Scrivener (cut, paste, dictionary lookup, etc.) from a browser (wikipedia, translate, create a note, etc.)

For clipboard management, I use the open source Maccy (https://maccy.app/). I looked at BTT’s clipboard manager, but it didn’t persuade me to move. Not yet, anyway.

BTT’s selected text menu is still a bit buggy, I get it popping up in some apps without a text selection etc. and at least personally I never felt the need to use popclip, I use mouse gestures or keyboard bindings for selections without needing a UI. To each their own.

Out of curiosity, what was it that kept you with Maccy? BTT’s UI is more dense (I used to use Alfred which looks much more like Maccy and initially that influenced me to stay using Alfred), but there is so much useful stuff. For example, with images I can run a shortcut to compress it or rotate it etc.; you can do the same for text, running text transformers (like translate the contents, title case etc.). You can edit any text in the clipboard directly, and one awesome thing (a bit nerdy but it does come in handy) is you can access and use ALL the UTIs (GitHub - sindresorhus/Pasteboard-Viewer: 📋 Inspect the system pasteboards on macOS does the same thing but its a separate app) in the clipboard:

If you have binary data you can base64 encode it or even view it using a HEX display.

You can save a search to use later and more. Maybe it is a bit overwhelming feature-wise, but that sums up BTT in general doesn’t it!? :laughing:

As a new user, I found it confusing and unclear. I just gave it another spin, and it’s still not for me.

First, I use dark mode, and BTT’s dark mode implementation is, frankly, terrible: lots of black text on grey backgrounds; that type of thing.

There’s also a lot of tiny text and icons, which isn’t great to deal with.

Items in the clipboard manager take up a lot of space. I pretty much only use text, so a truncated line is sufficient. I certainly don’t need timestamps and icons of a item’s source. I can see 80–100 items with Maccy, but only 12–13 in BTT.

I also experienced an interface bug – or perhaps a special incantation is required. I tried to create a saved search, which demanded an “SFSymbol”. I had no idea what that was, but after searching found that it’s some special Apple font. It’s a 0.5 Gb install, which I really don’t want, and it’s unclear why it’s is necessary. Anyway, on trying to cancel the dialogue, I found I couldn’t, so the dialogue is now sitting there permanently.

Oh, and the favourites shows everything, not just favourites.

So, given all that, it’s just not for me.

I added your comments to the BTT forum post for the new clipboard manager: BTT Clipboard Manager Development & Wishlist - #214 by iandol - Configuration Help & General Discussion - BetterTouchTool Community

2 Likes

Thanks for that.

And just to be clear: as you say BBT is kind of nerdy and somewhat overwhelming, and I’m fine with that because it can do so many of the things that allow you to mould apps into being just how you want them without endlessly pinging the devs to “add this tiny one thing”, which, of course, rarely happens.

1 Like

This is genius. One of these days I’ll dig into AutoHotKey to see if I can set up something similar.

1 Like