Skip to content

Commit f2bae20

Browse files
Merge pull request #361 from LinusDierheimer/dev
Release 1.8.0
2 parents 875174e + fd14513 commit f2bae20

File tree

228 files changed

+9995
-4127
lines changed

Some content is hidden

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

228 files changed

+9995
-4127
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ Output of `fastfetch --list-features`:
3939

4040
<!--
4141
If you get the following error: `Error: couldn't find config: [...]`, copy the files in [presets](../../presets/) to `/usr/share/fastfetch/presets/` or `~/.local/share/fastfetch/presets/`.
42-
If this isn't possible (or too much work) for you, post the output of `fastfetch --show-errors --recache --multithreading false --disable-linewrap false`.
42+
If this isn't possible (or too much work) for you, post the output of `fastfetch --show-errors --multithreading false --disable-linewrap false`.
4343
-->

.github/workflows/push.yml

Lines changed: 162 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,17 @@ jobs:
3535
uses: github/codeql-action/analyze@v2
3636

3737
- name: run fastfetch
38-
run: ./fastfetch --recache --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
38+
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
3939

4040
- name: run flashfetch
41-
run: ./flashfetch
41+
run: time ./flashfetch
4242

4343
- name: run tests
4444
run: ctest
4545

4646
- name: get fastfetch version
4747
id: ffversion
48-
run: echo "::set-output name=ffversion::$(./fastfetch --version-raw)"
48+
run: echo "ffversion=$(./fastfetch --version-raw)" >> $GITHUB_OUTPUT
4949

5050
- name: upload artifacts
5151
uses: actions/upload-artifact@v3
@@ -64,7 +64,7 @@ jobs:
6464
uses: actions/checkout@v3
6565

6666
- name: install required packages
67-
run: brew install vulkan-loader molten-vk
67+
run: brew install vulkan-loader molten-vk imagemagick chafa
6868

6969
- name: Initialize CodeQL
7070
uses: github/codeql-action/init@v2
@@ -81,10 +81,10 @@ jobs:
8181
uses: github/codeql-action/analyze@v2
8282

8383
- name: run fastfetch
84-
run: ./fastfetch --recache --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
84+
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
8585

8686
- name: run flashfetch
87-
run: ./flashfetch
87+
run: time ./flashfetch
8888

8989
- name: run tests
9090
run: ctest
@@ -95,8 +95,8 @@ jobs:
9595
name: fastfetch-macos
9696
path: ./fastfetch-*.*
9797

98-
bsd:
99-
name: BSD
98+
freebsd:
99+
name: FreeBSD
100100
runs-on: macos-12
101101
permissions:
102102
security-events: write
@@ -113,24 +113,173 @@ jobs:
113113
run: |
114114
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
115115
cmake --build . --target package
116-
./fastfetch --recache --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
117-
./flashfetch
116+
time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
117+
time ./flashfetch
118118
ctest
119119
120120
- name: upload artifacts
121121
uses: actions/upload-artifact@v3
122122
with:
123-
name: fastfetch-bsd
123+
name: fastfetch-freebsd
124124
path: ./fastfetch-*.*
125125

