NoteStitch
> Stitch multiple Notepad windows into one document β instantly.

Screenshot

What is it?
You have six Notepad windows open. Meeting notes, a code snippet, a half-written email, some random thoughts. You need it all in one place β right now.
NoteStitch detects every open Notepad window, lets you pick which ones to include, and merges them into a single clean document with labeled sections. Copy it, save it, done.
Features
| |
|---|
| π Auto-detect | Listens to Notepad via Windows events β no polling, no refresh button |
| βοΈ Pick & choose | Checkbox list with live character counts so you know what you're including |
| π Merge | Combines selected documents with clear === Filename === section headers |
| π Copy / Save | One-click copy to clipboard or save to file |
| ποΈ Close originals | Optionally close the source Notepad windows after merging |
| β¨οΈ Hotkey launch | Assign a Ctrl + Alt + ? shortcut to open NoteStitch from anywhere |
| πͺ Modern shell | WinUI 3 interface with Mica backdrop and a sidebar (Home / Settings / About) |
| ποΈ Tray + startup | Lives in the system tray and can launch on Windows startup |
| β¬οΈ Auto-update | Checks GitHub Releases on launch and updates itself in place |
How it works
[Notepad] [Notepad] [Notepad]
β β β
βββββββ¬ββββββ β
βββββββββββββββββββ
βΌ
NoteStitch
ββββββββββββββββββββββββββββ
β β meeting-notes (312 ch)β
β β ideas (88 ch) β
β β scratch (5 ch) β
ββββββββββββββββββββββββββββ
β [Merge βΆ]
βΌ
=== meeting-notes ===
Discussed Q3 roadmap...
=== ideas ===
What if we used WinEvents...
Getting started
Install with winget
winget install BDvirus.NoteStitch
Fresh 1.0.14+ installs and upgrades use the standard Start-menu installer.
Upgrading from WinGet 1.0.13
Version 1.0.13 was a portable ZIP package, so this one-time move to the 1.0.14 installer requires a manual reinstall. Existing WinGet 1.0.13 users must run:
winget uninstall BDvirus.NoteStitch
winget install BDvirus.NoteStitch
Your settings in %AppData%\NoteStitch are preserved. After this one-time migration, fresh 1.0.14+ installs and upgrades use the Start-menu installer normally.
Install with a single command
Prefer not to use winget (or it hasn't propagated yet)? Paste this into PowerShell β it downloads and launches the latest Start-menu installer:
$i="$env:TEMP\NoteStitch-Setup.exe"; irm "https://github.com/BDvirus/NoteStitch/releases/latest/download/NoteStitch-Setup.exe" -OutFile $i; & $i
Download manually
Download NoteStitch-Setup.exe from Releases and run it to install NoteStitch on the Start menu. The accompanying NoteStitch.zip remains available for portable use.
Build from source
git clone https://github.com/your-username/NoteStitch.git
cd NoteStitch
dotnet publish NoteStitch/NoteStitch.csproj -c Release
> Requires .NET 10 SDK and Windows.
Usage
- Open some Notepad windows with content
- Launch NoteStitch β it detects them automatically
- Check the windows you want to include
- Click
Merge βΆ
- Copy to clipboard, save to file, or close the originals
Keyboard shortcut (optional)
Click ⨠Shortcut⦠to register a Ctrl + Alt + ? global hotkey that launches NoteStitch from anywhere. Sign out and back in once for Windows to register it.
Technical notes
- Built on WinUI 3 / Windows App SDK (.NET 10) with a Mica-backdrop shell,
NavigationView sidebar, and system-tray integration
- Uses
SetWinEventHook (EVENT_OBJECT_SHOW, EVENT_OBJECT_DESTROY, EVENT_OBJECT_NAMECHANGE, EVENT_OBJECT_VALUECHANGE) to react to Notepad windows opening, closing, and being renamed β no polling loop
- On Windows 11 it reads every tab β including inactive ones β directly from Notepad's
TabState binary files; on classic Notepad it falls back to WM_GETTEXT sent to the child Edit / RichEditD2DPT control
- Ships as a self-contained executable (win-x64) β the Windows App SDK runtime is bundled, nothing to install
License
Licensed under the GNU General Public License v3.0.