xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit a525b46a4ae2f2cec1954951db02b598d7f67372

Fix vifm-pause and others not exposed to AppImage
Need to add bin/ directory to $PATH explicitly or users need to have the
helpers installed outside of the AppImage.

Thanks to Marcin Kowalski (a.k.a., mrkowalski).

Fixes https://github.com/vifm/vifm/issues/1106
Author: xaizek
Author date (UTC): 2025-09-28 11:51
Committer name: xaizek
Committer date (UTC): 2025-09-28 13:00
Parent(s): d4406b374df0758f47db7cf1e330f7d77d018d76
Signing key: 99DC5E4DB05F6BE2
Tree: fa0c7744f1baac81960969984241ec39a28e4ad5
File Lines added Lines deleted
ChangeLog 3 0
README.md 3 2
THANKS 1 0
pkgs/AppImage/AppRun 4 1
File ChangeLog changed (mode: 100644) (index ad305553b..c77ff8f96)
157 157 Fixed a small memory leak on trying to display a map menu which doesn't Fixed a small memory leak on trying to display a map menu which doesn't
158 158 show up because it would be empty. show up because it would be empty.
159 159
160 Fixed `vifm-pause` and other helpers not being available from within
161 AppImage. Thanks to Marcin Kowalski (a.k.a., mrkowalski).
162
160 163 0.14-beta to 0.14 (2025-02-08) 0.14-beta to 0.14 (2025-02-08)
161 164
162 165 Improved documentation on zh/zl menu keys a bit. Improved documentation on zh/zl menu keys a bit.
File README.md changed (mode: 100644) (index 04eb9351e..251ecea80)
... ... working solutions which are set in stone user is provided with a set of
15 15 means for customization of Vifm to one's likings. Though builtin means for customization of Vifm to one's likings. Though builtin
16 16 functionality should be enough for most of use cases. functionality should be enough for most of use cases.
17 17
18 _Version 0.15. This file last updated on 12 June 2025._
18 _Version 0.15. This file last updated on 28 September 2025._
19 19
20 20 ## Resources and Contacts ## ## Resources and Contacts ##
21 21
 
... ... file as executable.
102 102
103 103 As a convenience, here are commands that download AppImage binary for the latest As a convenience, here are commands that download AppImage binary for the latest
104 104 release and save it as `~/.local/bin/vifm` (thanks to [@benelan], see release and save it as `~/.local/bin/vifm` (thanks to [@benelan], see
105 [GitHub#975]).
105 [GitHub#975]). **Note** that helpers like `vifm-pause` (used by `:!!`) aren't
106 accessible in AppImage before v0.15.
106 107
107 108 #### `curl` + `sed` #### #### `curl` + `sed` ####
108 109
File THANKS changed (mode: 100644) (index 354b575c7..acb6aef4e)
... ... Ma_Sys.ma
192 192 MadMaverick9 MadMaverick9
193 193 makijato makijato
194 194 Marcin Juszkiewicz (hrw) Marcin Juszkiewicz (hrw)
195 Marcin Kowalski (mrkowalski)
195 196 Marcin Kurczewski (rr-) Marcin Kurczewski (rr-)
196 197 Marcos Cruz Marcos Cruz
197 198 Marius Schmidl Marius Schmidl
File pkgs/AppImage/AppRun changed (mode: 100755) (index 299587ac3..244a86afc)
... ... else
15 15 export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH"
16 16 fi fi
17 17
18 # Tell Vifm it's used from an AppImage and what it's root directory is.
18 # Tell Vifm it's used from an AppImage and what its root directory is.
19 19 export VIFM_APPDIR_ROOT=$APPDIR export VIFM_APPDIR_ROOT=$APPDIR
20 20
21 21 # Make ncurses look into the bundled terminfo. Using $TERMINFO_DIRS is better # Make ncurses look into the bundled terminfo. Using $TERMINFO_DIRS is better
 
... ... else
28 28 export TERMINFO_DIRS="$TERMINFO_DIRS:$APPDIR/usr/share/terminfo" export TERMINFO_DIRS="$TERMINFO_DIRS:$APPDIR/usr/share/terminfo"
29 29 fi fi
30 30
31 # Expose bundled vifm-pause, other helpers and the bundled binary.
32 PATH="$APPDIR/usr/bin:$PATH"
33
31 34 exec "$APPDIR/usr/bin/vifm" ${@+"$@"} exec "$APPDIR/usr/bin/vifm" ${@+"$@"}
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master