Skip to content

feat(extensions): Bear Split — side-by-side split view (Arc gap closure) - #155

Merged
mdheller merged 1 commit into
mainfrom
feat/bear-split-view
Aug 4, 2026
Merged

feat(extensions): Bear Split — side-by-side split view (Arc gap closure)#155
mdheller merged 1 commit into
mainfrom
feat/bear-split-view

Conversation

@mdheller

@mdheller mdheller commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Arc's split view is one of its most-used productivity features. Bear Split closes that gap.

CMD+SHIFT+\ (or Ctrl+Shift+\ on Linux) opens the current tab in a split view with the same URL on the left and a blank pane on the right. Navigate each pane independently.

Features

  • Draggable divider — resize panes; iframes lose pointer-events during drag so they don't eat mouse events
  • Independent URL bars — type and press Enter or click Go; auto-prefixes https://
  • Memory mesh integration — split-view open + each navigation fire POST localhost:7788/api/append
  • Fully self-containedsplit.html has all CSS and JS inline, zero external assets
  • Min pane width 80px — prevents accidental collapse

Load

about:debugging → This Firefox → Load Temporary Add-on → extensions/bear-split/manifest.json

Then: toolbar button or CMD+SHIFT+\

Test plan

  • Shortcut opens split view with current URL in left pane
  • Right pane loads URL entered in right URL bar
  • Drag divider resizes panes; releases cleanly
  • Iframe content scrolls and clicks work normally
  • Mesh event appears in dashboard after open

…closure)

extensions/bear-split/ — MV2 WebExtension for LibreWolf/Firefox:

manifest.json:
- CMD+SHIFT+\ / Ctrl+Shift+\ keyboard shortcut to open split view
- browser_action toolbar button
- web_accessible_resources: split.html
- gecko id: bear-split@bearbrowser.local

background.js:
- commands.onCommand("open-split"): opens split.html?left=<current-url>&right=about:blank
- browserAction.onClicked: same; takes current tab URL as left pane seed

split.html (fully self-contained, no external deps):
- Two URL bars (LEFT/RIGHT labels) + two iframes side by side
- Draggable divider: mousedown → mousemove adjusts flex widths; iframes
  get pointer-events:none during drag to prevent event capture
- Min pane width 80px; divider highlights teal (#39C5CF) on hover/drag
- URL input: Enter or Go button navigates; auto-prefixes https:// if no scheme
- sandbox: allow-scripts allow-forms allow-same-origin allow-popups allow-downloads
- Memory mesh ping on open + on each navigation (POST localhost:7788/api/append)

icons/split-48.svg:
- Two rectangles with dashed center divider, brand teal
@mdheller
mdheller merged commit 605ac18 into main Aug 4, 2026
17 checks passed
@mdheller
mdheller deleted the feat/bear-split-view branch August 4, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant