Up to [cvs.NetBSD.org] / pkgsrc / sysutils / xplr
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
sysutils/xplr: update to 0.21.9 Changes & fixes - Limit scroll padding dynamically based on screen size. - Fixed crashing on small screen. Thanks, @abhinavnatarajan, for investigating. - Upgrade deps.
sysutils/xplr: update to 0.21.8 Changes & fixes - Added vim-like scrolling as the default scrolling method. Set xplr.config.general.paginated_scrolling = true to disable ~ by @ElSamhaa & @sayanarijit. - Added xplr.config.general.scroll_padding config option to set the padding in vim-like scrolling ~ by @ElSamhaa & @sayanarijit. - Fixed some color rendering issues ~ by @har7an. - Added feature flag so that xplr can be built with system Lua ~ by @nekopsykose. - Fixed ScrollUpHalf behavior. - xplr.util.lscolor() won't return nil anymore. - Arguments passed to the custom dynamic layout Lua function will include scrolltop field. - Fixed node_type resolution for directories with . in their name ~ by @abhinavnatarajan. - Dependency updates.
sysutils/xplr: update to 0.21.7 Changes & fixes - Added new key bindings c and m in default mode to quickly copy and move files, without using the selection ops mode. - Added xplr.util.debug() to see and debug Lua values. - Fixed ScrollUpHalf operation. - Dependency and docs updates.
sysutils/xplr: update to 0.21.5 Changes & fixes - Added new messages to make it easier to jump between the deep level directories from history (as an alternative to runtime bookmarking). - PreviousVisitedDeepBranch - NextVisitedDeepBranch - New key bindings ( and ) bound to the new messages. - Added support for function keys upto F24. - Added selection count indicator in Input/Logs panel, so that selection panel can be hidden without losing the indicator. - Dependency updates.
sysutils/xplr: update to 0.21.3 Changes & fixes Fixed "Illegal format character q" error seen on non GNU (including macOS and BSD) systems (thanks to @lcook). Fixed a UI issue causing lower priority styles being fully ignored (thanks to @duganchen). Press f1 to see the global help menu from any mode, without leaving the mode. Current mode help menu will be displayed on top of the global help menu. Added build targets (including direct download links) for Apple Silicon, aarch64 Linux, Android, arm Linux (thanks to @khvzak, author of mlua, for his help). Added hook: on_selection_change. Documentation improvements.
sysutils/xplr: update 0.21.2 Changes & fixes - Added CustomLayout, a new custom panel type to allow nesting other layouts inside a static or dynamic layout. This will allow switching between different layouts dynamically, without having to switch modes. - $LS_COLORS will have lesser priority than xplr.config.node_types.*.style. - Now, there's no default color set in xplr.config.node_types.*.style, so xplr will default to $LS_COLORS. - xplr -m now uses jf to render and pass messages. This allows for a more flexible template syntax. - xplr will now ask before delete. - For copy, move or symlink operations, xplr will ask what to do if a file with the same name exists. - CLI help menu improvements - Several fixes and improvements in documentation. Thanks to @kianmeng and @hensg for contributing.
sysutils/xplr: update to 0.21.1 Fixes - SelectAll and ToggleSelectAll (i.e. ctrl-a) in a new directory will extend, instead of replace, the existing selected paths. - Fixed a UI bug causing random characters to turn bold.
sysutils/xplr: update to 0.21.0 Changes & fixes - IMPORTANT FIX: Fixed panic on permission denial on macOS. - BREAKING: Some UI plugins might stop rendering colors. Wait for them to update. - BREAKING: xplr.config.general.sort_and_filter_ui.search_identifier has been renamed to xplr.config.general.sort_and_filter_ui.search_identifiers. - BREAKING: Resolved Node API will not contain the permissions field anymore. Use the utility function xplr.util.node to get its permissions. - Layout CustomContent has been undocumented. It will stay for compatibility, but you should prefer using the following new layouts, because they support custom title: Static Dynamic - Improved the builtin search operation using the following new messages: Search SearchFromInput SearchFuzzyUnordered SearchFuzzyUnorderedFromInput SearchRegex SearchRegexFromInput SearchRegexUnordered SearchRegexUnorderedFromInput ToggleSearchAlgorithm EnableSearchOrder DisableSearchOrder ToggleSearchOrder - Builtin fuzzy search will now support skim's search syntax. - Default search algorithm: xplr.config.general.search.algorithm = "Fuzzy". - Default search ordering: xplr.config.general.search.unordered = false. - Improved selection operations: BREAKING: Selection list will be retained after each operation unless the paths are renamed, moved, deleted, or cleared manually (ctrl-u). :sl to list selection in a $PAGER. :ss to create softlink of the selected items. :sh to create hardlink of the selected items. :se to edit selection list in your $EDITOR. Better conflict handling: add suffix rather than overriding/skipping. - Navigate between the selected paths using the following messages: FocusPreviousSelection (ctrl-p) FocusNextSelection (ctrl-n) - Added support for LS_COLORS, along with the following utility functions for applying better styling/theming. xplr.util.lscolor xplr.util.paint xplr.util.textwrap xplr.util.style_mix - By default colors will only be applied to the file name column in the table. - File paths will be properly quoted. - Column Renderer Argument will contain additional fields: style permissions - Selection list will display the paths in shorthand format, based on the current location. - Use the following config to specify how the paths in selection list should be rendered: xplr.config.general.selection.item.format xplr.config.general.selection.item.style - Improved working with file permissions using the following utility functions: xplr.util.permissions_rwx xplr.util.permissions_octal - Type :p to edit file permissions interactively. - More utility function for QOL improvement: xplr.util.layout_replace xplr.util.relative_to xplr.util.shorthand xplr.util.clone xplr.util.exists xplr.util.is_dir xplr.util.is_file xplr.util.is_symlink xplr.util.is_absolute xplr.util.path_split xplr.util.node xplr.util.node_type xplr.util.shell_escape - Fixed mime type detection for executables: application/x-executable. - Added workaround for compatibility with macOS legacy coreutils. - Fixed history navigation for non-existent paths. - Optimized navigation with long list of selected items. - Minor improvements in batch operations. - Minor improvements in logging. Thanks to @noahmayr for contributing to a major part of this release.
sysutils/xplr: update to 0.20.2 Changes & fixes - Updated UI to be more light theme and NO_COLOR friendly. - Fixed creating files inside multiple subdirectories (e.g. foo/bar/test.txt) (thanks to @soryeigeton for reporting and help debugging). - Added new hooks (contribution by @emsquid). - on_mode_switch - on_layout_switch - Minor documentation fixes and updates (contribution by @BoolPurist). - Dependency updates.
sysutils/xplr: update to 0.20.1 Changes & fixes - xplr shell will default to $SHELL, using bash as a fallback. oh-my-zsh users please add TRAPEXIT() { echoti rmkx; } in your .zshrc (see #499 for more info). - (experiment) xplr will now display full-screen help menu in intermediate modes. Set xplr.config.modes.builtin[mode].layout = nil to disable. e.g. xplr.config.modes.builtin.create.layout = nil - Added new utility functions to work with json and yaml data. - xplr.util.from_json() - xplr.util.to_json() - xplr.util.from_yaml() - xplr.util.to_yaml() - Added new utility function xplr.util.version() to get the currently running binary version (semantic versioning fields). - Fixed displaying multispace characters (Japanese, Chinese...), thanks to @Elvyria for contributing to tui-input. - Fixed a bug causing the creation of a new directory named .\n when creating new files containing space in the name. - Minor UI updates.
sysutils/xplr: update to 0.20.0 Changes & fixes - BREAKING: xplr shell (:!) will default to null (\0) delimited pipes, as opposed to newline (\n) delimited ones (i.e. will use Call0 instead of Call). - Use new messages for safer file path handling (\0 delimited): - Call0 - CallSilently0 - BashExec0 - BashExecSilently0 - Use new sub-commands for safer message passing: -m FORMAT [ARGUMENT]... / --pipe-msg-in FORMAT [ARGUMENT]... -M FORMAT [ARGUMENT]... / --print-msg-in FORMAT [ARGUMENT]... Where FORMAT is a YAML string that may contain %s, %q and %% placeholders and ARGUMENT is the value per placeholder. See init.lua. - Following hooks can be defined in the config files using an optional return { on_* = { list, of, messages }, ... } statement at the end. - on_load - on_focus_change - on_directory_change - Use --vroot to isolate navigation of an xplr session inside a specific directory. Interaction still requires passing full path, and shell, lua functions etc still can access paths outside vroot. Use the following messages to switch vroot at runtime, or the use key bindings available in the new builtin mode "vroot" (mapped to : v). - SetVroot - UnsetVroot - ToggleVroot - ResetVroot - Use $XPLR_INITIAL_PWD and Lua equivalent to implement workspace like features without using virtual root. Use keys gi to go to the initial working directory from anywhere. - Use the convenient xplr.util utility functions in your Lua function calls. See xplr.util API docs. - Improved CLI errors. - Finished documentation (finally). - UI updates to handle newlines in path. Thanks to @jmcantrell for reporting and help implement fix for the critical newline-in-pathname bug.
sysutils/xplr: update to 0.19.4 Changes & fixes - The builtin search will now default to skim-v2 based fuzzy matching. - esc while in search mode will recover the initial focus (i.e. cancel the search). - The following messages will be available for search based operations: SearchFuzzy SearchFuzzyFromInput AcceptSearch CancelSearch - Quick scrolling operations are supported using the following messages and keys: ScrollUp page-up ScrollDown page-down ScrollUpHalf { ScrollDownHalf } Note: People who prefer the old regex based search, can use the regex-search.xplr plugin.
sysutils/xplr: update to 0.19.3 v0.19.3 - Bug fixes for passing filters using the --on-load argument. v0.19.2 - Fixed support for the following keys in input mode: ctrl-h ctrl-b ctrl-f home end ctrl-k v0.19.1 - You can now access uid and gid of the file owners in the Lua API. See column-renderer and node docs. - The input buffer will support more readline-like keys. Also, added "DeleteTillEnd" as another cursor based "InputOperation" option. See tui-input v0.5.0 release. - Fixed applying regex based filters via the CLI and $XPLR_PIPE_MSG_IN pipe. See issue #503. - You can use the prompt field to define input prompt for each mode, instead of using the SetInputPrompt message. See init.lua changes.
sysutils/xplr: update to 0.19.0 Changes & fixes -BREAKING: The builtin modes cannot be accessed using space separated names anymore. Use underscore separated mode names. For e.g. SwitchModeBuiltin: create file becomes SwitchModeBuiltin: create_file and so on. -Fixed a bug with handling tab key in the input buffer. -Added xplr.config.general.global_key_bindings to define a set of key bindings that are available by default in every mode. e.g esc and ctrl-c. -Added new builtin mode go_to_path which can be used for typing or pasting paths to enter into or to focus on. Type g p to enter this mode. -Added basic tab completion support for the go_to_path, create_file, create_directory, rename and duplicate_as modes. -Use the builtin function xplr.fn.builtin.try_complete_path to add easy tab completion support into your own configuration. -Fixed syncing current working directory with OSC 7 compatible terminals (e.g. Wezterm). -The NO_COLOR environment variable also disables OSC 7. -Significantly optimized regex based search and filter. -The files table is a little compact now. -Removed boilerplate config from the default init.lua. -Minor input prompt related improvements in different modes.
Asysutils/xplr: update to 0.18.0 Changes & fixes Added new command-line arguments --read0, --write0 and -0/--null to support reading and printing null character delimited file paths. Added support for filtering with regex using the new filters: RelativePathDoesMatchRegex RelativePathDoesNotMatchRegex IRelativePathDoesMatchRegex IRelativePathDoesNotMatchRegex AbsolutePathDoesMatchRegex AbsolutePathDoesNotMatchRegex IAbsolutePathDoesMatchRegex IAbsolutePathDoesNotMatchRegex Key binding f r and f R will now filter using regex. Added key binding f backspace to remove the last filter. Search mode now defaults to regex search. Added a new message SetInputPrompt to set the input prompt dynamically. Added new node properties (available via the Lua API): created last_modified Added support for sorting with timestamp using the new sorters: ByCreated ByLastModified ByCanonicalCreated ByCanonicalLastModified BySymlinkCreated BySymlinkLastModified The last column in the files table now displays the last modification time. Fixed a bug causing crashes when handling unicode characters in the input buffer. Improved docs.
sysutils/xplr: update to 0.17.6 -Fixed rendering ANSI colors. -Default UI improvements. -Documented how to add luarocks support.
sysutils/xplr: update to 0.17.4 Changes & fixes -Fixed invalid cursor position when using multi character custom prompt. -Improved documentation, covering almost every detail. -More concise init.lua. -Upgraded Rust version and edition. -Upgraded dependencies. -Performance improvements (due to the updates).
sysutils/xplr: update to 0.17.3 Changes & fixes: -Added new fields border_type and border_style for all the panels to enable customizing the borders (see #450). -Added boolean option xplr.config.general.enforce_bounded_index_navigation to configure wrapping on move (see #441). -The built-in init.lua has been fully documented (see #445). -Categorized the full list of messages using auto generation of docs from code (see #444). -Some code refactor and documentation improvements.
sysutils/xplr: update to 0.17.2 Changes & fixes -Added CLI option --print-pwd-as-result to simplify implementing "cd on quit" using shell alias (See #437) -alias xcd='cd "$(xplr --print-pwd-as-result)"' -Added new key binding ctrl-d to duplicate a file or directory in the same parent directory with a different name. (See #434).
sysutils/xplr: update to 0.17.1 Changes & fixes -If errors occur during startup, xplr will display a debug error screen. This can be disabled by setting xplr.config.general.disable_debug_error_ _mode = true -While creating files (e.g. path/to/file), if the parent directories don't exist, they will be automatically created.
sysutils/xplr: update to 0.17.0 Changes & fixes -Deprecated app.directory_buffer, app.history, and app.last_modes in the custom dynamic layout renderer context. As of now, there's no way to access these fields in dynamic layouts. While app.history and app.last_modes can be re-added upon request (with justification), app.directory_buffer has been deprecated for good. However, there's no change in the CallLua* context. -As a result, change directory performance has been restored. -Set xplr.config.general.hide_remaps_in_help_menu to true to hide the remaps in help menu. -None will be serialized to nil in Lua. -LuaEval can now return a function that will be called with the Lua Context argument. Refer to the Full List of Messages doc for example.
sysutils/xplr: update to 0.16.4 -Fixed a nasty performance issue with rendering custom dynamic layouts in a big directory. -Fixed another nasty issue of cursor jumping back to the initial item after visiting a big directory.
sysutils/xplr: update to 0.16.3 v0.16.3 -Deprecated config.general.cursor. The default terminal cursor will be used for the time being. -The input buffer now supports cursor movement and other readline-like editing features. -You can now replace most boilerplate configuration handling keys to send BufferInputFromKey, RemoveInputBufferLastCharacter, RemoveInputBufferLastWord, SetInputBuffer = "" etc. messages with a single UpdateInputBufferFromKey message. -Pass multiple paths as command-line arguments or via stdin to select paths, e.g. xplr -- $PWD /path/to/select/1 /path/to/select/2. -Pass --force-focus to focus on the first path even if it's a directory, e.g. xplr . --force-focus. -Order of logs has been reversed in the UI. Now the most recent log will be displayed at the top. -Added new messages LuaEval and LuaEvalSilently to run Lua code without needing to define a function. However, the app context won't be available. -Added new key handlers: -on_alphanumeric -on_character -on_navigation -on_function -Fixed a bug where opening xplr inside a symlink opened xplr in the physical path. -Fixed a bug where passing invalid CLI arguments didn't cause any error. v0.16.2 -Fix linux gnu bin release v0.16.1 -Fix CD for musl v0.16.0 -Upgrade to 0.16.0
sysutils/xplr: update to 0.15.2 v0.15.2 Changes & fixes -Fixed incorrect count of selected files. -Mime type of directories will be set as inode/directory. -Fixed typo: MaxthLessThanLayoutWidth -> MaxLessThanLayoutWidth. -Top-level configuration has been fully documented. -Slight improvement in responsiveness and CPU usage. -Minor refactor and cleanups. v0.15.1 -Bump version
sysutils/xplr: update to 0.15.0 Changes & fixes: -Added CustomContent as layout option that can be used to render custom paragraphs, lists and tables. Both static and dynamic. -Added support for optionally defining custom layouts for different modes. -Added xplr.config.general.focus_selection_ui to highlight selected files under focus differently than files under focus that are not selected. -Added PopModeKeepingInputBuffer, and SwitchMode alternatives to allow switching to different modes without resetting the input buffer. -Removed config field from CallLuaArg as it's already available globally as xplr.config. -Fixed a bug which caused xplr to misbehave when used with specific tools and environment (e.g. neovim, fzf, zsh4humans etc.). -Recover mode will be disabled by default. i.e. xplr.config.general.disable_recover_mode has been deprecated. Use xplr.config.general.enable_recover_mode instead. Library users please refer to the latest API docs and examples. -New homepage: https://xplr.dev
sysutils/xplr: update to 0.14.7 v0.14.7 -Core: Fixed a bug where xplr logs a missing file error when the default config file is missing. -Core: xplr will now fall back to temp directory if runtime directory is inaccessible. -Deps: Updated dependencies to the latest versions. -Doc: Added new plugin - alacritty.xplr v0.14.6 -CLI: Added new command-line argument -C or --extra-config for better integration with external tools (e.g.). -UI: Minor fix in the permission column. -Deps: Updated dependencies to the latest versions.
sysutils/xplr: update to 0.14.5 Changes & fixes: -Added support for loading (unsafe) c modules via Lua require. -Removed termion from dependency list. -Optimized performance and memory usage. -Minor fixes.
sysutils/xplr: update to 0.13.7 0.13.7 ====== -Implemented basic CLI arguments. 0.13.6 ====== -Removed --locked to use the latest versions of dependencies. 0.13.5 ====== -Started publishing PGP signature for the source archive. 0.13.4 ====== -Fix pgp publishing attempt. 0.13.3 ====== -Fix pgp publishing attempt. 0.13.2 ====== Changes & fixes: -No need to Refresh explicitly. xplr with auto Refresh after each batch of messages. i.e. you can remove all the Refresh from your init.lua. -Mouse will be disabled by default. Use :m key binding or {Enable|Disable|Toggle}Mouse messages to enable/disable mouse. -Fixed focus jumping to the first file after deleting a file. -Upgraded dependencies. -Polished xplr library API.
sysutils/xplr: update to 0.12.1 0.12.1 ====== -Fixed compilation with stable rust. 0.12.0 ====== Changes & fixes: -xplr.config.node_types.mime_essence has split into type and subtype. Hence, instead of xplr.config.node_types.mime_essence["text/plain"] = .. use xplr.config.node_types.mime_essence["text"] = { plain = .. }. -You can also define xplr.config.node_types.mime_essence["text"]["*"] that will match all text types (text/*). -Functions called using CallLua and CallLuaSilently now have optional return type. -Some minor improvements to permission rendering. 0.11.1 ====== -Fixed ctrl-i key behavior by remapping it back to tab. 0.11.0 ====== Changes & fixes: -Added file permissions. -Added support for setting terminal colors from Lua functions. -Removed remaps: from key bindings. Remapped keys using Lua assignments instead. -Current mode will also be displayed on the input & logs panel title. -Mapped :q to "quit" action. -Minor UI fixes.
sysutils/xplr: update to 0.10.2 0.10.2 ====== Changes & fixes: -Fixed error with broken symlink. -Fixed displaying correct symlink destination. -Fixed deleting symlinks pointing to a directory. 0.10.1 ====== Changes & files: -Fixed icon rendering -Made all the important structs public for visible documentation. 0.10.0 ====== Changes & fixes: -config.yml has been fully replaced with init.lua. If you have a lot of customization in your config.yml, xplr-yml2lua can help you with migrating it to lua. -Handlebars templates has been replaced with Lua functions. -xplr will fall back to default config if init.lua is corrupt. You will see the error via log. So, now, it's not a big deal if you mess up init.lua or you upgrade xplr and there's version incompatibility issue. You can still use it. -Added (optional) mouse scrolling support, which be auto enabled on devices that support mouse. -History navigation will now behave like jump list in vim. So, you can even jump and return to different locations in the same directory. -Added messages CallLua and CallLuaSilently to call lua functions. The app state will be passed as input to the functions, and the returned messages will be handled by xplr. CallLua and CallLuaSilently are more flexible (and probably faster) alternatives to Call, CallSilently, BashExec and BashExecSilently. e.g. -Fixed "directory not empty" error on MacOS -Fixed initial focus via CLI argument. 0.10.0-beta.6 ============= Changes & fixes: -Fall back to default config when the custom config is corrupt. An error log will be displayed. -Optimized CPU usage by limiting pipe readers. -Added messages CallLua and CallLuaSilently to call lua functions. The app state will be passed as inputs to the functions, and the returned messages will be handled by xplr. 0.10.0-beta.5 ============= -Fixed initial $PWD sync issue. 0.10.0-beta.4 ============= Changes & fixes: -config.yml has been fully ported to init.lua. That means, xplr won't read config.yml anymore. -xplr.fn.builtin.foo_func format synax has been shortened to builtin.foo_func. 0.10.0-beta.3 ============= Changes & fixes: -Added (optional) mouse scrolling support. -History navigation will now behave like jump list. -Fixed initial focus via CLI argument. -Fixes MacOS error "directory not empty". 0.10.0-beta.2 ============= -Update version 0.10.0-beta.1 ============= Changes & fixes: -Handlebars templates have been replaced with Lua functions. Hence, instead of handlebars templates, you will be writing the location to the lua functions (e.g. xplr.fn.builtin.fmt_general_table_row_cols_0) in config.general.table.row.cols[n].format. -As of now 4 inbuilt functions have been defined in Lua. xplr.fn.builtin.fmt_general_table_row_cols_{n}, which can be overwritten via ~/.config/xplr/init.lua. -You can define your own functions in xplr.fn.custom. -CallSilently message has been fixed, and you won't see the unexpected stdout/stderr on screen anymore. 0.10.0-beta.0 ============= -Added support for native lua binding via ~/.config/xplr/init.lua. -Fixed open in editor action by only opening the file under focus.
sysutils/xplr: update to 0.9.1 -Added support for un-mapping keys by remapping keys to null. -Removed lag when ctrl-w is pressed in default mode. -Use less -+F instead of less as the default pager. -gx will open the file under focus. -New key map :sx will open the selected files. -Fixed selecting broken symlinks. -Set the default col_spacing for the table to 1.
sysutils/xplr: update to 0.5.0 New: -Added support for sorting and filtering files using s and f key. -Added read only mode. (general.read_only) -Use ctrl-r to refresh UI when messed up. -Follow symlink files to their parent directory using l or enter. -Display file size. -Added new UI variables canonical.*, symlink.*. (see this]) Changes: -Improved filter messages. (see this) -Improved input handling -Added messages RemoveInputBufferLastCharacter, RemoveInputBufferLastWord. -Use backspace to delete the last character, ctrl-w to delete the last word, ctrl-u to delete the line. -Improved selection -Use ctrl-a to toggle select all, ctrl-u to unselect all. -Improved UI. Fixes: -Handle empty icon. -Fixed selection duplicates.
sysutils/xplr: update to 0.4.2 -Add new messages Quit, LastVisitedPath and NextVisitedPath -q is mapped to Quit. -ctrl-o is mapped to LastVisitedPath -ctrl-i / tab is mapped to NextVisitedPath
sysutils/xplr: update to 0.4.1 0.4.1 -Fix remap behavior. -Fix help menu. 0.4.0 -Support easier config overwrite (without having to dump the whole config). -Rename custom field for node metadata to meta. -Move icon to meta.icon. -Rename normal_ui to default_ui. -Rename filetypes to node_types. -Split modes into modes.builtin and modes.custom. -Add the missing create file mode. -Rename focused_ui to focus_ui. -Make version compatibility less annoying. -Add key binding ~ to go to homedir. -Add customizable cursor and prompts. -Improve the help menus.
sysutils/xplr: update to 0.3.12 0.3.12 -Fix symlink support. -Fix refresh behavior. -Fix logs not being written to the pipe. -Fix the help menu displaying esc for quit. 0.3.11 -Fix logs for being written in the pipe. -Don't depend on `Refresh`, always write to the pipes. 0.3.10 -Watch PWD for changes. -Optimize the main thread (small performance gain). 0.3.9 -There are changes in the default key bindings -When in the default mode, pressing esc will not quit the session. -:e will open a file in ${EDITOR:-vi}. -When in the default search mode, entering or leaving a directory will not reset the mode back to default. This might seem a little counter-intuitive to the nnn users, but I think this adds to the productivity and should be the default. The real-time mode indicator will help the users adapt to the alternate defaults. 0.3.8 -Add RemoveNodeFilterFromInput message. -Fix search and show hidden behavior. -Clear screen before exit.
sysutils/xplr: import package Hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf. Though xplr strives to be fast and minimalist, its speciality is its hackability. Once you read the documentation, you should be able to configure the key bindings, different run modes, and also the way it looks by modifying one single configuration file.