Skip to content

Commit 7c15d0c

Browse files
authored
Merge pull request #1105 from fastfetch-cli/dev
Release: v2.19.0
2 parents efd9e94 + 036d407 commit 7c15d0c

Some content is hidden

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

91 files changed

+1564
-764
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
run: ./fastfetch --list-features
4545

4646
- name: run fastfetch
47-
run: time ./fastfetch -c presets/ci.jsonc
47+
run: time ./fastfetch -c presets/ci.jsonc --stat false
4848

4949
- name: run fastfetch --format json
5050
run: time ./fastfetch -c presets/ci.jsonc --format json
@@ -99,7 +99,7 @@ jobs:
9999
run: ./fastfetch --list-features
100100

101101
- name: run fastfetch
102-
run: time ./fastfetch -c presets/ci.jsonc
102+
run: time ./fastfetch -c presets/ci.jsonc --stat false
103103

104104
- name: run fastfetch --format json
105105
run: time ./fastfetch -c presets/ci.jsonc --format json
@@ -146,7 +146,7 @@ jobs:
146146
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
147147
cmake --build . --target package --verbose -j4
148148
./fastfetch --list-features
149-
time ./fastfetch -c presets/ci.jsonc
149+
time ./fastfetch -c presets/ci.jsonc --stat false
150150
time ./fastfetch -c presets/ci.jsonc --format json
151151
time ./flashfetch
152152
ldd fastfetch
@@ -185,7 +185,7 @@ jobs:
185185
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
186186
cmake --build . --target package --verbose -j4
187187
./fastfetch --list-features
188-
time ./fastfetch -c presets/ci.jsonc
188+
time ./fastfetch -c presets/ci.jsonc --stat false
189189
time ./fastfetch -c presets/ci.jsonc --format json
190190
time ./flashfetch
191191
ldd fastfetch
@@ -220,7 +220,7 @@ jobs:
220220
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
221221
cmake --build . --target package --verbose -j4
222222
./fastfetch --list-features
223-
time ./fastfetch -c presets/ci.jsonc
223+
time ./fastfetch -c presets/ci.jsonc --stat false
224224
time ./fastfetch -c presets/ci.jsonc --format json
225225
time ./flashfetch
226226
ldd fastfetch
@@ -259,7 +259,7 @@ jobs:
259259
- name: run
260260
run: |
261261
./fastfetch --list-features
262-
time ./fastfetch -c presets/ci.jsonc
262+
time ./fastfetch -c presets/ci.jsonc --stat false
263263
time ./fastfetch -c presets/ci.jsonc --format json
264264
time ./flashfetch
265265
ldd fastfetch
@@ -300,7 +300,7 @@ jobs:
300300
- name: run
301301
run: |
302302
./fastfetch --list-features
303-
time ./fastfetch -c presets/ci.jsonc
303+
time ./fastfetch -c presets/ci.jsonc --stat false
304304
time ./fastfetch -c presets/ci.jsonc --format json
305305
time ./flashfetch
306306
ldd fastfetch
@@ -348,7 +348,7 @@ jobs:
348348
run: ./fastfetch --list-features
349349

350350
- name: run fastfetch
351-
run: time ./fastfetch -c presets/ci.jsonc
351+
run: time ./fastfetch -c presets/ci.jsonc --stat false
352352

353353
- name: run fastfetch --format json
354354
run: time ./fastfetch -c presets/ci.jsonc --format json
@@ -477,7 +477,7 @@ jobs:
477477
run: ./fastfetch --list-features
478478

479479
- name: run fastfetch
480-
run: time ./fastfetch -c presets/ci.jsonc
480+
run: time ./fastfetch -c presets/ci.jsonc --stat false
481481

482482
- name: run fastfetch --format json
483483
run: time ./fastfetch -c presets/ci.jsonc --format json
@@ -547,7 +547,7 @@ jobs:
547547
run: curl -LO https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/raw/master/ags_lib/lib/amd_ags_x86.dll
548548

