Repository navigation
Releases: DilZhaan/ScreenToSpace
Release list
ScreenToSpace v15
Highlights
- Added GNOME Shell 50 compatibility.
- Added a safer Place next to current workspace mode.
- Added support for manually entering custom app IDs/window classes in the filter list.
What’s New
-
Safe adjacent workspace placement
- New optional setting: Place next to current workspace.
- When enabled, ScreenToSpace tries to move isolated windows to an existing empty workspace directly after the current workspace.
- If that placement is not safely available, it falls back to the standard workspace placement behavior.
- Includes per-window cooldown/tracking to avoid repeated placement loops and CPU spikes.
-
Custom app/window-class filtering
- The App List UI now allows manually entering app IDs or window classes.
- This makes it possible to blacklist/whitelist windows that do not appear in the app picker, such as
gjswindows used by Desktop Icons NG.
Fixes
- Fixed cases where blacklisted apps could be moved before GNOME exposed their app ID.
- Improved handling for fullscreen/maximized windows during close/destroy events.
- Avoided unstable app/window lookups while Mutter is unmanaging windows.
Notes
The adjacent workspace mode is intentionally conservative: it reuses existing empty workspaces and falls back automatically instead of force-creating workspaces. This keeps the feature safer on GNOME dynamic workspaces.
V8.0.0
🎯 What's New in v8
Application Filtering System
The biggest addition in this release—per-application blacklist and whitelist modes requested by the community (#4 ).
Features:
- Blacklist Mode (default): Exclude specific apps from workspace isolation (e.g., Telegram, WhatsApp, IDEs)
- Whitelist Mode: Only manage explicitly listed applications; all others stay in current workspace
- Multi-Select App Chooser: Select multiple applications at once with checkbox UI
- Real-time Search: Filter through installed apps instantly while adding to lists
- Smart ID Normalization: Reliable app matching with automatic
.desktopsuffix handling
UI/UX Improvements
- Three-Tab Preferences Layout: Separated Settings, App List, and About into dedicated tabs
- Native GNOME Design: Built with libadwaita (Adw) widgets for seamless integration
- Live Updates: App lists refresh automatically when adding/removing applications
- Modern Icons: Tab navigation with themed symbolic icons
Technical Improvements
- App ID resolution with fallback chain (gtk_application_id → wm_class_instance → wm_class)
- GSettings schema extended with
filter-mode,blacklist-apps,whitelist-appskeys - Modular architecture:
WindowFilterhandles all filtering logic separately from placement - ID normalization for consistent matching across different window types
📦 Installation
From GitHub:
wget https://github.com/DilZhaan/ScreenToSpace/releases/download/v8/screentospace@dilzhan.dev.zip
gnome-extensions install screentospace@dilzhan.dev.zip
gnome-extensions enable screentospace@dilzhan.devFrom Source:
git clone https://github.com/DilZhaan/ScreenToSpace.git
cd ScreenToSpace
glib-compile-schemas src/schemas
rsync -av --delete src/ ~/.local/share/gnome-shell/extensions/screentospace@dilzhan.dev/
gnome-extensions enable screentospace@dilzhan.devRestart GNOME Shell: Logout/login (Wayland) or Alt+F2, r (X11)
🧪 Tested On
GNOME Shell 49
Fedora 41 / Fedora Workstation
Wayland & X11 sessions
🙏 Credits
Special thanks to @luvingiane for suggesting the blacklist/whitelist feature that became the cornerstone of this release.
📸 Screenshots
See README.md for UI previews.
v7.0.0
Release v1.0.0
Full Changelog: https://github.com/DilZhaan/ScreenToSpace/commits/v1.0.0