suoyuanxi31 downloadsAn ARC-browser-style sidebar: sweep the mouse to the left edge of the window and the sidebar slides out, and it slides back when you swipe past its right edge.
An ARC-browser-style sidebar for Obsidian: sweep the mouse to the left edge of the window and the sidebar slides out; swipe right and it slides back.

| How the sidebar was opened | How it closes |
|---|---|
Mouse touches the left edge of the window (within edgeZone, 5px by default) |
The mouse moves horizontally past the sidebar's right edge |
| Opened manually via hotkey / button, with Unified open/close enabled | The mouse moves onto the sidebar and then back out again (while the pointer stays outside the sidebar, you can move freely without it closing) |
| Opened manually via hotkey / button, with Unified open/close disabled | It is not closed automatically — you close it yourself |
The sidebar is opened and collapsed through Obsidian's own leftSplit.expand() / collapse() API — not faked with CSS — so its width, colours and content layout are exactly the same as when you open it yourself.
It also reuses the theme's built-in "hover to reveal the ribbon" behaviour (by overriding a single CSS variable, leaving your theme files untouched).
main.js and manifest.json from this repository.<vault>/.obsidian/plugins/arc-hover-sidebar/."arc-hover-sidebar" to <vault>/.obsidian/community-plugins.json.BRAT can install it from this repository: add
https://github.com/goodends/arc-hover-sidebar in BRAT's plugin list.
Settings → Community plugins → ARC Hover Sidebar
main.js)| Parameter | Default | Meaning |
|---|---|---|
edgeZone |
5px | Width of the left-edge trigger zone |
ribbonTrigger |
24px | Width of the ribbon trigger band (overrides the theme's --hover-sidedock-trigger-area) |
panelRight() |
right edge + 30px | Threshold for "the mouse has left the sidebar", with 30px of slack so the resize handle stays usable |
edgeZone pixels of the window;leftSplit does not exist before the layout is ready, so .collapsed must not be read in onload — doing so throws and the plugin fails to load.expand() / collapse() take effect asynchronously and may not emit events around the transition, so a 400ms poll keeps the state in sync.edgeZone of the left edge pops the sidebar out. If you only wanted to click a ribbon icon, the sidebar comes out too — reduce edgeZone.isDesktopOnly: true).There is no build step — main.js is the entire plugin. For local development, symlink the repository's main.js and manifest.json into <vault>/.obsidian/plugins/arc-hover-sidebar/; changes take effect after disabling and re-enabling the plugin in Obsidian.
Development conventions are described in CLAUDE.md.