Repository navigation
Conversation
|
[Medium impact] The PR appears safe to merge, with no new actionable correctness or security issue established. Reviews (4) · Last reviewed commit: "fix(helium/core/session-restore): handle..." · Reviewed by Greptile |
e0a8610 to
e615a8b
Compare
|
A useful open-source reference for the interaction model here is Phi Browser, which has already implemented an Arc-style Ctrl+Tab switcher on macOS: https://github.com/phibrowser/phibrowser-mac/blob/main/Sources/States/TabSwitchManager.swift The interesting part is not just the thumbnail UI, but the switching session behavior:
This creates the Arc-style feel where a quick Ctrl+Tab works as an instant previous-tab toggle with no UI flash, while holding Ctrl or pressing Tab repeatedly turns it into a visual MRU browser. From the current implementation in this PR, the release-Ctrl-to-confirm behavior already appears to be present. The main interaction improvement worth borrowing from Phi seems to be the delayed overlay/session behavior. Phi also limits the switcher to a small recent working set ( The thumbnail implementation in this PR already looks more appropriate for Chromium than Phi's Swift/Chromium bridge approach, so the most useful part to borrow is probably the interaction/session model rather than the rendering implementation. |
Thanks for the input! I already added an option to switch trough the tabs in MRU order. The idea with the small delay until the overview is displayed is really good. I will implement that. Regarding the max recent tabs I see where you are coming from. I do use it with more tabs. I think I will implement it but with an experimental option to enable unlimited tabs in the normal switcher view (list view will retain it's behaviour). |
ca55d92 to
3b0565e
Compare
… to 153 Vendored from imputnet#2539 (beeltec/feature/visual-tab-switcher). Three quilt patches (core/settings/ui) + i18n source entries, appended after address-bar so they layer on top. core & settings apply verbatim; ui rebased onto the address-bar tree (BUILD.gn source list, browser_view.cc include and dtor visual_tab_switcher_.reset() re-anchored around the sidebar changes). Verified: core/settings/ui apply sequentially at zero offset on ci-sidebar.
|
@immadolf Your proposed solution regarding the small 250ms delay and capping the maximum number of tabs shown in the thumbnail strip view is now implemented. Thanks again for the suggestions! |
|
@greptileai please review |
40da777 to
e931fc1
Compare
|
Empty session restores can now complete correctly. @greptileai please review |
Keep quick Ctrl+Tab switches hidden and reveal the overlay after 250 ms or a second Tab press. Commit the selection on Ctrl release. Limit the thumbnail switcher to five recent tabs by default. Add an experimental maximum with -1 for unlimited tabs. Keep list mode unlimited.
Empty restores can run without a background tab loading policy. Return after the restore trace when no policy is installed, while keeping the existing completion path when one is present.
7830541 to
83e306b
Compare
|
Merged with latest main and fixed conflicts. @greptileai please review |
|
@beeltec This looks awesome. The only other thing I'd want if it isn't already implemented is the ability to move the selection backwards with My only other suggestion just looking at the provided images is to round the corners a bit more to make it look more modern. The corner radius currently looks very very small and it could look a bit dated. For example, here's what Dia's looks like which is super clean: Nice job with this. Having the layout option is very cool too and I'm looking forward to trying it. |

For your pull request to not get closed without review, please confirm that:
(an approved feature request, or confirmed bug).
otherwise I have marked my PR as draft.
organization if I lied by checking any of these checkboxes.
Tested on (check one or more):
This adds a Ctrl+Tab overlay with thumbnail and list layouts.
Closes #238.
Unfortunately #1376 seems to be abandoned by the original author. That's why I rethought the implementation approach to not only support the usual thumbnail view but also a list view (which during my tests I found much more useful when having a lot of tabs).
Full disclosure: I did use an LLM for autocomplete and code review.
Screenshots
thumbnail strip:
list layout:
appearance settings: