Comments (1)
Unfortunately I haven't looked too much into the APIs for working with virtual desktops and there's currently some weird behavior when using them. The topic's come up in a discussion before here.
Your use case is definitely valid though and I agree that having a separate set of workspaces on each virtual desktop would be the ideal. However, it's a pretty tough problem to solve. For example, the WM listens for window events like close, minimize, focus, etc., and these aren't isolated to a particular virtual desktop. There'd have to be some way to know which virtual desktop a window belongs to and handle its events accordingly.
If you truly want to approach this problem, one approach would be to change how the ContainerTree
(see ContainerService
) is structured. Currently, there's a root container with monitors as children, then workspaces, then split containers & windows. To account for virtual desktops, you'd have to a create new container type under the root container for representing a desktop (meaning each desktop has a different set of monitors, workspaces, windows, etc.). Somehow on creation/deletion of a virtual desktop, it'd create/delete the corresponding desktop container (there's an undocumented way to hook into this described here).
Also, do note that you can have more than 9 workspaces - just define more in the user config and assign a keyboard shortcut to switch to that workspace. It does admittedly get pretty awkward defining keyboard shortcuts with that many workspaces though.
from glazewm.
Related Issues (20)
- Set of Workspaces Per Monitor HOT 4
- "move to workspace" doesn't work with keybinds using HOT 1
- Not compatible with Snipaste. HOT 1
- glazewm with yasb keeps windows flickering when drag HOT 1
- [Feature Request] Add dwindle layout HOT 2
- GlazeWM crashes upon connecting multiple monitors via dock with 5 external monitors. "At least 1 workspace is required per monitor" HOT 1
- [bug/question] keybinds conflict with Windows Terminal HOT 4
- Start menu opens when hitting Windows + R or any other Windows key combination that opens a window
- Bug: Windows extend below the bottom of the display when using 2 different monitors.
- [Feature request] Hide mouse cursor with cursor_follow_focus set as true
- Split while windows already opened
- Improved Battery Status
- Incorrect window height in multiple monitor system HOT 1
- [Feature Request] Open Apps in the Same Monitor as the Mouse Cursor HOT 1
- Workspaces shuffled on wake after sleep
- Progress tracking for GlazeWM C# to Rust rewrite 🦀
- Issue with glazewm & AutoHotkey Script: Windows Taskbar not maintaining hidden state on workspace focus change HOT 4
- On Crash or Close, Make Background Process into Apps again.
- [Feature Request] Disable Full Screen on Internal Windows Programs
- Issue: Blank window appears after confirming file replacement HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glazewm.