Version 6.040:
new predefined actions: "Start Smooth Scroll", "Stop Smooth Scroll", "Start Smooth Zoom", "Stop Smooth Zoom", "Start Smooth Rotate", "Stop Smooth Rotate"
fixes for custom move resize action:
Ah weird, then for some reason BTT identifies the incorrect display with the "1 screen left" option for some reason (maybe because they are the same model), I'll check!
fixed a timing issue for the "choose from list" action:
Actually you can use this interface. Here is an example. It makes use of the "Use First Word To Filter & Save Rest Of Input To Variable BTTPromptInput"
[image]
NOTE unfortunately something recent must have introduced a little timing issue for this function, which is why this example requires BTT 6.037 to work (uploading now).
search.bttpreset (1.9 MB)
( this preset imports a keyboard shortcut cmt+opt+ctrl+S that shows the list)
[image]
[image]
Version 6.034
The Smooth Scroll Modifier now supports trackpad like swipes (e.g. to go back a page in Safari, delete e-mails in Mail or scroll horizontally in Calendar):
@JDDD I think I figured out how to make the calendar & mail scroll work (super complicated). Would be great if you could try 6.034 alpha (uploading now). It requires the "smooth scrolling (like trackpad)" scroll modifier to be active:
[image]
It basically transforms the scroll events to touch events - Apple made the calendar app to explicitly not allow horizontal scrolling for normal mice so we need to simulate trackpad events, which is very complex.
The trackpad like zoom and rotate scroll modifiers have also been improved slightly
Version 6.023
Scopes For Mouse Gestures / Drawings:
#v6.023 alpha adds "scopes" for drawings and for the "start recording drawing" action:
For example with this:
[image]
Only drawings with scope "xxx" would be triggered:
[image]
Version 5.780
5.779 adds scroll modifiers.
For example there is a "smooth scroll" modifier and "Vertical & Horizontal Scroll Speed Modifier"
[image]
[image]
[image]
These are not limited to logitech mice. Multiple modifiers can be added and will automatically be combined.
Available modifiers:
Smooth Scrolling (like Trackpad)
Vertical & Horizontal Scroll Speed Modifier
Scroll Modifier Key Condition
Scroll Device Type Condition
Block Horizontal Scrolling
Block Vertical Scrolling
Scroll Acceleration Cur…
V5.763 contains the very first implementation of full native Logitech Mouse support that might work. (It might also not, I only tested it with a limited set of mice and configurations).
The most important part is the Logitech Configuration Object in BTT's Normal Mouse Section. You need to add one such for every Logitech Mouse you want to use in BTT. Afterwards you should be able to configure your buttons like for other mice.
[image]
It might currently require a BTT restart after adding and s…
Version 5.600
Ha I think I was actually able to reproduce the issue on my other machine for whatever reason.
Could you check whether 5.600 solves the hyperkey after FN issue for you? (uploading now).
In 5.599 alpha I made the active_space and translated_active_space variables observable. This means you can now do this without any scripting (just put it in curly braces - e.g. {translated_active_space}):
[image]
I also added a new "Active Space Did Change" trigger.
This should be resolved in 5.598! (uploading now)
(was related to a deadlock within the trigger_named_async_without_response call)
Version 5.587
should be resolved in 5.587, SFSymbols should now adapt correctly to dark mode when used in custom Finder context menu additions!
Hey good point, there actually wee no simple ways to do this for a single window.
In 5.579 I added two new actions:
Save Focused WIndow Size & Position
Restore Saved Size And Position
It just uses CGEventKeyboardSetUnicodeString for these and let's macOS handle the work of figuring out the internals
I think I figured out why some apps like terminal didn't accept emoji.
@luisherranz could you check whether 5.585 alpha (uploading now) works in all apps?
In 5.575 you can now specify extra api parameters. When entering these parameters gpt-5 should become faster:
{"reasoning_effort": "low", "verbosity": "low"}
Version 5.566
BTT 5.566 alpha adds a new variable that can be used in trigger conditions "last_trackpad_force".
E.g. if you want to have two gestures, a standard click swipe and a force click swipe you'd set up two click swipes. For one you add a condition last_trackpad_force > 500 (for example) and for the other you'd add a condition last_trackpad_force < 500
(the force value is in grams)
Version 5.562
The "Choose From List" action now allows to embed a floating menu at the top
Version 5.513
I think I found a workaround for now that is integrated in 5.513!
However it gets harder and harder to build for macOS 12. (Mostly due to the evolution of Swift & SwiftUI and missing backwards compatibility). BTT already uses some weird tricks to at least be able to build for macOS 12 but I assume I won't be able to do that much longer.
5.507 should resolve this while still improving the edge cases!
hovered_link variable:
This should work (adds a three finger tap that opens the hovered URL via velja):
3_finger_tap_velja.bttpreset (4.1 KB)
However requires 5.450 alpha (uploading), because I have just added the hovered_link variable
//edit: sorry there was an accidental dot in the preset, should now work
macOS did show notification trigger:
In 5.499 alpha I finally got around and added a native trigger that is monitoring this database based on @fortred2 's code. There is a small delay because the system doesn't immediately write the database to file.
[image]
This also makes the last shown notifications available as JSON string via variable BTTLastShownMacOSUserNotifications
Example of that variable:
[
{
"app" : "com.apple.ScriptEditor2",
"title" : "",
"subtitle" : "",
"body" : "Zipping app for notarization...…
With 5.511 I implemented the change that should allow for this, here is an example for F1:
F1.bttpreset (15.7 KB)
They key changes are:
1.) You can now have multiple shortcuts with minimum hold times > 0
[image]
[image]
2.) The "Execute Action Sequence After Timeout" action got an option to immediately continue executing the remaining actions in the original action sequence. (This was how it was originally intended but some refactoring a long time ago changed this behavior)
[image]