Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jester logo

Jester

A lightweight, beautiful notepad for Windows — purple & gold.

CI Download tests License: GPL v3 Platform .NET

⬇ Download · Features · Shortcuts · Build · Contributing

Jester screenshot

⬇ Download

  1. Head to the latest release.
  2. Download Jester.exe.
  3. Double-click to run. That's it.

It's a single, portable file — no installer, and no .NET install required (the runtime is bundled). Works on Windows 10 and 11 (64-bit).

First launch may show a SmartScreen prompt because the build is unsigned — choose More info → Run anyway.

✨ Features

  • Tabbed editing — work on many files at once, each with its own undo history and encoding. Close with Ctrl+W or middle-click; switch with Ctrl+Tab.
  • Line numbers — a gutter with the current line highlighted, plus a current-line highlight in the editor (toggle in View).
  • Find in Files — search a whole folder (Ctrl+Shift+F) with filters and subfolders; double-click a result to jump straight to it.
  • Files — New, Open (multiple at once), Save, Save As, Save All, Open Recent, drag-and-drop, and "Open with Jester" from Explorer.
  • Session restore — reopens your window, tabs, and preferences next launch.
  • Export to PDF — turn any note into a clean, paginated A4 PDF (Ctrl+Shift+E).
  • Find & Replace — find, replace, replace all, match case, wrap-around, and direction.
  • Go To Line, insert time/date, auto-indent, unlimited undo/redo.
  • Format — word wrap, a font picker, and line-ending / encoding conversion.
  • View — zoom (menu or Ctrl + mouse wheel) and a toggleable status bar.
  • Status bar — characters, lines, caret position, zoom, line ending, and encoding.
  • Safe by default — prompts before discarding unsaved work (including on sign-out/shutdown) and saves atomically so a crash can't corrupt your file.
  • Encoding aware — detects UTF-8/UTF-16 BOMs and preserves the file's original encoding and line endings.

⌨ Keyboard shortcuts

Action Shortcut Action Shortcut
New Tab Ctrl+N Find Ctrl+F
Open Ctrl+O Find Next / Previous F3 / Shift+F3
Save Ctrl+S Replace Ctrl+H
Save As Ctrl+Shift+S Find in Files Ctrl+Shift+F
Save All Ctrl+Alt+S Go To Line Ctrl+G
Close Tab Ctrl+W Time/Date F5
Next / Prev Tab Ctrl+Tab / Ctrl+Shift+Tab Zoom In / Out Ctrl++ / Ctrl+-
Export to PDF Ctrl+Shift+E Restore Zoom Ctrl+0
Exit Ctrl+Q Undo / Redo Ctrl+Z / Ctrl+Y
Select All Ctrl+A

🛠 Build from source

Prerequisites: .NET 9 SDK on Windows.

git clone https://github.com/dominikkoenitzer/Jester.git
cd Jester
dotnet run -c Release

Produce the portable single-file build that ships in releases:

dotnet publish Jester.csproj -c Release -r win-x64 --self-contained true ^
  -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true ^
  -p:EnableCompressionInSingleFile=true

The executable lands in bin/Release/net9.0-windows/win-x64/publish/Jester.exe.

Tests

dotnet test Jester.sln

57 xunit tests cover the parts that work without a window: find/replace, settings persistence, and the command table. The WPF views are verified by running the app. CI runs the same command.

🧱 Project structure

Path Purpose
App.xaml(.cs) Application entry point, session-end and crash handling.
MainWindow.xaml(.cs) The main window: fields, command bindings, settings/session, shutdown.
MainWindow.Tabs.cs Creating, switching and closing document tabs.
MainWindow.Files.cs Open, save, PDF export and the recent-files list.
MainWindow.Search.cs Find, replace, find-in-files and go-to-line.
MainWindow.View.cs Word wrap, line numbers, font, encoding, line endings, zoom.
MainWindow.Editing.cs Auto-indent, ctrl-wheel zoom, drag and drop.
MainWindow.Status.cs Title bar and status bar updates.
TextSearch.cs Find/replace arithmetic, with no editor attached.
tests/Jester.Tests/ xunit suite.
EditorView.cs One document's editor surface (text box + gutter + current-line highlight).
LineNumberMargin.cs The line-number gutter drawn beside each editor.
DocumentTab.cs Per-tab document state (path, encoding, dirty flag).
AppSettings.cs Loads/saves preferences and the last session as JSON.
ThemedWindow.cs Base window with the custom title bar / chrome.
Theme.xaml The purple & gold theme — palette and control styles.
JesterCommands.cs Custom routed commands and key gestures.
PdfExporter.cs Renders the document to PDF (QuestPDF).
FindReplaceWindow, FindInFilesWindow, GoToWindow, FontWindow Dialogs.
Assets/jester.ico Application icon.

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md. Found a bug or have an idea? Open an issue.

📄 License

Jester is free software licensed under the GNU GPL v3.0. Copyright © 2026 Dominik Könitzer.

Built with C# and WPF on .NET 9.

Author

Dominik Könitzer — software engineer in Zürich, Switzerland.

dominikkoenitzer.ch · CV · @dominikkoenitzer · dominik.koenitzer@gmail.com

About

A lightweight, beautiful notepad for Windows — tabs, line numbers, find-in-files, and PDF export. Built with C# and WPF on .NET 9.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages