Skip to content

Commit 6769410

Browse files
authored
Merge pull request #794 from fastfetch-cli/dev
Release: v2.9.2
2 parents fd41770 + 40b9af6 commit 6769410

File tree

34 files changed

+522
-138
lines changed

34 files changed

+522
-138
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ assignees: ''
1313

1414
* What happened:
1515
* What should happen:
16+
* Fastfetch version used: <!-- please use the latest version, if possible -->
1617
* Did it work in an older version: <!-- if yes, which version -->
1718
* Where did you get the binary: <!-- Github Release / Github Actions / Installed with a package manager (What package manager) / Built from source yourself -->
1819
* Does this issue still occurs in [the latest dev build](https://github.com/fastfetch-cli/fastfetch/actions/)?
@@ -41,18 +42,19 @@ Output of `fastfetch --list-features`:
4142
//paste here
4243
```
4344

44-
## If fastfatch crashed
45+
## If fastfatch crashed or freezed
4546

4647
Paste the stacktrace here. You may get it with:
4748

48-
```
49-
$ gdb -q -ex 'set confirm off' -ex run -ex 'bt full' -ex quit --args /path/to/fastfetch
49+
```shell
50+
# You may need Ctrl+C to stop the process if it freezes
51+
gdb -q -ex 'set confirm off' -ex run -ex 'bt full' -ex quit --args /path/to/fastfetch
5052
```
5153

5254
If you are able to identify which module crashed, the strace can be helpful too
5355

54-
```
55-
$ strace /path/to/fastfetch --multithreading false --structure {MODULE} --pipe
56+
```shell
57+
strace /path/to/fastfetch --multithreading false -s {MODULE} --pipe
5658
```
5759

5860
If you cannot do the instructions above, please upload the core dump file:

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,28 @@ assignees: ''
77

88
---
99

10-
<!-- Before requesting a new feature, please try `fastfetch -c all.jsonc` to see if it has been supported -->
10+
## Before requesting a new feature
1111

12-
# Current state:
12+
* A lot of features are not enabled by default. Please try `fastfetch --list-modules` and `fastfetch -c all.jsonc` to see if it has been supported
13+
* Fastfetch supports `Command` module, which can be used to grab output from a custom shell script. Please check if it fits your needs
1314

14-
# Wanted state:
15+
```jsonc
16+
// ~/.config/fastfetch/fastfetch.jsonc
17+
{
18+
"modules": [
19+
{
20+
"type": "command",
21+
"text": "/path/to/your/script",
22+
"key": "Feature Title"
23+
}
24+
]
25+
}
26+
```
1527

16-
# Why the change is sensible:
28+
## Wanted features:
29+
30+
<!-- Your features here -->
31+
32+
## Motivation:
33+
34+
<!-- Your motivation here -->

.github/ISSUE_TEMPLATE/logo_request.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ assignees: ''
77

88
---
99

10+
Tip: A logo can be displayed by fastfetch without getting into fastfetch's official repo. For highly customized logo for personal use, it's recommended to keep it locally. Please refer to https://github.com/fastfetch-cli/fastfetch/wiki/Migrate-Neofetch-Logo-To-Fastfetch
11+
1012
# OS
1113
```
1214
Paste content of /etc/os-release here. If this file doesn't exist, describe a way to identify the distro.

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
# 2.9.2
2+
3+
Changes:
4+
* To make use of the newly introduced `yyjson` flag `YYJSON_WRITE_NEWLINE_AT_END`, fastfetch now requires `yyjson` 0.9.0 or later
5+
6+
Features:
7+
* Always add a final new-line when generating JSON output
8+
* Detect partition create time, which can be used as OS installation time (Disk)
9+
* Print time string when generating JSON result instead of UNIX epoch time number, which is more human-readable
10+
11+
Bugfixes:
12+
* Fix a memory leak
13+
* Better portable mode detection of Windows Terminal (TerminalFont, Windows)
14+
* Fix parsing of option `--packages-disabled` (Packages)
15+
* Don't use command `time` as a shell (Shell)
16+
17+
Logos:
18+
* Add openSUSE MicroOS
19+
* Fix color of AOSC OS
20+
121
# 2.9.1
222

323
Features:

CMakeLists.txt

Lines changed: 8 additions & 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.9.1
4+
VERSION 2.9.2
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -699,6 +699,9 @@ check_function_exists(wcwidth HAVE_WCWIDTH)
699699
if(NOT HAVE_WCWIDTH)
700700
list(APPEND LIBFASTFETCH_SRC src/3rdparty/mk_wcwidch/wcwidth.c)
701701
endif()
702+
if(LINUX)
703+
check_function_exists(statx HAVE_STATX)
704+
endif()
702705

703706
if(ENABLE_SYSTEM_YYJSON)
704707
find_package(yyjson)
@@ -762,6 +765,10 @@ elseif(APPLE)
762765
target_compile_definitions(libfastfetch PUBLIC _DARWIN_C_SOURCE)
763766
endif()
764767

768+
if(HAVE_STATX)
769+
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_STATX)
770+
endif()
771+
765772
if(HAVE_WCWIDTH)
766773
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_WCWIDTH)
767774
endif()

