Skip to content

Commit cec38b9

Browse files
authored
Merge pull request #1069 from fastfetch-cli/dev
Release: v2.17.2
2 parents b001ea4 + 3453b72 commit cec38b9

Some content is hidden

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

52 files changed

+375
-231
lines changed

.github/stale.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Number of days of inactivity before an issue becomes stale
2+
daysUntilStale: 60
3+
4+
# Number of days of inactivity before a stale issue is closed
5+
daysUntilClose: 7
6+
7+
# Issues with these labels will never be considered stale
8+
exemptLabels:
9+
- keepalive
10+
11+
# Label to use when marking an issue as stale
12+
staleLabel: stale
13+
14+
# Comment to post when marking an issue as stale. Set to `false` to disable
15+
markComment: >
16+
This issue has been automatically marked as stale because it has not had
17+
recent activity. It will be closed if no further activity occurs. Thank you
18+
for your contributions.
19+
20+
# Comment to post when closing a stale issue. Set to `false` to disable
21+
closeComment: false

.github/workflows/ci.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,6 @@ jobs:
375375
- name: checkout repository
376376
uses: actions/checkout@v4
377377

378-
- uses: actions/checkout@v4
379378
- name: run VM
380379
uses: vmactions/omnios-vm@v1
381380
with:

CHANGELOG.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# 2.17.2
2+
3+
Changes:
4+
* Flatpak package count no longer takes runtime packages into account (Packages, Linux)
5+
6+
Bugfixes:
7+
* Fix formattion with multiple batteries (Battery)
8+
* Fix incorrect size value for large memory sticks (PhysicalMemory)
9+
* Fix spelling of `Qt` and `LXQt`
10+
* Fix building on SunOS if imagemagick support is enabled (Logo, SunOS)
11+
* Fix typos
12+
13+
Features:
14+
* Support Ptyxis terminal version and font detection (Terminal / TerminalFont, Linux)
15+
* Improve Cinnamon version detection (DE)
16+
* Support `cinnamon-wayland` (WMTheme)
17+
* `--ts-version false` will disable editor version detection (Editor)
18+
119
# 2.17.1
220

321
Hotfix for a regression that breaks Qt font detection
@@ -1061,7 +1079,7 @@ Bugfixes:
10611079
This release backports some changes from dev branch, and fixes 2 crashing issues
10621080

10631081
Features:
1064-
* Support KDE / LXQT / MATE / Cinnamon wallpaper detection (Wallpaper, Linux)
1082+
* Support KDE / LXQt / MATE / Cinnamon wallpaper detection (Wallpaper, Linux)
10651083
* Support QTerminal version & terminal font detection
10661084
* Support MATE Terminal version & terminal font detection
10671085
* Set `--pipe true` automatically if stdout is not a tty
@@ -1107,7 +1125,7 @@ Bugfixes:
11071125
* Fix Windows drives detection in WSL (Disk)
11081126

