Skip to content

Commit 390119c

Browse files
authored
Merge pull request #603 from fastfetch-cli/dev
Release v2.2.0
2 parents ef5268f + 11d7eec commit 390119c

File tree

230 files changed

+15882
-3058
lines changed

Some content is hidden

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

230 files changed

+15882
-3058
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,12 @@ jobs:
171171
uses: actions/checkout@v4
172172

173173
- name: run VM
174-
uses: vmactions/freebsd-vm@v0
174+
uses: cross-platform-actions/action@v0.21.0
175175
with:
176-
prepare: |
177-
pkg install -y cmake git pkgconf binutils pciutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 glib dconf dbus sqlite3-tcl xfce4-conf ImageMagick6 ImageMagick7 chafa egl libosmesa opencl ocl-icd pulseaudio
176+
operating_system: freebsd
177+
version: '13.2'
178178
run: |
179+
sudo pkg install -y cmake git pkgconf binutils pciutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 glib dconf dbus sqlite3-tcl xfce4-conf ImageMagick6 ImageMagick7 chafa egl libosmesa opencl ocl-icd pulseaudio
179180
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
180181
cmake --build . --target package
181182
./fastfetch --list-features

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,47 @@
1+
# 2.2.0
2+
3+
This release introduces a new option `--migrate-config`, which migrates old flag based config file to new JSONC format
4+
5+
Changes:
6+
* `--pipe` and `--stat` are moved from `general` options to `display` options. This affects cjson configuration.
7+
* Display keys `percent*` and `size*` in JSON config are restructured. e.g. `{ "sizeNdigits": 1 }` is now `{ "size": { "ndigits": 1 } }`
8+
* With the introduction of `--migrate-config`, the old flag based config file is deprecated, and will be removed in 3.0.0 (next major version)
9+
* Support of `--gen-config conf` is deprecated accordingly, and will be removed in 2.3.0 (next minor version)
10+
* The global flag `--allow-slow-operations` is splitted into some explicit flags in differnet modules
11+
* `--packages-winget`: control whether `winget` packages count should be detected. Note it's a very slow operation, please enable it with caution.
12+
* `--chassis-use-wmi`: control whether `WMI` query should be used to detect chassis type, which detects more information, but slower. This flag only affects `--chassis-format` and `--format json`.
13+
* `--battery-use-setup-api`: control whether `SetupAPI` should be used on Windows to detect battery info, which supports multi batteries, but slower.
14+
* `--wm-detect-plugin`: control whether WM plugins should be detected. Note it's implemented with global processes enumeration and can report false results.
15+
* `--de-slow-version-detection`: control DE version should be detected with slow operations. It's usually not necessary and only provided as a backup.
16+
* `--localip-default-route-only` and `--netio-default-route-only` defaults to true to avoid large number of results
17+
18+
Features:
19+
* Quirks for MIPS platforms (CPU, Linux)
20+
* Use devicetree path for OBP hosts (Host, Linux)
21+
* Detect `tmux: server` as tmux (Terminal, Linux)
22+
* Support urxvt version detection (Terminal, Linux)
23+
* Support st version detection (Terminal, Linux)
24+
* Support st terminal font detection (TerminalFont, Linux)
25+
* Support xfce4-terminal 1.1.0+ terminal font detection (TerminalFont, Linux)
26+
* Add option `--migrate-config <?target-file-path>`
27+
* Support Nvidia GPU temp and cuda core count detection via nvml. Use `--gpu-use-nvml` to enable it (GPU)
28+
* Try supporting Wifi authentication type detection in macOS Sonoma. Please file a feature request if you get `to be supported (num)` with result of `/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep auth` (Wifi, macOS)
29+
30+
Bugfixes:
31+
* Better GPU memory and type detection (GPU, Windows)
32+
* Don't print display type twice (Display)
33+
* Detect BSSID instead of Wifi MAC address to align with other platforms (Wifi, macOS)
34+
* Remove support of used GPU memory detection, which is not reliable and only supported with `--gpu-force-vulkan`. (GPU)
35+
* Fix flag `--brightness-ddcci-sleep` (Brightness, Linux)
36+
* Fix hanging if a child process prints to both stdout and stderr (Linux)
37+
38+
Logos:
39+
* Add Black Mesa
40+
* Add cycledream
41+
* Add Evolinx
42+
* Add azos
43+
* Add Interix
44+
145
# 2.1.2
246

