BTT preset to change screen resolution?

This is the first time I post anything in this forum so my apologies if I do something that doesn't follow the community ettiquete.

I was listening to the Mac Power Users podcast and I seemed to have heard that some people use BTT to change the screen resolution of their Mac. Perhaps this is very obvious to all of you but 'm just starting to use BTT and I can't find a way to do that. I've done some searches here and played around with the app to no avail.

If there is somebody that already has a preset or can point me to how to build one to do that, I would really appreciate it. Thanks.

There is no "Native" option in BTT (That I'm aware of) to change the Screen Resolution

You would need to set a trigger (Keyboard, Trackpad, whatever) to activate the "Run Apple Script" action.

Script Removed as it Requires Customizing to fit individual use case like "Display Name" and "Display Resolutions" its capable of.

Use whatever script you want to use.

Sidenote: There are many Screen Resolution apps out there (even free ones) that have Shortcut Options built-in for changing screen size on the fly. I use QuickRes on my Mac Studio.

Thanks Small. I'm afraid this didn't work. I just copied the script exactly as you provided it and just replaced the resolution with the one I had as a target:

-- Set the desired width and height

**set** screenWidth **to** 1024

**set** screenHeight **to** 640

The trigger is a touch bar button. When I press it, nothing happens, though.

I had tried apps like ScreenRes (I have one called EasyRes) but I don't find them much more useful than simply going to Settings and changing the resolution there. I wanted to use BTT to be able to go back to the default resolution quickly. When I do a presentation with my laptop very often it gets stuck in the resolution that is adequate for the projection and it is really hard to change anything on the laptop screen because it is all zoomed.

Then you can use whatever AppleScript you want.. The one I shared would require more than just setting the width & height, as it targets a specific display name, which that would need to be changed. Since I use an external monitor that's what I put in there for demo.

Also the version of MacOS makes a difference with some AppleScripting; as Apple changes things in some releases. Big Sur broke some Apple Scripts, now again with Ventura it broke Apple Scripts again, mostly with System Presence pane IDs

If you're not comfortable with Apple Scripts; writing or customizing then I would suggest Keyboard Shortcuts: I don't think EasyRes has keyboard shortcuts; If so, then just set up a TouchBar trigger in BTT to press the Keyboard Shortcut of the desired resolution in EasyRes.

QuickRes has keyboard shortcuts, so if EasyRes does not, you might try QuickRes instead.

The main intent of these apps is that they offer additional Screen Resolutions that are not always available in MacOS System Preferences. I use a 5K Ultra Wide Monitor. MacOS doesn't have the resolutions for this monitor available in the default system preferences.

Thanks for your help, Small. I could not get AppleScript to work no matter what I did. Even with the help of ChatGPT I have not managed to get the right script to do this.

I will have to see if it works when I have a presentation but I seem to have solved the problem with the magic of Keyboard Maestro. Calling System Preferences and getting to Display and then do "Press the button named:" with value 'default display' appears to get me what I want.

BTT played the part of providing me with a use of the Hyper key that is pretty handy for cases like this.

I'm not sure how dependable ChatGPT is for things like coding.
Its scraping data from the web, no clue where its pulling information from, and no clue when its knowledge database was last updated.

Personal Opinion

A friend of mine uses this app and is quite happy with it. It is also operable through keyboard shortcuts and is reasonably priced.
But don't take my word for it, I haven't used it.

there are also various command line utilities like Release displaymode 1.4.0 · p00ya/displaymode · GitHub that can easily be called by using BTT's execute terminal command action

1 Like

Oh snap, I forgot BTT can execute Terminal Commands. I've done this in Alfred for so long, I forgot about BTT doing it...

Thanks guys. Actually this is a good opportunity to ask a question about shell scripts. Usually a shell script like this would be executed by doing something like:

$ ./displaymode t 1440 900

from the directory where the binary is installed. How does BTT work with this? If I assign the action execute Shell Script to a shortcut, I see the Launch Path: /bin/bash but this is not where I have saved the 'displaymode' binary. If I type

$ /pathtobinary ./displaymode t 1440 900

The binary is not executed.

the shell script action is more usful for more complicated scripts, for one liners use the "terminal command" action. (/fullpath/to/displaymode -someparam)

if you want to continue using the shell script action, it's easiest to keep /bin/bash as launch path and then enter /fullpath/to/displaymode -someparam as script

OK. Thank you!