mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2025-02-20 11:43:27 +08:00
Logo: add Windows 95; refactor code
From https://github.com/dylanaraps/neofetch/pull/2346/files
This commit is contained in:
parent
340f2b2374
commit
124a49098e
@ -45,6 +45,7 @@ Logo:
|
||||
* Change the special handling of `kitty` protocol with `.png` image file to a new image protocol `kitty-direct`. This is the fastest image protocol because fastfetch doesn't need to pre-encode the image to base64 or something and the image content doesn't need to be transmitted via tty. Note:
|
||||
1. Although konsole was said to support `kitty` image protocol, it doesn't support `kitty-direct`
|
||||
2. wezterm support more image formats other than `.png` (tested with `.jpg` and `.webp`)
|
||||
* Add `Windows 95`
|
||||
|
||||
# 1.12.2
|
||||
|
||||
|
@ -233,11 +233,34 @@ fastfetch_load_text(src/data/help_color.txt DATATEXT_HELP_COLOR)
|
||||
fastfetch_load_text(src/data/help_format.txt DATATEXT_HELP_FORMAT)
|
||||
fastfetch_load_text(src/data/help_config.txt DATATEXT_HELP_CONFIG)
|
||||
|
||||
######################
|
||||
# Configure config.h #
|
||||
######################
|
||||
configure_file(src/fastfetch_config.h.in fastfetch_config.h @ONLY)
|
||||
configure_file(src/fastfetch_datatext.h.in fastfetch_datatext.h @ONLY)
|
||||
|
||||
configure_file(src/fastfetch_config.h.in fastfetch_config.h)
|
||||
####################
|
||||
# Ascii image data #
|
||||
####################
|
||||
|
||||
function(fastfetch_load_raw_text FILENAME OUTVAR)
|
||||
file(READ "${FILENAME}" TEMP)
|
||||
string(REGEX REPLACE "\n$" "" TEMP "${TEMP}") # Remove trailing newline
|
||||
string(JSON TEMP SET "{}" "${TEMP}" "0") # Encode raw strings using JSON_SET
|
||||
string(REGEX REPLACE "^\\{[ \t\r\n]*" "" TEMP "${TEMP}") # Remove JSON braces
|
||||
string(REGEX REPLACE "[ \t\r\n]*:[ \t\r\n]*0[ \t\r\n]*\\}$" "" TEMP "${TEMP}") # Remove trailing ` : 0 }`
|
||||
if(NOT "${TEMP}" MATCHES "^\"[^\n]*\"")
|
||||
message(FATAL_ERROR "Internal error: unexpected output: '${TEMP}'")
|
||||
endif()
|
||||
set(${OUTVAR} "${TEMP}" PARENT_SCOPE)
|
||||
endfunction(fastfetch_load_raw_text)
|
||||
|
||||
file(GLOB LOGO_FILES "src/logo/ascii/*.txt")
|
||||
foreach(file ${LOGO_FILES})
|
||||
fastfetch_load_raw_text("${file}" content)
|
||||
get_filename_component(file "${file}" NAME_WLE)
|
||||
string(TOUPPER "${file}" file)
|
||||
string(REGEX REPLACE "\\$\\{c([0-9]+)\\}" "$\\1" DATATEXT_LOGO_${file} "${content}")
|
||||
endforeach()
|
||||
|
||||
configure_file(src/logo/builtin.h.in src_logo_builtin.h @ONLY)
|
||||
|
||||
#######################
|
||||
# libfastfetch target #
|
||||
|
@ -96,7 +96,7 @@ Battery, Bios, Bluetooth, Board, Break, Brightness, Colors, Command, CPU, CPUUsa
|
||||
|
||||
##### Builtin logos
|
||||
```
|
||||
AlmaLinux, Alpine, Android, Arch, Arco, Artix, Bedrock, BSD, CachyOS, CentOS, CRUX, Crystal, Debian, Deepin, Devuan, Endeavour, Enso, Exherbo, Fedora, FreeBSD, Garuda, Gentoo, GhostBSD, KDE Neon, KISS, Kubuntu, LangitKetujuh, Linux, MacOS, Manjaro, Mint, MSYS2, NixOS, Nobara, OpenSUSE, OpenSUSE LEAP, OpenSUSE Tumbleweed, Parabola, Pop!_OS, Raspbian, RebornOS, RedstarOS, Rocky, Rosa, Slackware, Solus, SteamOS, Ubuntu, Vanilla, Void, Windows, Windows 11, Windows 8, Zorin
|
||||
AlmaLinux, Alpine, Android, Arch, Arco, Artix, Bedrock, BSD, CachyOS, CentOS, CRUX, Crystal, Debian, Deepin, Devuan, Endeavour, Enso, Exherbo, Fedora, FreeBSD, Garuda, Gentoo, GhostBSD, KDE Neon, KISS, Kubuntu, LangitKetujuh, Linux, MacOS, Manjaro, Mint, MSYS2, NixOS, Nobara, OpenSUSE, OpenSUSE LEAP, OpenSUSE Tumbleweed, Parabola, Pop!_OS, Raspbian, RebornOS, RedstarOS, Rocky, Rosa, Slackware, Solus, SteamOS, Ubuntu, Vanilla, Void, Windows, Windows 11, Windows 8, Windows 95, Zorin
|
||||
```
|
||||
|
||||
##### Package managers
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "common/jsonconfig.h"
|
||||
#include "util/stringUtils.h"
|
||||
#include "logo/logo.h"
|
||||
#include "fastfetch_datatext.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
|
@ -1,3 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef FASTFETCH_INDLUDED_fastfetch_config_h_in
|
||||
#define FASTFETCH_INDLUDED_fastfetch_config_h_in
|
||||
|
||||
@ -19,13 +21,4 @@
|
||||
|
||||
#define FASTFETCH_TARGET_DIR_INSTALL_SYSCONF "@CMAKE_INSTALL_SYSCONFDIR@"
|
||||
|
||||
#define FASTFETCH_DATATEXT_STRUCTURE "@DATATEXT_STRUCTURE@"
|
||||
#define FASTFETCH_DATATEXT_CONFIG_SYSTEM "@DATATEXT_CONFIG_SYSTEM@"
|
||||
#define FASTFETCH_DATATEXT_CONFIG_USER "@DATATEXT_CONFIG_USER@" //Requires FASTFETCH_PROJECT_VERSION and FASTFETCH_DATATEXT_STRUCTURE to be set
|
||||
#define FASTFETCH_DATATEXT_MODULES "@DATATEXT_MODULES@"
|
||||
#define FASTFETCH_DATATEXT_HELP "@DATATEXT_HELP@"
|
||||
#define FASTFETCH_DATATEXT_HELP_COLOR "@DATATEXT_HELP_COLOR@"
|
||||
#define FASTFETCH_DATATEXT_HELP_FORMAT "@DATATEXT_HELP_FORMAT@"
|
||||
#define FASTFETCH_DATATEXT_HELP_CONFIG "@DATATEXT_HELP_CONFIG@"
|
||||
|
||||
#endif // FASTFETCH_INDLUDED_fastfetch_config_h_in
|
||||
|
15
src/fastfetch_datatext.h.in
Normal file
15
src/fastfetch_datatext.h.in
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef FASTFETCH_INDLUDED_fastfetch_datatext_h_in
|
||||
#define FASTFETCH_INDLUDED_fastfetch_datatext_h_in
|
||||
|
||||
#define FASTFETCH_DATATEXT_STRUCTURE "@DATATEXT_STRUCTURE@"
|
||||
#define FASTFETCH_DATATEXT_CONFIG_SYSTEM "@DATATEXT_CONFIG_SYSTEM@"
|
||||
#define FASTFETCH_DATATEXT_CONFIG_USER "@DATATEXT_CONFIG_USER@" //Requires FASTFETCH_PROJECT_VERSION and FASTFETCH_DATATEXT_STRUCTURE to be set
|
||||
#define FASTFETCH_DATATEXT_MODULES "@DATATEXT_MODULES@"
|
||||
#define FASTFETCH_DATATEXT_HELP "@DATATEXT_HELP@"
|
||||
#define FASTFETCH_DATATEXT_HELP_COLOR "@DATATEXT_HELP_COLOR@"
|
||||
#define FASTFETCH_DATATEXT_HELP_FORMAT "@DATATEXT_HELP_FORMAT@"
|
||||
#define FASTFETCH_DATATEXT_HELP_CONFIG "@DATATEXT_HELP_CONFIG@"
|
||||
|
||||
#endif
|
18
src/logo/ascii/Windows95.txt
Normal file
18
src/logo/ascii/Windows95.txt
Normal file
@ -0,0 +1,18 @@
|
||||
${c6} ___
|
||||
.--=+++++=-:.
|
||||
. _ *%@@@@@@@@@@@@@@*
|
||||
*:+:.__ :+* @@@ @"${c5}_*&%${c6}@@${c4}%&&&*${c6}"@@@
|
||||
"+.-#+ +%* " _ ${c5}++&&&%${c6}@@${c4}%&&&&&#${c6}@@
|
||||
${c5}" , ${c6}%@@ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@
|
||||
${c5} * oo *# ${c6}" _ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@
|
||||
${c5}" , ${c6}%@@ ${c5}&&&&"${c6}@@@@#*${c4}"&&&${c6}@@
|
||||
.${c5} * oo *# ${c6}" _ %@@@@@@@@@@@@@@@@
|
||||
*:+:.__ :=* %@@ @"${c1}**&%${c6}@@${c3}%&&&*${c6}"@@@
|
||||
"+.-#+ +%* " _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@
|
||||
${c1}" , ${c6}%@@ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@
|
||||
${c1} * oo *# ${c6}" _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@
|
||||
${c1}" , ${c6}%@@ ${c1}&&*"${c6}%@@@@@@${c3}"*%&${c6}@@
|
||||
.${c1} * oo *# ${c6}" _ @@@@@@@@@@@@@@@@@
|
||||
*:+:.__ :+# @@@ @%#=+""""""+==%#@
|
||||
"+.-#+ +%* %+" " ":@
|
||||
" "
|
@ -1,4 +1,5 @@
|
||||
#include "logo.h"
|
||||
#include "src_logo_builtin.h" // Generated with `src/logo/builtin.h`
|
||||
|
||||
#define FF_LOGO_INIT static FFlogo logo; static bool init = false; if(init) return &logo; init = true;
|
||||
// The names of small logo must end with `_small` or `-small`
|
||||
@ -335,25 +336,25 @@ static const FFlogo* getLogoBSD(void)
|
||||
FF_LOGO_INIT
|
||||
FF_LOGO_NAMES("bsd")
|
||||
FF_LOGO_LINES(
|
||||
"$1 , ,\n"
|
||||
" /( )`\n"
|
||||
" \\ \\___ / |\n"
|
||||
" /- _ `-/ '\n"
|
||||
" ($2/\\/ \\ $1\\ /\\\n"
|
||||
" $2/ / | ` $1\\\n"
|
||||
" $3O O $2) $1/ |\n"
|
||||
" $2`-^--'$1`< '\n"
|
||||
" (_.) _ ) /\n"
|
||||
" `.___/` /\n"
|
||||
" `-----' /\n"
|
||||
"$4<----. __ / __ \\\n"
|
||||
"$4<----|====$1O)))$4==$1) \\) /$4====|\n"
|
||||
"<----' $1`--' `.__,' \\\n"
|
||||
" | |\n"
|
||||
" \\ / /\\\n"
|
||||
" $5______$1( (_ / \\______/\n"
|
||||
" $5,' ,-----' |\n"
|
||||
" `--{__________)\n"
|
||||
"$1 , ,\n"
|
||||
" /( )`\n"
|
||||
" \\ \\___ / |\n"
|
||||
" /- _ `-/ '\n"
|
||||
" ($2/\\/ \\ $1\\ /\\\n"
|
||||
" $2/ / | ` $1\\\n"
|
||||
" $3O O $2) $1/ |\n"
|
||||
" $2`-^--'$1`< '\n"
|
||||
" (_.) _ ) /\n"
|
||||
" `.___/` /\n"
|
||||
" `-----' /\n"
|
||||
"$4<----. __ / __ \\\n"
|
||||
"$4<----|====$1O)))$4==$1) \\) /$4====|\n"
|
||||
"<----' $1`--' `.__,' \\\n"
|
||||
" | |\n"
|
||||
" \\ / /\\\n"
|
||||
" $5______$1( (_ / \\______/\n"
|
||||
" $5,' ,-----' |\n"
|
||||
" `--{__________)\n"
|
||||
)
|
||||
FF_LOGO_COLORS(
|
||||
"31",
|
||||
@ -1724,6 +1725,24 @@ static const FFlogo* getLogoWindows(void)
|
||||
FF_LOGO_RETURN
|
||||
}
|
||||
|
||||
static const FFlogo* getLogoWindows95(void)
|
||||
{
|
||||
FF_LOGO_INIT
|
||||
FF_LOGO_NAMES("Windows 9x", "Windows 95")
|
||||
FF_LOGO_LINES(FASTFETCH_DATATEXT_LOGO_WINDOWS95)
|
||||
FF_LOGO_COLORS(
|
||||
"36", //cyan
|
||||
"34", //blue
|
||||
"33", //yellow
|
||||
"32", //green
|
||||
"31",
|
||||
"30"
|
||||
)
|
||||
FF_LOGO_COLOR_KEYS("36"); //cyan
|
||||
FF_LOGO_COLOR_TITLE("34"); //blue
|
||||
FF_LOGO_RETURN
|
||||
}
|
||||
|
||||
static const FFlogo* getLogoNixOS(void)
|
||||
{
|
||||
FF_LOGO_INIT
|
||||
@ -2759,6 +2778,7 @@ GetLogoMethod* ffLogoBuiltinGetAll(void)
|
||||
getLogoWindows11Small,
|
||||
getLogoWindows8,
|
||||
getLogoWindows,
|
||||
getLogoWindows95,
|
||||
getLogoNixOS,
|
||||
getLogoNixOsOld,
|
||||
getLogoNixOsSmall,
|
||||
|
8
src/logo/builtin.h.in
Normal file
8
src/logo/builtin.h.in
Normal file
@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef FASTFETCH_INDLUDED_logo_builtin_h_in
|
||||
#define FASTFETCH_INDLUDED_logo_builtin_h_in
|
||||
|
||||
#define FASTFETCH_DATATEXT_LOGO_WINDOWS95 @DATATEXT_LOGO_WINDOWS95@
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user