Full cross-window workspace syncing
(I'll mention #7079 so that folks over there will also see this PR)
some updates:
https://github.com/user-attachments/assets/2705bd9e-b3fd-453f-9430-c27779340bb5
I think i'll also implement my own session restore since firefox's seem to be pretty out-of-date with what our vision looks like
Will this sync across other devices as well? Or only windows open on the same device?
Only across windows, not devices
How does this handle multiple windows trying to show the same tab? I'd love for Zen to copy Arc's UX here. Arc does it by showing a greyed out version of the thumbnail (screenshot from the tab in some state) in all unfocused windows and only having it actively rendered in the window that last had focus.
This would be amazing!!! I've had to entirely avoid workspaces on desktop bc of the lack of sync. I started using them on my laptop tho, and now I realllly want them to be usable on my dual monitor desktop 🙏🏻
https://github.com/user-attachments/assets/5a11b0bf-e793-4642-9ef5-10a9750a6885
Got window initialization and syncing half-done 👍🏽
(oh man this is so exciting—thanks for your work on this!)
I was wondering when this pull request is likely to be merged?
It's ready when it's ready; as long as there's active development happening in it, it'll arrive eventually.
I was wondering when this pull request is likely to be merged?
It should be the next big feature that'll drop, but between firefox and windows breaking something on every update its getting a bit delayed so people get their bug fixes
(Which btw, @mr-cheffy, thank you so much for keeping working on this despite being pulled away for those things 💚)
Just waiting this feature to turn Zen my principal browser, instead Arc.
What's the status of this PR currently? Looks very promising, just asking because I'd like to help out so we can get this out sooner as I think it's super important.
Also one thing on top of what you're working on: Do you plan to also have an option to have a "primary" window and multiple "secondary" windows?
Cross-window syncing is nice, but I think the way Zen is designed is still confusing if I have a second window open that holds tabs that don't belong to the window itself.
What I'd love to see is an option to:
- Have a primary window (usually the first Zen instance opened)
- All other windows opened afterwards will be secondary windows
- Secondary windows would not show pinned tabs or tabs from the primary window at all and just show tabs that actually belong to it (think of a minimal sub-instance)
- When the original primary window is closed, the oldest secondary window will be promoted to primary and will show all pinned tabs again.
I worked on this kind of feature on a branch of mine where I keyed my window instances with a key + timestamp and then used CSS to hide the pinned tabs if the window was a "minimal" window and it worked but I stopped working on my branch when I saw you working on synced tabs already.
What's the status of this PR currently? Looks very promising, just asking because I'd like to help out so we can get this out sooner as I think it's super important.
Currently being tested by me and @Propheticus and some other so critical bugs can be ironed out before releasing to twilight (nightly). Window sync is done, view cloning is done, temporary windows are done and our session manager is done. Main blocker right now would be the migration process to the new system
Also one thing on top of what you're working on: Do you plan to also have an option to have a "primary" window and multiple "secondary" windows?
Cross-window syncing is nice, but I think the way Zen is designed is still confusing if I have a second window open that holds tabs that don't belong to the window itself.
Not sure if I understood it correctly, but zen does have "unsynced" or "temporary" or "secondary", ... windows where they are not being synced or mirrored with the others. These windows can be opened by dragging tabs outside of the window, opening links in new windows, etc.
It does not contain essentials, pins, etc. Imagine opening a private window but with cookies, history, etc being enabled. I hope im explaining myself correctly.
On these temporary windows, where you have the workspace name, you'll have a Move To... button where it allows you to move those tabs to a synced window.
Cool, looking forward for it on the Twilight branch. Should we look into my PR after this lands on Twilight on how my sync engine for tabs still fits to the new structure?
Not sure if I understood it correctly, but zen does have "unsynced" or "temporary" or "secondary", ... windows where they are not being synced or mirrored with the others. These windows can be opened by dragging tabs outside of the window, opening links in new windows, etc.
Sounds like what I meant. Let me show on what I mean on current Arc. This is my "main" window on Arc.
And this is a window after I drag and drop out a tab into a new window:
The new window does not have all tab folders / workspaces on it and works separated from the main window which feels a bit better on multi-desktop setups. I often feel this where I go from my Macbook (with one monitor) where current Zen feels fine to my Windows PC with 2 monitors where it always feels weird to have two "full" variants of the Zen tab bar, even though my second monitor's Zen instance is only used for watching a video or having some docs open to the side.
Comparision with Zen (Main window):
and after dragging out a "GoFundMe" tab to a new window:
(see the full sidebar on the new window)
Sorry for the WoT, if this is fixed with the new infrastructure I would be super happy!
Should we look into my PR after this lands on Twilight on how my sync engine for tabs still fits to the new structure?
Absolutely!
Sounds like what I meant. Let me show on what I mean on current Arc. This is my "main" window on Arc.
Exactly like arc then