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 a43e2e36f1667c2cecc4b547953fd1204238bb01

Made 'title' work for $TERM used by tmux
Thanks to fugue.

See
https://q2a.vifm.info/227/how-to-stop-vifm-from-overwriting-screen-title?show=2470#c2470
Author: xaizek
Author date (UTC): 2026-07-10 22:25
Committer name: xaizek
Committer date (UTC): 2026-07-11 12:48
Parent(s): e08850f662f56bd6a8d00ee4025e0fc5deaf268d
Signing key: 99DC5E4DB05F6BE2
Tree: eb54110fe30f4d62657c06e4d809ee647416ba4e
File Lines added Lines deleted
ChangeLog 3 0
THANKS 1 0
data/man/vifm.1 2 1
data/vim/doc/app/vifm-app.txt 2 1
src/int/term_title.c 2 1
File ChangeLog changed (mode: 100644) (index 52cb47899..137fca16d)
126 126 Improved wording of documentation sections describing filters and Improved wording of documentation sections describing filters and
127 127 patterns. patterns.
128 128
129 Made 'title' work when $TERM equals "tmux" or starts with "tmux-". Thanks
130 to fugue.
131
129 132 Fixed 'trashdir' with "%r" on BSD-like systems (those with getmntinfo() Fixed 'trashdir' with "%r" on BSD-like systems (those with getmntinfo()
130 133 instead of getmntent() API). The regression was apparently introduced in instead of getmntent() API). The regression was apparently introduced in
131 134 v0.9.1-beta. Thanks to sublimal. v0.9.1-beta. Thanks to sublimal.
File THANKS changed (mode: 100644) (index a3dd45bbc..f5c82ee11)
... ... flux242
107 107 FlyCat (yanwh0311) FlyCat (yanwh0311)
108 108 fogine fogine
109 109 fohrums fohrums
110 fugue
110 111 gammaray gammaray
111 112 gcmt gcmt
112 113 Gene Zharov Gene Zharov
File data/man/vifm.1 changed (mode: 100644) (index dc2b5d5be..8d87847cf)
1 .TH VIFM 1 "10 July 2026" "vifm 0.15"
1 .TH VIFM 1 "11 July 2026" "vifm 0.15"
2 2 .\" --------------------------------------------------------------------------- .\" ---------------------------------------------------------------------------
3 3 .SH NAME .SH NAME
4 4 .\" --------------------------------------------------------------------------- .\" ---------------------------------------------------------------------------
 
... ... conditions:
5551 5551 - equals "xterm" or starts with "xterm-" - equals "xterm" or starts with "xterm-"
5552 5552 - equals "rxvt" or starts with "rxvt-" - equals "rxvt" or starts with "rxvt-"
5553 5553 - equals "screen" or starts with "screen-" - equals "screen" or starts with "screen-"
5554 - equals "tmux" or starts with "tmux-"
5554 5555 - equals "aterm" - equals "aterm"
5555 5556 - equals "Eterm" - equals "Eterm"
5556 5557 .TP .TP
File data/vim/doc/app/vifm-app.txt changed (mode: 100644) (index 7df401679..1db6cfa02)
1 *vifm-app.txt* For Vifm version 0.15 Last change: 2026 July 10
1 *vifm-app.txt* For Vifm version 0.15 Last change: 2026 July 11
2 2
3 3 Email for bugs and suggestions: <xaizek@posteo.net> Email for bugs and suggestions: <xaizek@posteo.net>
4 4
 
... ... conditions:
4731 4731 - equals "xterm" or starts with "xterm-" - equals "xterm" or starts with "xterm-"
4732 4732 - equals "rxvt" or starts with "rxvt-" - equals "rxvt" or starts with "rxvt-"
4733 4733 - equals "screen" or starts with "screen-" - equals "screen" or starts with "screen-"
4734 - equals "tmux" or starts with "tmux-"
4734 4735 - equals "aterm" - equals "aterm"
4735 4736 - equals "Eterm" - equals "Eterm"
4736 4737
File src/int/term_title.c changed (mode: 100644) (index 202ca5a9e..74f840eb1)
... ... title_kind_for_termenv(const char term[])
260 260 return TK_REGULAR; return TK_REGULAR;
261 261 } }
262 262
263 if(strcmp(term, "screen") == 0 || starts_with_lit(term, "screen-"))
263 if(strcmp(term, "screen") == 0 || starts_with_lit(term, "screen-") ||
264 strcmp(term, "tmux") == 0 || starts_with_lit(term, "tmux-"))
264 265 { {
265 266 return TK_SCREEN; return TK_SCREEN;
266 267 } }
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