李通洲
eb02206c05
TerminalShell: support Windows Terminal version detection
2023-01-11 22:10:42 +08:00
李通洲
cd0b74b0de
TerminalShell: support deepin-terminal version detection
2023-01-11 18:12:36 +08:00
李通洲
99fc4e76ec
TerminalShell: fix build on Windows
2023-01-11 17:27:34 +08:00
李通洲
7145f5252d
TerminalShell: add --shell-version and --terminal-version options to disable shell / terminal version detection
...
in case that users don't like it
2023-01-11 17:17:17 +08:00
李通洲
9dab23b5fc
TerminalShell: code refactor
2023-01-11 16:45:34 +08:00
李通洲
09ff8d35bc
TerminalShell: support xfce4-terminal version detection
2023-01-11 16:07:34 +08:00
李通洲
ee903d2d07
TerminalShell: support konsole version detection
2023-01-11 15:56:24 +08:00
李通洲
b2f978aa7c
TerminalShell: support kitty version detection
2023-01-11 15:14:29 +08:00
李通洲
76d957a144
TerminalShell: support gnome-terminal version detection
2023-01-11 15:12:32 +08:00
李通洲
a0acfeed56
TermiinalShell: code refactor
2023-01-11 15:03:16 +08:00
李通洲
b1f63ab822
Global: rename FF_UNUSED_PARAM to FF_MAYBE_UNUSED since it can be used on functions too.
2023-01-11 14:47:10 +08:00
李通洲
54ea9c2386
TerminalFont: support WezTerm font detection
2023-01-11 13:58:59 +08:00
李通洲
db17f95ce8
TerminalShell: detect Termux version
2023-01-10 21:11:44 +08:00
李通洲
ef2a5110fe
TerminalShell: detect terminal version when available
2023-01-10 19:26:33 +08:00
李通洲
f245492679
TerminalShell: fix shell detection when installed with scoop
2022-12-31 12:42:19 +08:00
李通洲
dc35fedd74
TerminalShell: detect Windows Terminal Preview
2022-12-24 13:00:43 +08:00
李通洲
947923567f
TerminalShell: fix mintty detection (Windows)
2022-12-24 12:52:13 +08:00
Linus Dierheimer
b21cfc127a
Termialshell: ignore sh
2022-12-12 13:55:19 +01:00
李通洲
c6a9217c74
Windows: silense compiler warnings
2022-11-25 23:13:57 +08:00
李通洲
4b3ed67877
TerminalShell: detect Clink
2022-11-24 11:24:12 +08:00
李通洲
11258c0d8d
TerminalShell: code cleanup (Windows)
2022-11-24 11:23:45 +08:00
李通洲
308408a962
Processes: improve performance (Windows)
2022-11-22 19:40:56 +08:00
李通洲
f1cc94207e
Host: detect WSL version
2022-11-17 22:36:49 +08:00
李通洲
fb78d9bbb9
TerminalFont: support Warp; improve performance of Apple Terminal (macOS)
2022-11-17 19:53:12 +08:00
李通洲
f889d919f8
TerminalShell: add basic support for ConEmu
2022-11-12 21:33:31 +08:00
李通洲
2ee5b3b7a5
TerminalShell: add support for tcsh
...
which is the default shell for freebsd
2022-10-27 16:45:59 +08:00
李通洲
302a588812
TerminalShell: fix shellExe detection on macOS
...
`proc_pidpath()` works only if bufsize >= PROC_PIDPATHINFO_MAXSIZE
2022-10-27 16:45:59 +08:00
李通洲
9c73f6b787
TerminalShell: support freebsd
2022-10-26 19:49:25 +08:00
李通洲
38b3aae1e3
Windows: simplify WMI query code
...
by making C++ code more C++
2022-10-17 00:17:26 +08:00
李通洲
76684e49ca
TerminalShell: speed up PowerShell version detection by querying the version of pwsh.exe file
...
Also add cmd version detection
2022-10-15 22:45:30 +08:00
李通洲
437431a821
TerminalShell: support Windows PowerShell version detection
2022-10-15 21:44:28 +08:00
李通洲
5749a8f7c1
TerminalShell: improve speed on Windows
...
[NtQueryInformationProcess](https://learn.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntqueryinformationprocess ) is an internal NT syscall which may change in the future. However, unlike other NT syscalls NtQueryInformationProcess is well documented on MSDN, so I think it's safe to use.
Boost shell detection by 0.3s on my machine. Note querying PowerShell's version `pwsh --version` costs another 0.2s
2022-10-15 21:20:58 +08:00
李通洲
b042b90d9b
TerminalShell: improve shell detection on Windows
2022-10-15 11:36:24 +08:00
李通洲
4f0dd51761
TerminalShell: fix bash version detection on Windows
...
Currently we use `env -i /path/to/bash --norc --noprofile -c printf "%s" "$BASH_VERSION"` to detect bash version.
This is problematic on Windows because there is no `env` in $PATH ( there is env in $PATH of msys2 but not in $PATH of Windows )
With this modification the detection is also faster because 1 process is created only
2022-10-14 22:58:56 +08:00
李通洲
4f67ed2b77
TerminalShell: add some pretty names
2022-10-14 19:16:55 +08:00
李通洲
3f4926cbd5
TerminalShell: detect platform specific terminal on correct system only
2022-10-14 19:16:55 +08:00
李通洲
af93157a76
TerminalShell: handle nested shell
2022-10-14 19:16:55 +08:00
李通洲
220a7d24bc
TerminalShell: detect first shell we found only.
...
Previously we always detect login shell as current shell, which seems duplicate with userShell
2022-10-14 18:33:11 +08:00
李通洲
4bd6f2da89
TerminalShell: add lock ( Windows )
2022-10-14 18:33:11 +08:00
李通洲
1b7a2c2ed5
MSYS2: remove support
...
MSYS2 version was built for smooth transition from POSIX api to Win32 api. It has almost identical output as Windows native version, except requiring msys runtime dll and being a bit slower.
2022-10-14 18:33:11 +08:00
李通洲
11ad7a8a3d
TerminalShell: unify shell version detection code
2022-10-14 18:33:11 +08:00
李通洲
3cc6611614
Windows: support native Windows
2022-10-13 23:49:09 +08:00
李通洲
1b594d9ed1
Thread: add common thread abstraction layer, and make threading optional
2022-10-12 21:59:21 +08:00
李通洲
8c127a175c
TerminalShell: try detecting more shells
2022-10-12 00:19:31 +08:00
李通洲
424fbfc9c9
TerminalShell: actually support macOS
2022-10-11 19:44:43 +08:00
Linus Dierheimer
d54f14a14c
ffStrbufLastIndexC: account for empty strings
...
#285
2022-10-11 12:37:54 +02:00
李通洲
0381d88e2d
TerminalShell: detect cmd ( Windows )
2022-10-09 22:29:00 +08:00
李通洲
6a9fd7a84d
TerminalShell: silence compiler warnings
2022-10-09 21:12:27 +08:00
李通洲
6e190c6f7c
Fix some mistakes
2022-10-09 17:47:30 +08:00
李通洲
034f444fca
Terminal / Shell: fix name printing
2022-10-09 16:51:53 +08:00