Skip to content

Port to HdyTabView/HdyTabBar

Alice Mikhaylenko requested to merge wip/exalm/tabs into master

Screenshot_from_2020-09-06_21-34-01

Many things are missing, but for now it's enough for testing the new widgets in a more real-world scenario :)

  • Keynav
    • I don't have menu key, but Shift+F10 opens primary menu instead of tab context menu
    • Trying to go from a pinned to non-pinned tab results in lost focus (regression in libhandy)
    • Ephy currently respects the wrap-around option. Should it be a thing? GtkStackSwitcher or GtkListBox don't support it. (update: Allan said no)
    • Ephy tries to focus the page while trying to keynav tabs. That was a preexisting issue though
      • Tries to focus location bar when switching to a most visited tab
    • HdyTabView and HdyTabBar define some shortcuts for reordering and switching pages. We should probably review both them and existing shortcuts for that in ephy as there seem to be duplicates.
    • IIRC I commented out ctrl+tab for now. This should probably be in libhandy.
    • Alt+numbers -> libhandy
    • It shouldn't be possible to Ctrl+W pinned tabs.
  • There's a TODO in the code. When we're inserting a tab, currently we insert it non-pinned and then make it pinned. This is suboptimal since pinning/unpinning implies a reordering, and HdyTabView is strict with this. That said, it does work right now.
  • Mobile view rows need to be reimplemented for HdyTabPages.
  • Missing features:
    • Ability to dnd urls onto tabs or between them to open them
    • Tab position (HdyTabBar is explicitly horizontal, I suppose if we want this, better to expose sth like mobile pages view as a sidebar)
    • Expand and visibility policy - should be implemented in libhandy
    • Tab flashing when opening - likely with just setting needs-attention by default
    • Smart switching - not sure yet what it is
    • Close button on the left - should be implemented in libhandy
    • Incognito mode styling, general CSS review as quite a lot of styling can be removed now

WIP because all of above + depends on a dirty unmerged branch of libhandy + this branch is dirty as well + there's a libhandy-side list in libhandy!606 (comment 906207)

Depends on libhandy!606 (merged)

Fixes #1205 (closed)

Edited by Alice Mikhaylenko

Merge request reports