Skip to content

About

A visual Alt+Tab switcher for Omarchy with live previews, expressive layouts, and a custom view studio.

Topics

Resources

Stars

12 stars

Watchers

0 watching

Forks

Repository files navigation

Switch Magic

A little magic between windows.

A visual workspace and window switcher for Omarchy.
Browse a space or window, then release to switch.

Made for Omarchy Wayland and Hyprland MIT license

Quick start · Layouts · View studio · Configuration

Switch Magic's carousel layout, with the selected window centered between neighboring previews

Actual app interface with fictional window content. Your colors and fonts follow your Omarchy theme.

Meet your new Alt+Tab

Switch Magic keeps your windows in sight while you hold Alt, including above fullscreen apps. Browse the previews, release Alt, and the selected window takes focus.

New in 0.5.0: browse only the focused app's windows, across workspaces and monitors. App starts with no shortcut assigned; choose one under Views → App, along with its layout and previews. See the changelog.

  • Five scopes. Switch windows on the current workspace or monitor, browse every window, open a workspace-first overview, or cycle through the current app's windows.
  • Four built-in views. List, Grid, Carousel, and Hand of cards.
  • Your own style. Duplicate a view and tune its geometry, typography, borders, shadows, and motion.
  • Your choice of previews. Live windows, snapshots, icons, or live capture for the selected card only.
  • Made for your theme. Omarchy colors and fonts, with optional per-view overrides.
  • Automatic saving. Every valid change saves as you go. View changes need no extra save step.

Quick start

Requires: Omarchy 4 with its Quickshell shell, Hyprland 0.56+ with Lua configuration, Quickshell with ScreencopyView, and Python 3. This is an Omarchy shell plugin; it uses Omarchy's theme and plugin services.

Install with Omarchy's plugin manager:

omarchy plugin add https://github.com/renanmt/switch-magic --enable

Hold Alt and press Tab. Shortcuts attach automatically when the plugin is enabled. No setup script or configuration edits are required.

Update with omarchy plugin update renanmt.switch-magic.

Open preferences with F2 while the switcher is visible, or directly:

omarchy-shell switch-magic settings
How automatic shortcuts work

While enabled, Switch Magic registers its assigned shortcuts in Hyprland's running configuration. Changing assignments, disabling or removing the plugin reloads your saved Hyprland configuration, restoring Omarchy's defaults or your saved custom bindings. A watchdog also restores them if the shell stops unexpectedly (within about eight seconds).

New installations never edit your Hyprland configuration files. Upgrading from the old installer automatically backs up and removes its exact marked include from ~/.config/hypr/bindings.lua. Backups are stored in ~/.config/switch-magic/backups/. A manually modified legacy block is left untouched and reported in preferences.

One gesture, five scopes

Shortcut Windows to browse Default view Default previews
Alt + Tab Current workspace windows Carousel Live
Shift + Alt + Tab Every workspace on the focused monitor Hand of cards Snapshot
Ctrl + Alt + Tab Every workspace on every monitor Grid Live selection
Alt + Super + Tab Workspaces on the focused monitor Grid Live selection
Unassigned (choose in Views → App) Current app windows across all workspaces and monitors Carousel Live

Assign a shortcut under Views → App to browse windows with the same app ID/window class as the focused window. For example, choose Alt + ` (backtick), then hold Alt and press backtick to cycle; release Alt to switch. The app is fixed when the picker opens. Hidden and unmapped windows are excluded; special workspaces follow the includeSpecial setting. With no focused app, the list is empty.

New installations and upgrades leave App unassigned so it does not take over an existing desktop shortcut. Any App shortcut you explicitly save is retained.

In Views, select a scope and use the shortcut dropdown on the right. It offers the available shortcuts, Unassigned, and Custom…. For a custom chord, enter modifiers and a key (for example Ctrl + Super + K) and select Apply. If another scope already uses that shortcut, confirm Move shortcut to reassign it; the previous scope becomes unassigned. In Views, choose a layout and preview mode for each scope independently.

The workspace overview shows one card per workspace, with small previews of its windows. Use the arrow keys or WASD to choose a space, then release Alt or press Enter to switch to it. The overview lists workspaces reported by Hyprland on the focused monitor, including empty workspaces.

Spaces overview with one card per workspace and icon previews of its windows

While the switcher is open Action
Keep holding the shortcut modifiers Keep the switcher visible
Press the shortcut’s key again (Tab by default) Browse the next space or window
← / → or A / D Move backward or forward
↑ / ↓ or W / S Move between grid rows
Release Alt, press Enter, or click a card Switch to the selected space or focus the selected window
Esc Cancel without switching
F2 Open preferences

Shift + Alt + Tab selects the monitor scope by default; use the arrow keys to browse backward. For custom chords without Alt, release Super, Ctrl, or Shift (in that priority order) to commit. Opening preferences keeps them visible after modifier release.

Four ways to find your window

The carousel above puts the selected window front and center. Prefer a gallery, a fan, or a compact list? Pick the view that suits your workflow.

Grid layout with six window cards in three columns
Grid
A window gallery with configurable maximum rows and columns. It automatically fits the screen.
Hand of cards layout with window previews fanned around the selection
Hand of cards
A spread of tilted previews, with adjustable spacing, depth, and rotation.
Prefer something compact? See List.

List layout showing readable window titles beside compact previews

A focused, vertical list with small previews and room for window titles. List and Grid page through windows when they cannot all fit at once.

Make it yours

Choose views and shortcuts

Open Views and select Workspace, Monitor, Everywhere, Spaces, or App. Choose a layout and preview mode below, and set that scope’s keyboard shortcut with the dropdown on the right. Select Custom… to enter your own chord, or Unassigned to disable its shortcut. Conflicting assignments ask before moving the shortcut.

Views settings with a shortcut selector, background blur at 20%, Display logo, and per-scope previews

Your view, down to the details

Open View studio, choose a template, select Duplicate view, and give your creation a name. The view selector and duplication controls stay at the top of the left column. Adjust the controls below and try the motion in the independently scrolling preview on the right.

View studio editing a custom grid, with geometry controls and an interactive preview

Make it feel right What you can change
Layout & tiles Layout engine, tile dimensions, gaps, grid limits, card spread, angle, and depth
Edges & surfaces Corner radius, border thickness, surface opacity, tint, padding, and shadows
Typography & labels Fonts, text sizes, weight, spacing, labels, and workspace badges
Previews & icons Capture mode, icon sizes, and preview badges
Motion Duration, easing, entrance effects, and individual transition toggles
Atmosphere & heading Theme or custom accent, backdrop dimming, logo sizing, and hints

Everything saves automatically. Built-in views remain read-only, so you always have a starting point. New installations include only the four defaults; your named views live in your own settings. The custom view shown here is a demonstration.

In Views, the Background blur slider defaults to 20% and sets the desktop blur from 0% (off) to 100%. The background uses an in-memory snapshot while the picker is open. Use Display logo to show or hide the picker logo and wordmark. Reset to defaults… restores shortcuts, view assignments, preview modes and behavior after confirmation. Your custom views and their styling are kept.

Custom views can be renamed or deleted with confirmation. Deleting an assigned view returns its shortcuts to the corresponding built-in template.

Pick how much to preview

Mode What you see
Live Live captures of visible window cards
Snapshot A still captured when a card becomes visible
Live selection A live selected card, with still previews for the others
Icons only Application icons without window capture
View default The preview mode defined by the selected view

Captures stay in memory; the plugin does not write window screenshots to disk. Hidden, suspended, protected, or unavailable windows may show a stale image or an icon fallback. Live previews update when the application and compositor supply frames.

Prefer JSON?

Views are declarative objects, with separate sections for geometry, card styling, previews, animation, and the surrounding scene. The same field catalogue drives the editor and its validation.

# Use the fan for the current-workspace shortcut.
omarchy-shell switch-magic configure '{"profiles":{"workspace":{"view":"fan"}}}'

# Inspect your current configuration.
omarchy-shell switch-magic configuration

Read the configuration guide, explore the built-in definitions, or use the JSON schema. User settings live in the plugin entry in ~/.config/omarchy/shell.json.

Development

QML interface, JavaScript layout logic, and a small Lua bridge for shortcut ownership and modifier-release handling. No downloaded JavaScript dependencies.

python scripts/check.py

See the development guide for isolated previews, project structure, and schema generation. The validation notes describe the environments and behavior checked so far.

Uninstall

omarchy plugin remove renanmt.switch-magic

Your saved keyboard shortcuts return automatically. To temporarily turn Switch Magic off, use omarchy plugin disable renanmt.switch-magic.


Designed and created by Renan Tonheiro · @renanmt
MIT licensed · Made for Omarchy

About

A visual Alt+Tab switcher for Omarchy with live previews, expressive layouts, and a custom view studio.

Topics

Resources

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages