Skip to content

Initial implementation for folders and tree-styled tabs #7359

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: dev
Choose a base branch
from

Conversation

mauro-balades
Copy link
Member

@mauro-balades mauro-balades commented Apr 5, 2025

Functionality:

  • Make firefox groups work only for pinned tabs
  • Correctly restore folders to their designated workspaces after a restart
  • Allow folders to stack up together
    • Split view groups should be able to fit inside folders

UI/UX:

  • Rename input when creating a folder
  • Open / Close animations (excluding selected tab)
  • Allow drag and dropping folders
  • Allow droping tabs inside folders

@mauro-balades mauro-balades marked this pull request as ready for review April 5, 2025 18:58
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. Feature labels Apr 5, 2025
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Apr 5, 2025
@MoshiurRahmanAdib
Copy link

Make firefox groups work only for pinned tabs

Why make it only work for pinned tabs, why not both?

@mauro-balades
Copy link
Member Author

Because normal tabs should be disposable. I have another thing planned for normal tab grouping. This PR is just for folders

@logicsec
Copy link

logicsec commented Apr 8, 2025

For the nested folder and split view, I feel like it might be easier to match the parent margin like attached. This would ensure that the split view has enough room. I feel like at some point, there should be a max nested folder size or a way to configure the max size.

Lastly, I am wondering if we should have a config option for the indent size? I know there is a number of people that set theirs to 0 to keep it kinda flat.

image

@mauro-balades
Copy link
Member Author

mauro-balades commented Apr 8, 2025

I believe max should be 4 or 5, depending on how it turns out to be. First step is to actually get them... stacked. And for spacing, it should be logarithmic, where the more indents there are, the lower the spacing would be

@GitMurf
Copy link

GitMurf commented Apr 9, 2025

Because normal tabs should be disposable. I have another thing planned for normal tab grouping. This PR is just for folders

So should we ignore the title of this PR having “tree style tabs” in it? Will there be another PR opened for that? Or is this the single PR we can follow for tree style tabs as well?

Thanks!

@mauro-balades
Copy link
Member Author

Tree style tabs imply folders need to be stackable

@Hikiru
Copy link

Hikiru commented Apr 10, 2025

Because normal tabs should be disposable. I have another thing planned for normal tab grouping. This PR is just for folders

There are situations where I need to sort my normal tabs and keep them open for an extended period of time but don’t want to pin them. For instance, I’m making a modpack for Minecraft right now. When I’m researching mods, I open ones I’m considering in new tabs and sort them into groups by category (currently just using the somewhat working Firefox tab groups). These tabs are still disposable, since they’ll be closed eventually, but they’re still open long enough that they need good organization.

If your plan for tab groups covers this, then cool. If it doesn’t, then I don’t see why users can’t have the choice to use folders for normal tabs if they want

@solrac97gr
Copy link

Is there a estimation for the release of this feature? I wanna suggest my team migrate to use Zen instead of Arc but this o course will be a discussion point 😂

@mauro-balades
Copy link
Member Author

There are situations where I need to sort my normal tabs and keep them open for an extended period of time but don’t want to pin them. For instance, I’m making a modpack for Minecraft right now. When I’m researching mods, I open ones I’m considering in new tabs and sort them into groups by category (currently just using the somewhat working Firefox tab groups). These tabs are still disposable, since they’ll be closed eventually, but they’re still open long enough that they need good organization.

Yeah, as I said, there's a third type of group planned for normal tabs. But I dont think they'll appear on the same release as folders.

So it would end up being:

  • Split view group
  • Folder
  • Temp. Group

once zen reaches stable

@GitMurf
Copy link

GitMurf commented Apr 10, 2025

Yeah, as I said, there's a third type of group planned for normal tabs.

@mauro-balades makes sense and thanks for the clarifications! My only follow-up question is whether this third type of group for normal tabs will also support tree style tab primitives, meaning can have nested groups N levels deep (which I believe you refer to as "stackable")? Thanks!!

@mauro-balades
Copy link
Member Author

Is there a estimation for the release of this feature? I wanna suggest my team migrate to use Zen instead of Arc but this o course will be a discussion point 😂

Soon, I do want to give this feauter a nice week of purely testing as it's one of the things most people request.

@mauro-balades makes sense and thanks for the clarifications! My only follow-up question is whether this third type of group for normal tabs will also support tree style tab primitives, meaning can have nested groups N levels deep (which I believe you refer to as "stackable")? Thanks!!

That's still has to be decided on, im still unsure about normal tabs implementation. Im focusing on pinned tabs right now, sorry

@mauro-balades
Copy link
Member Author

For drag and drop, we might just have to update to Firefox beta (138) since they already have this functionality...

@g3eorge
Copy link

g3eorge commented Apr 11, 2025

I don't think it should be so overcomplicated. You don't need three different things that are all folders. I agree you should focus on pinned tab folders right now, but please call it one name.

@mauro-balades
Copy link
Member Author

Yeah, I'm just spitting out technicalities. Split views are just split views, but they are just groups at the end of the day

@Ahsan-Aziz-Ishan
Copy link

so this is the spoiler for the new feature

@smalhotra3599
Copy link

@mauro-balades appreciate the hard work you do for Zen! Just curious if you had any updates on timeline for this MR? I've been eagerly awaiting implementation of this feature since this MR first opened.

@mauro-balades
Copy link
Member Author

Twilight is already on firefox 138, once I get that release out of the way, Ill start working on finishing the last details for this PR. Behind the scenes, I already found folder icons with animations and patched firefox to properly work with folders.

@InJJWeTrust
Copy link

Love the work you are doing here.
Currently using Zen with "Tree Style Tab" plugin in order to achieve something usable and useful for my tastes, however as it is a plugin and fights with the native tab appearance/implementation in Zen, it still isn't ideal. Sideberry also isn't quite cutting it for me as well.

All of your efforts spent in the vertical tab space and on nested/tree-style-tabs gets a ton of support from me! Keep up the great work! Tons of people will find this all exceptionally useful.

@logicsec
Copy link

@mauro-balades are you keeping the current tab groups and just adding tab folders on top of that API?

@xptea
Copy link

xptea commented May 3, 2025

sigma software

@azeveco
Copy link

azeveco commented May 9, 2025

This is the only think that kept me from switching to Firefox. Now it's here.

I can't wait for this to get released here so I can make the full switch and finally ditch Chrome.

That's awesome. Thank you @mauro-balades

@mauro-balades
Copy link
Member Author

Once 1.12.4b is released ill start working back again with this. Releasing today.

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels May 17, 2025
@jd-santos
Copy link

I'm just here to persist the hype

@agarwal222

This comment has been minimized.

@bpavuk
Copy link

bpavuk commented May 18, 2025

@agarwal222 @jd-santos do you have notifications for this PR enabled, too? :D

@agarwal222

This comment has been minimized.

@kevinrobayna

This comment was marked as off-topic.

@Vortriz
Copy link

Vortriz commented May 18, 2025

@jd-santos @bpavuk @agarwal222 @kevinrobayna i suggest you take this discussion elsewhere. people are tracking this PR for actual development updates and feature enhancement.

@g3eorge
Copy link

g3eorge commented May 20, 2025

Poll

Like this comment if you think that tab folders should work only with pinned tabs, and dislike this comment if you think it should work with non-pinned tabs as well.

@lishaduck
Copy link

↑ And heart if you'd love them to support non-pinned tabs, but would rather have something than blocking this on trivialities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.