Skip to content

Commit

Permalink
Merge pull request #1001 from fastfetch-cli/dev
Browse files Browse the repository at this point in the history
Release: v2.15.0
  • Loading branch information
CarterLi authored Jun 7, 2024
2 parents c3e5222 + 8371153 commit 80fb41a
Show file tree
Hide file tree
Showing 83 changed files with 1,677 additions and 8,236 deletions.
24 changes: 12 additions & 12 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ assignees: ''

---

Be sure to read [FAQ](https://github.com/fastfetch-cli/fastfetch?tab=readme-ov-file#faq) before submitting a new issue.
Be sure to read the [FAQ](https://github.com/fastfetch-cli/fastfetch?tab=readme-ov-file#faq) before submitting a new issue.

<!-- We will try hard to solve the issue. However since platforms and hardwares vary greatly, it can be hard to find the root cause is. Providing following information may help us greatly. Thanks in advance -->
<!-- We will try hard to solve the issue. However since platforms and hardwares vary greatly, it can be hard to find the root cause of an issue. Providing the following information may help us greatly. Thanks in advance! -->

# General description of bug:

* What happened:
* What should happen:
* Fastfetch version used: <!-- please use the latest version, if possible -->
* Did it work in an older version: <!-- if yes, which version -->
* Where did you get the binary: <!-- Github Release / Github Actions / Installed with a package manager (What package manager) / Built from source yourself -->
* Does this issue still occurs in [the latest dev build](https://github.com/fastfetch-cli/fastfetch/actions/)?
* Where did you get the binary: <!-- GitHub release / GitHub Actions / installed with a package manager (please tell us which package manager you used!) / built from source yourself -->
* Does this issue still occur in [the latest dev build](https://github.com/fastfetch-cli/fastfetch/actions/)?

# Often helpful information:

Expand All @@ -27,7 +27,7 @@ Screenshot:

The content of the configuration file you use (if any):
```
//paste here
// Paste here
```

Output of `fastfetch -c ci.jsonc --format json`:
Expand All @@ -36,15 +36,15 @@ Note that this output will contain you public IP. If it is not relevant for the
-->

```
//paste here
// Paste here
```

Output of `fastfetch --list-features`:
```
//paste here
// Paste here
```

## If fastfatch crashed or freezed
## If fastfatch crashed or froze

Paste the stacktrace here. You may get it with:

Expand All @@ -65,16 +65,16 @@ If you cannot do the instructions above, please upload the core dump file:

Use `time fastfetch --stat` to show time usage for each module.

## If my image logo didn't show / work
## If an image or logo didn't show

<!-- Please make sure the terminal does support the image protocol you used. Note Gnome terminal doesn't support any image protocols -->
<!-- Please make sure your terminal supports the image protocol you used. Note that GNOME Terminal doesn't support any image protocols. -->

* The image protocol you used:
* The terminal you used:
* Upload the image file here, or paste the image URL:
* Does it work with `--logo-width {WIDTH} --logo-height {HEIGHT}`?

## If fastfetch behaves incorrectly on shell starting
## If fastfetch behaves incorrectly on shell startup

* The bug is reproduceable with fresh / clean shell configuration (i.e. `fastfetch` is the single line of `.zshrc` or `~/.config/fish/config.fish`):
* The bug is reproducible with a clean shell configuration (i.e. `fastfetch` is the only line in `.zshrc` or `~/.config/fish/config.fish`):
* Does `sleep 1` before running `fastfetch` work?
36 changes: 31 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
# 2.15.0

Changes:
* `--bar-border <?bool>` has been changed to `--bar-border-left <string>` and `--bar-border-right <string>`, which are used for customizing the style of bar border.
* `--bar-border-left '' --bar-border-right ''` can be used to disable the border

Features:
* Add ability to skip installing license with INSTALL_LICENSE option (CMake)
* Make it possible to shorten the theme and icons output (Theme / Icons)
* Support `-l '?'` to show a question mark
* Add new module `CPUCache` to display CPU cache sizes (CPUCache)
* In `--<module>-format`, `{#keys}` and `{#title}` can be used to reference the color of keys and title
* Improve speed of Guix package detection (Packages, Linux)
* Assume wm plugins are daemon processes to improve performance (WM, macOS)

Bugfixes:
* Remove shebangs from completions (#980)
* Fix while chars not visible in terminal of light theme (Logo)
* Normalize bright colors to fix color display in Apple Terminal (#991, Colors)
* Correctly capitalize GNOME (#997, DE, Linux)
* Fix segfault on system using turkish language (#995, InitSystem, Linux)
* Fix kubuntu detection (#1000, OS, Linux)
* Don't display duplicate entries (OS, Linux)

# 2.14.0

Features:
Expand All @@ -7,12 +31,14 @@ Features:
* Print all presets in `--list-presets` for better Windows support (Windows)
* Support for guix package manager detection (Packages, Linux)
* Support named variable placeholders in custom module formattion string (#796)
* `--title-format '{user-name-colored}{at-symbol-colored}{host-name-colored}'` is equivalent to `--title-format '{6}{7}{8}'`
* `--title-format '{user-name-colored}{at-symbol-colored}{host-name-colored}'` is now equivalent to `--title-format '{6}{7}{8}'`
* Support named color placeholders in custom module formattion string
* `--<module>-format '{#red}'` is equivalent to `--<module>-format '{#31}'`
* `--<module>-format '{#red}'` is now equivalent to `--<module>-format '{#31}'`
* `'{#red}'` or `'{#31}'` is preferred over `\u001b[31m` because is more readable and `--pipe` aware (will be ignored in pipe mode)
* Supported in `Custom` module too
* See `fastfetch -h format` for detail
* Add new module `InitSystem`, which detects the name of init system
* i.e. process name of pid1. `init`, `systemd`, etc
* Add option `--color-separator` to set the color of key-value separators
* Support Guix package manager count (#792, Packages, Linux)
* Improve python based shell detection (#977, Shell, macOS)
Expand Down Expand Up @@ -254,7 +280,7 @@ Features:
* Improve GPU detection on Linux (GPU, Linux)
* Support GPU memory usage detection for AMD GPUs
* Support GPU frequency detection for Intel GPUs
* Improve performance of Gnome version detection (DE, Linux)
* Improve performance of GNOME version detection (DE, Linux)
* Improve performance of kitty version detection (Terminal, Linux)
* Detect refresh rate when using `--ds-force-drm sysfs-only` (Display, Linux)
* Add option `--ts-version` to disable terminal and shell version detection. Mainly for benchmarking purposes
Expand Down Expand Up @@ -961,7 +987,7 @@ Bugfixes:
* Fix Windows drives detection in WSL (Linux, Disk)
* Fix CPU temp detection (FreeBSD, CPU)
* Fix disk detection (Android, Disk)
* Fix Gnome Terminal version and font detection (FreeBSD, TerminalFont)
* Fix GNOME Terminal version and font detection (FreeBSD, TerminalFont)
* Fix crash on newer wayland desktops (Linux, Display, #477)
* Fix vendor detection for Intel GPU (macOS, GPU)
* Fix possible crashes on Windows Server (Windows, GPU, #484)
Expand All @@ -987,7 +1013,7 @@ Features:
* Add mac address detection `--localip-show-mac` (LocalIP, #451)

Bugfixes:
* Fix Gnome version detection on Fedora (DE)
* Fix GNOME version detection on Fedora (DE)
* Fix Windows drives detection in WSL (Disk)

Changes:
Expand Down
23 changes: 16 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url

project(fastfetch
VERSION 2.14.0
VERSION 2.15.0
LANGUAGES C
DESCRIPTION "Fast neofetch-like system information tool"
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
Expand Down Expand Up @@ -76,6 +76,7 @@ option(ENABLE_PROPRIETARY_GPU_DRIVER_API "Enable proprietary GPU driver API (NVM
option(BUILD_TESTS "Build tests" OFF) # Also create test executables
option(SET_TWEAK "Add tweak to project version" ON) # This is set to off by github actions for release builds
option(IS_MUSL "Build with musl libc" OFF) # Used by Github Actions
option(INSTALL_LICENSE "Install license into /usr/share/licenses" ON)

set(BINARY_LINK_TYPE_OPTIONS dlopen dynamic static)
set(BINARY_LINK_TYPE dlopen CACHE STRING "How to link fastfetch")
Expand Down Expand Up @@ -330,6 +331,7 @@ set(LIBFASTFETCH_SRC
src/modules/chassis/chassis.c
src/modules/colors/colors.c
src/modules/cpu/cpu.c
src/modules/cpucache/cpucache.c
src/modules/cpuusage/cpuusage.c
src/modules/cursor/cursor.c
src/modules/custom/custom.c
Expand Down Expand Up @@ -410,6 +412,7 @@ if(LINUX)
src/detection/brightness/brightness_linux.c
src/detection/chassis/chassis_linux.c
src/detection/cpu/cpu_linux.c
src/detection/cpucache/cpucache_linux.c
src/detection/cpuusage/cpuusage_linux.c
src/detection/cursor/cursor_linux.c
src/detection/bluetooth/bluetooth_linux.c
Expand Down Expand Up @@ -480,6 +483,7 @@ elseif(ANDROID)
src/detection/brightness/brightness_nosupport.c
src/detection/chassis/chassis_nosupport.c
src/detection/cpu/cpu_linux.c
src/detection/cpucache/cpucache_linux.c
src/detection/cursor/cursor_nosupport.c
src/detection/cpuusage/cpuusage_linux.c
src/detection/disk/disk_linux.c
Expand Down Expand Up @@ -540,6 +544,7 @@ elseif(BSD)
src/detection/brightness/brightness_bsd.c
src/detection/chassis/chassis_bsd.c
src/detection/cpu/cpu_bsd.c
src/detection/cpucache/cpucache_nosupport.c
src/detection/cpuusage/cpuusage_bsd.c
src/detection/cursor/cursor_linux.c
src/detection/disk/disk_bsd.c
Expand Down Expand Up @@ -610,6 +615,7 @@ elseif(APPLE)
src/detection/brightness/brightness_apple.c
src/detection/chassis/chassis_nosupport.c
src/detection/cpu/cpu_apple.c
src/detection/cpucache/cpucache_apple.c
src/detection/cpuusage/cpuusage_apple.c
src/detection/cursor/cursor_apple.m
src/detection/disk/disk_bsd.c
Expand Down Expand Up @@ -671,6 +677,7 @@ elseif(WIN32)
src/detection/brightness/brightness_windows.cpp
src/detection/chassis/chassis_windows.c
src/detection/cpu/cpu_windows.c
src/detection/cpucache/cpucache_windows.c
src/detection/cpuusage/cpuusage_windows.c
src/detection/cursor/cursor_windows.c
src/detection/disk/disk_windows.c
Expand Down Expand Up @@ -1157,13 +1164,13 @@ install(
)

install(
FILES "${CMAKE_SOURCE_DIR}/completions/bash"
FILES "${CMAKE_SOURCE_DIR}/completions/${CMAKE_PROJECT_NAME}.bash"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/bash-completion/completions"
RENAME "${CMAKE_PROJECT_NAME}"
)

install(
FILES "${CMAKE_SOURCE_DIR}/completions/fish"
FILES "${CMAKE_SOURCE_DIR}/completions/${CMAKE_PROJECT_NAME}.fish"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/fish/vendor_completions.d"
RENAME "${CMAKE_PROJECT_NAME}.fish"
)
Expand All @@ -1173,10 +1180,12 @@ install(
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${CMAKE_PROJECT_NAME}"
)

install(
FILES "${CMAKE_SOURCE_DIR}/LICENSE"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/licenses/${CMAKE_PROJECT_NAME}"
)
if(INSTALL_LICENSE)
install(
FILES "${CMAKE_SOURCE_DIR}/LICENSE"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/licenses/${CMAKE_PROJECT_NAME}"
)
endif()

install(
FILES "${PROJECT_BINARY_DIR}/fastfetch.1"
Expand Down
2 changes: 0 additions & 2 deletions completions/bash → completions/fastfetch.bash
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#!/usr/bin/env bash

__fastfetch_complete_help()
{
local __ff_helps=(
Expand Down
2 changes: 0 additions & 2 deletions completions/fish → completions/fastfetch.fish
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#!/usr/bin/env fish

if not type -q fastfetch
exit
end
Expand Down
46 changes: 28 additions & 18 deletions doc/fastfetch.1.in
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ the exit code will be non\-zero.
.SS "Informative Options"
.TP

.B \-h, \-\-help \fI [command]
.B \-h, \-\-help \fI[command]
Show help output, displaying all available options or help for given command
.TP

Expand All @@ -43,15 +43,15 @@ List search paths of presets and logos
.TP

.B \-\-list\-logos
List available logos, they can be loaded with \fI \-\-logo
List available logos, they can be loaded with \fI\-\-logo
.TP

.B \-\-list\-modules
List available modules
.TP

.B \-\-list\-presets
List available presets, they can be loaded with \fI \-\-config
List available presets, they can be loaded with \fI\-\-config
.TP

.B \-\-list\-features
Expand All @@ -64,55 +64,65 @@ Print available logos

.B \-\-print\-structure
Print the default structure
.TP

.B \-\-format \fI<type>
Set the output format. Besides the
.I default
format, only
.I json
is supported currently.


.SS "Display Options"
.TP

.B \-l, \-\-logo \fI <logo>
.B \-l, \-\-logo \fI<logo>
Set the logo to display
.TP

.B \-s, \-\-structure \fI <structure>
.B \-s, \-\-structure \fI<structure>
Set the structure of the fetch. For details about the structure,
see the CONFIGURATION section.


.SS "Config Options"
.TP

.B \-c, \-\-config \fI <config>
Use the specified config file or preset. If "none", disable further config
loading. For details about config files, see the CONFIGURATION section
.B \-c, \-\-config \fI<config>
Use the specified config file or preset. If
.I none
is specified, disable further config loading. For details about
config files, see the CONFIGURATION section
.TP

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

.B \-\-gen\-config\-force \fI [file]
Same as \fB \-\-gen\-config\fR, but overwrites existing config
.B \-\-gen\-config\-force \fI[file]
Same as \fB\-\-gen\-config\fR, but overwrites existing config
.TP


To list all options, use \fB \-\-help\fR this will also print all available module options.
To list all options, use \fB\-\-help\fR. It will also print all available module options.

.SH CONFIGURATION
.SS "Fetch Structure"
The structure of a fetch describes the modules that should be included in
the output. It consists of a string of modules, separated by a colon (:).
To list all available modules, use \fB \-\-list\-modules \fR
To list all available modules, use \fB\-\-list\-modules\fR

.SS "Config Files"

Fastfetch uses JSONC based format for configuration. Fastfetch doesn't generate
config file automatically; it should be generated manually by \fB \-\-gen\-config\fR.
config file automatically; it should be generated manually by \fB\-\-gen\-config\fR.
The config file will be saved in \fB~/.config/fastfetch/config.jsonc\fR by default.

A JSONC config file is a JSON file that also supports comments with (//). Those
files must have the extension '.jsonc'.
A JSONC config file is a JSON file that also supports comments with (// and /* */).
Those files must have the extension '.jsonc'.

The specified configuration/preset files are searched in the following order:

Expand All @@ -128,4 +138,4 @@ Fastfetch provides some default presets. List them with \fB\-\-list\-presets\fR.
.BR neofetch (1)

.SH BUGS
Please report bugs to:\fI https://github.com/fastfetch\-cli/fastfetch/issues \fR
Please report bugs to: \fIhttps://github.com/fastfetch\-cli/fastfetch/issues\fR
Loading

0 comments on commit 80fb41a

Please sign in to comment.