Skip to content

Repository files navigation

nNotepad Icon

nNotepad

The speciality of this notepad is having no speciality.

That is exactly what will make it the most popular notepad. Its goal is to have the fewest possible features because it should be a manifestation of the essence of what makes a notepad a notepad.

It is a plain text viewer and editor for short notes. A short note needs no search function, thus there is none.

nNotepad with the whitespace view

Features

  • Open, edit and save text files
  • Cut, copy and paste
  • Monospace font
  • Five encodings: UTF-8, UTF-8 BOM, UTF-16 LE, UTF-16 BE and Windows-1252
  • LF and CRLF line ends
  • Automatic detection of the encoding and the line end when you open a file
  • Block indentation with Tab and Space, and Shift for the opposite direction
  • Whitespace view with F9 or the Edit menu
  • Nothing else

Usage

To open a file from a terminal, give the path as the first argument:

nnotepad notes.txt

These keys control the application:

Key Function
Ctrl-N Start a new document
Ctrl-O Open a file
Ctrl-S Save the file
Ctrl-Shift-S Save the file with a new name
Ctrl-Q Close the application
Ctrl-X Cut the selected text
Ctrl-C Copy the selected text
Ctrl-V Paste the clipboard content
Tab Indent the selected lines with a tab
Space Indent the selected lines with a space
Shift-Tab Remove one indent level from the selected lines
Shift-Space Remove one space from the start of the selected lines
F9 Show the whitespace while the key stays down, or end a view from the menu

Indentation

Tab, Space, Shift-Tab and Shift-Space change the indentation only while the selection touches more than one line. A selection that stops in column 0 does not include that last line. Empty lines get no indent.

In one line, Tab and Space write their character, and Shift-Space writes a space. Only Shift-Tab also removes an indent there. It removes one tab, or a maximum of four spaces.

Whitespace view

Keep F9 down to look at the whitespace, or select Show Whitespace in the Edit menu to keep the view on screen. F9 also ends a view that came from the menu.

A space becomes ·, and a tab becomes . The view is read-only and changes no text. Movement keys keep it on screen, all other keys end it.

Encoding and line ends

The last two menus show the encoding and the line end of the document. Open them to select a different one. The application detects both when it opens a file.

A save writes the selected line end for all lines. If the selected encoding changes characters, the application asks you first.

Unsaved changes

The application discards unsaved changes when you close the window. It does not ask you first. Push Ctrl-S to keep your work.

Build

The build needs these components:

  • CMake 3.13 or later
  • A compiler with C++17 support
  • wxWidgets 3.2 or later
  • glib-2.0 and pkg-config (Linux only)

Linux

Install the components:

# Debian/Ubuntu
sudo apt install cmake pkg-config libglib2.0-dev libwxgtk3.2-dev

# Arch
sudo pacman -S cmake pkgconf wxwidgets-gtk3

Then start the build script:

./build.sh

The script writes the executable to build/nnotepad.

To install the executable, the desktop entry and the icon into ~/.local:

./install.sh

The script installs into ~/.local by default. Set PREFIX for a different location. For a system-wide installation, use this command:

PREFIX=/usr/local sudo -E ./install.sh

macOS

brew install cmake wxwidgets

./build.sh

The script writes the application bundle to build/nnotepad.app.

Windows

The Windows build needs MSYS2 with the UCRT64 toolchain. Install the components with this command:

pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja mingw-w64-ucrt-x86_64-wxwidgets3.3-msw

Then double-click build.bat, or start it from a terminal. The script writes the executable to build\nnotepad.exe.

The application needs Windows 10 or later. It gets the dark mode from the system setting.

DMG (macOS)

./build-dmg.sh

The script writes the DMG to build/nNotepad.dmg.

AppImage (Linux)

This script needs linuxdeploy and appimagetool in your PATH.

./build-appimage.sh

The script writes the AppImage to build/nNotepad-x86_64.AppImage.

License

MIT

About

A minimal plain text editor for short notes. Cross-platform, built with C++17 and wxWidgets.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages