Skip to content

knowjoby/simplenotepadformac

Repository files navigation

SimpleNotepad

A minimal, distraction-free text editor for macOS — inspired by Windows Notepad but built natively with AppKit.

macOS Swift License


Screenshots

Light Mode Dark Mode
Empty window Dark mode
Editing code Font Panel
Editing Font panel

Toolbar — New · Open · Save · Word Wrap Toolbar


Features

  • Plain text editing — open, edit, and save .txt and any plain text file
  • Toolbar — quick access icons for New, Open, Save, and Word Wrap
  • Custom app icon — hand-crafted notepad icon with spiral binding and pencil
  • Word wrap toggle — switch between wrapped and unwrapped view
  • Dirty state tracking — window dot indicator and title suffix when unsaved changes exist
  • Find — built-in macOS find panel (⌘F)
  • Font panel — change font family, size, and style via Format → Font
  • Unsaved-changes prompt — asks to save on New, Open, Close, and Quit
  • Native macOS look — uses system colors, respects Dark Mode

Requirements

See REQUIREMENTS.md for full details.

Requirement Minimum
macOS 12.0 Monterey
Architecture Apple Silicon or Intel
Disk space < 1 MB

Installation

Option A — Download DMG (recommended)

  1. Go to the Releases page
  2. Download SimpleNotepad-<version>.dmg
  3. Open the DMG, drag SimpleNotepad to your Applications folder
  4. Launch from Finder or Spotlight

On first launch macOS may show a Gatekeeper warning because the app is not notarized. Right-click the app → OpenOpen to bypass it.

Option B — Build from source

git clone https://github.com/<your-username>/SimpleNotepad.git
cd SimpleNotepad
chmod +x build.sh
./build.sh

The script compiles the app and produces SimpleNotepad-<version>.dmg in the project root.

Keyboard Shortcuts

Action Shortcut
New document ⌘N
Open file ⌘O
Save ⌘S
Save As ⌘⇧S
Close ⌘W
Quit ⌘Q
Find ⌘F
Bold ⌘B
Italic ⌘I
Underline ⌘U
Show Fonts ⌘T
Minimize ⌘M

Project Structure

SimpleNotepad/
├── Sources/
│   ├── main.swift                  # Entry point
│   ├── AppDelegate.swift           # App lifecycle & menu bar
│   └── MainWindowController.swift  # Window, text view & toolbar
├── Resources/
│   └── AppIcon.icns                # App icon (all sizes)
├── SimpleNotepad.app/              # Pre-built app bundle
├── build.sh                        # Build & DMG script
├── Makefile                        # Convenience targets
├── REQUIREMENTS.md
├── CHANGELOG.md
├── LICENSE
└── SPEC.md

Building & Development

No Xcode project file is needed. The app is compiled directly with swiftc:

# Build the app
make build

# Build the app + create a distributable DMG
make dmg

# Run the app
make run

# Clean build artifacts
make clean

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m "Add my feature"
  4. Push to the branch: git push origin feature/my-feature
  5. Open a Pull Request

Please keep the scope minimal — this is intentionally a simple editor.

License

This project is licensed under the MIT License. See LICENSE for details.


Built with AppKit — no third-party dependencies.

About

A minimal, distraction-free plain text editor for macOS — built natively with AppKit, no dependencies.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors