A clean, fast, tab-based text editor for Windows — a replacement for the modern Electron-based Windows Notepad, without Copilot or Markdown features.
- Electron — desktop shell
- React 18 — UI framework
- TypeScript — type safety throughout
- SCSS — component-scoped styles with CSS custom properties for theming
- Zustand — lightweight state management
- electron-vite — build tooling
- Multiple tabs with unsaved-changes indicator
- Custom frameless titlebar with Windows-style window controls (minimize / maximize / close)
- File operations — New, Open, Save, Save As, Close Tab
- Edit operations — Undo, Redo, Cut, Copy, Paste, Delete, Select All, Time/Date
- Find / Replace panel with Match Case and Whole Word options
- Go To Line dialog
- Zoom per tab (Ctrl +/−/0)
- Word Wrap toggle
- Font chooser (family + size)
- Status bar — Line/Col, character count, encoding, EOL, zoom
- Light and Dark theme (follows system preference, overridable)
- Keyboard shortcuts matching standard Windows Notepad
src/
├── main/ Electron main process
│ └── ipc/ IPC handlers (file, window)
├── preload/ Context bridge (secure renderer ↔ main API)
├── shared/ Types and constants shared across processes
└── renderer/
└── src/
├── components/
│ ├── TitleBar/
│ ├── TabBar/
│ ├── MenuBar/
│ ├── Editor/
│ ├── StatusBar/
│ ├── FindReplace/
│ └── Dialogs/
├── hooks/ useKeyboardShortcuts, useTheme
├── services/ fileService (wraps IPC calls)
├── store/ tabsStore, settingsStore, uiStore (Zustand)
└── styles/ global.scss (CSS variables / themes)
npm install
# Development (hot-reload)
npm run dev
# Production build
npm run build
# Package as NSIS installer
npm run package| Action | Shortcut |
|---|---|
| New tab | Ctrl+N |
| New window | Ctrl+Shift+N |
| Open | Ctrl+O |
| Save | Ctrl+S |
| Save As | Ctrl+Shift+S |
| Close tab | Ctrl+W |
| Find | Ctrl+F |
| Find next | F3 |
| Find previous | Shift+F3 |
| Replace | Ctrl+H |
| Go to line | Ctrl+G |
| Select All | Ctrl+A |
| Time/Date | F5 |
| Zoom in | Ctrl++ |
| Zoom out | Ctrl+− |
| Reset zoom | Ctrl+0 |