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.

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.

v0.9.15

5 years ago

v0.9.14

5 years ago
  • Rework the search system (major change)
    • Add a substring and a fuzzy (fzf inspired) search mode
    • Enlighten the current search pattern in the matching words
    • Remove the search mode timeout
    • Introduce ENTER/ESC as a way to exit search mode
    • Add the prefix/suffix affinity when searching
    • Allow to tag/un-tag all the matching words
    • add a -/ option to affect a search method to the / command
    • Add 'T' and 'U' commands to tag/un-tag all the matching words
  • Improve the direct access mechanism
    • [-D] Add a 's' (start) sub-option
    • [-D] Add a 'h' (head) sub-option
  • Add a "full window" option value to -n
  • Improve the test system and add tests
  • Improve the documentation
  • Update the README.rst file and mention the wiki on GitHub
  • Fix an OpenBSD compatibility issue
  • Fix and improve the color mechanism
  • Fix the cursor display after an ESC hit
  • Fix the tag attribute display
  • Fix some compilation warnings
  • Fix a missing message when the terminal is too small
  • Fix a lot of other small and not-so-small bugs

v0.9.13

5 years ago
  • Add the first roll of an automated testing system
  • Fix a FreeBSD compatibility issue
  • Update the .spec file to create a '-test' RPM subpackage
  • [-a] Add a missing setting for cursor_on_tag (ct)
  • [-b] Fix a bug about non-printable characters
  • [-V] Output the version tag on standard output
  • [-D] Add a 'decorate' directive
  • [-D] Handle multiple instances of the same directive
  • Fix a logic error in the direct access code
  • Fix an horizontal scrolling issue when going to the last word
  • Clean up the allocated gutter array before leaving in case of error
  • Understand some more terminfo sequences
  • Fix the right margin and add a degraded method to display it
  • Improve the manual
  • Various other small bug fixes

v0.9.12

6 years ago
  • Fix the cursor restoration
  • Fix a Solaris incompatibility
  • Fix italic handling
  • Fix the replacement of subexpressions (-S,-I,-E)
  • Fix a bug in the columns inclusion logic
  • Fix the impossibility to use the letter 't' in search mode
  • Fix possible display errors when the terminal is resized
  • Make sure that the timers does not alter the redrawing of the window
  • Add word numbering to allow direct access through their number (-N,-U,-F,-D)
  • Improve The manual
  • Allow the \u notation for UTF-8 characters in more places
  • Improve the -T option and add the related -P option
  • Add the -p for use with the -P and -T options
  • The gutter option (-g) now accepts a parameter
  • Adopt the NO_COLOR standard (http://no-color.org)
  • Improve the navigation by understanding more keys and key combinations
  • Understand CTRL+L to redraws the window in case of corruption
  • Exit from search mode when a direction key is hit
  • Adjust some values of timers
  • Remove deprecated directives in -C and -L
  • Various other small fixes and improvments

v0.9.11

6 years ago
  • Introduce the new \u notation for UTF-8 hex sequences
  • Non-printable characters with an escape form are expanded
  • Keep non selectable blank words to allow special effects
  • Fix the wide option when in column or tabulation mode
  • The last word is always the last of its line (-g)
  • Improve message (-m) placement in centered mode
  • Manage substitutions leading to empty strings
  • Hopefully fix the placement of the scroll bar in all cases
  • The gutter can now be displayed in column mode
  • Various other small fixes