Smenu Versions Save

smenu started as a lightweight and flexible terminal menu generator, but quickly evolved into a powerful and versatile CLI selection tool for interactive or scripting use.

v1.3.0

7 months ago
  • Version 1.3.0
  • Fixes:
    • Correction of an error in the calculation of the size of the longest word.
    • Corrects the calculation of the space taken by the first direct access numbers when it is explicitly specified.
    • Increase the size of the buffer to store the scancode to prevent it being truncated.
    • Make decoding the column or row number more robust in command line analysis.
    • Prevents the introduction of colours outside the range supported by the terminal.
  • Improvements:
    • Add the -sb|-sbw|-show_blank_words option to help display all words composed entirely of spaces.
    • Allow selection intervals to have no start or end number.
    • In column mode, words can now be aligned left/right or centred.
    • When numbering is active, unnumbered words are now always filled in with blanks in col/line/tab mode.
    • The -start_pattern option has been extended so that all words matching the pattern can be searched directly using the Next/previous keys, without having to enter search mode.
    • The order in which -C/-R elements appear on the command line is now taken into account.
    • In column mode, columns and/or rows can have their own colour and/or style. Miscellaneous:
    • Corrections and improvements to the manual.
    • Removal of dead code.
    • Addition of an FAQ entry on alignments.
    • The memory consumption has been reduced.

Do not use the sources (.zip/.tar.gz) automatically generated by github. Use the .tar.bz2 file instead if needed.

v1.2.0

1 year ago
  • Version 1.2.0
  • Fixes:
    • Correction of word selections with the mouse in long lines.
    • Fixed support for the double-click mouse delay setting.
    • Prevention of spurious commands being sent by the mouse paste function.
    • Allowed compilation with old glibc versions.
  • Improvements:
    • Redesign of the multiple selection mechanism with the possibility to undo.
    • Improved initialization of mouse tracking modes.
  • Miscellaneous:
    • Corrections and improvements to the manual.
    • Removal of dead code.

Do not use the sources (.zip/.tar.gz) automatically generated by github. Use the .tar.bz2 file instead if needed.

v1.1.0

1 year ago
  • Version 1.1.0
  • Fixes:
    • Fix and improve the instant help (?) display.
    • Fix and improve the substitution code.
    • Fix and simplify the "End" key management code.
  • Improvements:
    • Add mouse support.
    • Allows to shift the window's content horizontally without moving the cursor.
    • Small adjustments in UTF-8 symbols and comments.
    • Improve the documentation.
  • Miscellaneous:
    • Various code simplifications.

Do not use the sources (.zip/.tar.gz) automatically generated by github. Use the .tar.bz2 file instead if needed.

v1.0.0

1 year ago
  • Fix and improve the content of the integrated help system.
  • Allow multiple instances of the "-limits" option.

Do not use the sources (.zip/.tar.gz) automatically generated by github. Use the .tar.bz2 file instead if needed.

v1.0.0.RC2

1 year ago
  • Improve memory management.
  • Reduce the scope of some variables.
  • Rework parts of the list code.
  • Sync with github's ctxopt commit b943e6b.
  • Switch to Mozilla Public License 2.0.
  • Modify the URL to find the package maintainers.
  • Fix a potential memory corruption.

Do not use the sources (.zip/.tar.gz) automatically generated by github. Use the .tar.bz2 file instead if needed.

v1.0.0.RC1

1 year ago
  • Fixes:
    • Fix configure.ac for autoconf >= 2.70.
    • Fixed a bug in the bash example in the README.
    • Synchronization with the commit 9ddac73 of ctxopt on github.
    • Use the right format to print size_t values (C99).
    • Add a missing break.
    • Fix a potential segfault when allocating .ini paths.
    • Fixed color and attribute parsing.
    • Fix some tests.
  • Improvements:
    • Update to autoconf 2.71.
    • Added "invisible" style attribute (n).
    • Prevent smenu from running in the background.
    • Catch and handle SIGPIPE signal.
    • Improve the manual.
  • Miscellaneous:
    • Various code simplifications.
    • Removal of some unnecessary parameter.
    • Removal of unnecessary code.
    • Fixed typos in the README file.

Do not use the sources (.zip/.tar.gz) automatically generated by github. Use the .tar.bz2 file instead if needed.

v0.9.19

2 years ago
  • Fixes:
    • Prevent an attempt to free memory that has already been freed.
    • Prevent memory leaks when requesting help.
    • Correctly handle the order of invocation of -i/-e options.
    • Apply a PR from h1z1 with a small correction.
    • Fix the UTF-8 byte sequence generation from a given UCS-4 codepoint.
    • Many small fixes.
  • Improvements:
    • Improve the documentation.
    • Improve compatibility with some older compilers.
    • Added the ability to set a global inactivity timeout.
    • Improve the reliability of the code.
  • Miscellaneous:
    • Removed the generation of the SUSE specific specfile.
    • Many typos have been corrected.
    • Various code simplifications.

v0.9.18

2 years ago
  • Fixes:
    • A mismatch between signed and unsigned chars has been corrected.
    • A fatal error in the direct access code has been corrected.
    • A logic error that could cause a crash has been fixed.
  • Improvements:
    • The user manual has been updated.
    • An early substitution option -ES similar to -S has been added.
    • Special levels are now considered when displaying searched words.
    • An option to change the behaviour of the multi-selection mode has been added.
    • 4 more special levels (-6, -7, -8 and -9) are now available.
    • The missing blink attribute has been added.
    • The possibility to overload initial limits has been added.
    • A new search session now starts from scratch by default.
    • The integer checking function is now more reliable.
    • A better code for validating UTF-8 byte sequences is now used.
    • Tests have been added.
  • Misc:
    • A missing licence reminder in the usage.c file has been added.
    • An example in the README file has been added.
    • Error messages are now more consistent.

v0.9.17

3 years ago
  • Fixes:
    • The method to get the cursor location has been fixed and improved.
    • A display problem when the title takes too many lines has been fixed.
    • A failure when reopening /dev/tty is now fatal.
    • Interesting signals are now trapped only when needed.
    • The refresh mechanism when resizing the terminal has been fixed and improved.
    • \U does not need too be escaped anymore.
  • Improvements:
    • The -Q|-ignore_quotes option has been added to provide a way to ignore quotes when splitting the input stream/file into words.
    • The -!|-int|-int_string option has been added to define a string to be displayed on stdout when ^C is entered during a smenu session.
    • The usage text is now displayed in case of an error on the command line.
    • The code to create include/exclude RE patterns has been simplified.
    • smenu now mimics the Unix shell signal processing.
  • Misc:
    • The availability of str(n)dup is now checked at compile time.
    • Tests for RE patterns/inv. character have bee added.
    • The obsolete autogen.sh script has been removed.
    • github's ctxopt commit f779fb8 is now used.
    • The code is now a little more readable.

v0.9.16

3 years ago
  • Bug fixes:
    • The SIGINT handling has been fixed.
    • The lvm_menu example is fixed.
    • Some memory allocation issues have been corrected.
    • The last example in the man page now works correctly.
    • The manual has been cleaned and corrected.
    • Missing headers has been added.
    • The List management code has been corrected and improved.
    • Invalid UTF-8 sequences entered using \u are now handled correctly.
    • Unreachable code has been removed.
    • As xwcscasecmp is missing in C99, a local version is now used.
    • The search timeout now works correctly.
  • Improvements:
    • Option management has been completely rewritten to use a new, more flexible system called ctxopt (github.com/p-gen/ctxopt):
      • Both short and long options can now be used.
      • The validity of some option arguments can now be easily checked.
      • A better and more precise help system can now be used.
      • ...
    • The horizontal and vertical scrolling symbols are now visually consistent.
    • An updated version of autotools is now used.
    • Wide mode is now allowed in column mode.
    • Line delimiters can now be defined to break lines in tabulation mode.
    • A set of UTF-8 characters can now be ignored as input.
    • Substitution character for non-printable characters can now be changed.
    • -N and -U options can now have multiple arguments.
    • Fuzzy and substring searches now ignore leading and trailing blanks.
    • Unicode codepoints can now be entered using the new \U notation.
    • smenu has been optimized to support networks with high latency.
  • Misc:
    • A note in the README to thank the packagers has been added.
    • The code has been adjusted to conform to C99.
    • The code has been cleaned up in many places.