11091127
Changes:
1110-
* In order to make Icons module consistent between different platforms, `--icons-format` no longer supports individual GTK / QT icon params.
1128+
* In order to make Icons module consistent between different platforms, `--icons-format` no longer supports individual GTK / Qt icon params.
11111129
* `--theme-format` no longer supports individual GTK / plasma theme params.
11121130
* `--local-ip-*` and `--public-ip-*` have been changed to `--localip-*` and `--publicip-*`
11131131
* `--localip-compact-type` is no longer supported. Fastfetch now display IPs as `--localip-compat-type multiline` by default, with `--local-compact true` can be set as an alias of `--localip-compact-type oneline`
@@ -1481,7 +1499,7 @@ Fixes build on android (#205)
14811499
# 1.6.0
14821500

14831501
Features:
1484-
* Detect QT on more DEs than just KDE Plasma. The [Plasma] category was therefore renamed to [QT]
1502+
* Detect Qt on more DEs than just KDE Plasma. The [Plasma] category was therefore renamed to [Qt]
14851503
* Alacritty font detection
14861504
* Load `/etc/fastfetch/config.conf` before user config
14871505
* Disk: print one decimal point if size < 100GB

CMakeLists.txt

Lines changed: 11 additions & 5 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.17.1
4+
VERSION 2.17.2
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -74,6 +74,7 @@ cmake_dependent_option(ENABLE_THREADS "Enable multithreading" ON "Threads_FOUND"
7474

7575
option(ENABLE_SYSTEM_YYJSON "Use system provided (instead of fastfetch embedded) yyjson library" OFF)
7676
option(ENABLE_ASAN "Build fastfetch with ASAN (address sanitizer)" OFF)
77+
option(ENABLE_LTO "Enable link-time optimization in release mode if supported" ON)
7778
option(BUILD_TESTS "Build tests" OFF) # Also create test executables
7879
option(SET_TWEAK "Add tweak to project version" ON) # This is set to off by github actions for release builds
7980
option(IS_MUSL "Build with musl libc" OFF) # Used by Github Actions
@@ -139,7 +140,7 @@ if(NOT WIN32)
139140
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -rdynamic")
140141
endif()
141142

142-
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
143+
if(ENABLE_LTO AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
143144
message(STATUS "Enabling LTO")
144145
include(CheckIPOSupported)
145146
check_ipo_supported(RESULT IPO_SUPPORTED)
@@ -1322,12 +1323,17 @@ if(LINUX)
13221323
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
13231324

13241325
if(NOT IS_MUSL)
1325-
EXECUTE_PROCESS (
1326+
EXECUTE_PROCESS(
13261327
COMMAND getconf GNU_LIBC_VERSION
13271328
OUTPUT_VARIABLE GLIBC_VERSION
13281329
OUTPUT_STRIP_TRAILING_WHITESPACE)
1329-
STRING (REPLACE "glibc " "" GLIBC_VERSION ${GLIBC_VERSION})
1330-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= ${GLIBC_VERSION})")
1330+
if(GLIBC_VERSION)
1331+
STRING(REPLACE "glibc " "" GLIBC_VERSION ${GLIBC_VERSION})
1332+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= ${GLIBC_VERSION})")
1333+
message(STATUS "found glibc ${GLIBC_VERSION}")
1334+
else()
1335+
message(WARNING "Could not determine glibc version. If `musl` is used, `-DIS_MUSL=ON` should be set")
1336+
endif()
13311337
endif()
13321338
endif()
13331339

LICENSE

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
MIT License
22

3-
Copyright (c) 2021 Linus Dierheimer
3+
Copyright (c) 2021-2023 Linus Dierheimer
4+
Copyright (c) 2022-2024 Carter Li
45

56
Permission is hereby granted, free of charge, to any person obtaining a copy
67
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
[![latest packaged version(s)](https://repology.org/badge/latest-versions/fastfetch.svg)](https://repology.org/project/fastfetch/versions)
1212
[![Packaging status](https://repology.org/badge/tiny-repos/fastfetch.svg)](https://repology.org/project/fastfetch/versions)
1313

14-
Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for fetching system information and displaying them in a pretty way. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, macOS, SunOS and Windows 7+ are supported.
14+
Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for fetching system information and displaying it prettily. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, macOS, SunOS and Windows 7+ are supported.
1515

1616
<img src="screenshots/example1.png" width="49%" align="left" />
1717
<img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" />
@@ -21,13 +21,13 @@ Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for
2121
<img src="screenshots/example3.png" width="48%" align="top" />
2222
<img src="screenshots/example5.png" height="15%" align="top" />
2323

24-
There are [screenshots on different platforms](https://github.com/fastfetch-cli/fastfetch/wiki)
24+
There are [screenshots on different platforms](https://github.com/fastfetch-cli/fastfetch/wiki).
2525

2626
## Installation
2727

2828
### Linux
2929

30-
Some distros packaged an outdated fastfetch version. Older version is not supported, please always ensure that the latest version is used.
30+
Some distros packaged an outdated fastfetch version. Older version receive no support, so please try always to use the latest version.
3131

3232
* Ubuntu: [`ppa:zhangsongcui3371/fastfetch`](https://launchpad.net/~zhangsongcui3371/+archive/ubuntu/fastfetch) (for Ubuntu 22.04 or newer)
3333
* Debian: `sudo apt install fastfetch` (for Debian 13 or newer)
@@ -57,7 +57,7 @@ If fastfetch is not packaged for your distro or an outdated version is packaged,
5757
* [winget](https://github.com/microsoft/winget-pkgs/tree/master/manifests/f/Fastfetch-cli/Fastfetch): `winget install fastfetch`
5858
* [MSYS2 MinGW](https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-fastfetch): `pacman -S mingw-w64-<subsystem>-<arch>-fastfetch`
5959

60-
You may also download it directly from [GitHub releases page](https://github.com/fastfetch-cli/fastfetch/releases/latest) and extract the archive.
60+
You may also download the program directly from [the GitHub releases page](https://github.com/fastfetch-cli/fastfetch/releases/latest) in the form of an archive file.
6161

6262
### FreeBSD
6363

@@ -81,7 +81,7 @@ See Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building
8181

8282
## Customization
8383

84-
Fastfetch uses the JSONC (or JSON with comments) for configuration. [See Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration). There are some premade config files in [`presets`](presets), including the ones used for the screenshots above. You can load them using `-c <filename>`. They may also serve as a good example for format arguments.
84+
Fastfetch uses the JSONC (or JSON with comments) for configuration. [See Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration). There are some premade config files in [`presets`](presets), including the ones used for the screenshots above. You can load them using `-c <filename>`. Those files can serve as examples of the configuration syntax.
8585

8686
Logos can be heavily customized too; see the [logo documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options) for more information.
8787

@@ -103,10 +103,10 @@ Logos can be heavily customized too; see the [logo documentation](https://github
103103

104104
1. Fastfetch is actively maintained.
105105
2. Fastfetch is faster. As the name suggests.
106-
3. Fastfetch is more feature-rich. By default fastfetch only has a few modules enabled. Use `fastfetch -c all` to find what you want.
107-
4. Fastfetch is more configurable. You can find more information in the Wiki: <https://github.com/fastfetch-cli/fastfetch/wiki/Configuration>
108-
5. Fastfetch is more polished. For example, neofetch prints `555MiB` in `Memory` module and `23G` in `Disk` module (notibily the difference of `MiB` and `G`), while fastfetch prints `555.00 MiB` and `22.97 GiB` respectively.
109-
6. Fastfetch is more accurate. For example, [neofetch never actually supports Wayland protocol](https://github.com/dylanaraps/neofetch/pull/2395).
106+
3. Fastfetch has a greater number of features, though by default fastfetch only has a few modules enabled; use `fastfetch -c all` to find what you want.
107+
4. Fastfetch is more configurable. You can find more information in the Wiki: <https://github.com/fastfetch-cli/fastfetch/wiki/Configuration>.
108+
5. Fastfetch is more polished. For example, neofetch prints `555MiB` in `Memory` module and `23G` in `Disk` module, whereas fastfetch prints `555.00 MiB` and `22.97 GiB` respectively.
109+
6. Fastfetch is more accurate. For example, [neofetch never actually supports the Wayland protocol](https://github.com/dylanaraps/neofetch/pull/2395).
110110

111111
### Q: Fastfetch shows my local IP address. It leaks my privacy!
112112

@@ -118,7 +118,7 @@ If you really don't like it, you can disable the `Local IP` module in `config.js
118118

119119
### Q: Where is the config file? I can't find it.
120120

121-
`Fastfetch` don't generate config file automatically. You can use `fastfetch --gen-config` to generate one. The config file will be saved in `~/.config/fastfetch/config.jsonc` by default. See [Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration).
121+
`Fastfetch` does not generate config file automatically. You can use `fastfetch --gen-config` to generate one. The config file will be saved in `~/.config/fastfetch/config.jsonc` by default. See [Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration).
122122

123123
### Q: The configuration is so complex. Where is the documentation?
124124

@@ -132,7 +132,7 @@ Alternatively, you can refer to the presets in [`presets` directory](https://git
132132

133133
### Q: How can I customize the module output?
134134

135-
Fastfetch uses `format` to generate output. For example to make `GPU` module show GPU name only and ignore other information, you can use
135+
Fastfetch uses `format` to generate output. For example, to make the `GPU` module show only the GPU name (leaving other information undisplayed), you can use
136136

137137
```jsonc
138138
{
@@ -145,15 +145,15 @@ Fastfetch uses `format` to generate output. For example to make `GPU` module sho
145145
}
146146
```
147147

148-
which is equivalent to `fastfetch -s gpu --gpu-format '{2}'`
148+
. . which is equivalent to `fastfetch -s gpu --gpu-format '{2}'`
149149

150-
See `fastfetch -h format` for basic usage. For module specific formattion, see `fastfetch -h <module>-format`
150+
See `fastfetch -h format` for information on basic usage. For module specific formattion, see `fastfetch -h <module>-format`
151151

152152
### Q: I have my own ascii-art / image file. How can I show it with fastfetch?
153153

154154
Try `fastfetch -l /path/to/logo`. See [logo documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options) for detail.
155155

156-
If you just want to display distro name in [FIGlet text](https://github.com/pwaller/pyfiglet)
156+
If you just want to display distro name in [FIGlet text](https://github.com/pwaller/pyfiglet):
157157

158158
```bash
159159
# install pyfiglet and jq first

debian/changelog

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
fastfetch (2.17.1) jammy; urgency=medium
2+
3+
* Update to 2.17.1
4+
5+
-- Carter Li <[email protected]> Mon, 01 Jul 2024 08:56:29 +0800
6+
7+
fastfetch (2.17.0) jammy; urgency=medium
8+
9+
* Update to 2.17.0
10+
11+
-- Carter Li <[email protected]> Fri, 28 Jun 2024 13:43:18 +0800
12+
113
fastfetch (2.16.0) jammy; urgency=medium
214

315
* Update to 2.16.0

debian/files

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

doc/json_schema.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@
576576
},
577577
"tsVersion": {
578578
"type": "boolean",
579-
"description": "Whether to detect and display the version of terminal and shell. Mainly for benchmarking",
579+
"description": "Whether to detect and display the version of terminal, shell and editor. Mainly for benchmarking",
580580
"default": true
581581
}
582582
}
@@ -1145,6 +1145,21 @@
11451145
"type": "boolean",
11461146
"description": "Display CPU usage per CPU logical core, instead of an average result",
11471147
"default": false
1148+
},
1149+
"key": {
1150+
"$ref": "#/$defs/key"
1151+
},
1152+
"keyColor": {
1153+
"$ref": "#/$defs/keyColor"
1154+
},
1155+
"outputColor": {
1156+
"$ref": "#/$defs/outputColor"
1157+
},
1158+
"keyWidth": {
1159+
"$ref": "#/$defs/keyWidth"
1160+
},
1161+
"format": {
1162+
"$ref": "#/$defs/format"
11481163
}
11491164
}
11501165
},

presets/examples/19.jsonc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@
147147
{
148148
"type": "font",
149149
"key": "FONT",
150-
"format": "{?1}{1} [QT]{?}{/1}Unknown", // Remove "[QT]" if not using Qt
150+
"format": "{?1}{1} [Qt]{?}{/1}Unknown", // Remove "[Qt]" if not using Qt
151151
"keyColor": "yellow"
152152
},
153153
{

0 commit comments

Comments
 (0)