Skip to content
Client: Our own product, macOS app
  • Our own product
  • macOS
  • Open source
Project status: Live

VibeRes

Switches every monitor in one click, shows the change first and can undo it.

viberes.pxlPreview 1 / 4
Loading project preview…
The VibeRes menu with the Desk, Presentation and Code profiles and two displays, the built-in and an LG UltraFine. The pointer clicks the Presentation profile, the screen goes dark for a moment, the LG UltraFine's resolution rolls to 2048 × 1152 and its card lights up, the MAIN badge moves from the built-in display to the LG, the profile gets a checkmark and the menu bar icon, enlarged in the loupe at the top left, plays its switch animation. A click on Desk then puts everything back.
One click on a profile sets the resolution and the main display on every monitor at once. The menu shows what changed, and the menu bar icon confirms the switch.
Detail of the built-in display: the current resolution of 1800 × 1169 at 120 Hz, the Scaled and Native toggle, a list of resolutions with refresh rates and, in the corner, a preview for 1512 × 982.
Monitor detail: hovering over a resolution shows how much screen space you gain or lose, before you click.
The form for saving a profile: a name, a checkbox for each monitor, the option to match any external monitor and the choice of main display.
Saving a profile: you pick the monitors and, for an external one, decide whether it belongs to that specific unit or to any monitor.
The VibeRes menu in dark mode, with a row that reverts the built-in Retina display to 1512×982 and the ⌘Z shortcut, above the other items.
After a change, the menu offers a way back: one click or ⌘Z restores the previous mode. Shown here in dark mode.

Project facts

Platform
macOS 26 Tahoe or later · Apple silicon and Intel
Signing
Developer ID + Apple notarisation
Languages
SK · EN · DE
Distribution
Homebrew · GitHub · automatic updates
Technology
  • Swift 6
  • SwiftUI
  • CoreGraphics
  • ScreenCaptureKit
  • AppIntents
  • Sparkle
  • Swift Testing
  • XCTest
  • XcodeGen
  • Homebrew
  • GitHub Actions

The brief

VibeRes is a macOS app that switches the resolution of every connected monitor in one click, from a saved profile. A preview shows the change before you make it, every change can be undone, and when a monitor is plugged in the matching profile applies itself. We designed it and release it as open source, signed with a Developer ID certificate and notarised by Apple. It speaks Slovak, English and German and keeps itself up to date.

VibeRes is a macOS resolution switcher we built when development of the popular EasyRes utility came to an end. A laptop sits next to an external monitor one day and a projector the next, and setting up each display separately in System Settings every time gets in the way. VibeRes remembers the whole setup as a profile and brings it back in one click. We use it ourselves, and it is published as open source.

What we did

Your whole desk switches in one click

A profile remembers the resolution and refresh rate of every monitor you include and sets them all at once. It recognises a specific monitor by its identifier, so the profile still applies after a restart or with a different cable. A presentation profile can instead match any external display, including the meeting-room projector the app has never seen before. When a switch goes through, the window in the menu bar icon briefly springs out to fill the screen, so you can tell at once that it worked.

You see the result before you click

Hover over a resolution and a sketch appears in the corner: the outline is the current mode, the fill is the new one, drawn to the same scale. The preview sits in a fixed corner on purpose, not next to the cursor. A window floating beside the row looked more elegant, but it swallowed the first click and lagged behind the mouse. For the app's main action, reliability matters more than effect.

A wrong choice can be undone

⌘Z or a row in the menu undoes the last change, even when it was a whole profile. For extra safety you can turn on confirmation: the new resolution then holds only temporarily, and if you do not confirm it within 12 seconds, it reverts on its own. A countdown decides, not a button, because you cannot click on a black screen.

The right profile applies itself

When you connect or disconnect a monitor, the app finds the profile that fits the new setup exactly and applies it without asking. It never overrides a resolution you have just chosen by hand. Profiles and resolutions can also be run from Shortcuts, Spotlight and Siri, or from the companion command-line tool.

Delivered as a finished product

Three languages including Slovak, Developer ID signing, Apple notarisation and automatic updates with a verified signature. An automated pipeline builds, signs, notarises and publishes every release, Homebrew included. Nearly 300 automated tests guard mode selection, profiles and undo, and the main controls work from the keyboard and with VoiceOver.

What does this mean for your project?

With VibeRes we first asked what happens when something goes wrong, and only then how it will look. That is why a wrong choice can be undone in one click or with ⌘Z. With confirmation switched on, an unconfirmed resolution reverts by itself after 12 seconds, because nobody can click on a black screen. A preview floating by the row looked more elegant but swallowed the first click, so it sits in a fixed corner instead. We ask the same questions about an app for your company: what people see when something fails, and how they get back without having to phone a technician.

Installation and links

Mac app
brew install --cask m-moravcik/viberes/viberes-app
Command-line version
brew install m-moravcik/viberes/viberes

Need something similar?

Tell us about your project in a few sentences. We get back to you with a suggested next step.

Write to us