126+
windows:
127+
name: Windows
128+
runs-on: windows-latest
129+
permissions:
130+
security-events: write
131+
contents: read
132+
defaults:
133+
run:
134+
shell: msys2 {0}
135+
steps:
136+
- name: checkout repository
137+
uses: actions/checkout@v3
138+
139+
- name: setup-msys2
140+
uses: msys2/setup-msys2@v2
141+
with:
142+
msystem: CLANG64
143+
update: true
144+
install: git mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-cjson mingw-w64-clang-x86_64-vulkan-loader mingw-w64-clang-x86_64-opencl-icd
145+
146+
- name: print msys version
147+
run: uname -a
148+
149+
# https://github.com/msys2/MINGW-packages/issues/13524#event-7555720785
150+
- name: create OpenCL.pc
151+
run: |
152+
cat > /clang64/lib/pkgconfig/OpenCL.pc << EOF
153+
prefix=/clang64
154+
exec_prefix=${prefix}
155+
libdir=${exec_prefix}/lib
156+
includedir=${prefix}/include
157+
158+
Name: OpenCL
159+
Description: Open Computing Language generic Installable Client Driver Loader
160+
Version: 2022.09.30-1
161+
Libs: -L${libdir} -lOpenCL.dll
162+
Cflags: -I${includedir}
163+
EOF
164+
165+
- name: Initialize CodeQL
166+
uses: github/codeql-action/init@v2
167+
with:
168+
languages: c, cpp
169+
170+
- name: configure project
171+
run: env PKG_CONFIG_PATH=/clang64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
172+
173+
- name: build project
174+
run: cmake --build .
175+
176+
- name: perform CodeQL analysis
177+
uses: github/codeql-action/analyze@v2
178+
179+
- name: copy necessary dlls
180+
run: cp /clang64/bin/{libcjson,libOpenCL,vulkan-1}.dll .
181+
182+
- name: run fastfetch
183+
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
184+
185+
- name: run flashfetch
186+
run: time ./flashfetch
187+
188+
- name: run tests
189+
run: ctest
190+
191+
- name: upload artifacts
192+
uses: actions/upload-artifact@v3
193+
with:
194+
name: fastfetch-windows
195+
path: |
196+
./*.dll
197+
./fastfetch.exe
198+
./flashfetch.exe
199+
200+
windows-old:
201+
name: Windows-old
202+
runs-on: windows-latest
203+
permissions:
204+
security-events: write
205+
contents: read
206+
defaults:
207+
run:
208+
shell: msys2 {0}
209+
steps:
210+
- name: checkout repository
211+
uses: actions/checkout@v3
212+
213+
- name: setup-msys2
214+
uses: msys2/setup-msys2@v2
215+
with:
216+
msystem: MINGW64
217+
update: true
218+
install: git mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-cjson mingw-w64-x86_64-vulkan-loader mingw-w64-x86_64-opencl-icd
219+
220+
- name: print msys version
221+
run: uname -a
222+
223+
# https://github.com/msys2/MINGW-packages/issues/13524#event-7555720785
224+
- name: create OpenCL.pc
225+
run: |
226+
cat > /mingw64/lib/pkgconfig/OpenCL.pc << EOF
227+
prefix=/mingw64
228+
exec_prefix=${prefix}
229+
libdir=${exec_prefix}/lib
230+
includedir=${prefix}/include
231+
232+
Name: OpenCL
233+
Description: Open Computing Language generic Installable Client Driver Loader
234+
Version: 2022.09.30-1
235+
Libs: -L${libdir} -lOpenCL.dll
236+
Cflags: -I${includedir}
237+
EOF
238+
239+
- name: Initialize CodeQL
240+
uses: github/codeql-action/init@v2
241+
with:
242+
languages: c, cpp
243+
244+
- name: configure project
245+
run: env PKG_CONFIG_PATH=/mingw64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_BUFFER=Off .
246+
247+
- name: build project
248+
run: cmake --build .
249+
250+
- name: perform CodeQL analysis
251+
uses: github/codeql-action/analyze@v2
252+
253+
- name: copy necessary dlls
254+
run: cp /mingw64/bin/{libcjson,libOpenCL,vulkan-1}.dll .
255+
256+
- name: run fastfetch
257+
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
258+
259+
- name: run flashfetch
260+
run: time ./flashfetch
261+
262+
- name: run tests
263+
run: ctest
264+
265+
- name: upload artifacts
266+
uses: actions/upload-artifact@v3
267+
with:
268+
name: fastfetch-windows-old
269+
path: |
270+
./*.dll
271+
./fastfetch.exe
272+
./flashfetch.exe
273+
126274
release:
127275
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'LinusDierheimer/fastfetch'
128276
name: Release
129277
runs-on: ubuntu-latest
130278
needs:
131279
- linux
132280
- macos
133-
- bsd
281+
- freebsd
282+
- windows
134283
permissions:
135284
contents: write
136285
steps:
@@ -150,4 +299,4 @@ jobs:
150299
tag: ${{ needs.linux.outputs.ffversion }}
151300
commit: ${{ github.sha }}
152301
artifactErrorsFailBuild: true
153-
artifacts: fastfetch-linux/*,fastfetch-macos/*,fastfetch-bsd/*
302+
artifacts: fastfetch-linux/*,fastfetch-macos/*,fastfetch-freebsd/*,fastfetch-windows/*

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
**/.cache/
44
**/.kdev4/
55
**/.DS_Store
6+
/.vs
67
cscope.*
78
tags
89
fastfetch.kdev4

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,59 @@
1+
# 1.8.0
2+
3+
This release introduces Windows support! Fastfetch now fully support all major desktop OSes (Linux, macOS, Windows and FreeBSD)
4+
5+
Notable Changes:
6+
* Bios / Board / Chassis modules are splitted against Host module for performance reasons
7+
* Caching is removed. Option `--nocache` is removed accordingly
8+
9+
Features:
10+
* Windows (7 and newer) is officially and fully supported
11+
* FreeBSD support is improved greatly (Cpu Temp, Cpu Usage, Disk, Host, Processes, Swap, Terminal / Shell, Uptime)
12+
* Adds a new flag `--stat`, which prints time usage for individual modules
13+
* Adds Wifi module which supports Windows and macOS
14+
* Adds data source option for logo printing
15+
* Detects Homebrew Cellar and Cask seperately
16+
* Detects WSL version
17+
* Detects disk based on mount point
18+
* Exposes more chafa configs
19+
* Improves performance for Cpu Usage, Public IP, Weather modules
20+
* Improves performance for Kitty image protocol when both image width / height specified
21+
* Improves performance for large file loading
22+
* Improves performance for macOS WM and Host detection
23+
* Improves shell and terminal detection on macOS
24+
* Supports Deepin Terminal terminal font
25+
* Supports GPU detection on Android
26+
* Supports Kitty Terminal terminal font
27+
* Supports bar output for percentage values
28+
* Supports eopkg package manager detection
29+
* Supports iTerm image logo protocol
30+
* Supports image logo printing on macOS
31+
* Supports tcsh version detection
32+
* Vulkan module on macOS no longer requires vulkan-loader to work
33+
34+
Logos:
35+
* Alpine
36+
* CRUX
37+
* EndeavourOS
38+
* Enso
39+
* Garuda small
40+
* Nobara
41+
* OpenMandriva
42+
* Parabola GNU/Linux-libre
43+
* Rocky
44+
* Rosa
45+
* Solus
46+
* Univalent
47+
* Vanilla OS
48+
49+
Bugfixes:
50+
* Fixes disk size detection on 32bit Linux (#337)
51+
* Fixes cpu freq detection in WSL
52+
* Fixes internal bug of FFstrbuf
53+
* Fixes some memory leaks
54+
* Fixes segfault if 0 is given as argument index
55+
* Lots of code refactors
56+
157
# 1.7.5
258

359
Fixes a crash on linux that could happen when getting zsh version (#285)

0 commit comments

Comments
 (0)