Skip to content

Commit ef5268f

Browse files
authored
Merge pull request #584 from fastfetch-cli/dev
Release v2.1.2
2 parents 33953a0 + 7362808 commit ef5268f

File tree

5 files changed

+25
-9
lines changed

5 files changed

+25
-9
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# 2.1.2
2+
3+
Bugfixes:
4+
* Fix icon detection on Windows. It shows enabled system icons in desktop (`This PC`, `Recycle Bin`, etc) (Icon, Windows)
5+
* Fix compatibility with ddcutil 2.0 (Brightness, Linux)
6+
* Fix a compile warning (CPUUsage, FreeBSD)
7+
18
# 2.1.1
29

310
Features:

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
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.1
4+
VERSION 2.1.2
55
LANGUAGES C
66
DESCRIPTION "Fast system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"

src/detection/brightness/brightness_linux.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,14 @@ static const char* detectWithBacklight(FFlist* result)
9090
#include "common/library.h"
9191
#include "util/mallocHelper.h"
9292

93+
#include <ddcutil_macros.h>
9394
#include <ddcutil_c_api.h>
9495

96+
// Try to be compatible with ddcutil 2.0
97+
#if DDCUTIL_VMAJOR >= 2
98+
double ddca_set_default_sleep_multiplier(double multiplier); // ddcutil 1.4
99+
#endif
100+
95101
static const char* detectWithDdcci(FFBrightnessOptions* options, FFlist* result)
96102
{
97103
FF_LIBRARY_LOAD(libddcutil, &instance.config.libDdcutil, "dlopen ddcutil failed", "libddcutil" FF_LIBRARY_EXTENSION, 5);
@@ -100,13 +106,15 @@ static const char* detectWithDdcci(FFBrightnessOptions* options, FFlist* result)
100106
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libddcutil, ddca_get_any_vcp_value_using_explicit_type)
101107
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libddcutil, ddca_free_any_vcp_value)
102108
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libddcutil, ddca_close_display)
103-
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libddcutil, ddca_set_default_sleep_multiplier)
104-
libddcutil = NULL; // Don't dlclose libddcutil. See https://github.com/rockowitz/ddcutil/issues/330
105109

106-
ffddca_set_default_sleep_multiplier(options->ddcciSleep / 40.0);
110+
__typeof__(&ddca_set_default_sleep_multiplier) ffddca_set_default_sleep_multiplier = dlsym(libddcutil, "ddca_set_default_sleep_multiplier");
111+
if (ffddca_set_default_sleep_multiplier)
112+
ffddca_set_default_sleep_multiplier(options->ddcciSleep / 40.0);
113+
114+
libddcutil = NULL; // Don't dlclose libddcutil. See https://github.com/rockowitz/ddcutil/issues/330
107115

108116
FF_AUTO_FREE DDCA_Display_Info_List* infoList = NULL;
109-
if (__builtin_expect(ffddca_get_display_info_list2(false, &infoList) < 0, 0))
117+
if (ffddca_get_display_info_list2(false, &infoList) < 0)
110118
return "ddca_get_display_info_list2(false, &infoList) failed";
111119

112120
if (infoList->ct == 0)

src/detection/cpuusage/cpuusage_bsd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const char* ffGetCpuUsageInfo(FFlist* cpuTimes)
1212
if(sysctlbyname("kern.cp_times", NULL, &neededLength, NULL, 0) != 0)
1313
return "sysctlbyname(kern.cp_times, NULL) failed";
1414

15-
uint32_t coreCount = neededLength / (CPUSTATES * (uint32_t) sizeof(uint64_t));
15+
uint32_t coreCount = (uint32_t) (neededLength / (CPUSTATES * sizeof(uint64_t)));
1616
assert(coreCount > 0);
1717

1818
FF_AUTO_FREE uint64_t (*cpTimes)[CPUSTATES] = malloc(neededLength);

src/detection/icons/icons_windows.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
const char* ffDetectIcons(FFstrbuf* result)
55
{
66
FF_HKEY_AUTO_DESTROY hKey = NULL;
7-
if(!ffRegOpenKeyForRead(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\ClassicStartMenu", &hKey, NULL))
8-
return "ffRegOpenKeyForRead(Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\ClassicStartMenu) failed";
7+
if(!ffRegOpenKeyForRead(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\NewStartPanel", &hKey, NULL) &&
8+
!ffRegOpenKeyForRead(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\ClassicStartMenu", &hKey, NULL))
9+
return "ffRegOpenKeyForRead(Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons\\{NewStartPanel|ClassicStartMenu}) failed";
910

1011
// Whether these icons are hidden
11-
uint32_t ThisPC = 0, UsersFiles = 0, RemoteNetwork = 0, RecycleBin = 0, ControlPanel = 0;
12+
uint32_t ThisPC = 1, UsersFiles = 1, RemoteNetwork = 1, RecycleBin = 0 /* Shown by default */, ControlPanel = 1;
1213
ffRegReadUint(hKey, L"{20D04FE0-3AEA-1069-A2D8-08002B30309D}", &ThisPC, NULL);
1314
ffRegReadUint(hKey, L"{59031a47-3f72-44a7-89c5-5595fe6b30ee}", &UsersFiles, NULL);
1415
ffRegReadUint(hKey, L"{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}", &RemoteNetwork, NULL);

0 commit comments

Comments
 (0)