CODE_OF_CONDUCT.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
2+
# Contributor Covenant Code of Conduct
3+
4+
## Our Pledge
5+
6+
We as members, contributors, and leaders pledge to make participation in our
7+
community a harassment-free experience for everyone, regardless of age, body
8+
size, visible or invisible disability, ethnicity, sex characteristics, gender
9+
identity and expression, level of experience, education, socio-economic status,
10+
nationality, personal appearance, race, caste, color, religion, or sexual
11+
identity and orientation.
12+
13+
We pledge to act and interact in ways that contribute to an open, welcoming,
14+
diverse, inclusive, and healthy community.
15+
16+
## Our Standards
17+
18+
Examples of behavior that contributes to a positive environment for our
19+
community include:
20+
21+
* Demonstrating empathy and kindness toward other people
22+
* Being respectful of differing opinions, viewpoints, and experiences
23+
* Giving and gracefully accepting constructive feedback
24+
* Accepting responsibility and apologizing to those affected by our mistakes,
25+
and learning from the experience
26+
* Focusing on what is best not just for us as individuals, but for the overall
27+
community
28+
29+
Examples of unacceptable behavior include:
30+
31+
* The use of sexualized language or imagery, and sexual attention or advances of
32+
any kind
33+
* Trolling, insulting or derogatory comments, and personal or political attacks
34+
* Public or private harassment
35+
* Publishing others' private information, such as a physical or email address,
36+
without their explicit permission
37+
* Other conduct which could reasonably be considered inappropriate in a
38+
professional setting
39+
40+
## Enforcement Responsibilities
41+
42+
Community leaders are responsible for clarifying and enforcing our standards of
43+
acceptable behavior and will take appropriate and fair corrective action in
44+
response to any behavior that they deem inappropriate, threatening, offensive,
45+
or harmful.
46+
47+
Community leaders have the right and responsibility to remove, edit, or reject
48+
comments, commits, code, wiki edits, issues, and other contributions that are
49+
not aligned to this Code of Conduct, and will communicate reasons for moderation
50+
decisions when appropriate.
51+
52+
## Scope
53+
54+
This Code of Conduct applies within all community spaces, and also applies when
55+
an individual is officially representing the community in public spaces.
56+
Examples of representing our community include using an official email address,
57+
posting via an official social media account, or acting as an appointed
58+
representative at an online or offline event.
59+
60+
## Enforcement
61+
62+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
63+
reported to the community leaders responsible for enforcement at
64+
[INSERT CONTACT METHOD].
65+
All complaints will be reviewed and investigated promptly and fairly.
66+
67+
All community leaders are obligated to respect the privacy and security of the
68+
reporter of any incident.
69+
70+
## Enforcement Guidelines
71+
72+
Community leaders will follow these Community Impact Guidelines in determining
73+
the consequences for any action they deem in violation of this Code of Conduct:
74+
75+
### 1. Correction
76+
77+
**Community Impact**: Use of inappropriate language or other behavior deemed
78+
unprofessional or unwelcome in the community.
79+
80+
**Consequence**: A private, written warning from community leaders, providing
81+
clarity around the nature of the violation and an explanation of why the
82+
behavior was inappropriate. A public apology may be requested.
83+
84+
### 2. Warning
85+
86+
**Community Impact**: A violation through a single incident or series of
87+
actions.
88+
89+
**Consequence**: A warning with consequences for continued behavior. No
90+
interaction with the people involved, including unsolicited interaction with
91+
those enforcing the Code of Conduct, for a specified period of time. This
92+
includes avoiding interactions in community spaces as well as external channels
93+
like social media. Violating these terms may lead to a temporary or permanent
94+
ban.
95+
96+
### 3. Temporary Ban
97+
98+
**Community Impact**: A serious violation of community standards, including
99+
sustained inappropriate behavior.
100+
101+
**Consequence**: A temporary ban from any sort of interaction or public
102+
communication with the community for a specified period of time. No public or
103+
private interaction with the people involved, including unsolicited interaction
104+
with those enforcing the Code of Conduct, is allowed during this period.
105+
Violating these terms may lead to a permanent ban.
106+
107+
### 4. Permanent Ban
108+
109+
**Community Impact**: Demonstrating a pattern of violation of community
110+
standards, including sustained inappropriate behavior, harassment of an
111+
individual, or aggression toward or disparagement of classes of individuals.
112+
113+
**Consequence**: A permanent ban from any sort of public interaction within the
114+
community.
115+
116+
## Attribution
117+
118+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119+
version 2.1, available at
120+
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
121+
122+
Community Impact Guidelines were inspired by
123+
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124+
125+
For answers to common questions about this code of conduct, see the FAQ at
126+
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
127+
[https://www.contributor-covenant.org/translations][translations].
128+
129+
[homepage]: https://www.contributor-covenant.org
130+
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
131+
[Mozilla CoC]: https://github.com/mozilla/diversity
132+
[FAQ]: https://www.contributor-covenant.org/faq
133+
[translations]: https://www.contributor-covenant.org/translations

doc/json_schema.json

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -730,7 +730,6 @@
730730
},
731731
{
732732
"type": "object",
733-
"additionalProperties": false,
734733
"description": "Run module with custom configurations",
735734
"required": [
736735
"type"
@@ -1577,9 +1576,35 @@
15771576
"description": "List installed package managers and count of installed packages"
15781577
},
15791578
"disabled": {
1580-
"description": "A colon separated list of package managers to be disabled when detecting",
1581-
"type": "string",
1582-
"default": "winget"
1579+
"description": "List of package managers to be disabled when detecting",
1580+
"type": "array",
1581+
"items": {
1582+
"type": "string",
1583+
"enum": [
1584+
"am",
1585+
"apk",
1586+
"brew",
1587+
"choco",
1588+
"dpkg",
1589+
"emerge",
1590+
"eopkg",
1591+
"flatpak",
1592+
"macports",
1593+
"nix",
1594+
"opkg",
1595+
"pacman",
1596+
"paludis",
1597+
"pkg",
1598+
"pkgtool",
1599+
"rpm",
1600+
"scoop",
1601+
"snap",
1602+
"winget",
1603+
"xbps"
1604+
],
1605+
"uniqueItems": true
1606+
},
1607+
"default": ["winget"]
15831608
},
15841609
"key": {
15851610
"$ref": "#/$defs/key"

presets/examples/10.jsonc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,17 @@
8484
},
8585
{
8686
"type": "host",
87-
"key": " PC",
87+
"key": "󰌢 PC",
8888
"keyColor": "green"
8989
},
9090
{
9191
"type": "cpu",
92-
"key": "│ ├",
92+
"key": "│ ├󰻠",
9393
"keyColor": "green"
9494
},
9595
{
9696
"type": "gpu",
97-
"key": "│ ├",
97+
"key": "│ ├󰍛",
9898
"keyColor": "green"
9999
},
100100
{

presets/examples/12.jsonc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"type": "os"
2424
},
2525
{
26-
"key": " Machine ",
26+
"key": " 󰌢 Machine ",
2727
"keyColor": "green",
2828
"type": "host"
2929
},
@@ -64,12 +64,12 @@
6464
"type": "terminal"
6565
},
6666
{
67-
"key": " CPU ",
67+
"key": " 󰻠 CPU ",
6868
"keyColor": "yellow",
6969
"type": "cpu"
7070
},
7171
{
72-
"key": " GPU ",
72+
"key": " 󰍛 GPU ",
7373
"keyColor": "blue",
7474
"type": "gpu"
7575
},

presets/examples/2.jsonc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
},
2020
{
2121
"type": "host",
22-
"key": " "
22+
"key": " 󰌢"
2323
},
2424
{
2525
"type": "cpu",
26-
"key": " "
26+
"key": " 󰻠"
2727
},
2828
{
2929
"type": "gpu",
30-
"key": " "
30+
"key": " 󰍛"
3131
},
3232
{
3333
"type": "disk",

0 commit comments

Comments
 (0)