347
Bugfixes:
@@ -27,6 +71,8 @@ Logo:
2771
* Add Chimera Linux
2872
* Add EndeavourSmall
2973
* Add Xenia
74+
* Add MainsailOS
75+
* Fix phyOS
3076

3177
# 2.1.0
3278

CMakeLists.txt

Lines changed: 29 additions & 7 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.1.2
4+
VERSION 2.2.0
55
LANGUAGES C
66
DESCRIPTION "Fast system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -70,8 +70,9 @@ cmake_dependent_option(ENABLE_DDCUTIL "Enable ddcutil" ON "LINUX" OFF)
7070
cmake_dependent_option(ENABLE_DIRECTX_HEADERS "Enable DirectX headers for WSL" ON "LINUX" OFF)
7171
cmake_dependent_option(ENABLE_THREADS "Enable multithreading" ON "Threads_FOUND" OFF)
7272
cmake_dependent_option(ENABLE_PCI_MEMORY "Enable detecting GPU memory size with libpci" OFF "LINUX OR BSD" OFF)
73-
cmake_dependent_option(ENABLE_SYSTEM_YYJSON "Use system provided (instead of fastfetch embeded) yyjson library" OFF "LINUX OR APPLE OR BSD OR WIN32 OR ANDROID" OFF)
7473

74+
option(ENABLE_SYSTEM_YYJSON "Use system provided (instead of fastfetch embeded) yyjson library" OFF)
75+
option(ENABLE_ASAN "Build fastfetch with ASAN (address sanitizer)" OFF)
7576
option(BUILD_TESTS "Build tests" OFF) # Also create test executables
7677
option(SET_TWEAK "Add tweak to project version" ON) # This is set to off by github actions for release builds
7778

@@ -97,7 +98,7 @@ endif()
9798
set(WARNING_FLAGS "-Wall -Wextra -Wconversion -Werror=uninitialized -Werror=return-type")
9899

99100
set(CMAKE_C_STANDARD 11)
100-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=incompatible-pointer-types -Werror=implicit-function-declaration")
101+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=incompatible-pointer-types -Werror=implicit-function-declaration -Werror=int-conversion")
101102

102103
if(WIN32 OR ENABLE_DIRECTX_HEADERS)
103104
enable_language(CXX)
@@ -116,7 +117,8 @@ if(APPLE AND DEFINED ENV{HOMEBREW_PREFIX})
116117
endif()
117118

