8020 Commits

Author SHA1 Message Date
ihsandeniz 2f68ce7f74 IO (Windows): fixes blocking forever on incomplete terminal responses
Same issue as on Unix: ffGetTerminalResponse() waits for input only before
the first ReadFile(). If the terminal answers only part of the request
(e.g. one of the two OSC 10/11 replies), the next ReadFile() blocks forever.

Wait with the same timeout before every subsequent ReadFile() as well, and
restore the console mode on that error path. While waiting, also skip
key-up records: ReadFile() returns no data for them, so one left alone in
the buffer would end the wait and the following ReadFile() would block.
2026-10-28 09:17:24 +08:00
ihsandeniz 408646df1c IO (Unix): fixes blocking forever on incomplete terminal responses
ffGetTerminalResponse() polls only before the first read(). If the terminal
sends a response that is cut short (e.g. `\e[4;800` without the rest), the
following read() in the loop blocks forever because the tty is in
non-canonical mode with VMIN=1.

Wait with the same timeout before every subsequent read() as well.
2026-10-28 09:17:24 +08:00
Don Yin ad62e3d1f5 Format: fixes substring ends before the start of the string (#2669)
* Format: fix substring ends before the start of the string

Closes #2668

Signed-off-by: Don Yin <Don_Yin@outlook.com>

* Doc: moves changelog entry to Unreleased [ci skip]

I moved the unreleased fix out of the 2.70.0 section.

Signed-off-by: Don Yin <Don_Yin@outlook.com>

---------

Signed-off-by: Don Yin <Don_Yin@outlook.com>
2026-10-26 00:34:50 -05:00
Carter Li 197d1c6e5d Uptime (SunOS): improves detection via kstat 2026-10-25 00:13:54 +08:00
berce bfe74b8437 Logo: treat a "$" ending a line or the logo as a plain dollar (#2667)
Fixes #2666
2026-10-23 02:28:06 -05:00
Carter Li bbb92543b0 Display (Wayland): uses DisplayConfig on GNOME if available 2026-10-17 10:23:13 +08:00
UnixUserDev 99785f54dd Logo (Builtin): add Tiny Core Linux (#2655)
* Logo (Builtin): add Tiny Core Linux

* Logo (Builtin): use only the TinyCore name for Tiny Core

---------

Co-authored-by: UnixUserDev <172555708+UnixUserDev@users.noreply.github.com>
2026-10-16 16:41:12 +08:00
Carter Li 17bb3fd238 CI (macOS): optimises benchmark charts 2.70.0 2026-10-14 15:28:42 +08:00
Carter Li 1d8bbeb89f CI (macOS / Windows): reduces deps; builds universal darwin binary 2026-10-14 14:06:54 +08:00
Carter Li 939bfbb844 Merge pull request #2652 from fastfetch-cli/dev
Release v2.70.0
2026-10-14 10:42:20 +08:00
Carter Li fdd4a60d9d Packages (macOS): tidy [ci skip] 2026-10-14 10:37:58 +08:00
Carter Li 6eb3a8148b Packages (macOS): falls back to pkgsrc's standard package database path
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-13 21:35:50 -05:00
Carter Li 4f6a329ea3 Gamepad (Windows): ensures cancelled read completion is fully awaited
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-13 21:29:52 -05:00
Carter Li cb73fdcfc9 CI (macOS): installs the latest MacPorts release 2026-10-13 23:53:53 +08:00
Carter Li 8a0c1d2f6c Wifi (Android): fixes Android 17 support
Fixes the Wifi transmit link speed being read from a field a vendor writes in front of it, rather than from the transmit speed itself
2026-10-13 20:53:11 +08:00
Carter Li 2aa053a904 Sound (Android): adds new bluetooth device type
the Bluetooth LE hearing aid, the two Bluetooth peripheral-mode paths and the proxy endpoint.
2026-10-13 20:47:58 +08:00
Carter Li a9ee641bd6 Display (Android): fixes Android display detection reporting nothing on Android 11 2026-10-13 19:20:51 +08:00
李通洲 f93ffed57a Disk: fix Windows quota affecting free space and unify disk size calculation
- Windows: use FILE_FS_FULL_SIZE_INFORMATION_EX on Windows 10 1809+ (Build >= 17763) when calcType != AVAILABLE to get ActualTotalAllocationUnits/ActualAvailableAllocationUnits (ignoring per-user disk quotas). Fall back to legacy FILE_FS_FULL_SIZE_INFORMATION with CallerAvailableAllocationUnits when calcType is AVAILABLE or EX is unavailable.
- Unix-like: respect --disk-calc-type. Use f_bfree for FREE, f_bavail for AVAILABLE (Linux/BSD/SunOS). Haiku currently always uses free_blocks.
- Refactor FFDisk: remove bytesUsed and bytesAvailable; compute used = total - free in disk module.
- Disk module: update custom format (remove `size-available`, add `bytes-used` and `bytes-total`); update JSON output (remove `bytes.available`, `bytes.used`).
- Disk detection: stop computing used in common path; let each platform set bytesFree by chosen semantics.

Fixes #2651
2026-10-13 15:35:12 +08:00
Carter Li 73ebe95120 GPU (Pci): hardens the parser; adds tests 2026-10-13 09:17:26 +08:00
Carter Li b7bc8ca99d Display (Android): adds cmd display get-displays back
and updates changelog
2026-10-12 14:40:09 +08:00
Carter Li 1bab113d25 Display (Android): be compatible with Android 17 2026-10-12 14:20:21 +08:00
Carter Li 3b042d26ab Sound (Linux): adds ALSA backend as a fallback 2026-10-12 00:22:02 +08:00
Carter Li 29567e1674 Chore: eliminates compiler warnings 2026-10-11 23:54:08 +08:00
Carter Li 1e8b4eb974 Gamepad (Windows): tidy 2026-10-11 14:53:32 +08:00
Carter Li 3453de61f8 CI (Android): tries to fix building 2026-10-11 11:37:48 +08:00
Carter Li ad1d12ed38 Terminal (Android): reports real app display name instead of hard coding Termux 2026-10-11 10:42:42 +08:00
Carter Li ab6ec4c3f5 Media (Android): adds app uid support 2026-10-11 10:42:41 +08:00
İhsan Deniz 3ccaf2d7dd L10n (TR): proofreads Turkish module names (#2648)
- Host: "Ana Bilgisayar" -> "Cihaz". The module reports the machine
  model; "ana bilgisayar" reads as a mainframe in Turkish.
- Login Manager: "Oturum Açma Yöneticisi" -> "Giriş Yöneticisi".
  Shorter, and the common Turkish term.
- Top: "En yoğun işlemler" -> "En Yoğun Süreçler". Title case like the
  other Turkish names, and "Süreçler" to match the Processes module.
- Bluetooth Radio: "Bluetooth Radyosu" -> "Bluetooth Adaptörü". "Radyo"
  reads as an FM radio; "Adaptör" matches Power Adapter ("Güç Adaptörü").

Related to #2526
2026-10-11 07:50:31 +08:00
Carter Li 1f32e0bcb2 Display (Android): removes old detection methods 2026-10-11 00:44:15 +08:00
Carter Li d7b66c8677 Common (Android): unifies dex parsers 2026-10-10 23:55:38 +08:00
Carter Li 7f9faeb720 Display (Android): detects via binder 2026-10-10 22:57:48 +08:00
Carter Li cc435d2b70 Platform (OpenBSD): uses getexecpath(3) if available
Fixes https://github.com/fastfetch-cli/fastfetch/issues/2195#issuecomment-6095513342
2026-10-10 18:33:09 +08:00
Carter Li e0361fdcf6 Doc: updates changelog 2026-10-10 16:32:41 +08:00
Carter Li 124f474f81 Media (macOS): don't spawn child process 2026-10-10 16:32:09 +08:00
Carter Li 068d86ef13 Sound (Linux): updates comments 2026-10-10 15:44:04 +08:00
Carter Li 10d6b3a3d7 Display: fixes missing a lang option 2026-10-10 15:43:38 +08:00
Carter Li 62617a35de Common (Debug): fixes possible errno lost 2026-10-10 15:43:20 +08:00
Carter Li 10379d600d Packages (Linux): hardens getdents64 usage 2026-10-10 15:42:41 +08:00
Carter Li de414b7250 Common (Zlib): don't #define Z_LARGE64 2026-10-10 15:41:07 +08:00
Carter Li be51ba9f15 command not found 2026-10-10 15:40:29 +08:00
Carter Li 132e69b580 Percent: clamps bar width to 0% ~ 100% 2026-10-10 14:00:30 +08:00
Carter Li 07a7211526 Command: extends useStdErr to useOutput 2026-10-10 14:00:30 +08:00
李通洲 0806145f4d Command (Windows): detects command not found error (WIP) 2026-10-10 14:00:30 +08:00
李通洲 a7e19308cc Processing (Windows): handles ERROR_PATH_NOT_FOUND 2026-10-10 14:00:30 +08:00
Carter Li 262a8ca4d3 Processing: adds more debug info 2026-10-09 23:03:20 +08:00
Carter Li 30d6fb542b LocalIP (macOS): fixes MAC address reporting 20:00:00:00:00:00 on macOS 27 2026-10-09 23:02:44 +08:00
Dmitry Marakasov 1e0ec1004a Doc: fixes repology URLs (#2643) [ci skip] 2026-10-07 23:25:55 +08:00
Carter Li 35a35f066c Android: fixes binaries built via NDK running on Termux 2026-10-07 14:29:42 +08:00
Carter Li 9859b248ff Platform: prefers the passwd shell over $SHELL 2026-10-07 14:06:56 +08:00
Carter Li 66709ccc77 CI: adds android 2026-10-07 08:47:46 +08:00