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 cf238ebe94ba2e0665a9ff01bd78f3071f6b928a

Fix vifm.exe using `data/vifmrc` as global config
This is a side-effect of "cleverly" using `data/` as both global config
and application data directory on Windows to simplify handling of global
color schemes. It's a bad idea because `vifmrc` file in each of those
locations is used differently and results in sample configuration
persisting despite user's attempts to change it in a copy of the sample
vifmrc created in a different location.

Thanks to midrare.

See
https://github.com/vifm/vifm/issues/993#issuecomment-2060237007
Author: xaizek
Author date (UTC): 2024-04-20 09:17
Committer name: xaizek
Committer date (UTC): 2024-04-20 12:31
Parent(s): f9dd57e800df1784e1be109ad20b07bfa053837b
Signing key: 99DC5E4DB05F6BE2
Tree: 581eb98d71837bd44e0bd8a5987d4ecb80850762
File Lines added Lines deleted
ChangeLog 3 0
scripts/deploy 3 0
src/utils/utils_win.c 7 1
File ChangeLog changed (mode: 100644) (index d0a668c5f..2f19aa01d)
247 247 string which is present when errors are aggregated at the end of an string which is present when errors are aggregated at the end of an
248 248 operation. Thanks to an anonymous at Vifm Q2A site. operation. Thanks to an anonymous at Vifm Q2A site.
249 249
250 Fixed `data/vifmrc` next to vifm.exe being used as global vifmrc file on
251 Windows. Thanks to midrare.
252
250 253 0.13-beta to 0.13 (2023-04-04) 0.13-beta to 0.13 (2023-04-04)
251 254
252 255 Made "withicase" and "withrcase" affect how files are sorted before Made "withicase" and "withrcase" affect how files are sorted before
File scripts/deploy changed (mode: 100755) (index 7c3647202..96a661e91)
... ... if [ "$target" = all ] || [ "$target" = archive ]; then
143 143 mkdir "$dir" mkdir "$dir"
144 144 cp -R data "$dir" cp -R data "$dir"
145 145
146 # place colors to a pseudo-/etc directory in data/ after updating EOLs
146 147 for i in "$dir/data/colors"/*; do for i in "$dir/data/colors"/*; do
147 148 unix2dos -c ISO "$i" unix2dos -c ISO "$i"
148 149 done done
150 mkdir "$dir/data/etc"
151 mv "$dir/data/colors" "$dir/data/etc"
149 152
150 153 # remove Unix-specific files from data/ # remove Unix-specific files from data/
151 154 rm "$dir/data"/*.desktop rm "$dir/data"/*.desktop
File src/utils/utils_win.c changed (mode: 100644) (index 0fbb0cb70..4123f0d88)
... ... get_installed_data_dir(void)
942 942 const char * const char *
943 943 get_sys_conf_dir(int idx) get_sys_conf_dir(int idx)
944 944 { {
945 return (idx == 0 ? get_installed_data_dir() : NULL);
945 static char sys_conf_dir[PATH_MAX + 1];
946 if(sys_conf_dir[0] == '\0')
947 {
948 snprintf(sys_conf_dir, sizeof(sys_conf_dir), "%s/etc",
949 get_installed_data_dir());
950 }
951 return (idx == 0 ? sys_conf_dir : NULL);
946 952 } }
947 953
948 954 void void
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