[READ-ONLY] Mirror of https://github.com/autonome/escape. escape tabs
README.md

Escape #

IZUI web user agent

Zoom in

  • Home shows groups
  • Groups show pages
  • Pages are viewed in isolation (no tabs or address bar)

Zoom out

  • Esc key shows tabs page
  • Esc key again shows groups page

Implementation - Firefox WebExtension version

  • Escape is a popup window, where tabs exist but are hidden (using this bug]
  • Escape home is tab 0
  • Pages are opened up to the right
  • Switching groups closes all tabs, and opens new group's tabs (unloaded)

TODO #

System

  • move core mgmt/data to background from home

Extras

  • a tab in home page shows windows as groups?
  • option to import all windows as groups

Handling home page

  • Create new tab for it
  • OR use it like about:home, navigate away from it on url click
  • Hide from visible tabs in home page
  • ESC always goes back to it
  • Always hide it, in whatever group it is

What happens when...

  • User closes a tab
  • User closes the window
  • User goes fullscreen (from Firefox)
  • User goes fullscreen (from web API)

How to...

  • Open a new tab from home page? Have a URL entry bar there?

Notes from the tab-based version #

api.sessions.setTabValue(currentTabId, key, value); await api.sessions.getTabValue(currentTabId, key);

init groups

  • there's always a default group (no group property on the tab)
  • (OR should default group be all tabs)
  • otherwise get group property from the tab

managing storage

  • scaling to lots of tabs/groups
  • collect all on startup
  • manage cache
  • what can change?
    • new tab in group
    • tab changes groups
    • tab closed (no action necessary)
    • undo close tab to a group that no longer exists (use current group)

relevant tab events

  • new
    • set to current group
  • activate
  • close