Skip to content

Releases: yuruko/notepad-mint

notepad mint 1.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 17:08

notepad mint 1.3.0

  • undo and redo with a real history: up to 128 steps. ctrl+z undoes, ctrl+y or ctrl+shift+z redoes, and both are in the edit menu and the right-click menu
  • a run of typing is one step (a new step starts after a line break, an arrow or page key, a click, or a save); a run of backspaces or deletes is one step; replace all, cut, paste, clear line and drag and drop are one step each
  • undo puts the caret and the selection back where they were: undoing a typed-over word selects the word again
  • the history survives toggling word wrap, and undoing back to the saved text still clears the modified mark at any depth
  • a new edit after an undo drops the redo steps, like every editor; opening or creating a file starts a fresh history

download

  • notepad-mint-1.3.0-setup.exe: installer and uninstaller
  • notepad-mint-1.3.0.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.2.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:47

notepad mint 1.2.1

  • menu bar text uses 80% opacity when idle, with full opacity on hover, keyboard focus or while its menu is open
  • the default editor font size is now 11 pt; saved font preferences are retained
  • the word wrap and theme buttons keep their existing appearance and behavior

download

  • notepad-mint-1.2.1-setup.exe: installer and uninstaller
  • notepad-mint-1.2.1.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 05:05

notepad mint 1.2.0

drag and drop like notepad

  • drop a file on the window and it opens: the first one in this window (after the save prompt), the others in new windows; folders are skipped, and more than 10 files asks first
  • hold shift while dropping to insert the paths at the drop point instead, one per line (what a plain drop did before)
  • drag selected text to move it, hold ctrl to copy it; drag text in from other programs and out to them (a move takes it out of this document); one undo takes a drop back
  • a thin mark shows where the text will land, and the editor scrolls while you hold it near an edge
  • the exe still imports only kernel32 / user32 / gdi32: ole32 is loaded once the window has painted

windows xp notepad parity

  • page setup has a header and a footer: &f file name, &p page number, &d date, &t time, &l / &c / &r alignment, && an ampersand; defaults &f and page &p, remembered
  • a small window with a cancel button stays up while a document prints
  • /pt file printer driver port prints on a named printer; the print and printto verbs are registered by the installer and by help > set as default text editor
  • f3 searches in the direction picked in the find dialog, shift+f3 the other way; the search text, the replacement and the direction are remembered across sessions
  • the & underlines in the menus, dialogs and buttons stay hidden until you press alt or use the keyboard (always shown if windows is set to); find, replace, go to, font and message box buttons have them
  • a double click on the window icon closes the window; the tilt wheel scrolls sideways; notepad-mint name for a missing name without an extension offers to create name.txt
  • pasted text gets windows line breaks (lone lf / cr from other programs no longer run lines together)

saving through links

  • a symbolic link saves into its target and stays a link
  • a file with several hard links, or in a folder that refuses new files, is written in place, so every name sees the change

readable source

  • cryptic local, parameter and struct member names were renamed (h, m, w, l to hwnd, msg, wParam, lParam and so on); the exe came out byte for byte identical

Regression coverage: unit 451, gui 839, probe-build gui 217, printing suite 42 (all pass).

download

  • notepad-mint-1.2.0-setup.exe: installer and uninstaller
  • notepad-mint-1.2.0.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 02:34

notepad mint 1.1.0

cleaner source

  • every comment is gone from src\; function braces sit on the same line as the function; statements and conditions are one line each; no blank lines inside functions (10,784 to 9,486 lines)
  • the cleanup was checked to change nothing: the release exe, three probe builds and the unit-test exe come out byte for byte identical (pe timestamps masked)

faster

  • the editor's line height is measured once per font, not on every key, scroll bar update and resize
  • the selection highlight in the editor uses the system highlight brush instead of creating and deleting a brush on every draw
  • buttons no longer read their size on every mouse move, only while pressed; help > set as default text editor loads advapi32 once instead of twice

cleanup

  • removed dead code: unreachable WM_SIZE cases in the editor, an empty branch and a repeated store in the menus, an unused bevel style and triangle direction, a second EM_LIMITTEXT, a redundant scroll bar refresh, unused variables and parameters, an unused list of line ending names, test-only search wrappers (now in the unit tests)
  • one error exit in DocWrite instead of eight copies of the cleanup, one OtherFocus helper for select all / time and date / clear line, the font dialog uses the shared ClampInt

Regression coverage: unit 437, gui 820, probe-build gui 179, printing suite (all pass).

download

  • notepad-mint-1.1.0-setup.exe: installer and uninstaller
  • notepad-mint-1.1.0.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.0.12

Choose a tag to compare

@github-actions github-actions released this 09 Oct 17:08

notepad mint 1.0.12

installer

  • the last checkbox on the finish page is now just "set as default text editor" and fits on one line
  • fixed: that checkbox was set up on the wrong installer page, so it was always ticked: on an update it opened default apps again, and it opened them even when "text file types" was unticked. it now follows the component and stays unticked on an update that already had the file types
  • "run notepad mint" starts the editor as you, not elevated (an elevated editor can't take files dragged from explorer)
  • uninstalling removes the per-user "set as default" entries only when they belong to the uninstalled copy, so a portable exe elsewhere keeps its own

faster

  • repainting a small part of the editor (typing a character, moving the caret, a selection) costs half as much in a big window: 15.5 to 7.3 ms at 1772 x 914 (the whole window was drawn off screen each time, now only the part that changes)
  • saving a file scans for line breaks with sse2 like opening does; the sun / moon / wrap icons in the menu bar are computed once per size, not on every repaint

fixes and cleanup

  • a real windows "parameter is incorrect" error (87) is no longer shown as "that code page isn't installed"
  • the print cursor is restored correctly when no cursor was set yet
  • removed duplicated helpers (one MpNote for the 9 "ok" messages, one ClampInt), unused windows declarations, the editor colours mirrored in the settings struct, stale comments and a magic number

Regression coverage: unit 442, gui 820, probe-build gui 179, printing suite (all pass).

download

  • notepad-mint-1.0.12-setup.exe: installer and uninstaller
  • notepad-mint-1.0.12.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.0.11

Choose a tag to compare

@github-actions github-actions released this 09 Oct 16:33

notepad mint 1.0.11

default text editor

  • the installer has a new component, "text file types" (on by default): notepad mint is listed under open with and in settings > default apps for .txt .log .ini .cfg .conf .md .csv .nfo .diz and .text. nothing changes until you pick it: windows lets only you choose a default program, so the finish page offers to open default apps on notepad mint, where you set it (newer windows 11 builds have one "set default" button there, older ones a choice per extension)
  • help > set as default text editor does the same for the current user (no admin; works for the standalone exe too) and opens that settings page
  • the uninstaller removes all of it (only notepad mint's own entries)

untitled names

  • mint-0000 is now midnight on 1 january 2026 (was 2000), still 32 minute steps and a 100 year cycle; today's names start with 09. a counter left by 1.0.10 resyncs to the clock by itself

Regression coverage: the per-user registration is checked against a throwaway registry key (this pc's real associations are never touched); the name clock is checked for every day from 2026 to 2125, including 2100 (no leap year).

download

  • notepad-mint-1.0.11-setup.exe: installer and uninstaller
  • notepad-mint-1.0.11.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.0.10

Choose a tag to compare

@github-actions github-actions released this 09 Oct 16:17

notepad mint 1.0.10

right to left

  • a document whose first letter is hebrew, arabic or another right to left script opens right to left (text right aligned, scroll bar on the left); typing such a letter into an empty document switches it too, like dir="auto"
  • ctrl+right shift / ctrl+left shift set right to left / left to right, like notepad; the edit menu item still toggles it, and a picked order stays until the next new or open
  • right aligned text is no longer cut off at the right edge, and the left scroll bar is as thin as the right one

untitled names

  • mint-XXXX now counts up from mint-0000 at midnight on 1 january 2000 (only the last two digits of the year count) in steps of 32 minutes, so names sort by date and time and always start the same way for years (9... in 2026)
  • every new untitled document gets a higher name than the one before, in every window (the last one handed out is kept in settings.ini)

notepad features and fixes

  • /a file and /w file open a file as ansi / utf-16 like notepad; /p file prints without flashing the window
  • a file with a broken utf-8 sequence after its bom (or an odd number of bytes for utf-16) can be opened after a prompt instead of not at all
  • the status bar shows the zoom (120%) while ctrl+plus / minus is in effect; click it to go back to 100%, click the position to go to a line
  • a window closed later no longer overwrites settings another window changed (theme, font, word wrap ...); settings are saved at logoff / shutdown too; a window closed while minimized remembers it was maximized
  • a file in file > recent that fails to open for a moment (locked, cancelled) stays in the list; only a missing file leaves it
  • reopen with encoding: asks about unsaved changes first, and is grayed for an untitled document
  • f5 in the find box no longer inserts the time into the document; ctrl+shift shortcuts (ctrl+shift+n ...) no longer change the reading order; alt+z keeps a backwards selection's caret where it was; enter opens the about box link; right arrow on a submenu item moves to the next menu; the scroll bars follow a dpi change; help topics shows f1

faster

  • searching while ignoring case in non-latin text (cyrillic, greek ...) uses a lower case table instead of a system call per character: about 5.6x faster (18.4 to 3.3 ms per million characters)
  • a new sse2 routine finds the next possible first character of a search and the line breaks of a file being opened

Regression coverage: new gui tests for right to left (T44, 22 checks) and the command line switches (T45); unit tests for the new name clock (every day of the century), the sse2 routine (every hit position and a protected page) and the lower case table (all 65,536 units).

download

  • notepad-mint-1.0.10-setup.exe: installer and uninstaller
  • notepad-mint-1.0.10.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.0.9

Choose a tag to compare

@github-actions github-actions released this 09 Oct 04:39

notepad mint 1.0.9

  • default font size is 10 pt
  • the font dialog's preset grid is 6 columns by 4 rows, 8 to 48 pt, with half steps from 8 to 13.5 pt
  • the font dialog size box accepts 7 to 100 pt, including one decimal digit (for example 8.5)
  • sizes are stored in tenths of a point; an older settings.ini size is converted on load
  • ctrl+plus / ctrl+minus / ctrl+wheel still step between 8 and 48 pt

Regression coverage: the font dialog, preset grid, typed decimal sizes, the zoom ladder and the saved size are checked on the real editor.

download

  • notepad-mint-1.0.9-setup.exe: installer and uninstaller
  • notepad-mint-1.0.9.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.0.8

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:02

notepad mint 1.0.8

  • mouse-wheel and scrollbar scrolling keep the cursor and selection at their original text positions
  • pressing an arrow, home/end or page up/down after scrolling returns the view to the saved cursor before moving it; up/down move from the original line
  • shift+arrow keeps the original selection anchor, and ctrl+up/down retain their native behavior without revealing the cursor

Regression coverage drives the real editor on an isolated desktop, including scrolling in both directions, wrapped multilingual text, backward selections, cursor visibility and undo preservation.

download

  • notepad-mint-1.0.8-setup.exe: installer and uninstaller
  • notepad-mint-1.0.8.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.

notepad mint 1.0.7

Choose a tag to compare

@github-actions github-actions released this 08 Oct 16:14

notepad mint 1.0.7

  • resizing the window or changing zoom scrolls the text caret into view, including wrapped multilingual text and backward selections
  • caret visibility follows deferred wrapping and scrollbar changes while preserving document text, selection and undo
  • source reorganized into focused modules for preferences, document state, status calculations, caret geometry/text helpers, buttons, dialogs and menu definitions, with clearer ownership comments
  • fixed repeated-DPI dialog font leaks, retained valid help-window fonts, and released the scrollbar pattern bitmap
  • print and page setup dialogs now hold the modeless find window so it cannot change the document during the operation
  • button painting falls back to direct drawing when buffering resources are unavailable; document statistics retry failed text-buffer locks

Regression coverage includes actual caret geometry during resize and zoom, selection/undo preservation, rapid wrapping, repeated DPI resource ownership and native-dialog success/cancellation/error/retry paths. Smoke and GUI checks run on an isolated desktop with temporary settings.

download

  • notepad-mint-1.0.7-setup.exe: installer and uninstaller
  • notepad-mint-1.0.7.exe: standalone executable
  • SHA256SUMS.txt: download checksums

settings remain in %appdata%\notepad-mint\settings.ini.