macOS Utility

Navigate windows the way they're laid out

Switch to the nearest window in any direction using keyboard shortcuts. Spatial, intuitive, instant.

Built for keyboard-driven workflows

Spatial Navigation

Switch windows based on their actual screen position — not an arbitrary list order.

Visibility-Aware

The algorithm considers visible area, z-order, and overlap to pick the right window.

Global Hotkeys

Works no matter which application is currently focused. Always ready.

Fully Customizable

Record any modifier + key combination you prefer. Make it yours.

Menu Bar Native

Lives quietly in your menu bar. Optionally hides from Dock. Launches at login.

See it in action

Click the arrows or press ↑ ↓ ← → on your keyboard

FileEditView
Slack
VS Code
const app = createApp();
import { ref } from 'vue';
export default {
setup() {
const n = ref(0);
return { n };
}
}
Browser
localhost:3000
Focused

Smart Selection Algorithm

B C ✗ occluded
01

Filter out completely occluded windows

current Y-axis overlap range D ✓ E ✗
02

Check direction & axis overlap

1st overlapping 2nd non-overlapping 3rd fullscreen priority
03

Group candidates by overlap priority

score = visible × 500 − dist − z × 50 visible: 90% dist: 100 z: 1 A 300 ✓ visible: 40% dist: 200 z: 3 B −150 ↑ highest score wins
04

Score by visibility, distance, z-order

Ready out of the box

Focus Up
Focus Down
Focus Left
Focus Right

All shortcuts are fully customizable in settings.

Up and running in minutes

01

Download

Grab the latest .dmg from GitHub Releases, or build from source.

Download from Releases →
Or build from source:
git clone <repo-url> && cd visual-focusing
npm install
npm run build:all
02

Install

Open the .dmg and drag Visual Focusing to Applications.

If macOS blocks the app:
xattr -cr "/Applications/Visual Focusing.app"
03

Grant Permission

Launch the app and grant Accessibility permission when prompted.