118119
set(FASTFETCH_FLAGS_DEBUG "-fno-omit-frame-pointer")
119-
if(NOT WIN32 AND NOT APPLE)
120+
if(ENABLE_ASAN)
121+
message(STATUS "Address sanitizer enabled (DEBUG only)")
120122
set(FASTFETCH_FLAGS_DEBUG "${FASTFETCH_FLAGS_DEBUG} -fsanitize=address")
121123
endif()
122124
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FASTFETCH_FLAGS_DEBUG}")
@@ -297,7 +299,6 @@ set(LIBFASTFETCH_SRC
297299
src/logo/image/im7.c
298300
src/logo/image/image.c
299301
src/logo/logo.c
300-
src/logo/option.c
301302
src/modules/battery/battery.c
302303
src/modules/bios/bios.c
303304
src/modules/bluetooth/bluetooth.c
@@ -355,6 +356,11 @@ set(LIBFASTFETCH_SRC
355356
src/modules/wifi/wifi.c
356357
src/modules/wm/wm.c
357358
src/modules/wmtheme/wmtheme.c
359+
src/options/display.c
360+
src/options/modules.c
361+
src/options/logo.c
362+
src/options/general.c
363+
src/options/library.c
358364
src/util/edidHelper.c
359365
src/util/FFlist.c
360366
src/util/FFstrbuf.c
@@ -388,6 +394,7 @@ if(LINUX)
388394
src/detection/displayserver/linux/xlib.c
389395
src/detection/font/font_linux.c
390396
src/detection/gpu/gpu_linux.c
397+
src/detection/gpu/gpu_nvidia.c
391398
src/detection/gtk_qt/gtk.c
392399
src/detection/host/host_linux.c
393400
src/detection/icons/icons_linux.c
@@ -416,6 +423,8 @@ if(LINUX)
416423
src/detection/users/users_linux.c
417424
src/detection/wallpaper/wallpaper_linux.c
418425
src/detection/wifi/wifi_linux.c
426+
src/detection/wm/wm_nosupport.c
427+
src/detection/de/de_linux.c
419428
src/detection/wmtheme/wmtheme_linux.c
420429
src/util/platform/FFPlatform_unix.c
421430
)
@@ -465,6 +474,8 @@ elseif(ANDROID)
465474
src/detection/users/users_linux.c
466475
src/detection/wallpaper/wallpaper_nosupport.c
467476
src/detection/wifi/wifi_android.c
477+
src/detection/wm/wm_nosupport.c
478+
src/detection/de/de_nosupport.c
468479
src/detection/wmtheme/wmtheme_nosupport.c
469480
src/util/platform/FFPlatform_unix.c
470481
)
@@ -494,6 +505,7 @@ elseif(BSD)
494505
src/detection/displayserver/linux/xlib.c
495506
src/detection/font/font_linux.c
496507
src/detection/gpu/gpu_linux.c
508+
src/detection/gpu/gpu_nvidia.c
497509
src/detection/gtk_qt/gtk.c
498510
src/detection/host/host_bsd.c
499511
src/detection/lm/lm_linux.c
@@ -522,6 +534,8 @@ elseif(BSD)
522534
src/detection/users/users_linux.c
523535
src/detection/wallpaper/wallpaper_linux.c
524536
src/detection/wifi/wifi_bsd.c
537+
src/detection/wm/wm_nosupport.c
538+
src/detection/de/de_linux.c
525539
src/detection/wmtheme/wmtheme_linux.c
526540
src/util/platform/FFPlatform_unix.c
527541
)
@@ -572,6 +586,8 @@ elseif(APPLE)
572586
src/detection/users/users_linux.c
573587
src/detection/wallpaper/wallpaper_apple.c
574588
src/detection/wifi/wifi_apple.m
589+
src/detection/wm/wm_apple.c
590+
src/detection/de/de_nosupport.c
575591
src/detection/wmtheme/wmtheme_apple.m
576592
src/util/apple/cf_helpers.c
577593
src/util/apple/osascript.m
@@ -597,6 +613,7 @@ elseif(WIN32)
597613
src/detection/displayserver/displayserver_windows.c
598614
src/detection/font/font_windows.c
599615
src/detection/gpu/gpu_windows.c
616+
src/detection/gpu/gpu_nvidia.c
600617
src/detection/host/host_windows.c
601618
src/detection/icons/icons_windows.c
602619
src/detection/libc/libc_windows.cpp
@@ -623,6 +640,8 @@ elseif(WIN32)
623640
src/detection/users/users_windows.c
624641
src/detection/wallpaper/wallpaper_windows.c
625642
src/detection/wifi/wifi_windows.c
643+
src/detection/wm/wm_windows.cpp
644+
src/detection/de/de_nosupport.c
626645
src/detection/wmtheme/wmtheme_windows.c
627646
src/util/windows/getline.c
628647
src/util/windows/com.cpp
@@ -868,8 +887,11 @@ elseif(APPLE)
868887
PRIVATE "-framework OpenCL"
869888
PRIVATE "-framework SystemConfiguration"
870889
PRIVATE "-weak_framework CoreDisplay"
871-
PRIVATE "-weak_framework DisplayServices -F /System/Library/PrivateFrameworks"
872-
PRIVATE "-weak_framework MediaRemote -F /System/Library/PrivateFrameworks"
890+
891+
PRIVATE "-F /System/Library/PrivateFrameworks"
892+
PRIVATE "-weak_framework DisplayServices"
893+
PRIVATE "-weak_framework MediaRemote"
894+
PRIVATE "-weak_framework Apple80211"
873895
)
874896
elseif(WIN32)
875897
target_compile_definitions(libfastfetch PRIVATE -D_WIN32_WINNT=0x0601)

0 commit comments

Comments
 (0)