Skip to content

capt-morgun/wing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wing

A lightweight window manager for macOS. Snap windows to precise positions, switch between open windows across all Spaces, fix text typed in the wrong keyboard layout, and move any window to another Desktop — all with keyboard shortcuts.

Features

  • Window Switcher — hold Mod+Tab to cycle through open windows across all Spaces
  • Snap windows to halves, quarters, and eighths of the screen
  • Center any window at a configurable size with a single shortcut
  • Configurable split ratios (left/right width, top/bottom height)
  • Window Control — maximize/restore, minimize, close windows via hotkeys
  • Move to Desktop — send the active window to any Desktop with Mod+Number
  • Text Switcher — double-press Shift to convert recently typed text to the correct keyboard layout
  • All hotkeys fully configurable in Settings
  • Menu bar app — lives quietly in the background
  • Launch at Login option in Settings

Installation

  1. Mount the DMG and drag Wing.app to Applications
  2. Run in Terminal:
xattr -cr /Applications/Wing.app
  1. Open Wing.app normally

macOS blocks unnotarized apps with "damaged and can't be opened" — the command above removes the quarantine flag.

Window Switcher

Hold your modifier key + Tab to open the switcher. Shows all open windows across all apps and all Spaces.

Shortcut Action
Mod + Tab Open switcher / next window
↑ / ↓ Navigate the list
Release Mod Switch to selected window
Escape Cancel
  • Each window shows the Desktop number it belongs to
  • If an app has multiple windows, each appears as a separate entry
  • Switching to a window on another Space moves you there automatically

The Window Switcher can be enabled or disabled in Settings.

Snap Shortcuts

Hold your chosen modifier key (Option, Command, or Control), then press arrow keys:

Shortcut Action
Mod + C Center window (configurable size)
Mod + ← Left half
Mod + → Right half
Mod + ↑ Top half
Mod + ↓ Bottom half
Mod + ← + ↑ Top left quarter
Mod + ← + ↓ Bottom left quarter
Mod + → + ↑ Top right quarter
Mod + → + ↓ Bottom right quarter
⇧ + Mod + ← + ↑ Top left eighth
⇧ + Mod + ← + ↓ Bottom left eighth
⇧ + Mod + → + ↑ Top right eighth
⇧ + Mod + → + ↓ Bottom right eighth

Window Control

Configurable hotkeys for window management (defaults shown):

Shortcut Action
Mod + M Maximize / Restore
Mod + D Minimize all windows
Mod + H Minimize active window
Mod + W Close active window

All keys can be changed in Settings. Window Control can be enabled or disabled independently.

Move to Desktop

Press Mod+1 through Mod+9 to move the active window to the corresponding Desktop — without closing the app or losing any unsaved work.

How it works: macOS natively carries a dragged window to a new Space when you switch desktops during a drag. The app uses this behaviour:

  1. Simulates holding the mouse button on the window's title bar
  2. Switches to the target Desktop via a Ctrl+N keyboard shortcut
  3. Releases the drag — the window is now on the target Desktop
  4. Restores the window to its original position and size

Requirements

1. Mission Control keyboard shortcuts must be enabled so the app can jump directly to the target Desktop in one keystroke.

Go to System Settings → Keyboard → Keyboard Shortcuts → Mission Control and enable Switch to Desktop 1 through Switch to Desktop N (for however many Desktops you use).

2. Dock assignment for the app being moved must be set to Assign To → None or Assign To → This Desktop. Right-click the app icon in the Dock → Options.

If the app is set to All Desktops, macOS will show it on every Space and the window will not move to a specific Desktop.

Requires Automation permission (prompted on first use) so the app can send keystrokes to System Events.

Move to Desktop can be enabled or disabled in Settings.

Text Switcher

Double-press Shift to instantly convert recently typed text to the correct keyboard layout. Useful when you start typing in English but your layout was set to Russian (or any other language) — or vice versa.

  • Automatically detects all keyboard layouts installed on your Mac
  • Converts text using the actual key positions (not a hardcoded character map), so it works with any combination of layouts — not just English and Russian
  • If you have more than two layouts, each subsequent double-Shift cycles to the next one
  • Select a word and press double-Shift to convert only that word
  • After converting, the active keyboard layout switches to match the target language so you can keep typing
  • Works in native macOS apps, browsers, Electron apps, and terminals

Text Switcher can be enabled or disabled in Settings.

Languages

English, Русский, Deutsch, Français, Español, Italiano, Português, Polski, 中文, 日本語, हिन्दी

Requirements

  • macOS 26+
  • Accessibility permission
  • Automation permission (for Move to Desktop)

Support the project

Wing is free and open-source. If you find it useful, consider sponsoring the project — it helps us keep building convenient software for everyday use.


Русская версия

About

Lightweight macOS window manager — snap, switch, and move windows between desktops. Alt-Tab to see and switch between open apps. Fix text typed in the wrong keyboard layouts

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages