Skip to content

NexVar/NexStage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexStage — Stage Manager for GNOME

GNOME Shell 46–50 License: GPL-3.0+ Built by NexVar Wayland Ready X11 Compatible

Bring macOS Stage Manager to your GNOME desktop — with personality.

NexStage is a window organizer for GNOME Shell that puts your open apps in a beautiful side carousel of live thumbnails. Click to focus, scroll to navigate, drag to reorder, right-click for options. Two layouts (arc-curve or vertical), two behavior modes (raise-only or minimize-others), full multi-monitor support, smooth animations, badges, tilt-on-inactive depth — and a 4-tab preferences window so every detail is yours.

Built at NexVar by Mert Ali Dalkır — focused workspace tooling for the GNOME desktop.


Why NexStage?

GNOME has Activities Overview. macOS has Stage Manager. NexStage gives you both at once — an always-available sidebar of live window thumbnails that doesn't interrupt your flow. Switch apps without leaving your task. Keep your most-used windows one glance away. Arrange them how you like.

  • Live thumbnails — see actual window content, not just icons
  • Arc carousel layout — beautiful curved arrangement (or vertical if you prefer)
  • Smooth animations — 60 fps Clutter transitions, no jank
  • Multi-monitor — sidebar can follow focus or be per-display
  • Persistent or auto-hide — your call
  • Wayland & X11 — both work end-to-end

Features

Feature Detail
Layouts Arc carousel or vertical list
Position Left, right, or bottom of screen
Modes Raise-only (focus without minimizing) or minimize-others (single-window stage)
Live thumbnails Actual window content, updates in real time
Highlight Active app gets a subtle accent; inactive lean for depth
Multi-monitor Per-monitor or follow-focus
Reserve space Maximized windows avoid the sidebar
Persistent panel Always visible, or auto-hide on idle
Hide delay Configurable timing
Max groups Limit visible app count
Drag reorder Rearrange your stage
Badges Window count per app
Tooltips Hover for window title
Close button Optional per-thumbnail
Custom shortcuts Toggle, navigate, activate, close

Install

Option A — extensions.gnome.org (recommended, once approved)

# Search "NexStage" on extensions.gnome.org and click Install
# Or via CLI:
gnome-extensions install --enable nexstage@nexvar

⚠️ Pending review by GNOME extension reviewers. Until approved, use Option B.

Option B — Manual install from source

git clone https://github.com/NexVar/NexStage.git
cd NexStage
make install
# Log out → log in (Wayland needs a session restart)
gnome-extensions enable nexstage@nexvar
gnome-extensions prefs nexstage@nexvar

Option C — Pack a zip yourself

make pack       # produces nexstage@nexvar.shell-extension.zip

Then upload via extensions.gnome.org/upload for review, or install locally with gnome-extensions install ./nexstage@nexvar.shell-extension.zip.


Controls

Input Action
Click Bring app to front
Middle click Close window
Right click Context menu
Scroll Navigate groups
Drag Reorder thumbnails
Hover Show window title

All keyboard shortcuts are remappable from the Shortcuts page in preferences.


Preferences (4 pages)

  1. Layout — Arc or vertical mode, panel position (left / right / bottom), thumbnail size, margin, spacing, and toggles for labels, close button, badge, tooltip, highlight.
  2. Behavior — Raise-only or minimize-others mode, persistent panel, reserve screen space (maximized windows avoid the sidebar), hide delay, max groups, multi-monitor mode.
  3. Animation — Speed, inactive card tilt, inactive card scale.
  4. Shortcuts — Toggle, navigate, activate, close.

Architecture

nexstage@nexvar/
├── metadata.json    # shell-version: 46, 47, 48, 49, 50
├── extension.js     # enable/disable; sidebar mount, window tracking,
│                    # WindowGroup management, monitor changes
├── prefs.js         # Adw 4-page preferences window
├── schemas/
│   └── org.gnome.shell.extensions.nexstage.gschema.xml
├── LICENSE          # GPL-3.0+
└── README.md

Requirements

Required:

  • GNOME Shell 46, 47, 48, 49, or 50
  • GLib, GTK 4, Adwaita (already required by shell)

Compositor compatibility: Wayland and X11 both supported.


Contributing

PRs welcome. NexStage follows a small, opinionated style:

  • Pure ES modules, no build step (GNOME loads .js directly)
  • Settings keys live in schemas/*.gschema.xml, accessed via Gio.Settings
  • All animation goes through Clutter transitions — no external libs
  • No npm, no node_modules, no transpiler — keeps the install zip tiny

Run make logs to tail GNOME Shell logs while developing.


Built By

AI-first software studio shipping production tooling, AI platforms, and developer infrastructure. NexStage is part of our GNOME desktop suite — focused workspace tools for people who live in their terminals and IDEs.

Website GitHub

Creator and maintainer. Co-founder of NexVar. Builder of useful, well-engineered desktop tooling for Linux.

Website X LinkedIn GitHub


See Also

  • NexNotch — Dynamic Island for GNOME (top-bar hover hub: system, calendar, weather, pomodoro, notes, shelf)
  • NexGSD — AI agent framework for autonomous project execution

License

GPL-3.0-or-later © NexVar and Mert Ali Dalkır

See LICENSE for the full text.


If NexStage makes your GNOME workflow better, give it a star. It helps others find it.

Built with conviction at nexvar.io and mertdlkr.com.

About

Stage Manager for GNOME 46–50. macOS-style sidebar of live window thumbnails: arc or vertical layout, multi-monitor, drag reorder, badges, smooth animations. Wayland & X11. Built by NexVar.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors