Skip to content

Releases: RamonUnch/GreenPad

GreenPad 1.22

07 Dec 17:53
0a192ae
Compare
Choose a tag to compare

<<What's New in 1.22 (by RamonUnch, 2024/12/07)>>
< NEW >

  • Add zh-CN translation

< FIXED >

  • Unquote also when quote mark is after abs/spaces
  • Use more modern Open File dialog on Win2K+
  • reduce memory usage for each line.
  • Various fixes and optimizations.

GreenPad 1.21

18 Dec 09:55
201e5bb
Compare
Choose a tag to compare

< NEW >

  • Ability to insert Unicode code-point with Ctrl+I shortcut.
    Default format is hexa, you can use decimal with a dot '.' prefix
    or octal with the 'o' or 'O' prefix. Example: C9 = xC9 = .201 = o311
    and will input the LATIN CAPITAL LETTER E WITH ACUTE.
  • Loosen even more the code-page selection if a string is directly typed.
  • Selection width (if single line) or selection height will be now
    displayed in the Unicode code-point section of the status-bar.
  • Jump dialog now can handle relative movements and can also handle column
    selection, use '+10' to go down 10 lines, 3,8 goes to line 3 col 8 etc.
  • Edit menu was re-organized with a Modify sub-menu.
  • Ctrl+B will go to next quote if a quote is at the left of the cursor.
  • Added WM_UNICHAR handler.

< FIXED >

  • Crash when using long path file name and trying to open the save dialog.
  • Crash on Windows 95 when a file contains U+FFFF. #178
  • Fix multi-line comment when start and end strings are the same (Python).
  • Fixed quick ASCII auto detection
  • Fixed internal UTF7 writer to comply with RFC 2152 + rule 3 (1997).
  • Fixed the ASCII character width for builds targeting NT3.1/Win32s.

updated chardet.dll and chardet_x64.dll with gcc -O2 builds.

GreenPad 1.20

12 Nov 11:05
76509b8
Compare
Choose a tag to compare

< NEW >

  • Added UTF-EBCDIC, Unicode IBM encoding, both save and read.
  • Added F1 for contextual help, command line can be configured with the
    HelpExe string in the ini file (similar to GrepExe).
  • Added the %S parameter to command line (Ctrl+G or F1) that expands to
    the current selection.
  • Added the F7 command to open the selection in GreenPad, handles
    relative or full path names. Also opens URLs in default browser.
  • Added the Reduce To ASCII option (Alt+R). Non-ASCII characters will
    be replaced by '?' in the current selection.
  • Added a statusbar display for the codepoint of the character under
    the cursor in the Unicode form U+HEX
  • Added F8 to display current selection length in UTF-16 characters.
    Statusbar is used if present, a message box is used otherwise.
  • Warn if the currently opened file was modified outside of GreenPad.
    A message will open on focusing. To disable set WarnOnModified=0
    in the ini file.

< FIXED >

  • Optimized Find/Replace so that it does not take for ever to replace
    a word in a big file, (MacroCommand optimization)
  • Otimized loading time for long lines. Up to a 250MB line is fine now.
  • Allow saving all UTF encoding with or without BOM excep for UTF7.
  • Missing Auto-detection based on BOM for GB18030 and UTF7.
  • Short or long name of character encoding can now be directly
    typed in the combo box (ie. Open/Save/ReOpen dialogs).
  • Edit menu entries get properly grayed out when selection is empty.
  • Reduce memory overhead for a line (4 bytes in 32bit mode).
  • Avoids most crashes when memory allocation fails.
    WIP: Line and WLine classes remain problematic.
  • Fixed very slow drawing at the end of a long wrapping line.
  • Use a percent-escape encoding scheme for Unicode characters when saving
    filename in the ini file (MRU). This makes them much more readable.
  • Fixed bad detection of local codepage compatible string, making MRU
    files impossible to open in some cases.
  • Fixed cursor position change when using Quote/UnQuote selection option.

GreenPad 1.19

07 Jul 07:47
245e73b
Compare
Choose a tag to compare

<<What's New in 1.19 (by RamonUnch, 2023/07/07)>>
< NEW >

  • Added the ability to go to matching brace with Ctrl+B.

< FIXED >

  • Fixed Unicode reader for UTF-1, UTF-9, FSS-UTF and writer for SCSU.
  • Warn when trying to load a huge file (larger than 2GB),
    and propose to retry loading only the first 64KB.
  • Sometime a setting would not be written to ini file properly.
  • Find dialog settings will be saved even on cancel.
  • Fixed a potential crash in rightOf() function. #121
  • Minor refactoring: ensure some variables are always initialized,
    remove redundant checks, be more careful with some lifetimes.
    use const and explicit when possible...

GreenPad 1.18

23 Jun 13:42
c48b85f
Compare
Choose a tag to compare

<<What's New in 1.18 (by RamonUnch, 2023/06/23)>>
< NEW >

  • Display codepage number in the status bar.
  • Allow to directly type codepage number in Save/Open/ReOpen dialogs
  • Added Help->About dialog that displays GreenPad version and build
    details as well as the Currently running Windows version.
  • Optimize memmove for gcc build (significantly faster).
  • Minor refactoring, reduces mem usage a few percents.
  • Increase Win32s scrolling range from 8 million up to 24 million lines
  • Various optimizations for file reading/writing code.

< FIXED >

  • Crash when opening the Save dialog if the current codepage is outside
    the default cs list.
  • Avoid false UTF-16/32 detection for some files.
  • The Tab key can now be used to navigate through the Open/Save dialog.
  • Fixed Crash when reading invalid Iso2022 or UtfOFSS files.
  • Directly use current local codepage when detecting a pure ASCII file.
  • Minor code refactoring, reducing exe size.
  • Use more stack buffers when possible instead of new/delete.
  • Avoid excessive memory allocation when saving a file, also avoid
    useless memmove between two intermediate buffers and improve perf.

GreenPad 1.17

11 Mar 14:25
76dabe0
Compare
Choose a tag to compare

Now GreenPad is more compatible with old Windows versions:
Chicago early builds, Win32s beta build 61, Windows NT 3.10.340 beta.
Plus now GreenPad works fine on ReactOS (awesome project, check it out)
I also tested GreenPad on WIN-OS/2 subsystem + Win32s 1.25a.
OS/2+Odin should also be able to run it, be sure to use the ANSI build for this.

< NEW >

  • OLE2 style drag and drop support was added in most builds
    To use it you will need to use the right click (easier to code)
    Also Win32s 1.25+ or NT3.50+ are needed.
  • The Help->About menu and Dialog were added to GreenPad.

< FIXED >

  • Loading is now significantly faster for large files.
  • Out of bound read in the internal memory manager.
  • Various refactoring and bugfixes.
  • Now the CS_OWNDC class style is no longer used so GreenPad is
    Compatible with ReactOS and does not mess up with DC cache.
  • Now the GPad32sl.exe version is compatible with the early chicago
    builds and with Win32s beta 61.
  • Now the GPadNT3b.exe version is compatible with the NT3.10.340 beta.
  • Now the main GreenPad Window can be resized on Win32s 1.15a
  • Now GPad32s.exe run on Win32s 1.1 (1993), fully functional.
  • Fixed Visual glitches with Windows 95 beta (chicago) thanks to @roytam1
  • Elevation dialog for write permission will not pop up on network drives
    nor CD-ROM drives (Windows 2000 + only)

GreenPad 1.16

01 Jan 17:52
46b1cd0
Compare
Choose a tag to compare

NEW YEAR RELEASE!

< NEW >

  • Wrapping now occurs at word boundaries this helps readability.
    set ws=1/0 in the layout file to enable/disable. Character that can
    split include all control characters and all characters beyond U+2500
  • Now control characters will be displayed as colored ASCII characters
    if the display for ideographic spaces is enabled (U+3000).
    This is helpful when looking up at binary files.
  • Win32s build now will display full Unicode if it runs on Win9x/NT.
  • Win32s build now support different key-maps on Win9x/NT
  • Add support for UAC, now if a file cannot be opened by the current user
    GreenPad will prompt the user with the UAC pannel.
    Also the Open elevated (Ctrl+L) option was added to the file menu.
    Note: Elevating a process requires a new instance.

< FIXED >

  • Fixed crash on Ctrl+N on Win9x using unicows build.
  • Fixed 64bit build.
  • more 64bit index are now used on 64 bit builds.
  • Fixed Win32s build not starting on real Win32s.
  • Fixed: scroll range on Win32s is limited to 32k not 65k like NT.
    Now you will be able to scroll up to 8.3 million lines on Win32s.
  • Removed unused functions decreasing exe size slightly.
  • Now when copying a selection, nul chars will be converted to spaces
    so that the selection ca be fully pasted.
  • Fixed: if CP1252 is not installed, ISO8859-1 will be used instead.
  • IMM32.DLL and Global IME are now enabled even on Win32s build.
  • Fixed: hidden/system files will now be editable.
  • Fixed: Status bar window will only be created if it is enabled.
  • Fixed: Now COMCTL32.DLL will be dynamically loaded so that GreenPad
    can work on old versions of Win32s. Status bar will not work if you
    do not have COMCTL32.DLL.

TODO:

  • Build for all possible CPUs: MIPS, PowerPC, Alpha, ARM, ARM64.
    roytam1 already made a MIPS compatible build.
  • Fix resizing on Win32s 1.15a and support Win32s 1.1
  • Handle WS_EX_LAYOUTRTL for left to right scripts such as Hebrew.
  • Handle more complete regular expression and especially capture groups
    for proper find replace.
  • Handle binary files properly: We will need to flag each line with the
    carriage return type CRLF, LF or CR.
  • Handle per-monitor dpi awareness. This will require to reload the
    Painter each time we receive the WM_DPICHANGED message this will also
    forbid the use of the CS_OWNDC class style and we will have to select
    the font every time we receive a WM_PAINT message.
  • Improve syntactic coloration (highlight matching braces/parenthesis)
  • Add the ability to go to matching brace with Ctrl+B or something.
  • Handle Dark mode in the non-client area for Windows 10 1607 and later.
  • Allow a Square selection mode for ASCII-Art or column handling.
  • Improve printer configuration.
  • Fix more bugs, handle low memory situations better.
  • Optimize memory usage so that larger files can be loaded.

GreenPad 1.15

21 Oct 13:58
fc37f21
Compare
Choose a tag to compare

< NEW >

  • Now Non-Break Space will be shown with ^ (NBSP character U+00A0 ' ')
    only if you enable the option to show U+3000 (ideographic space).
  • Now the original memory manager is used, this reduces RAM usages and
    improves performances, adds 2KB to the exe though...
  • Now Ctrl+Backspace and Ctrl+Del will delete up to the beginning/end of
    the word like with the standard edit control.
  • Ctrl+U/Ctrl+K will delete all characters until the beginning/end of a line.
  • Now the horizontal wheel is supported to scroll horizontally.

< FIXED >

  • The Manifest file no longer claims per-monitor DPI-awareness.
  • Now the selection will remain active when user presses the Replace &All
    option in the Find/Replace dialog.
  • Now Latin words will no longer be split when using extended alphabet
    ie: the word éléphant can be selected as a single word instead of 3.
  • Avoid synchronous painting when scrolling.
  • Scroll wheel with small steps are now properly supported.
  • The number of lines to scroll per wheel step now takes into in account
    the system settings instead of being always 3 lines.
  • Now on newer windows versions the a more accurate width will be
    calculated whenever a character is outside the Unicode ranges of the
    selected font thanks to the GetFontUnicodeRanges() function.
  • Scroll bar will no longer be limited to 65K lines on NT3.1/3.5/Win32s.
    The same API is still used but scrolling precision is lost instead
    or the range. The new limit is about 8.9 million lines.
  • Case-insensitive Search will no longer be limited to ASCII.
  • Upper/Lower/Invert case functions will now work on Win32s.

TODO:

  • Handle per-monitor dpi awareness. This will require to reload the
    Painter each time we receive the WM_DPICHANGED message this will also
    forbid the use of the CS_OWNDC class style and we will have to select
    the font every time we receive a WM_PAINT message.
  • Improve syntactic coloration (highlight matching braces/parenthesis)
  • Add the ability to go to matching brace with Ctrl+B or something.
  • Handle Dark mode in the non-client area for Windows 10 1607 and later.
  • Allow a Square selection mode for ASCII-Art or column handling.
  • Add UAC support for Windows Vista/7/8.X/10/11.
  • Improve printer configuration.
  • Fix more bugs, handle low memory situations better.
  • Ensure size_t is used over uint where applicable for x64 builds.
  • Optimize memory usage so that larger files can be loaded.

GreenPad 1.14

28 Apr 08:26
1c47fa0
Compare
Choose a tag to compare

< NEW >

  • Now a Win32s build is available. It does not support Unicode display
    but internally everything is stored in UTF-16. So if you open, edit
    and close an Unicode file, you will not "loose" data. Also it handles
    Unicode copy/paste on NT but display is still limited to ANSI.
    I recommend the Win32s version Only if you are still using Win32s.
  • Some error messages boxes will no longer become invisible if you set
    the main GreenPad window topmost ie: Using AltSnap.
  • Now if some files were copied in the clipboard with explorer, the full
    file paths will be pasted in GreenPad on Ctrl+V.

< CHANGED >

  • Changed Unquote option to Alt+N instead of Alt+Shift+Q that tends to
    change keyboard layout when you miss the Q.
  • Now the Global IME is no longer disabled on Windows 95, it was supposedly
    buggy, but it seems to work just fine... You need to First Install
    Internet Explorer 5.1+ for global IME to be installable.

< FIXED >

  • LTN1 (code page 1252) will no longer be treated internally, this removes
    redundant code and allows proper display of special chars such as 'œ'.
    because the internal handling was not correct.
  • Fixed: Use GetClassInfo() function to determine how to enable status bar
    instead of relying on windows versions.
  • Fixed: When a file contains long lines, GreenPad will no longer freeze.
    Loading can still be slow if you get lines that are more than 1MB.
  • Fixed: Character width is calculated using GetTextExtentPointA function
    on Win32s for character beyond 256, so that the width of all printable
    characters is correctly set.
  • Fixed: Win32s Out of bound array access in the drawing code.
  • Fixed: Now when typing with Greek or Russian keyboards the characters
    will display properly on Win9x
  • Fixed: Now Copy/Paste will handle full Unicode on Win9x.

TODO:

  • Improve syntactic coloration (highlight matching braces/parenthesis)
  • Add UAC support for Windows Vista/7/8.X/10/11.
  • Improve printer configuration.
  • Fix more bugs, handle low memory situations better.
  • Ensure size_t is used over uint where applicable for x64 builds.
  • Optimize memory usage so that larger files can be loaded.

GreenPad 1.13

15 Feb 10:52
a195fde
Compare
Choose a tag to compare

Use GPadNT31.exe for all windows versions since Windows NT 3.1 (No Japanese interface)
Use GreenPad.exe for all windows versions since NT3.50.
And Use GPad64 if you have a 64 bits version of Windows.
Keep chardet.dll in GreenPad's directory for the best automatic encoding detection.
On Windows XP and later chardet.dll is not very useful and can be omitted.
On for x64 build chardet.dll is not used because I can only build an i386 version of chardet for now.
unicows.dll is only useful for Win9x, if you have not already installed it.

  • Replace All is now limited to the current selection (if multi-line).
  • Added Strip First Cahracters (Alt+Z) option, that removes the first
    characted of each line in the selection (inspired from Metapad).
  • Added Quote/Unquote options to add/remove the line commenting
    character(s) to all selected lines. The default commenting char is
    set to '>' for files that have no .kwd associated (ie: *.txt).
    It will be atomatically '//' for C++, ';' for asm etc.
  • You can now select codepage by number directly in the ReOpen dialog.
    It uses the same special codes than from the command line.

TODO:

  • Add UAC support for Windows Vista/7/8.X/10/11.
  • Improve printer configuration.
  • Fix more bugs, handle low memory situations better.
  • Ensure size_t is used over uint where applicable for x64 builds.
  • Optimize memory usage so that larger files can be loaded.