@@ -19,22 +19,55 @@ A lightweight, 25x fast, Windows notepad alternative built with C++17 and Win32
1919- ** Printing** : print and page setup dialogs.
2020- ** Customizable icon** : change the application icon to any .ico file, including classic Notepad icons.
2121
22- ## Requirements
22+ ## Requisites
2323
24- - Windows 10/11 with Win32 and GDI+ (desktop apps)
25- - CMake 3.16+
26- - A C++17 toolchain: MSVC (Visual Studio 2022+) or MinGW-w64 (tested with GCC 13)
24+ Building Legacy Notepad requires:
2725
28- ## Build & Run
26+ - ** Operating System** : Windows 7 SP1 or newer (Windows 10/11 recommended for full UI feature support).
27+ - ** Build System** : [ CMake] ( https://cmake.org/download/ ) 3.16 or higher.
28+ - ** Compiler** : A C++17 compatible toolchain:
29+ - ** MinGW-w64** : Tested with GCC 13.2.0 (standard for lightweight builds).
30+ - ** MSVC** : Visual Studio 2022 or higher.
31+ - ** SDKs** : Windows SDK (included with Visual Studio or available via MSYS2 for MinGW).
32+ - ** Dependencies** : The app uses standard Windows components: ` GDI+ ` , ` RichEdit 4.1 ` (` Msftedit.dll ` ), ` Common Controls ` , and ` DWM ` .
2933
30- ``` bash
34+ ## Build & Installation
35+
36+ ### Using MinGW (Recommended for GCC)
37+
38+ Ensure your MinGW ` bin ` folder is in your system ` PATH ` .
39+
40+ ``` powershell
41+ # 1. Clone the repository
42+ git clone https://github.com/ForLoopCodes/legacy-notepad.git
3143cd legacy-notepad
32- mkdir build && cd build
33- cmake ..
34- mingw32-make -j4 # or: cmake --build . --config Release
44+
45+ # 2. Create and enter build directory
46+ mkdir build
47+ cd build
48+
49+ # 3. Configure and build
50+ cmake -G "MinGW Makefiles" ..
51+ mingw32-make -j$(nproc)
52+
53+ # 4. Run the application
3554.\legacy-notepad.exe
3655```
3756
57+ ### Using Visual Studio (MSVC)
58+
59+ 1 . Open the folder in Visual Studio 2022.
60+ 2 . Visual Studio will automatically detect ` CMakeLists.txt ` and configure the project.
61+ 3 . Select ` legacy-notepad.exe ` in the startup item dropdown.
62+ 4 . Press ` F5 ` to build and run.
63+
64+ Alternatively, via command line:
65+
66+ ``` powershell
67+ cmake -B build -S .
68+ cmake --build build --config Release
69+ ```
70+
3871## Architecture
3972
4073- ** Entry** : ` src/main.cpp ` - window class, message loop, wiring modules.
@@ -55,19 +88,19 @@ CMakeLists.txt
5588
5689## File quicklook
5790
58- | File/Folder | Purpose |
59- | --- | --- |
60- | ` src/main.cpp ` | Win32 entry point, WndProc, module wiring |
61- | ` src/core/types.h ` | Enums, structs, app constants |
62- | ` src/core/globals.* ` | Shared handles/state definitions |
63- | ` src/modules/editor.* ` | RichEdit setup, word wrap, zoom |
64- | ` src/modules/file.* ` | Load/save, encoding + line endings, recent list |
65- | ` src/modules/ui.* ` | Title/status updates, layout sizing |
66- | ` src/modules/theme.* ` | Dark mode title/menu/status, theming |
67- | ` src/modules/background.* ` | GDI+ background image/opacity/position |
68- | ` src/modules/dialog.* ` | Find/replace/goto, font, transparency dialogs |
69- | ` src/modules/commands.* ` | Menu command handlers |
70- | ` src/notepad.rc ` , ` src/resource.h ` | Menus, accelerators, icons |
91+ | File/Folder | Purpose |
92+ | ---------------------------------- | -------------------------------------------- --- |
93+ | ` src/main.cpp ` | Win32 entry point, WndProc, module wiring |
94+ | ` src/core/types.h ` | Enums, structs, app constants |
95+ | ` src/core/globals.* ` | Shared handles/state definitions |
96+ | ` src/modules/editor.* ` | RichEdit setup, word wrap, zoom |
97+ | ` src/modules/file.* ` | Load/save, encoding + line endings, recent list |
98+ | ` src/modules/ui.* ` | Title/status updates, layout sizing |
99+ | ` src/modules/theme.* ` | Dark mode title/menu/status, theming |
100+ | ` src/modules/background.* ` | GDI+ background image/opacity/position |
101+ | ` src/modules/dialog.* ` | Find/replace/goto, font, transparency dialogs |
102+ | ` src/modules/commands.* ` | Menu command handlers |
103+ | ` src/notepad.rc ` , ` src/resource.h ` | Menus, accelerators, icons |
71104
72105## License
73106
0 commit comments