Skip to content

Commit 75da934

Browse files
committed
Brightness: detect & print screen type
1 parent ac71ebc commit 75da934

File tree

8 files changed

+16
-1
lines changed

8 files changed

+16
-1
lines changed

src/detection/brightness/brightness.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ typedef struct FFBrightnessResult
77
{
88
FFstrbuf name;
99
double min, max, current;
10+
bool builtin;
1011
} FFBrightnessResult;
1112

1213
const char* ffDetectBrightness(FFBrightnessOptions* options, FFlist* result); // list of FFBrightnessResult

src/detection/brightness/brightness_apple.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ static const char* detectWithDisplayServices(const FFDisplayServerResult* displa
4242
brightness->max = 1;
4343
brightness->min = 0;
4444
ffStrbufInitCopy(&brightness->name, &display->name);
45+
brightness->builtin = true;
4546
}
4647
}
4748
}
@@ -111,6 +112,7 @@ static const char* detectWithDdcci(FF_MAYBE_UNUSED const FFDisplayServerResult*
111112
brightness->min = 0;
112113
brightness->current = current;
113114
ffStrbufInit(&brightness->name);
115+
brightness->builtin = false;
114116

115117
uint8_t edid[128] = {};
116118
if (IOAVServiceReadI2C(service, 0x50, 0x00, edid, ARRAY_SIZE(edid)) == KERN_SUCCESS)
@@ -179,6 +181,7 @@ static const char* detectWithDdcci(const FFDisplayServerResult* displayServer, F
179181
brightness->min = 0;
180182
brightness->current = current;
181183
ffStrbufInitCopy(&brightness->name, &display->name);
184+
brightness->builtin = false;
182185
}
183186
}
184187

src/detection/brightness/brightness_bsd.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const char* ffDetectBrightness(FF_MAYBE_UNUSED FFBrightnessOptions* options, FFl
3232
brightness->max = BACKLIGHTMAXLEVELS;
3333
brightness->min = 0;
3434
brightness->current = status.brightness;
35+
brightness->builtin = true;
3536

3637
struct backlight_info info;
3738
if(ioctl(blfd, BACKLIGHTGETINFO, &info) == 0)

src/detection/brightness/brightness_linux.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ static const char* detectWithBacklight(FFlist* result)
7474
brightness->max = ffStrbufToDouble(&buffer);
7575
brightness->min = 0;
7676
brightness->current = actualBrightness;
77+
brightness->builtin = true;
7778
}
7879
}
7980
ffStrbufSubstrBefore(&backlightDir, backlightDirLength);

src/detection/brightness/brightness_nbsd.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const char* ffDetectBrightness(FF_MAYBE_UNUSED FFBrightnessOptions* options, FFl
77
// https://man.netbsd.org/NetBSD-10.1/acpiout.4#DESCRIPTION
88
char key[] = "hw.acpi.acpiout0.brightness";
99
char* pn = key + strlen("hw.acpi.acpiout");
10-
10+
1111
for (uint32_t i = 0; i <= 9; ++i)
1212
{
1313
*pn = (char) ('0' + i);
@@ -20,6 +20,7 @@ const char* ffDetectBrightness(FF_MAYBE_UNUSED FFBrightnessOptions* options, FFl
2020
brightness->max = 100;
2121
brightness->min = 0;
2222
brightness->current = value;
23+
brightness->builtin = true;
2324
}
2425
return NULL;
2526
}

src/detection/brightness/brightness_obsd.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const char* ffDetectBrightness(FF_MAYBE_UNUSED FFBrightnessOptions* options, FFl
2525
brightness->max = param.max;
2626
brightness->min = param.min;
2727
brightness->current = param.curval;
28+
brightness->builtin = true;
2829

2930
return NULL;
3031
}

src/detection/brightness/brightness_windows.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char* detectWithWmi(FFlist* result)
2424
brightness->max = 100;
2525
brightness->min = 0;
2626
brightness->current = vtValue.get<uint8_t>();
27+
brightness->builtin = true;
2728

2829
ffStrbufInit(&brightness->name);
2930
if (FFWmiVariant vtName = record.get(L"InstanceName"))
@@ -61,6 +62,7 @@ static const char* detectWithDdcci(const FFDisplayServerResult* displayServer, F
6162
brightness->max = max;
6263
brightness->min = min;
6364
brightness->current = curr;
65+
brightness->builtin = false;
6466
}
6567
}
6668
}

src/modules/brightness/brightness.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ void ffPrintBrightness(FFBrightnessOptions* options)
8282
ffPercentAppendNum(&str, percent, options->percent, str.length > 0, &options->moduleArgs);
8383
}
8484

85+
ffStrbufAppendS(&str, item->builtin ? " [Built-in]" : " [External]");
86+
8587
ffStrbufPutTo(&str, stdout);
8688
}
8789
else
@@ -100,6 +102,7 @@ void ffPrintBrightness(FFBrightnessOptions* options)
100102
FF_FORMAT_ARG(item->min, "min"),
101103
FF_FORMAT_ARG(item->current, "current"),
102104
FF_FORMAT_ARG(valueBar, "percentage-bar"),
105+
FF_FORMAT_ARG(item->builtin, "is-builtin"),
103106
}));
104107
}
105108

@@ -204,6 +207,7 @@ void ffGenerateBrightnessJsonResult(FF_MAYBE_UNUSED FFBrightnessOptions* options
204207
yyjson_mut_obj_add_real(doc, obj, "max", item->max);
205208
yyjson_mut_obj_add_real(doc, obj, "min", item->min);
206209
yyjson_mut_obj_add_real(doc, obj, "current", item->current);
210+
yyjson_mut_obj_add_bool(doc, obj, "builtin", item->builtin);
207211
}
208212

209213
FF_LIST_FOR_EACH(FFBrightnessResult, item, result)
@@ -227,6 +231,7 @@ static FFModuleBaseInfo ffModuleInfo = {
227231
{"Minimum brightness value", "min"},
228232
{"Current brightness value", "current"},
229233
{"Screen brightness (percentage bar)", "percentage-bar"},
234+
{"Is built-in screen", "is-builtin"},
230235
}))
231236
};
232237

0 commit comments

Comments
 (0)