Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

forloopcodes/legacy-notepad

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
84 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Legacy Notepad

A lightweight, 25x fast, Windows notepad alternative built with C++17 and Win32 API which I made because microsoft wont stop adding AI bloatware to notepad.exe.

image image

Screenshot:

image

Features

  • Multi-language support: English and Japanese translations with runtime switching.
  • Multi-encoding text: UTF-8, UTF-8 BOM, UTF-16 LE/BE, ANSI with line-ending selection.
  • Rich editing: word wrap toggle, font selection, zoom, time/date stamp, find/replace/goto.
  • Backgrounds: optional image with tile/stretch/fit/fill/anchor modes and opacity control. (known issues)
  • Always on top: window pinning support.
  • Printing: print and page setup dialogs.
  • Customizable icon: change the application icon from .ico files or icon libraries such as .exe, .dll, .icl, and .mun.

Requisites

Building Legacy Notepad requires:

  • Operating System: Windows 7 SP1 or newer (Windows 10/11 recommended for full UI feature support).
  • Build System: CMake 3.16 or higher.
  • Compiler: A C++17 compatible toolchain:
    • MinGW-w64: Tested with GCC 13.2.0 (standard for lightweight builds).
    • MSVC: Visual Studio 2022 or higher.
  • SDKs: Windows SDK (included with Visual Studio or available via MSYS2 for MinGW).
  • Dependencies: The app uses standard Windows components: GDI+, RichEdit 4.1 (Msftedit.dll), Common Controls, and DWM.

Build & Installation

Using MinGW (Recommended for GCC)

Ensure your MinGW bin folder is in your system PATH.

# 1. Clone the repository
git clone https://github.com/ForLoopCodes/legacy-notepad.git
cd legacy-notepad

# 2. Create and enter build directory
mkdir build
cd build

# 3. Configure and build
cmake -G "MinGW Makefiles" ..
mingw32-make -j$(nproc)

# 4. Run the application
.\legacy-notepad.exe

Using Visual Studio (MSVC)

  1. Open the folder in Visual Studio 2022.
  2. Visual Studio will automatically detect CMakeLists.txt and configure the project.
  3. Select legacy-notepad.exe in the startup item dropdown.
  4. Press F5 to build and run.

Alternatively, via command line:

cmake -B build -S .
cmake --build build --config Release

Architecture

  • Entry: src/main.cpp - window class, message loop, wiring modules.
  • Core: src/core - shared types and globals.
  • Modules (src/modules): theme (dark mode), editor (RichEdit handling), file (I/O & encodings), ui (title/status/layout), background (GDI+), dialog (find/replace/font/transparency), commands (menu actions).
  • Resources: src/notepad.rc, src/resource.h, icons/menus/accelerators.

Repository tree

src/
  core/           # types, globals
  modules/        # theme, editor, file, ui, background, dialog, commands
  main.cpp
  notepad.rc
CMakeLists.txt

File quicklook

File/Folder Purpose
src/main.cpp Win32 entry point, WndProc, module wiring
src/core/types.h Enums, structs, app constants
src/core/globals.* Shared handles/state definitions
src/modules/editor.* RichEdit setup, word wrap, zoom
src/modules/file.* Load/save, encoding + line endings, recent list
src/modules/ui.* Title/status updates, layout sizing
src/modules/theme.* Dark mode title/menu/status, theming
src/modules/background.* GDI+ background image/opacity/position
src/modules/dialog.* Find/replace/goto, font, transparency dialogs
src/modules/commands.* Menu command handlers
src/notepad.rc, src/resource.h Menus, accelerators, icons

License

MIT License - see LICENSE.

Known issues

  • Windows Defender flags legacy-notepad-x86.exe; see issue #26: #26

Notes

  • Windows-only (Win32 API + GDI+). Use Wine/Proton at your own risk.
  • Background image modes may vary slightly across DPI/scaling settings.
  • Unsigned Windows binaries can occasionally trigger heuristic antivirus detections; always verify published SHA-256 hashes.

Queries

x.com/forloopcodes

About

A lightweight, 25x fast, Windows notepad alternative built with C++ and Win32 API which I made because microsoft wont stop adding AI bloatware to notepad.exe.

Resources

License

Stars

Watchers

Forks

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.