Fast, always-on-top, right-edge sidebar browser for any website.
This project was migrated from a Python/Tkinter + pywebview sidebar into a pure Electron app.
- Replaced the old Python entrypoint with
main.js(Electron runtime). - Removed Clinimetrix-specific behavior (custom banner injection, credential capture, and site-specific login logic).
- Made the app generic for any URL, with default:
https://www.kshitizsuwal.com
- Added a persistent right-edge pull-tab button that slides the sidebar in/out.
- Added right-click menu on the pull-tab for behavior mode switching.
- Added
Auto (Hover Screen Edge)mode:- opens when cursor touches the right edge
- closes after cursor leaves sidebar/handle area
- Added persisted app state:
- sidebar width
- sidebar visibility
- selected behavior mode
- Added keyboard shortcuts for toggle and hard reload.
- Added performance-oriented Chromium/Electron flags for responsiveness.
- Always-on-top sidebar window.
- Edge pull-tab that stays visible when sidebar is hidden.
- Slide-in/slide-out animation.
- Behavior modes:
Manual (Click Button)Auto (Hover Screen Edge)
- URL configuration via
url.ini, CLI, or environment variable. - Single-instance lock.
- Auto fallback to default URL when load fails.
- Node.js 20+
- npm
npm installnpm start- Left-click pull-tab: toggle sidebar.
- Right-click pull-tab: open behavior menu.
Ctrl/Cmd + Shift + \: toggle sidebar.Ctrl/Cmd + Shift + R: hard reload current page.
[webview]
start_url = https://www.kshitizsuwal.comnpm start -- --url=https://example.comSTART_URL=https://example.com npm startPriority order is:
START_URL env -> --url= -> url.ini -> internal default URL
main.js- Electron app logic, sidebar animation, pull-tab, behavior modes.url.ini- configurable start URL.package.json- scripts and dependencies.package-lock.json- pinned dependency graph.