Skip to content

Commit 168d96a

Browse files
authored
Merge pull request #607 from fastfetch-cli/dev
Release v2.2.1
2 parents 315cb24 + 2075761 commit 168d96a

File tree

12 files changed

+177
-72
lines changed

12 files changed

+177
-72
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
# 2.2.1
2+
3+
Hotfix release for #606
4+
5+
Bugfixes:
6+
* Fix broken presets due to the breaking changes introduced in 2.2.0
7+
8+
Features:
9+
* Pretty print `fastfetch --help`
10+
111
# 2.2.0
212

313
This release introduces a new option `--migrate-config`, which migrates old flag based config file to new JSONC format

CMakeLists.txt

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

33
project(fastfetch
4-
VERSION 2.2.0
4+
VERSION 2.2.1
55
LANGUAGES C
6-
DESCRIPTION "Fast system information tool"
6+
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
88
)
99

doc/json_schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@
452452
},
453453
"wayland": {
454454
"type": "string",
455-
"description": "Better display performance and output in wayland sessions.\nSupports different refresh rates per monitor.\n(Linux)"
455+
"description": "Better display performance and output in wayland sessions.\nSupports different refresh rates per monitor.\n(Linux, FreeBSD)"
456456
},
457457
"xcbRandr": {
458458
"type": "string",

presets/examples/11.jsonc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
"type": "small"
55
},
66
"display": {
7-
"percentType": 9,
7+
"percent": {
8+
"type": 9
9+
},
810
"separator": "\u001b[31m-> "
911
},
1012
"modules": [

presets/examples/8.jsonc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,13 @@
88
"color": {
99
"keys": "magenta"
1010
},
11-
"sizeNdigits": 0,
12-
"sizeMaxPrefix": "MB",
13-
"percentType": 9
11+
"size": {
12+
"ndigits": 0,
13+
"maxPrefix": "MB"
14+
},
15+
"percent": {
16+
"type": 9
17+
}
1418
},
1519
"modules": [
1620
{

presets/examples/9.jsonc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
"type": "small"
55
},
66
"display": {
7-
"percentType": 6,
87
"keyWidth": 11,
98
"bar": {
109
"charElapsed": "=",
1110
"charTotal": "-",
1211
"width": 13
12+
},
13+
"percent": {
14+
"type": 9
1315
}
1416
},
1517
"modules": [

src/data/config_system.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file sets the default config for all users of the system.
33

44
# For more information about how configuration files work,
5-
# see ~/.config/fastfetch/config.conf, generated during first run.
5+
# see ~/.config/fastfetch/config.conf.
66
# All options that can be put there (or passed as argument) can be put here too.
77

88
# Use fastfetch --print-config-system > /etc/fastfetch/config.conf

src/data/config_user.jsonc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
}
1010
},
1111
"display": {
12-
"percentType": 9 // colored percent number
12+
"percent": {
13+
"type": 9
14+
} // colored percent number
1315
},
1416
"modules": [
1517
"title",

src/data/help.txt

Lines changed: 59 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
Usage: fastfetch <options>
1+
Fastfetch is a neofetch-like tool for fetching system information and displaying them in a pretty way
2+
3+
Usage: fastfetch <?options>
24

35
Informative options:
4-
-h,--help: Show this message
5-
-h,--help <command>: Show help for a specific command
6-
-v,--version: Show the version of fastfetch
6+
-h, --help: Show this message
7+
-h, --help <command>: Show help for a specific command
8+
-v, --version: Show the version of fastfetch
79
--list-config-paths: List search paths of config files
810
--list-data-paths: List search paths of presets and logos
911
--list-logos: List available logos
@@ -16,21 +18,20 @@ Informative options:
1618
--print-structure: Print the default structure
1719

1820
Config options:
19-
--load-config,--config,-c <file>: Load a config file or preset (+)
20-
--gen-config <type>: Generate a sample config file in the default path. Param `type` can be `jsonc` or deprecated `conf`
21-
--gen-config-force <type>: Generate a sample config file in the default path. Overwrite the existing one
22-
--migrate-config <?path>: Migrate old flag based config file to new JSONC format. Optional param `path` is the file path that new file should be write to
21+
-c, --load-config <file>: Load a config file or preset (+)
22+
--gen-config <type>: Generate a sample config file in the default path. Param `type` can be `jsonc` or deprecated `conf`
23+
--gen-config-force <type>: Generate a sample config file in the default path. Overwrite the existing one
24+
--migrate-config <?path>: Migrate old flag based config file to new JSONC format. Optional param `path` is the file path that new file should be write to
2325

2426
General options:
25-
--multithreading,--thread <?value>: Use multiple threads to detect values
26-
--allow-slow-operations <?value>: Allow operations that are usually very slow for more detailed output
27-
--escape-bedrock <?value>: On Bedrock Linux, whether to escape the bedrock jail
28-
--wmi-timeout <num>: Set the timeout (ms) for WMI queries. Windows only. Default is 5000
29-
--processing-timeout <num>: Set the timeout (ms) when waiting for child processes. Default is 1000
30-
--ds-force-drm <?value>: Set if only DRM should be used to detect displays. Default is false. Linux only
27+
--thread <?value>: Use separate threads to send HTTP requests
28+
--escape-bedrock <?value>: On Bedrock Linux, whether to escape the bedrock jail
29+
--wmi-timeout <num>: Set the timeout (ms) for WMI queries. Windows only. Default is 5000
30+
--processing-timeout <num>: Set the timeout (ms) when waiting for child processes. Default is 1000
31+
--ds-force-drm <?value>: Set if only DRM should be used to detect displays. Default is false. Linux only
3132

3233
Logo options:
33-
-l,--logo <logo>: Set the logo; if default, the name of a builtin logo or a path to a file
34+
-l, --logo <logo>: Set the logo; if default, the name of a builtin logo or a path to a file
3435
--logo-type <type>: Set the type of the logo given; must be auto, builtin, file, file-raw, data, data-raw, sixel, kitty, iterm or chafa
3536
--logo-width <width>: Set the width of the logo (in characters), if it is an image. Required for iTerm image protocol
3637
--logo-height <height>: Set the height of the logo (in characters), if it is an image. Required for iTerm image protocol
@@ -58,7 +59,7 @@ Logo options:
5859
--chafa-dither-mode <value>: Set output dither mode (No effect with 24-bit color). This value maps the int value of enum ChafaDitherMode. See chafa document for detail
5960

6061
Display options:
61-
-s,--structure <structure>: Set the structure of the fetch. Must be a colon separated list of keys. Use "fastfetch --list-modules" to see the ones available.
62+
-s,--structure <structure>: Set the structure of the fetch. Must be a colon separated list of keys. Use `fastfetch --list-modules` to see the ones available.
6263
--stat <?value>: Show time usage (in ms) for individual modules
6364
--pipe <?value>: Disable logo and all escape sequences
6465
--color-keys <color>: Set the color of the keys
@@ -86,8 +87,8 @@ Display options:
8687

8788
General module options:
8889
--<module>-format <format>: Set the format string to use for each specific module.
89-
To see how a format string works, use fastfetch --help format.
90-
To see help about a specific format string, use fastfetch --help <module>-format.
90+
To see how a format string works, use `fastfetch --help format`.
91+
To see help about a specific format string, use `fastfetch --help <module>-format`.
9192

9293
--<module>-key <key>: Set the key to use for each specific module.
9394
For modules which print multiple lines, the string is parsed as a format string with the index as first character.
@@ -96,29 +97,30 @@ General module options:
9697
--<module>-key-width <num>: Override the global `--key-width` option for each specific module.
9798

9899
Library options: Set the path of a library to load
99-
--lib-PCI <path>
100-
--lib-vulkan <path>
101-
--lib-wayland <path>
102-
--lib-xcb-randr <path>
103-
--lib-xcb <path>
104-
--lib-Xrandr <path>
105-
--lib-X11 <path>
106-
--lib-gio <path>
107-
--lib-DConf <path>
108-
--lib-DBus <path>
109-
--lib-XFConf <path>
110-
--lib-sqlite3 <path>
111-
--lib-rpm <path>
112-
--lib-imagemagick <path>
113-
--lib-z <path>
114-
--lib-chafa <path>
115-
--lib-egl <path>
116-
--lib-glx <path>
117-
--lib-osmesa <path>
118-
--lib-opencl <path>
119-
--lib-pulse <path>
120-
--lib-freetype <path>
121-
--lib-ddcutil <path>
100+
--lib-PCI <path>: GPU output
101+
--lib-vulkan <path>: Vulkan module & fallback for GPU output
102+
--lib-wayland <path>: Better display performance and output in wayland sessions
103+
--lib-xcb-randr <path>: X11 sessions for better display detection and faster WM detection
104+
--lib-xcb <path>: X11 sessions for better display detection and faster WM detection
105+
--lib-Xrandr <path>: X11 sessions for better display detection and faster WM detection
106+
--lib-X11 <path>: X11 sessions for better display detection and faster WM detection
107+
--lib-gio <path>: Needed for values that are only stored GSettings
108+
--lib-DConf <path>: Needed for values that are only stored in DConf + Fallback for GSettings
109+
--lib-DBus <path>: Bluetooth, Player & Media detection
110+
--lib-XFConf <path>: Needed for XFWM theme and XFCE Terminal font
111+
--lib-sqlite3 <path>: Needed for pkg & rpm package count
112+
--lib-rpm <path>: Slower fallback for rpm package count
113+
--lib-imagemagick <path>: Images in terminal using sixel or kitty graphics protocol
114+
--lib-z <path>: Libz. Faster image output when using kitty graphics protocol
115+
--lib-chafa <path>: Image output as ascii art
116+
--lib-egl <path>: Needed by the OpenGL module for gl context creation
117+
--lib-glx <path>: Needed by the OpenGL module for gl context creation
118+
--lib-osmesa <path>: Needed by the OpenGL module for gl context creation
119+
--lib-opencl <path>: OpenCL module
120+
--lib-pulse <path>: Pulseaudio. Used for Sound detection
121+
--lib-nm: NetworkManager. Used for Wifi detection
122+
--lib-freetype <path>: Used for Termux font detection
123+
--lib-ddcutil <path>: Used for brightness detection of external displays
122124

123125
Module specific options:
124126
--title-fqdn <?value>: Set if the title should use fully qualified domain name. Default is false
@@ -137,13 +139,13 @@ Module specific options:
137139
--disk-show-unknown <?value>: Set if unknown (unable to detect sizes) volumes should be printed. Default is false
138140
--disk-use-available <?value>: Use f_bavail (lpFreeBytesAvailableToCaller for Windows) instead of f_bfree to calculate used bytes. Default is false
139141
--diskio-name-prefix <str>: Show disks with given name prefix only. Default is empty
140-
--bluetooth-show-disconnected: <?value>: Set if disconnected bluetooth devices should be printed. Default is false
141-
--packages-winget: <?value>: Set if winget package count should be detected. Default is false
142-
--display-compact-type: <?string>: Set if all displays should be printed in one line. Default is none
143-
--display-detect-name: <?value>: Set if display name should be detected and printed (if supported). Default is false
144-
--display-precise-refresh-rate: <?value>:Set if decimal refresh rates should not be rounded into integers when printing. Default is true
145-
--brightness-ddcci-sleep: <num> Set the sleep times (in ms) when sending DDC/CI requests. See <https://www.ddcutil.com/performance_options/#option-sleep-multiplier> for detail. Default is 10
146-
--sound-type: <value>: Set what type of sound devices should be printed. Should be either main, active or all. Default is main
142+
--bluetooth-show-disconnected <?value>: Set if disconnected bluetooth devices should be printed. Default is false
143+
--packages-winget <?value>: Set if winget package count should be detected. Default is false
144+
--display-compact-type <?string>: Set if all displays should be printed in one line. Default is none
145+
--display-detect-name <?value>: Set if display name should be detected and printed (if supported). Default is false
146+
--display-precise-refresh-rate <?value>: Set if decimal refresh rates should not be rounded into integers when printing. Default is true
147+
--brightness-ddcci-sleep <num>: Set the sleep times (in ms) when sending DDC/CI requests. See <https://www.ddcutil.com/performance_options/#option-sleep-multiplier> for detail. Default is 10
148+
--sound-type <value>: Set what type of sound devices should be printed. Should be either main, active or all. Default is main
147149
--battery-dir <folder>: The directory where the battery folders are. Standard: `/sys/class/power_supply/`. Linux only
148150
--battery-use-setup-api <?value>: Set if `SetupAPI` should be used on Windows to detect battery info, which supports multi batteries, but slower. Windows only
149151
--cpu-temp <?value>: Detect and display CPU temperature if supported. Default is false
@@ -164,14 +166,14 @@ Module specific options:
164166
--localip-compact <?value>: Show all IPs in one line. Default is false
165167
--netio-name-prefix <str>: Show interfaces with given name prefix only. Default is empty
166168
--netio-default-route-only <?value>: Show the interfac that is used for default routing only. Default is true
167-
--publicip-timeout: Time in milliseconds to wait for the public ip server to respond. Default is disabled (0)
168-
--publicip-url: The URL of public IP detection server to be used.
169-
--weather-location: Set the location to be used. It must be URI encoded (eg a whitespace must be encoded as `+`).
170-
--weather-timeout: Time in milliseconds to wait for the weather server to respond. Default is disabled (0)
171-
--weather-output-format: The output weather format to be used. It must be URI encoded.
172-
--wm-detect-plugin: Set if window manager plugin should be detected on supported platforms. Default is false
173-
--player-name: The name of the player to use for module Media and Player. Linux only
174-
--opengl-library <value>: Set the OpenGL context creation library to use. Must be auto, egl, glx or osmesa. Default is auto
169+
--publicip-timeout <num>: Time in milliseconds to wait for the public ip server to respond. Default is disabled (0)
170+
--publicip-url <str>: The URL of public IP detection server to be used.
171+
--weather-location <str>: Set the location to be used. It must be URI encoded (eg a whitespace must be encoded as `+`).
172+
--weather-timeout <num>: Time in milliseconds to wait for the weather server to respond. Default is disabled (0)
173+
--weather-output-format <str>: The output weather format to be used. It must be URI encoded.
174+
--wm-detect-plugin <?value>: Set if window manager plugin should be detected on supported platforms. Default is false
175+
--player-name <str>: The name of the player to use for module Media and Player. Linux only
176+
--opengl-library <str>: Set the OpenGL context creation library to use. Must be auto, egl, glx or osmesa. Default is auto
175177
--command-shell <str>: Set the shell program to execute the command text. Default is cmd for Windows, /bin/sh for *nix
176178
--command-key <str>: Set the module key to display
177179
--command-text <str>: Set the command text to be executed
@@ -181,4 +183,4 @@ Module specific options:
181183
Parsing is not case sensitive. E.g. "--lib-PCI" is equal to "--Lib-Pci"
182184
If a value starts with a ?, it is optional. "true" will be used if not set.
183185
A (+) at the end indicates that more help can be printed with --help <option>
184-
All options can be made permanent in $XDG_CONFIG_HOME/fastfetch/config.conf
186+
All options can be made permanent with command `fastfetch <options> --migrate-config`

src/data/help_color.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
usage: fastfetch --color <color>
1+
Usage: fastfetch --color <color>
22

3-
<color> must be a color encoding for linux terminals. It is inserted between "ESC[" and "m".
3+
<color> must be a color encoding as ANSI escape sequences. It is inserted between "ESC[" and "m".
44
Infos about them can be found here: https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters.
55
Examples:
66
--color 35: sets the color to pink

0 commit comments

Comments
 (0)