Set screen resolution for Zoom meeting bunch

I wanted to create a Zoom bunch that scales my main display resolution, before arranging my application windows. My large screen is hard to see when I am sharing, so during meetings, I would like to scale it to 1920x800 for instance, instead of the default for my display which is 3840x1600. I looked for a Keyboard Maestro action (which I could call from Bunch) for this but didn’t find any.

When I posted this on the Bunc Discussion forum, Brett Terpstra responded …

Hm, I don’t know offhand of any way to automate screen resolution changes. If any utilities exist to do this, it’s a near certainty that they could be incorporated with Bunch, but you’d have to do some googling to see if one exists.

I found one called “Display Menu.” Their Pro version, for $1.99, has AppleScript support. As a result - this does the trick:

tell application "Display Menu"
	set theResolution to current resolution on display "DELL U3818DW"
	# set theDialogText to theResolution
	# display dialog theDialogText
	if (theResolution = "3840 x 1600 30.0 Hz non-Retina") then
		select resolution "1920 x 800 30.0 Hz Retina" on display "DELL U3818DW"
	else
		select resolution "3840 x 1600 30.0 Hz non-Retina" on display "DELL U3818DW"
	end if
	
end tell

Bunch supports running or embedding AppleScript.

Nice work. Another option is to use a command line utility such as displayplacer or AppleScript with System Preferences:

tell application "System Preferences"
	reveal anchor "displaysDisplayTab" of pane "com.apple.preference.displays"
end tell
tell application "System Events" to tell process "System Preferences"
	-- click something here
end tell