Ideas to implement

Hi I had around 10 ideas, but not remember all, so I will add as soon as I remember, any way here are some, can you tell me what do you think of it ?

  1. Triggers: “keyboard shortcut” can be used to activate any trigger and almost used all the time, I would make it available option for any actions that are created(like a tick), and additionally it can be trackpad or event or anything else. The best option is to assign any amount of triggers to selected list of actions. Currently I use named triggers and create different triggers to trigger this triggers. Implementation can be very simple, just add shortcut everewhere :slight_smile: for example in trackpad

  1. Debug and history: it would be really nice to see history of last launched triggers, I use HUD for this, writing keyword there to understand which one worked out, but then forget to turn them off and it becomes pain to find all of them. So the thing is just show all last triggered events with possibility to open and correct them.
  2. Search: search by keywords or by keyboard shortcuts
  3. Interface: option to remap this hot keys I did it with bettertouchtool but it doesn’t work properly all the time, inside all configured triggers works fine, but when you move to any application or CAG it stops, so easier would be just to have an option to remap this

  1. Backup: with one button backup all presets or by schedule
  2. Remapping keys: I would really like to get rid of karabiner due to the fact that in case of using external keyboard every time there is a need for workarounds using it with bettertouchtool. I could name at least three, but don’t want to waste time, so the first thing is remapping keys. And second - when you make “caps lock” = “magic key” in bettertouchtool when you assign “keyboard shortcut” to “caps lock” + “smth” it is not recognised as “magic key” in bettertouchtool, why ? Have to press all 4 keys, so annoying.

1.) I'm not sure if I understood correctly, but I think this is just not how BTT's UI works. I know in other apps you assign triggers to actions, but in BTT it's the other way around and this won't change. Both have their advantages & disadvantages but I'm a fan of the way BTT does it and never liked the way other apps where doing it. Having both options would just be too much work (this is a basic property of the BTT datamodel, which hasn't changed much since 2009 and everything in BTT depends on it) and make the UI even more crowded :smiley:

2.) That is planned and should be added soon!
3.) Improving search is also planned :slight_smile:
4.)You can use the "Go to Specific Trigger Category" action:


5.) You can use this apple script, currently you need to add every preset once. I'll add an option to export all presets into one file soon. This script can e.g. be called with the triggers in the "Automations, Named & Other Triggers".
In general I'd recommend to setup Apple's time machine backup though (or use any other backup app to backup the BTT data folder ~/Library/Application Support/BetterTouchTool . Then you can always revert that folder to a previous version.

tell application "BetterTouchTool"
	
	export_preset "PresetName1" outputPath "~/Documents/backup1" comment "someComment" with includeSettings and compress

	export_preset "PresetName2" outputPath "~/Documents/backup2" comment "someComment" with includeSettings and compress
	
	export_preset "PresetName3" outputPath "~/Documents/backup3" comment "someComment" with includeSettings and compress
end tell

6.) I think I don't understand that one, but in general: BTT is not a key remapping app. It works on a much higher level than Karabiner, which is why it can not do all of the things Karabiner does (again, both approaches have their advantages and disadvantages)

1 this is not about UI but logic, I mean why can't we add multiple triggers to one action ?
let me clarify

  • we create named trigger - "run_action"
  • we assign keyboard shortcut to that "run_action"
  • we assign touchpad gesture to that "run_action"
  • we use it in apple script
    what I propose is inside at least add keyboard shortcut to any other trigger

2-3 great !

4 seems that you didn't understand the point - I created my own shortcuts for trigger categories and they work only in bettertouchtool


and they work fine until you choose any other app, ie forklift of smth else, they stop working

5 didn't know, will try

6 yes this I understand, will stay with my workarounds )

I still think 1. is very much about UI, but maybe I don't fully understand (very possible). The current UI (and data model) doesn't have a way to assign triggers to actions. It's always the other way around - you assign an action to a trigger.
I don't see how attaching a trigger to an action would work without a complete UI & data model change.

For 4. do you maybe have this option enabled?

@Andreas_Hegenberg

1- as soon as I'm it guy, and code a little, there is no way without changing model a little bit, we can have a call if you like and discuss, if it is reasonable or not, I really like the product, last month a customise it at least 3-4 hours a day for my needs )

4 - yes that's the problem, even didn't know that option exists. thanks

yes it's working
does it save triggers and settings or only triggers ?

I don't think that's necessary, I'm pretty sure I know what it would take to do such a change in the BTT codebase - and unfortunately this is currently really not feasible for me. It would bind so much time for something I don't even like. Then the necessary UI work, I can't even think of a good UI concept that wouldn't be months of work. Don't underestimate the complexity of BTT, it's an app grown over almost 15 years.
So I'm sorry, but I won't change this :slight_smile:

For the preset export: if you pass the includeSettings flag, the settings will be included in the exported preset.

thanks, can I change the name as well ? I want to save adding current date.
is there any manual/instruction regarding all apple script actions bettertouchtool support ?

the name you specify using the "outputPath" property.

Most apple script functions are described here: Using Apple Script or JXA · GitBook (The most up to date documentation is available via the macOS Script Editor, File => Open Dictionary => BetterTouchTool)

1 Like

I did

already

probably should start posting here all I did, maybe will be useful for somebody

1 Like

Hi @Andreas_Hegenberg

i have tried the following applescript to run a backup:

tell application "BetterTouchTool"
export_preset "BTT_MasterPreset" outputPath "~/Desktop/BTT_MasterPreset" comment "someComment" with includeSettings and compress
end tell

Everytime I run it, a pop-up window says "BTT_MasterPreset" doesn't understand the message "export_preset" (BTT_MasterPreset is the name of the preset).

Anyway, the backup is done. So it seems the applescript works, but it gives an error.

Another question: how to do the backup without compression?

Thanks.

there was a bug in one of the previous versions that could cause that message. Updating to the latest alpha will resolve it

You can just remove the „and compress“ from the command

@Andreas_Hegenberg is there a way to remember current active desktop ?

I have a script that runs through all dsktps and changes walls and I want to go back to the desktop I started this script

Hi @Andreas_Hegenberg
Just to inform you that I updated BTT to the last 4.145 and the applescript works perfect, as you said.

But it doesn't work fine if I remove "and compress" and run the script like this:
export_preset "BTT_MasterPreset" outputPath "~/Desktop/BTT_MasterPreset" comment "someComment" with includeSettings

In this case, the applescript don't give any error, and the file "BTT_MasterPreset" is generated, but without any file extension. If I import it from BTT it doesn't work.

Do I have to add the extension manually to the outputPath? Or is it bug?

I'm running Monterey 12.6.7.

I think you might need to add the extension .bttpresetcompressed (sorry can't check right now)

hi @jordikt

you can try mine it works fine
what is does is
1 creates folder with current date
2 backups some files from other apps
3 backups bettertouchtool settings
4 starts Time Machine back up

so you can remove any options you don't need or maybe extend your workload
here is the link backup.scpt - Google Drive

tell me if it is not opening
gl

hi @Andreas_Hegenberg
there are no options ? ((