Skip to content

KSHITIZ6341/sidebar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sidebar Browser (Electron) v2.0

Fast, always-on-top, right-edge sidebar browser for any website.

What Changed

This project was migrated from a Python/Tkinter + pywebview sidebar into a pure Electron app.

Migration Summary

  • 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.

Current Features

  • 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.

Requirements

  • Node.js 20+
  • npm

Install

npm install

Run

npm start

Controls

  • 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.

Website Configuration

1) url.ini (default project config)

[webview]
start_url = https://www.kshitizsuwal.com

2) CLI override (one run)

npm start -- --url=https://example.com

3) Environment override

START_URL=https://example.com npm start

Priority order is:

START_URL env -> --url= -> url.ini -> internal default URL

Project Files

  • 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.

About

Always on top siderbar framework with webviewer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors