Skip to content

Commit 5060c26

Browse files
authored
Merge pull request #1083 from fastfetch-cli/dev
Release: v2.18.0
2 parents cec38b9 + fca4b3e commit 5060c26

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+2981
-598
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -438,43 +438,6 @@ jobs:
438438
name: fastfetch-freebsd-amd64
439439
path: ./fastfetch-*.*
440440

441-
freebsd-aarch64:
442-
name: FreeBSD-aarch64
443-
runs-on: ubuntu-latest
444-
permissions:
445-
security-events: write
446-
contents: read
447-
steps:
448-
- name: checkout repository
449-
uses: actions/checkout@v4
450-
451-
- name: run VM
452-
uses: cross-platform-actions/action@master
453-
with:
454-
operating_system: freebsd
455-
architecture: arm64
456-
cpu_count: 3
457-
shell: bash
458-
version: '13.2'
459-
run: |
460-
uname -a
461-
sudo pkg update
462-
sudo pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl xfce4-conf ImageMagick6 ImageMagick7 chafa egl libosmesa opencl ocl-icd v4l_compat
463-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
464-
cmake --build . --target package --verbose -j4
465-
./fastfetch --list-features
466-
time ./fastfetch
467-
time ./fastfetch --format json
468-
time ./flashfetch
469-
ldd fastfetch
470-
ctest
471-
472-
- name: upload artifacts
473-
uses: actions/upload-artifact@v4
474-
with:
475-
name: fastfetch-freebsd-aarch64
476-
path: ./fastfetch-*.*
477-
478441
windows-amd64:
479442
name: Windows-amd64
480443
runs-on: windows-latest
@@ -623,7 +586,6 @@ jobs:
623586
- musl-aarch64
624587
- macos-universal
625588
- freebsd-amd64
626-
- freebsd-aarch64
627589
- sunos-amd64
628590
- windows-amd64
629591
- windows-i686

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
# 2.18.0
2+
3+
Changes:
4+
* `yyjson 0.10.0` is required
5+
* Fastfetch no longer prints `*` (which means it's the default route) if `defaultRouteOnly` is set (LocalIP)
6+
7+
Bugfixes:
8+
* Fix some memory leaks
9+
* Fix compatibility with old Python versions
10+
* Don't detect frequency for AMD cards (GPU, Linux)
11+
* Fix possible hang with discrete AMD cards (#1077)
12+
* Don't print colors in `--pipe` mode (Separator)
13+
* Don't print `(null)` in property `locator` (PhysicalMemory)
14+
* Ignore disabled PCI devices (GPU)
15+
* Fix flag `--opengl-library` doesn't work (OpenGL)
16+
17+
Features:
18+
* Detect revision of USB drives (#1048, Disk)
19+
* Support fractional scale factor detection (Display, Linux)
20+
* Support primary display detection for KDE and GNOME (Display, Linux)
21+
* Support percent bar in custom formatting
22+
* Print signal quality by default (Wifi)
23+
* Detect used OpenGL library version (OpenGL)
24+
* Support detecting OpenGL version by `EGL` (ANGLE) on Windows (OpenGL)
25+
26+
Logos:
27+
* Add Arkane Linux
28+
* Add Opak
29+
130
# 2.17.2
231

332
Changes:

CMakeLists.txt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url
22

33
project(fastfetch
4-
VERSION 2.17.2
4+
VERSION 2.18.0
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -61,7 +61,7 @@ cmake_dependent_option(ENABLE_IMAGEMAGICK7 "Enable imagemagick 7" ON "LINUX OR B
6161
cmake_dependent_option(ENABLE_IMAGEMAGICK6 "Enable imagemagick 6" ON "LINUX OR BSD OR APPLE OR SunOS" OFF)
6262
cmake_dependent_option(ENABLE_CHAFA "Enable chafa" ON "ENABLE_IMAGEMAGICK6 OR ENABLE_IMAGEMAGICK7" OFF)
6363
cmake_dependent_option(ENABLE_ZLIB "Enable zlib" ON "ENABLE_IMAGEMAGICK6 OR ENABLE_IMAGEMAGICK7" OFF)
64-
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR BSD OR SunOS" OFF)
64+
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR BSD OR WIN32 OR SunOS" OFF)
6565
cmake_dependent_option(ENABLE_GLX "Enable glx" ON "LINUX OR BSD OR SunOS" OFF)
6666
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR BSD OR SunOS" OFF)
6767
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR BSD OR WIN32 OR ANDROID OR SunOS" OFF)
@@ -307,6 +307,7 @@ set(LIBFASTFETCH_SRC
307307
src/detection/media/media.c
308308
src/detection/netio/netio.c
309309
src/detection/opencl/opencl.c
310+
src/detection/opengl/opengl_shared.c
310311
src/detection/os/os.c
311312
src/detection/packages/packages.c
312313
src/detection/physicalmemory/physicalmemory.c
@@ -395,6 +396,7 @@ set(LIBFASTFETCH_SRC
395396
src/options/general.c
396397
src/options/library.c
397398
src/util/edidHelper.c
399+
src/util/base64.c
398400
src/util/FFlist.c
399401
src/util/FFstrbuf.c
400402
src/util/platform/FFPlatform.c
@@ -429,7 +431,11 @@ if(LINUX)
429431
src/detection/displayserver/linux/wayland/wayland.c
430432
src/detection/displayserver/linux/wayland/global-output.c
431433
src/detection/displayserver/linux/wayland/zwlr-output.c
434+
src/detection/displayserver/linux/wayland/kde-output.c
432435
src/detection/displayserver/linux/wayland/wlr-output-management-unstable-v1-protocol.c
436+
src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c
437+
src/detection/displayserver/linux/wayland/kde-output-order-v1-protocol.c
438+
src/detection/displayserver/linux/wayland/xdg-output-unstable-v1-protocol.c
433439
src/detection/displayserver/linux/wmde.c
434440
src/detection/displayserver/linux/xcb.c
435441
src/detection/displayserver/linux/xlib.c
@@ -562,7 +568,11 @@ elseif(BSD)
562568
src/detection/displayserver/linux/wayland/wayland.c
563569
src/detection/displayserver/linux/wayland/global-output.c
564570
src/detection/displayserver/linux/wayland/zwlr-output.c
571+
src/detection/displayserver/linux/wayland/kde-output.c
565572
src/detection/displayserver/linux/wayland/wlr-output-management-unstable-v1-protocol.c
573+
src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c
574+
src/detection/displayserver/linux/wayland/kde-output-order-v1-protocol.c
575+
src/detection/displayserver/linux/wayland/xdg-output-unstable-v1-protocol.c
566576
src/detection/displayserver/linux/wmde.c
567577
src/detection/displayserver/linux/xcb.c
568578
src/detection/displayserver/linux/xlib.c
@@ -763,7 +773,11 @@ elseif(SunOS)
763773
src/detection/displayserver/linux/wayland/wayland.c
764774
src/detection/displayserver/linux/wayland/global-output.c
765775
src/detection/displayserver/linux/wayland/zwlr-output.c
776+
src/detection/displayserver/linux/wayland/kde-output.c
766777
src/detection/displayserver/linux/wayland/wlr-output-management-unstable-v1-protocol.c
778+
src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c
779+
src/detection/displayserver/linux/wayland/kde-output-order-v1-protocol.c
780+
src/detection/displayserver/linux/wayland/xdg-output-unstable-v1-protocol.c
767781
src/detection/displayserver/linux/wmde.c
768782
src/detection/displayserver/linux/xcb.c
769783
src/detection/displayserver/linux/xlib.c

completions/fastfetch.bash

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,6 @@ __fastfetch_completion()
356356
local FF_OPTIONS_PATH=(
357357
"-c"
358358
"--config"
359-
"--lib-pci"
360359
"--lib-vulkan"
361360
"--lib-wayland"
362361
"--lib-xcb-randr"

completions/fastfetch.fish

Lines changed: 44 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -54,51 +54,48 @@ function __fastfetch_complete_structure
5454
end
5555
end
5656

57-
string match -r -a -g "^###> ?(.*)" < (status -f) | string collect | python3 | source
57+
echo '
58+
import json, subprocess, sys
5859
59-
###> #!/usr/bin/env python3
60-
###>
61-
###> import json, subprocess, sys
62-
###>
63-
###> def main():
64-
###> data: dict[str, list[dict]] = json.loads(subprocess.check_output(['fastfetch', '--help-raw']))
65-
###>
66-
###> for key in data:
67-
###> for flag in data[key]:
68-
###> if flag.get('pseudo', False):
69-
###> continue
70-
###>
71-
###> command_prefix: str = f'complete -c fastfetch -d "{flag["desc"]}" -l "{flag["long"]}"';
72-
###> if 'short' in flag:
73-
###> command_prefix += f' -o "{flag["short"]}"'
74-
###>
75-
###> if 'arg' in flag:
76-
###> type: str = flag['arg']['type'];
77-
###> if type == 'bool':
78-
###> print(f'{command_prefix} -x -a "(__fastfetch_complete_bool)"')
79-
###> elif type == 'color':
80-
###> print(f'{command_prefix} -x -a "(__fastfetch_complete_color)"')
81-
###> elif type == 'command':
82-
###> print(f'{command_prefix} -x -a "(__fastfetch_complete_command)"')
83-
###> elif type == 'config':
84-
###> print(f'{command_prefix} -x -a "(__fastfetch_complete_config)"')
85-
###> elif type == 'enum':
86-
###> temp: str = ' '.join(flag["arg"]["enum"])
87-
###> print(f'{command_prefix} -x -a "{temp}"')
88-
###> elif type == 'logo':
89-
###> print(f'{command_prefix} -x -a "(__fastfetch_complete_logo)"')
90-
###> elif type == 'structure':
91-
###> print(f'{command_prefix} -x -a "(__fish_complete_list : __fastfetch_complete_structure)"')
92-
###> elif type == 'path':
93-
###> print(f'{command_prefix} -r -F')
94-
###> else:
95-
###> print(f'{command_prefix} -x')
96-
###> else:
97-
###> print(f'{command_prefix} -f')
98-
###>
99-
###> if __name__ == "__main__":
100-
###> try:
101-
###> main()
102-
###> except:
103-
###> sys.exit(1)
104-
###>
60+
def main():
61+
data: dict[str, list[dict]] = json.loads(subprocess.check_output(["fastfetch", "--help-raw"]))
62+
63+
for key in data:
64+
for flag in data[key]:
65+
if flag.get("pseudo", False):
66+
continue
67+
68+
command_prefix = f"""complete -c fastfetch -d "{flag["desc"]}" -l "{flag["long"]}\""""
69+
if "short" in flag:
70+
command_prefix += f""" -o {flag["short"]}"""
71+
72+
if "arg" in flag:
73+
type: str = flag["arg"]["type"];
74+
if type == "bool":
75+
print(f"{command_prefix} -x -a \"(__fastfetch_complete_bool)\"")
76+
elif type == "color":
77+
print(f"{command_prefix} -x -a \"(__fastfetch_complete_color)\"")
78+
elif type == "command":
79+
print(f"{command_prefix} -x -a \"(__fastfetch_complete_command)\"")
80+
elif type == "config":
81+
print(f"{command_prefix} -x -a \"(__fastfetch_complete_config)\"")
82+
elif type == "enum":
83+
temp: str = " ".join(flag["arg"]["enum"])
84+
print(f"{command_prefix} -x -a \"{temp}\"")
85+
elif type == "logo":
86+
print(f"{command_prefix} -x -a \"(__fastfetch_complete_logo)\"")
87+
elif type == "structure":
88+
print(f"{command_prefix} -x -a \"(__fish_complete_list : __fastfetch_complete_structure)\"")
89+
elif type == "path":
90+
print(f"{command_prefix} -r -F")
91+
else:
92+
print(f"{command_prefix} -x")
93+
else:
94+
print(f"{command_prefix} -f")
95+
96+
if __name__ == "__main__":
97+
try:
98+
main()
99+
except:
100+
sys.exit(1)
101+
' | python3 | source

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
fastfetch (2.17.2) jammy; urgency=medium
2+
3+
* Update to 2.17.2
4+
5+
-- Carter Li <zhangsongcui@live.cn> Thu, 04 Jul 2024 10:22:44 +0800
6+
17
fastfetch (2.17.1) jammy; urgency=medium
28

39
* Update to 2.17.1

debian/files

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
fastfetch_2.17.1_source.buildinfo universe/utils optional
1+
fastfetch_2.17.2_source.buildinfo universe/utils optional

0 commit comments

Comments
 (0)