Skip to content

Commit 76bbbff

Browse files
committed
readme
1 parent a37f7ce commit 76bbbff

1 file changed

Lines changed: 55 additions & 22 deletions

File tree

README.md

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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
3143
cd 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

Comments
 (0)