549549
- name: run fastfetch
550-
run: time ./fastfetch -c presets/ci.jsonc
550+
run: time ./fastfetch -c presets/ci.jsonc --stat false
551551

552552
- name: run fastfetch --format json
553553
run: time ./fastfetch -c presets/ci.jsonc --format json

CHANGELOG.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,68 @@
1+
# 2.19.0
2+
3+
Changes:
4+
* JSON option `modules.cpu.freqNdigits` has been renamed and moved to `display.freq.ndigits`
5+
* Previously: `{ "modules": { "type": "cpu", "freqNdigits": 2 } }`
6+
* Now: `{ "display": { "freq": { "ndigits": 2 } } }`
7+
* This option now affects GPU frequency too
8+
* By default, frequencies are displayed in *GHz*. Set `display.freq.ndigits` to `-1` to display them in *MHz*
9+
* JSON option `display.binaryPrefix` has been moved to `display.size.binaryPrefix`
10+
* Previously: `{ "display": { "binaryPrefix": "IEC" } }`
11+
* Now: `{ "display": { "size": { "binaryPrefix": "IEC" } } }`
12+
13+
Features:
14+
* Print physical diagonal length if supported (Display)
15+
* Detect display type in X11 mode (Display)
16+
* Assume displays connected via DisplayPort are external monitors (Display, Linux)
17+
* Support GPU frequency detection for Intel XE driver (GPU, Linux)
18+
* Detect init system on Android (InitSystem, Android)
19+
* Use background to display color blocks (Colors)
20+
* To fix weird vertical black lines in some terminals and match the behavior of neofetch (#1094)
21+
* Can be reverted to old behavior with `--colors-symbol block`
22+
* Support Zed terminal version detection (Terminal)
23+
* Improve wezterm font detection (TerminalFont)
24+
* Add option `--separator-length`
25+
* Support GPU frequency detection for Apple Silicon (GPU, macOS)
26+
* Detect maximum refresh rate (#1101, Monitor)
27+
* Detect if HDR mode is supported and enabled (Windows, Display / Monitor)
28+
* Support physical monitor info detection for FreeBSD and SunOS (Monitor)
29+
* Support defining constant strings in JSON config file, which can be used to dedupe formattion strings
30+
```jsonc
31+
{
32+
"display": {
33+
"constants": [
34+
"Hello", // {$1}
35+
"world" // {$2}
36+
]
37+
},
38+
"modules": [
39+
{
40+
"type": "custom",
41+
"format": "{$1} {$2}!" // print "Hello world!"
42+
},
43+
{
44+
"type": "custom",
45+
"format": "{$2} {$1}" // print "world Hello"
46+
}
47+
]
48+
}
49+
```
50+
51+
Bugfixes:
52+
* Fix some presets
53+
* Better detection for XTerm terminal fonts (#1095, TerminalFont, Linux)
54+
* Remove debug output (#1097, Windows)
55+
* Fix command line option `--gpu-hide-type` doesn't work (#1098, GPU)
56+
* Fix wrong date on Raspbian 10 (#1108, DateTime, Linux)
57+
* Use `brightness` instead of `actuall_brightness` when detecting current brightness level (Brightness, Linux)
58+
* Ref: https://bugzilla.kernel.org/show_bug.cgi?id=203905
59+
* Fix buffer overflow with long font family names when detecting kitty term font (TerminalFont)
60+
* Fix some typos
61+
62+
Logos:
63+
* Update void_small
64+
* Add ALT Linux
65+
166
# 2.18.1
267

368
Fix a regression introduced in v2.18.0

CMakeLists.txt

Lines changed: 3 additions & 3 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.18.1
4+
VERSION 2.19.0
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -591,7 +591,7 @@ elseif(BSD)
591591
src/detection/gamepad/gamepad_bsd.c
592592
src/detection/media/media_linux.c
593593
src/detection/memory/memory_bsd.c
594-
src/detection/monitor/monitor_nosupport.c
594+
src/detection/monitor/monitor_linux.c
595595
src/detection/netio/netio_bsd.c
596596
src/detection/opengl/opengl_linux.c
597597
src/detection/os/os_linux.c
@@ -796,7 +796,7 @@ elseif(SunOS)
796796
src/detection/gamepad/gamepad_nosupport.c
797797
src/detection/media/media_linux.c
798798
src/detection/memory/memory_sunos.c
799-
src/detection/monitor/monitor_nosupport.c
799+
src/detection/monitor/monitor_linux.c
800800
src/detection/netio/netio_sunos.c
801801
src/detection/opengl/opengl_linux.c
802802
src/detection/os/os_sunos.c

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ Fastfetch uses JSON (with comments) for configuration. I suggest you use an IDE
126126

127127
Alternatively, you can refer to the presets in [`presets` directory](https://github.com/fastfetch-cli/fastfetch/tree/dev/presets).
128128

129+
The **correct** way to edit the configuration:
130+
131+
[![asciicast](https://asciinema.org/a/1uF6sTPGKrHKI1MVaFcikINSQ.svg)](https://asciinema.org/a/1uF6sTPGKrHKI1MVaFcikINSQ)
132+
129133
### Q: I WANT THE DOCUMENTATION!
130134

131135
[Here is the documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Json-Schema). It is generated from [JSON schema](https://github.com/fastfetch-cli/fastfetch/blob/dev/doc/json_schema.json) but you won't like it.
@@ -169,6 +173,10 @@ The p10k doc clearly states that you should NOT print anything to stdout after `
169173

170174
You can always use `fastfetch --pipe false` to force fastfetch running in colorful mode.
171175

176+
### Q: Why do fastfetch and neofetch show different memory usage result?
177+
178+
See [#1096](https://github.com/fastfetch-cli/fastfetch/issues/1096).
179+
172180
### Q: I want feature A / B / C. Will fastfetch support it?
173181

174182
Fastfetch is a system information tool. We only accept hardware or system level software feature requests. For most personal uses, I recommend using `Command` module to detect it yourself, which can be used to grab output from a custom shell script:

completions/fastfetch.bash

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ __fastfetch_complete_logo_type()
8383

8484
__fastfetch_complete_binary_prefix()
8585
{
86-
local __ff_binary_prefixes=(
86+
local __ff_size_binary_prefixes=(
8787
"iec"
8888
"si"
8989
"jedec"
9090
)
91-
COMPREPLY=($(compgen -W "${__ff_binary_prefixes[*]}" -- "$CURRENT_WORD"))
91+
COMPREPLY=($(compgen -W "${__ff_size_binary_prefixes[*]}" -- "$CURRENT_WORD"))
9292
}
9393

9494
__fastfetch_complete_gl()

debian/changelog

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
fastfetch (2.18.1) jammy; urgency=medium
2+
3+
* Update to 2.18.1
4+
5+
-- Carter Li <zhangsongcui@live.cn> Thu, 11 Jul 2024 14:32:15 +0800
6+
7+
fastfetch (2.18.0) jammy; urgency=medium
8+
9+
* Update to 2.18.0
10+
11+
-- Carter Li <zhangsongcui@live.cn> Wed, 10 Jul 2024 16:46:32 +0800
12+
113
fastfetch (2.17.2) jammy; urgency=medium
214

315
* Update to 2.17.2

debian/files

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

doc/fastfetch.1.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ config files, see the CONFIGURATION section
9898

9999
.B \-\-gen\-config \fI[file]
100100
Generate a config file with options specified on the command line.
101-
If \fIfile\fR is specified, the configuration will written to the
101+
If \fIfile\fR is specified, the configuration will be written to the
102102
file, otherwise it will be written to stdout.
103103
.TP
104104

doc/json_schema.json

Lines changed: 49 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -424,29 +424,29 @@
424424
"minimum": 0,
425425
"default": 0
426426
},
427-
"binaryPrefix": {
428-
"type": "string",
429-
"description": "Set the binary prefix to used when printing bytes",
430-
"oneOf": [
431-
{
432-
"const": "iec",
433-
"description": "1024 Bytes = 1 KiB, 1024 KiB = 1 MiB, ... (standard)"
434-
},
435-
{
436-
"const": "si",
437-
"description": "1000 Bytes = 1 KB, 1000 KB = 1 MB, ..."
438-
},
439-
{
440-
"const": "jedec",
441-
"description": "1024 Bytes = 1 kB, 1024 K = 1 MB, ..."
442-
}
443-
]
444-
},
445427
"size": {
446428
"type": "object",
447429
"additionalProperties": false,
448430
"description": "Set how a size value should be displayed",
449431
"properties": {
432+
"binaryPrefix": {
433+
"type": "string",
434+
"description": "Set the binary prefix to used when formatting sizes",
435+
"oneOf": [
436+
{
437+
"const": "iec",
438+
"description": "1024 Bytes = 1 KiB, 1024 KiB = 1 MiB, ... (standard)"
439+
},
440+
{
441+
"const": "si",
442+
"description": "1000 Bytes = 1 KB, 1000 KB = 1 MB, ..."
443+
},
444+
{
445+
"const": "jedec",
446+
"description": "1024 Bytes = 1 kB, 1024 K = 1 MB, ..."
447+
}
448+
]
449+
},
450450
"maxPrefix": {
451451
"type": "string",
452452
"description": "Set the largest binary prefix to use when formatting sizes",
@@ -574,10 +574,31 @@
574574
}
575575
}
576576
},
577+
"freq": {
578+
"type": "object",
579+
"additionalProperties": false,
580+
"description": "Set how frequency values should be displayed",
581+
"properties": {
582+
"ndigits": {
583+
"type": "integer",
584+
"description": "Set the number of digits to keep after the decimal point when formatting frequency values\nA positive value will show the frequency in GHz of decimal\n-1 will show the frequency in MHz",
585+
"minimum": -1,
586+
"maximum": 9,
587+
"default": 2
588+
}
589+
}
590+
},
577591
"noBuffer": {
578592
"type": "boolean",
579593
"description": "Whether to disable the stdout application buffer",
580594
"default": false
595+
},
596+
"constants": {
597+
"type": "array",
598+
"description": "List of strings to be used in custom format of modules",
599+
"items": {
600+
"type": "string"
601+
}
581602
}
582603
}
583604
},
@@ -1096,13 +1117,6 @@
10961117
"temp": {
10971118
"$ref": "#/$defs/temperature"
10981119
},
1099-
"freqNdigits": {
1100-
"description": "Set the number of digits to keep after the decimal point when printing CPU frequency",
1101-
"type": "integer",
1102-
"minimum": 0,
1103-
"maximum": 9,
1104-
"default": 2
1105-
},
11061120
"showPeCoreCount": {
11071121
"description": "Detect and display CPU frequency of different core types (eg. Pcore and Ecore) if supported",
11081122
"type": "boolean",
@@ -1173,13 +1187,14 @@
11731187
"type": "string",
11741188
"enum": [
11751189
"block",
1190+
"background",
11761191
"circle",
11771192
"diamond",
11781193
"triangle",
11791194
"square",
11801195
"star"
11811196
],
1182-
"default": "block"
1197+
"default": "background"
11831198
},
11841199
"paddingLeft": {
11851200
"description": "Set the number of white spaces to print before the symbol",
@@ -1940,12 +1955,19 @@
19401955
"const": "separator"
19411956
},
19421957
"string": {
1943-
"description": "Set the string to be printed",
1958+
"description": "Set the string to be printed by the separator line",
19441959
"type": "string",
19451960
"default": "-"
19461961
},
19471962
"outputColor": {
1963+
"description": "Set the color of the separator line",
19481964
"$ref": "#/$defs/outputColor"
1965+
},
1966+
"length": {
1967+
"description": "Set the length of the separator line, or 0 to auto-detect",
1968+
"type": "integer",
1969+
"minimum": 0,
1970+
"default": 0
19491971
}
19501972
}
19511973
},

0 commit comments

Comments
 (0)