Commit Graph

59 Commits

Author SHA1 Message Date
李通洲 15fc3bcc92 IO (Windows): add ffAppendFileBufferRelative 2024-10-12 10:13:23 +08:00
Carter Li 68406cd044 IO (Linux): use openat to simplify code 2024-10-11 16:36:08 +08:00
李通洲 2d356aa644 IO: don't reuse va_list
Fix #1321
2024-10-06 09:29:54 +08:00
李通洲 b34283eaf0 Chore: fix a warning of warning 2024-10-05 11:33:57 +08:00
Carter Li 716bfe7cc1 Global: use glob(3) if wordexp(3) is not available 2024-10-04 20:00:28 +08:00
Carter Li a32d9d788c OpenBSD: init platform support 2024-10-04 17:49:18 +08:00
李通洲 d06f9a1509 Chore (Windows): silence some warnings 2024-10-04 17:49:18 +08:00
李通洲 a052033dc6 IO: allow issuing multiple terminal queries in one call 2024-09-10 15:18:12 +08:00
李通洲 fed2c87f67 TerminalTheme (macOS): fix hanging on GNU screen 5.0 2024-09-10 11:12:16 +08:00
李通洲 de59ffb31f Revert "TerminalTheme: fix hanging on screen 5.0"
It breaks kitty terminal font detection

This reverts commit 1ab86a8ab9.
2024-09-06 16:40:24 +08:00
李通洲 1ab86a8ab9 TerminalTheme: fix hanging on screen 5.0 2024-09-02 09:26:54 +08:00
李通洲 5a9c3154fa IO (Unix): fix isDir condition checking; skip hidden files
Fix #1216
2024-08-26 16:10:44 +08:00
Carter Li a070519721 IO: disallow input echo 2024-07-31 09:40:00 +08:00
李通洲 ec8391f6c6 Global: don't use __has_include
It reports false results in ubuntu 20.04. Details unknown.
2024-07-30 11:06:42 +08:00
李通洲 9268d8449e IO (Windows): remove debug output
Fix #1097
2024-07-15 16:01:19 +08:00
Carter Li f8d5f56dee GPU (Linux): remove possible overhead 2024-07-08 09:11:53 +08:00
李通洲 27a1d9f8c6 Logo (Image): fix building on Windows 2024-06-28 18:08:16 +08:00
李通洲 a4614ec412 IO (Windows): implement ffSuppressIO 2024-06-26 13:50:42 +08:00
李通洲 e257f876ae TerminalSize (Windows): make it work when stdin or stdout is redirected 2024-06-26 10:51:44 +08:00
李通洲 47a9cf0450 IO: enable terminal query in --pipe mode 2024-06-26 10:01:36 +08:00
李通洲 0bc9149a23 IO: improve ffGetTerminalResponse 2024-06-25 16:09:19 +08:00
李通洲 b5e199d2b2 IO (Linux): make sure stdin and stdout are tty when querying terminal 2024-06-25 09:43:31 +08:00
Carter Li d35490aeef Fastfetch: make it compile on SunOS 2024-06-16 01:02:48 +08:00
李通洲 8c2dd1aeac IO: don't print ANSI escape codes in --pipe mode 2024-04-21 20:12:42 +08:00
李通洲 8f51763374 Linux: allow command substitution when expanding paths
Ref: https://github.com/fastfetch-cli/fastfetch/discussions/698
2024-01-23 13:13:30 +08:00
Carter Li 5693700c16 Bios (FreeBSD): fix boot type detection on some weird platforms 2024-01-08 16:02:52 +08:00
apocelipes e85a4b9ff5 refactor(IO): clean up ffAppendFDBuffer
for 2 reasons:

- Simplify the Code.
- ffAppendFDBuffer can't make assumptions about how the read data will
  be processed, so the trim calls are inappropriate.
2023-12-22 11:49:57 +00:00
apocelipes b9368ac20d feature(IO): support searching user's config file from configDirs 2023-12-20 10:28:51 +00:00
李通洲 11b1b97567 IO: only retry when open() error is ENOENT / ERROR_PATH_NOT_FOUND
Close: #663
2023-12-18 21:08:29 +08:00
李通洲 4ae0c43c6f IO: remove support of FF_PATHTYPE_LINK 2023-12-18 20:49:32 +08:00
apocelipes 6eae425679 fix(Memory): fix reading procfs files and simplify data parsing
Files in procfs are always changed by kernel.

It means if we read the data with more than one read syscall,
we could get an incorrect data which was broken by kernel.

A typical case about this problem was reported by psutil in
https://github.com/giampaolo/psutil/issues/2050

Using an big buffer let read reads the whole file can fix this.
psutil uses a 32K buffer while procps-ng uses a 8K buffer, i think a 8K buffer is enough.
2023-12-04 19:47:34 +08:00
李通洲 3fda6e425a Global: never leak fd to child processes 2023-12-04 15:14:40 +08:00
apocelipes 4868517d53 optimize(IO): reduce memory usage during reading data from files to FFstrbufs
Avoid unnecessary calls of ffStrbufEnsureFree and only allocate
necessary memory.

In most cases, this will save 30% ~ 50% of memory used by ffAppendFDBuffer.
2023-12-03 19:57:49 +08:00
apocelipes 36f18d0961 optimize(IO): speed up createSubfolders
Avoiding unnecessary ffStrbufAppendC calls to speed up createSubfolders.

Now it finds and adds a subdirectory at a time instead of just appending a char.
2023-11-27 19:16:05 +08:00
Marius Messerschmidt 29d93d5c67 Spelling: fix spelling of files in src/common 2023-11-18 15:47:22 +01:00
Marius Messerschmidt 5162b4fdec ClangTidy: add missing unsigned specifier 2023-11-18 12:31:57 +01:00
李通洲 ee7d3d471e Completions (Fish): inital support 2023-11-13 22:44:58 +08:00
李通洲 f9597eba39 Global: remove #ifndef FF_INCLUDED_* guards 2023-11-09 13:46:45 +08:00
李通洲 9500ca8f83 Logo: fix poll() timeout or failed error when image is very large
Fix #554
2023-09-03 17:50:20 +08:00
李通洲 04d56d9b6a IO: fix short read when reading from pipe 2023-09-02 10:04:57 -04:00
李通洲 bddcb4772c DE (FreeBSD): add fast path for xfce4 version detection 2023-08-29 10:47:24 +08:00
李通洲 b39c84f81e IO (Android): fix compiler errors if wordexp is not available 2023-08-14 10:03:53 +08:00
李通洲 658598f43a --logo-source / --load-config: support path with env variables (*nix) 2023-08-13 10:59:50 +08:00
李通洲 290e721ee1 --logo-source / --load-config: support path with env variables (Windows) 2023-08-13 10:18:16 +08:00
李通洲 5137b7d646 Revert "IO: only suppress IO in release mode"
This reverts commit f1ec86a371.
2023-08-01 16:20:00 +08:00
李通洲 f1ec86a371 IO: only suppress IO in release mode
It can be annoy when printing debug messages
2023-08-01 15:16:58 +08:00
李通洲 8cbeb709f9 TerminalSize: add new module 2023-07-26 18:18:27 +08:00
李通洲 baa8992322 Global: refactor strcmp() == 0 to ffStrEquals() 2023-06-19 17:11:57 +08:00
李通洲 c7119498a3 Global: major FFstrbuf related code refactor 2023-06-10 09:15:15 +08:00
李通洲 725d2f2612 Windows: fix <Windows.h> header mess 2023-03-25 00:50:40 +08:00