This commit is contained in:
2026-03-31 20:13:15 +08:00
parent 48044e957d
commit 08c513b995
1155 changed files with 79920 additions and 0 deletions

View File

@ -0,0 +1,6 @@
[Common]
OutlineIntensity=OutlineOff
RoundedCorners=false
[Style]
MenuOpacity=80

View File

@ -0,0 +1,124 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
"logo": {
"type": "sixel",
//"source": "/home/shorin/Pictures/picture.png",
"width": 25,
// "height":20,
"padding": {
"top": 1, // Top padding
"left": 2, // Left padding
"right": 2 // Right padding
},
},
"display": {
"separator": " ", // Separator between keys and values
"color": {
//"keys": "#cdc2db", // Key color module名字的颜色
"title": "#cbc4cf", // Title color 主机名的颜色
"output": "#cbc4cf"
},
},
"modules": [
"break",
{
"type": "os", //这是哪个module
"key": "OS", //module名字的显示
// "keyColor": "#00ff00", //module名字颜色
// "format": "{name} {version}", //具体内容
"keyColor": "#d3bbfd",
},
{
"type": "kernel",
"key": " ├  KER ",
"keyColor": "#d3bbfd",
},
{
"type": "packages",
"key": " ├  PAK ",
"format": "{all}",
"keyColor": "#d3bbfd",
},
{
"type": "title",
"key": " └  USR ",
"keyColor": "#d3bbfd",
},
"break",
"break",
{
"type": "wm",
"key": "WM",
"keyColor": "#f1b7c5",
},
{
"type": "de",
"key": " ├ 󱈹 DES ",
"keyColor": "#f1b7c5",
//"outputColor": "#f1b7c5"
},
{
"type": "shell",
"key": " ├  SHE ",
"keyColor": "#f1b7c5",
//"outputColor": "#f1b7c5"
},
{
"type": "terminal",
"key": " ├  TER ",
"keyColor": "#f1b7c5",
//"outputColor": "#f1b7c5"
},
{
"type": "terminalfont",
"key": " └  TFO ",
"keyColor": "#f1b7c5",
//"outputColor": "#f1b7c5"
},
"break",
"break",
{
"type": "host",
"key": "PC ",
"keyColor": "#eadef8",
//"outputColor": "#cdc2db"
},
{
"type": "cpu",
"key": " ├  CPU ",
"keyColor": "#eadef8",
//"outputColor": "#cdc2db"
},
{
"type": "memory",
"key": " ├  MEM ",
"keyColor": "#eadef8",
//"outputColor": "#cdc2db"
},
{
"type": "gpu",
"key": " ├ 󰢮 GPU ",
"format": "{1} {2}",
"keyColor": "#eadef8",
//"outputColor": "#cdc2db"
},
{
"type": "display",
"key": " ├  MON ",
"format": "{name} {width}x{height}@{refresh-rate} ",
"keyColor": "#eadef8",
//"outputColor": "#cdc2db"
},
{
"type": "disk",
"key": " └ 󰋊 DIS ",
"keyColor": "#eadef8",
//"outputColor": "#cdc2db"
},
"break",
"break",
"colors"
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
# 垂直候选列表
Vertical Candidate List=True
# 使用鼠标滚轮翻页
WheelForPaging=True
# 字体
Font="Adwaita Sans 11"
# 菜单字体
MenuFont="Sans 10"
# 托盘字体
TrayFont="Sans Bold 10"
# 托盘标签轮廓颜色
TrayOutlineColor=#000000
# 托盘标签文本颜色
TrayTextColor=#ffffff
# 优先使用文字图标
PreferTextIcon=False
# 在图标中显示布局名称
ShowLayoutNameInIcon=True
# 使用输入法的语言来显示文字
UseInputMethodLanguageToDisplayText=True
# 主题
Theme=default
# 深色主题
DarkTheme=default-dark
# 跟随系统浅色/深色设置
UseDarkTheme=False
# 当被主题和桌面支持时使用系统的重点色
UseAccentColor=True
# 在 X11 上针对不同屏幕使用单独的 DPI
PerScreenDPI=False
# 固定 Wayland 的字体 DPI
ForceWaylandDPI=0
# 在 Wayland 下启用分数缩放
EnableFractionalScale=True

View File

@ -0,0 +1,3 @@
# 隐藏通知
HiddenNotifications=

View File

@ -0,0 +1,150 @@
# 双拼方案
ShuangpinProfile=Ziranma
# 显示当前双拼模式
ShowShuangpinMode=True
# 每页候选词
PageSize=5
# 显示英文候选词
SpellEnabled=True
# 显示符号候选词
SymbolsEnabled=True
# 显示拆字候选词
ChaiziEnabled=True
# 启用 Unicode CJK 拓展区 B 之后的更多字符
ExtBEnabled=True
# 输入 h(横)s(竖)p(撇)n(捺)z(折) 时显示笔画候选词
StrokeCandidateEnabled=True
# 启用云拼音
CloudPinyinEnabled=True
# 云拼音候选词顺序
CloudPinyinIndex=2
# 加载云拼音的时候显示动画
CloudPinyinAnimation=True
# 总是显示云拼音的占位符
KeepCloudPinyinPlaceHolder=False
# 预编辑模式
PreeditMode="Composing pinyin"
# 将嵌入预编辑文本的光标固定在开头
PreeditCursorPositionAtBeginning=True
# 在预编辑中显示完整拼音
PinyinInPreedit=False
# 启用预测
Prediction=False
# Keep the current typed text for next input prediction
KeepCurrentContext=True
# 预测数量
PredictionSize=49
# 预测时退格键的行为
BackspaceBehaviorOnPrediction="Backspace when not using on-screen keyboard"
# 切换输入法时的行为
SwitchInputMethodBehavior="Commit current preedit"
# 选择第二个候选词
SecondCandidate=
# 选择第三个候选词
ThirdCandidate=
# 使用数字键盘选词
UseKeypadAsSelection=False
# 使用退格键取消选词
BackSpaceToUnselect=True
# 句子数量
Number of sentence=2
# 词组候选词数
WordCandidateLimit=15
# 输入长于...时提示长词 (设置为 0 时禁用)
LongWordLengthLimit=4
# 快速输入的触发键
QuickPhraseKey=semicolon
# 使用 V 来触发快速输入
VAsQuickphrase=True
# FirstRun
FirstRun=False
[ForgetWord]
0=Control+7
[PrevPage]
0=minus
1=Up
2=KP_Up
3=Page_Up
[NextPage]
0=equal
1=Down
2=KP_Down
3=Next
[PrevCandidate]
0=Shift+Tab
[NextCandidate]
0=Tab
[CurrentCandidate]
0=space
1=KP_Space
[CommitRawInput]
0=Return
1=KP_Enter
2=Control+Return
3=Control+KP_Enter
4=Shift+Return
5=Shift+KP_Enter
6=Control+Shift+Return
7=Control+Shift+KP_Enter
[ChooseCharFromPhrase]
0=bracketleft
1=bracketright
[FilterByStroke]
0=grave
[QuickPhraseTriggerRegex]
0=.(/|@)$
1=^(www|bbs|forum|mail|bbs)\\.
2=^(http|https|ftp|telnet|mailto):
[Fuzzy]
# ue -> ve
VE_UE=True
# 常见错误
NG_GN=True
# 内模糊音节 (xian -> xi'an)
Inner=True
# 短拼音的内模糊音节 (qie -> qi'e)
InnerShort=True
# 匹配不完整的元音 (e -> en, eng, ei)
PartialFinal=True
# 输入长度大于 4 时进行部分双拼匹配
PartialSp=False
# u <-> v
V_U=False
# an <-> ang
AN_ANG=False
# en <-> eng
EN_ENG=False
# ian <-> iang
IAN_IANG=False
# in <-> ing
IN_ING=False
# u <-> ou
U_OU=False
# uan <-> uang
UAN_UANG=False
# c <-> ch
C_CH=False
# f <-> h
F_H=False
# l <-> n
L_N=False
# l <-> r
L_R=False
# s <-> sh
S_SH=False
# z <-> zh
Z_ZH=False
# 纠错布局
Correction=None

View File

@ -0,0 +1,83 @@
[Hotkey]
# 按住切换键的修饰键时进行轮换切换
EnumerateWithTriggerKeys=True
# 向前切换输入法
EnumerateForwardKeys=
# 向后切换输入法
EnumerateBackwardKeys=
# 轮换输入法时跳过第一个输入法
EnumerateSkipFirst=False
# 触发修饰键快捷键的时限 (毫秒)
ModifierOnlyKeyTimeout=250
[Hotkey/TriggerKeys]
0=Super+space
1=Zenkaku_Hankaku
2=Hangul
[Hotkey/ActivateKeys]
0=Hangul_Hanja
[Hotkey/DeactivateKeys]
0=Hangul_Romaja
[Hotkey/AltTriggerKeys]
0=Shift_L
[Hotkey/EnumerateGroupForwardKeys]
0=Super+space
[Hotkey/EnumerateGroupBackwardKeys]
0=Shift+Super+space
[Hotkey/PrevPage]
0=Up
[Hotkey/NextPage]
0=Down
[Hotkey/PrevCandidate]
0=Shift+Tab
[Hotkey/NextCandidate]
0=Tab
[Hotkey/TogglePreedit]
0=Control+Alt+P
[Behavior]
# 默认状态为激活
ActiveByDefault=False
# 重新聚焦时重置状态
resetStateWhenFocusIn=No
# 共享输入状态
ShareInputState=No
# 在程序中显示预编辑文本
PreeditEnabledByDefault=True
# 切换输入法时显示输入法信息
ShowInputMethodInformation=True
# 在焦点更改时显示输入法信息
showInputMethodInformationWhenFocusIn=False
# 显示紧凑的输入法信息
CompactInputMethodInformation=True
# 显示第一个输入法的信息
ShowFirstInputMethodInformation=True
# 默认页大小
DefaultPageSize=5
# 覆盖 XKB 选项
OverrideXkbOption=False
# 自定义 XKB 选项
CustomXkbOption=
# Force Enabled Addons
EnabledAddons=
# Force Disabled Addons
DisabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True
# 允许在密码框中使用输入法
AllowInputMethodForPassword=False
# 输入密码时显示预编辑文本
ShowPreeditForPassword=False
# 保存用户数据的时间间隔(以分钟为单位)
AutoSavePeriod=30

View File

@ -0,0 +1,23 @@
[Groups/0]
# Group Name
Name=默认
# Layout
Default Layout=us
# Default Input Method
DefaultIM=rime
[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=
[Groups/0/Items/1]
# Name
Name=rime
# Layout
Layout=
[GroupOrder]
0=默认

View File

@ -0,0 +1,56 @@
if status is-interactive
# Commands to run in interactive sessions can go here
end
set fish_greeting ""
set -p PATH ~/.local/bin
starship init fish | source
zoxide init fish --cmd cd | source
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if read -z cwd < "$tmp"; and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end
function cat
command bat $argv
end
function ls
command eza --icons $argv
end
function lt
command eza --icons --tree $argv
end
# grub
abbr grub 'LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 sudo grub-mkconfig -o /boot/grub/grub.cfg'
# 小黄鸭补帧 需要steam安装正版小黄鸭
abbr lsfg 'LSFG_PROCESS="miyu"'
# fa运行fastfetch
abbr fa fastfetch
abbr reboot 'systemctl reboot'
function sl
command sl | lolcat
end
function
sysup
end
function raw
command ~/.config/scripts/random-anime-wallpaper.sh $argv
end
function 安装
command yay -S $argv
end
function 卸载
command yay -Rns $argv
end
# Added by LM Studio CLI (lms)
set -gx PATH $PATH /home/shorin/.lmstudio/bin
# End of LM Studio CLI section

View File

@ -0,0 +1,171 @@
# ==============================================================================
# Function: apt (Smart Arch Package Manager Wrapper for Fish)
# Description: Maps common Debian 'apt' commands to an intelligent Arch backend.
# Features:
# - Fallback routing: paru > yay > pacman.
# - Automatic Sudo Handling: Prevents AUR helpers from running as root.
# - Anti-Partial-Upgrade: Merges update/upgrade into a safe -Syu operation.
# - Deep Clean Default: Merges remove/purge into -Rns for a pristine system.
# - UI Integration: Progressive enhancement with 'shorin' for interactive modes.
# - Safe orphan detection and i18n support.
# - Highly readable, colorized, and column-aligned help output.
# Usage: apt {update|upgrade|install [ui]|remove [ui]|search|show|autoremove|clean|help|-h} [pkg...]
# ==============================================================================
function apt -d "Smart wrapper routing apt commands to paru/yay/pacman"
# 1. 极简的 Locale 探测
set -l is_zh 0
if string match -q -r "^zh_" "$LC_ALL" "$LC_MESSAGES" "$LANG"
set is_zh 1
end
# 2. 探测 shorin UI 工具是否存在
set -l has_shorin 0
if command -q shorin
set has_shorin 1
end
set -l action "help"
set -l exit_code 0
if test (count $argv) -eq 0
set exit_code 1
else
set action $argv[1]
set -e argv[1]
end
# 3. 帮助信息拦截与本地化 (重构的高颜值排版)
switch $action
case help -h --help
set -l c_cmd (set_color cyan)
set -l c_hl (set_color yellow)
set -l c_rst (set_color normal)
if test $is_zh -eq 1
echo "Arch 包管理器包装器 (优先级: "$c_hl"paru > yay > pacman"$c_rst")"
echo "用法: "$c_hl"apt"$c_rst" <命令> [软件包...]"
echo ""
echo "命令:"
echo " "$c_cmd"update(upgrade)"$c_rst" 同步数据库并更新系统 (-Syu)"
echo " "$c_cmd"install "$c_rst" 安装软件包 (-S)"
if test $has_shorin -eq 1
echo " "$c_cmd"install ui "$c_rst" 打开交互式界面安装 (依赖: shorin-contrib-git)"
end
echo " "$c_cmd"remove "$c_rst" 彻底卸载软件包、依赖及配置文件 (-Rns)"
if test $has_shorin -eq 1
echo " "$c_cmd"remove ui "$c_rst" 打开交互式界面卸载 (依赖: shorin-contrib-git)"
end
echo " "$c_cmd"search "$c_rst" 搜索软件包 (-Ss)"
echo " "$c_cmd"show "$c_rst" 显示软件包详细信息 (-Si)"
echo " "$c_cmd"autoremove "$c_rst" 安全地清理系统中的孤立软件包"
echo " "$c_cmd"clean "$c_rst" 清理下载缓存 (-Sc)"
echo " "$c_cmd"help, -h "$c_rst" 显示此帮助信息"
else
echo "Smart Arch Package Wrapper (Routing: "$c_hl"paru > yay > pacman"$c_rst")"
echo "Usage: "$c_hl"apt"$c_rst" <command> [package...]"
echo ""
echo "Commands:"
echo " "$c_cmd"update(upgrade)"$c_rst" Sync databases and update system (Safe -Syu)"
echo " "$c_cmd"install "$c_rst" Install packages (-S)"
if test $has_shorin -eq 1
echo " "$c_cmd"install ui "$c_rst" Open interactive installation UI (shorin pac)"
end
echo " "$c_cmd"remove "$c_rst" Remove packages, unneeded dependencies, and configs (-Rns)"
if test $has_shorin -eq 1
echo " "$c_cmd"remove ui "$c_rst" Open interactive removal UI (shorin pacr)"
end
echo " "$c_cmd"search "$c_rst" Search for packages (-Ss)"
echo " "$c_cmd"show "$c_rst" Show package details (-Si)"
echo " "$c_cmd"autoremove "$c_rst" Remove orphaned packages safely"
echo " "$c_cmd"clean "$c_rst" Clean package cache (-Sc)"
echo " "$c_cmd"help, -h "$c_rst" Show this help message"
end
return $exit_code
end
# 4. 核心路由与提权逻辑
set -l pkg_mgr
set -l needs_sudo "no"
if command -q paru
set pkg_mgr "paru"
else if command -q yay
set pkg_mgr "yay"
else
set pkg_mgr "pacman"
set needs_sudo "yes"
end
set -l cmd
if test "$needs_sudo" = "yes"
set cmd sudo $pkg_mgr
else
set cmd $pkg_mgr
end
# 5. 预定义基础错误信息 (本地化)
set -l msg_err_pkg "Error: Specify packages."
set -l msg_err_search "Error: Specify search term."
set -l msg_err_show "Error: Specify package to show."
if test $is_zh -eq 1
set msg_err_pkg "错误:请指定要操作的软件包。"
set msg_err_search "错误:请指定搜索词。"
set msg_err_show "错误:请指定要查看的软件包。"
end
# 6. 动作映射 (Action Mapping)
switch $action
case update upgrade
$cmd -Syu
case install
if test (count $argv) -eq 0; echo $msg_err_pkg; return 1; end
# 拦截 'install ui',条件:且只输入了 ui 一个参数,且系统存在 shorin
if test "$argv[1]" = "ui" -a (count $argv) -eq 1 -a $has_shorin -eq 1
shorin pac
return 0
end
$cmd -S $argv
case remove
if test (count $argv) -eq 0; echo $msg_err_pkg; return 1; end
# 拦截 'remove ui'
if test "$argv[1]" = "ui" -a (count $argv) -eq 1 -a $has_shorin -eq 1
shorin pacr
return 0
end
$cmd -Rns $argv
case search
if test (count $argv) -eq 0; echo $msg_err_search; return 1; end
$pkg_mgr -Ss $argv
case show
if test (count $argv) -eq 0; echo $msg_err_show; return 1; end
$pkg_mgr -Si $argv
case autoremove
set -l orphans (pacman -Qtdq)
if test (count $orphans) -gt 0
if test $is_zh -eq 1
echo "找到 "(count $orphans)" 个孤立的软件包。正在通过 $pkg_mgr 卸载..."
else
echo "Found "(count $orphans)" orphaned package(s). Removing via $pkg_mgr..."
end
$cmd -Rns $orphans
else
if test $is_zh -eq 1
echo "系统很干净,没有需要清理的孤立软件包。"
else
echo "System is clean. No orphaned packages to remove."
end
end
case clean
$cmd -Sc
case '*'
if test $is_zh -eq 1
echo "错误:不支持的 apt 命令映射: $action"
echo "运行 'apt -h' 查看可用命令。"
else
echo "Error: Unsupported apt command mapped: $action"
echo "Run 'apt -h' for valid commands."
end
return 1
end
end

View File

@ -0,0 +1,252 @@
function f
# ==============================================================================
# 【脚本功能说明】
# 1. 结合 Fastfetch在终端启动时展示随机二次元图片 (支持 SFW / NSFW 模式)。
# 2. 具备静默后台异步下载机制,库存不足时自动补货,绝不阻塞前台终端的启动。
# 3. 具备智能缓存管理机制,自动控制待展示区与已使用区 (used) 的图片数量上限。
# 4. 具备极致的网络环境容错处理,无网或弱网时自动降级 fallback避免死等。
# 5. 具备自动清理 Fastfetch 内部生成的图片转换缓存功能,防止磁盘空间无感膨胀。
# ==============================================================================
# ================= 配置区域 =================
# [开关] 阅后即焚模式 (针对 Fastfetch 内部缓存)
# true = 运行后强力清空 ~/.cache/fastfetch/images/ (防止转码缓存膨胀)
# false = 保留缓存
set -l CLEAN_CACHE_MODE true
# 每次补货下载多少张
set -l DOWNLOAD_BATCH_SIZE 10
# 最大库存上限 (待展示区)
set -l MAX_CACHE_LIMIT 100
# 库存少于多少张时开始补货
set -l MIN_TRIGGER_LIMIT 60
# [新增] used 目录最大存放数量
# 超过此数量将按照时间顺序删除最旧的文件
set -l MAX_USED_LIMIT 50
# ===========================================
# --- 0. 参数解析与模式设置 ---
set -l NSFW_MODE false
# 检查环境变量
if test "$NSFW" = "1"
set NSFW_MODE true
end
set -l ARGS_FOR_FASTFETCH
for arg in $argv
if test "$arg" = "--nsfw"
set NSFW_MODE true
else
set -a ARGS_FOR_FASTFETCH $arg
end
end
# --- 1. 目录配置 ---
# 根据模式区分缓存目录和锁文件
set -l CACHE_DIR
set -l LOCK_FILE
if test "$NSFW_MODE" = true
set CACHE_DIR "$HOME/.cache/fastfetch_waifu_nsfw"
set LOCK_FILE "/tmp/fastfetch_waifu_nsfw.lock"
else
set CACHE_DIR "$HOME/.cache/fastfetch_waifu"
set LOCK_FILE "/tmp/fastfetch_waifu.lock"
end
# 定义已使用目录
set -l USED_DIR "$CACHE_DIR/used"
mkdir -p "$CACHE_DIR"
mkdir -p "$USED_DIR"
# --- 2. 核心函数 ---
# [修复] 抛弃脆弱的 1.1.1.1,使用苹果的全球探针节点,并使用 -I (HEAD请求) 极限提速
function check_network
curl -sI --connect-timeout 2 "http://captive.apple.com/hotspot-detect.html" >/dev/null 2>&1
return $status
end
function get_random_url -V NSFW_MODE
set -l TIMEOUT --connect-timeout 5 --max-time 15
set -l RAND (math (random) % 3 + 1)
if test "$NSFW_MODE" = true
# === NSFW API ===
switch $RAND
case 1
curl -s $TIMEOUT "https://api.waifu.im/images?IncludedTags=waifu&IsNsfw=true" | jq -r '.images[0].url'
case 2
curl -s $TIMEOUT "https://api.waifu.pics/nsfw/waifu" | jq -r '.url'
case 3
curl -s $TIMEOUT "https://api.waifu.pics/nsfw/neko" | jq -r '.url'
end
else
# === SFW (正常) API ===
switch $RAND
case 1
# [修复] IsNsfwfalse 修正为 IsNsfw=false
curl -s $TIMEOUT "https://api.waifu.im/images?IncludedTags=waifu&IsNsfw=false" | jq -r '.images[0].url'
case 2
curl -s $TIMEOUT "https://nekos.best/api/v2/waifu" | jq -r '.results[0].url'
case 3
curl -s $TIMEOUT "https://api.waifu.pics/sfw/waifu" | jq -r '.url'
end
end
end
function download_one_image -V CACHE_DIR
set -l URL (get_random_url)
if string match -qr "^http" -- "$URL"
# 使用带时间戳的随机文件名
set -l FILENAME "waifu_"(date +%s%N)"_"(random)".jpg"
set -l TARGET_PATH "$CACHE_DIR/$FILENAME"
curl -s -L --connect-timeout 5 --max-time 15 -o "$TARGET_PATH" "$URL"
# 简单校验
if test -s "$TARGET_PATH"
if command -v file >/dev/null 2>&1
if not file --mime-type "$TARGET_PATH" | grep -q "image/"
rm -f "$TARGET_PATH"
end
end
else
rm -f "$TARGET_PATH"
end
end
end
function background_job -V CACHE_DIR -V LOCK_FILE -V MIN_TRIGGER_LIMIT -V DOWNLOAD_BATCH_SIZE -V MAX_CACHE_LIMIT -V NSFW_MODE
# 导出函数定义以便在 fish -c 中使用
set -l get_random_url_def (functions get_random_url | string collect)
set -l download_one_image_def (functions download_one_image | string collect)
set -l check_network_def (functions check_network | string collect)
fish -c "
# [核心修复 1] 忽略终端关闭带来的 SIGHUP 信号
trap '' HUP
# 重新定义需要的函数
$get_random_url_def
$download_one_image_def
$check_network_def
# 使用 flock 防止并发
flock -n 200 || exit 1
# [新增] 网络检查,没网就悄悄退出,不占后台资源
if not check_network
exit 0
end
# 导入变量
set CACHE_DIR '$CACHE_DIR'
set NSFW_MODE '$NSFW_MODE'
# 1. 补货检查
set CURRENT_COUNT (find \$CACHE_DIR -maxdepth 1 -name '*.jpg' 2>/dev/null | wc -l)
if test \$CURRENT_COUNT -lt $MIN_TRIGGER_LIMIT
for i in (seq 1 $DOWNLOAD_BATCH_SIZE)
download_one_image
sleep 0.5
end
end
# 2. 清理过多库存 (清理的是下载缓存区,不是 used 区)
set FINAL_COUNT (find \$CACHE_DIR -maxdepth 1 -name '*.jpg' 2>/dev/null | wc -l)
if test \$FINAL_COUNT -gt $MAX_CACHE_LIMIT
set DELETE_START_LINE (math $MAX_CACHE_LIMIT + 1)
ls -tp \$CACHE_DIR/*.jpg 2>/dev/null | tail -n +\$DELETE_START_LINE | xargs -I {} rm -- '{}'
end
" 200>"$LOCK_FILE" &
# [核心修复 2] 将刚才丢入后台的 fish 子进程剥离终端控制
disown
end
# --- 3. 主程序逻辑 ---
set -l FILES $CACHE_DIR/*.jpg
set -l NUM_FILES (count $FILES)
# fish 若无匹配文件,$FILES 可能为空或保留模式字符串,需额外判断
if test "$NUM_FILES" -eq 1; and not test -f "$FILES[1]"
set NUM_FILES 0
set FILES
end
set -l SELECTED_IMG ""
if test "$NUM_FILES" -gt 0
# 有库存,随机选一张
set -l RAND_INDEX (math (random) % $NUM_FILES + 1)
set SELECTED_IMG "$FILES[$RAND_INDEX]"
# 后台补货
background_job >/dev/null 2>&1
else
# 没库存,提示语更改并增加网络连通性容错
echo "库存不够啦!正在去搬运新的图片,请稍等哦..."
if check_network
download_one_image
else
echo "网络好像不太通畅,无法下载新图片 QAQ"
end
set FILES $CACHE_DIR/*.jpg
if test -f "$FILES[1]"
set SELECTED_IMG "$FILES[1]"
background_job >/dev/null 2>&1
end
end
# 运行 Fastfetch
if test -n "$SELECTED_IMG"; and test -f "$SELECTED_IMG"
# 显示图片
fastfetch --logo "$SELECTED_IMG" --logo-preserve-aspect-ratio true $ARGS_FOR_FASTFETCH
# === 逻辑: 移动到 used 目录 ===
mv "$SELECTED_IMG" "$USED_DIR/"
# === 逻辑: 检查 used 目录并清理旧图 ===
# 注意fish 的 glob 展开如果文件太多可能会卡,但这里有 limit 限制所以还好
set -l used_files $USED_DIR/*.jpg
set -l used_count (count $used_files)
# 再次确认 count因为如果没文件 $used_files 可能为空
if test "$used_count" -gt 0; and not test -f "$used_files[1]"
set used_count 0
end
if test "$used_count" -gt "$MAX_USED_LIMIT"
# 计算需要跳过的行数 (保留最新的 N 张)
set -l skip_lines (math "$MAX_USED_LIMIT" + 1)
# 列出所有文件按时间倒序(tp),取尾部(tail),删除(rm)
# 2>/dev/null 防止目录为空时报错
set -l files_to_delete (ls -tp "$USED_DIR"/*.jpg 2>/dev/null | tail -n +$skip_lines)
if test -n "$files_to_delete"
rm -- $files_to_delete
end
end
# 检查是否开启清理 Fastfetch 内部缓存
if test "$CLEAN_CACHE_MODE" = true
# 仅删除缩略图缓存,保留原图
rm -rf "$HOME/.cache/fastfetch/images"
end
else
# 失败提示语更改
echo "图片获取失败了,这次只能先显示默认的 Logo 啦 QAQ"
fastfetch $ARGS_FOR_FASTFETCH
end
end

View File

@ -0,0 +1,3 @@
function fnsfw
f --nsfw
end

View File

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
</match>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Adwaita Sans</family>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Adwaita Sans</family>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>JetBrains Mono</family>
<family>JetBrains Maple Mono</family>
<family>Adwaita Mono</family>
</prefer>
</alias>
</fontconfig>

View File

@ -0,0 +1,8 @@
[Libinput][2362][597][UNIW0001:00 093A:0255 Mouse]
PointerAccelerationProfile=1
[Libinput][2362][597][UNIW0001:00 093A:0255 Touchpad]
NaturalScroll=true
[Mouse]
cursorSize=30

View File

@ -0,0 +1,158 @@
[ColorEffects:Disabled]
ChangeSelectionColor=
Color=56,56,56
ColorAmount=0
ColorEffect=0
ContrastAmount=0.65
ContrastEffect=1
Enable=
IntensityAmount=0.1
IntensityEffect=2
[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0
[Colors:Button]
BackgroundAlternate=160,144,199
BackgroundNormal=252,252,252
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=112,125,138
ForegroundLink=91,67,145
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Complementary]
BackgroundAlternate=27,30,32
BackgroundNormal=42,46,50
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=161,169,177
ForegroundLink=202,196,220
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Header]
BackgroundAlternate=239,240,241
BackgroundNormal=222,224,226
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=112,125,138
ForegroundLink=91,67,145
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Header][Inactive]
BackgroundAlternate=227,229,231
BackgroundNormal=239,240,241
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Selection]
BackgroundAlternate=161,145,200
BackgroundNormal=161,145,200
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=0,0,0
ForegroundLink=91,67,145
ForegroundNegative=176,55,69
ForegroundNeutral=198,92,0
ForegroundNormal=0,0,0
ForegroundPositive=23,104,57
ForegroundVisited=155,89,182
[Colors:Tooltip]
BackgroundAlternate=239,240,241
BackgroundNormal=247,247,247
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=112,125,138
ForegroundLink=91,67,145
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:View]
BackgroundAlternate=247,247,247
BackgroundNormal=255,255,255
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=112,125,138
ForegroundLink=91,67,145
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Window]
BackgroundAlternate=227,229,231
BackgroundNormal=239,240,241
DecorationFocus=121,99,177
DecorationHover=121,99,177
ForegroundActive=121,99,177
ForegroundInactive=112,125,138
ForegroundLink=91,67,145
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[General]
AccentColor=121,99,177
ColorSchemeHash=9f63c7711a13123582e720791ea0f8c0172977d2
UseSystemBell=true
XftHintStyle=hintslight
XftSubPixel=none
accentColorFromWallpaper=true
font=Adwaita Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
menuFont=Adwaita Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
smallestReadableFont=Adwaita Sans,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
toolBarFont=Adwaita Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
[KDE]
contrast=4
frameContrast=0.2
[WM]
activeBackground=227,229,231
activeBlend=227,229,231
activeFont=Adwaita Sans,11,-1,5,700,0,0,0,0,0,0,0,0,0,0,1,Bold
activeForeground=35,38,41
inactiveBackground=239,240,241
inactiveBlend=239,240,241
inactiveForeground=112,125,138

View File

@ -0,0 +1,261 @@
[ActivityManager]
_k_friendly_name=活动管理器
switch-to-activity-07bb86c0-791a-4e9f-af74-03bfbe9f11fd=none,none,切换到活动“Default”
[KDE Keyboard Layout Switcher]
Switch keyboard layout to 英语(美国)=none,none,切换键盘布局为 英语(美国)
Switch to Last-Used Keyboard Layout=Meta+Alt+L,Meta+Alt+L,切换到上次使用过的键盘布局
Switch to Next Keyboard Layout=Meta+Alt+K,Meta+Alt+K,切换到下一个键盘布局
_k_friendly_name=键盘布局切换器
[kaccess]
Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,切换屏幕阅读器开关
_k_friendly_name=无障碍辅助
[kmix]
_k_friendly_name=音量
decrease_microphone_volume=Microphone Volume Down,Microphone Volume Down,降低麦克风音量
decrease_volume=Volume Down,Volume Down,降低音量
decrease_volume_small=Shift+Volume Down,Shift+Volume Down,音量降低 1%
increase_microphone_volume=Microphone Volume Up,Microphone Volume Up,提高麦克风音量
increase_volume=Volume Up,Volume Up,提高音量
increase_volume_small=Shift+Volume Up,Shift+Volume Up,音量提高 1%
mic_mute=Microphone Mute\tMeta+Volume Mute,Microphone Mute\tMeta+Volume Mute,麦克风静音
mute=Volume Mute,Volume Mute,静音
[ksmserver]
Halt Without Confirmation=none,,关机 (无需确认)
Lock Session=Meta+L\tScreensaver,Meta+L\tScreensaver,锁定会话
Log Out=Ctrl+Alt+Del,Ctrl+Alt+Del,显示注销屏幕
Log Out Without Confirmation=none,,注销 (无需确认)
LogOut=none,,注销
Reboot=none,,重启
Reboot Without Confirmation=none,,重启 (无需确认)
Shut Down=none,,关机
_k_friendly_name=会话管理
[kwin]
Activate Window Demanding Attention=Meta+Ctrl+A,Meta+Ctrl+A,激活请求注意的窗口
Cycle Overview=none,none,循环显示桌面概览和网格视图
Cycle Overview Opposite=none,none,循环显示网格视图和桌面概览
Decrease Opacity=none,,降低活动窗口不透明度 5%
Edit Tiles=Meta+F9,Meta+T,磁贴编辑器开关
Expose=Ctrl+F9,Ctrl+F9,显示/隐藏窗口平铺 (当前桌面)
ExposeAll=Ctrl+F10\tLaunch (C),Ctrl+F10\tLaunch (C),显示/隐藏窗口平铺 (全部桌面)
ExposeClass=Ctrl+F7,Ctrl+F7,显示/隐藏窗口平铺 (窗口类)
ExposeClassCurrentDesktop=none,none,显示/隐藏窗口平铺 (当前桌面的窗口类)
Grid View=Meta+G,Meta+G,切换网格视图
Increase Opacity=none,,提高活动窗口不透明度 5%
Kill Window=Meta+Ctrl+Q\tMeta+Ctrl+Esc,Meta+Ctrl+Esc,强制终止窗口
Move Tablet to Next Output=none,none,移动数位板到下一个输出设备
MoveMouseToCenter=Meta+F6,Meta+F6,移动鼠标到中央
MoveMouseToFocus=Meta+F5,Meta+F5,移动鼠标到焦点
MoveZoomDown=none,none,将缩放区域向下移动
MoveZoomLeft=none,none,将缩放区域向左移动
MoveZoomRight=none,none,将缩放区域向右移动
MoveZoomUp=none,none,将缩放区域向上移动
Overview=Meta,Meta+W,显示/隐藏桌面总览
Setup Window Shortcut=none,,设置窗口快捷键
Show Desktop=Meta+M,Meta+D,暂时显示桌面
Switch One Desktop Down=Meta+Ctrl+Down,Meta+Ctrl+Down,切换到下方桌面
Switch One Desktop Up=Meta+Ctrl+Up,Meta+Ctrl+Up,切换到上方桌面
Switch One Desktop to the Left=Meta+Ctrl+Left,Meta+Ctrl+Left,切换到左侧桌面
Switch One Desktop to the Right=Meta+Ctrl+Right,Meta+Ctrl+Right,切换到右侧桌面
Switch Window Down=Meta+Alt+Down,Meta+Alt+Down,切换到下面的窗口
Switch Window Left=Meta+Alt+Left,Meta+Alt+Left,切换到左侧的窗口
Switch Window Right=Meta+Alt+Right,Meta+Alt+Right,切换到右侧的窗口
Switch Window Up=Meta+Alt+Up,Meta+Alt+Up,切换到上面的窗口
Switch to Desktop 1=Ctrl+F1,Ctrl+F1,切换到桌面 1
Switch to Desktop 10=none,,切换到桌面 10
Switch to Desktop 11=none,,切换到桌面 11
Switch to Desktop 12=none,,切换到桌面 12
Switch to Desktop 13=none,,切换到桌面 13
Switch to Desktop 14=none,,切换到桌面 14
Switch to Desktop 15=none,,切换到桌面 15
Switch to Desktop 16=none,,切换到桌面 16
Switch to Desktop 17=none,,切换到桌面 17
Switch to Desktop 18=none,,切换到桌面 18
Switch to Desktop 19=none,,切换到桌面 19
Switch to Desktop 2=Ctrl+F2,Ctrl+F2,切换到桌面 2
Switch to Desktop 20=none,,切换到桌面 20
Switch to Desktop 3=Ctrl+F3,Ctrl+F3,切换到桌面 3
Switch to Desktop 4=Ctrl+F4,Ctrl+F4,切换到桌面 4
Switch to Desktop 5=none,,切换到桌面 5
Switch to Desktop 6=none,,切换到桌面 6
Switch to Desktop 7=none,,切换到桌面 7
Switch to Desktop 8=none,,切换到桌面 8
Switch to Desktop 9=none,,切换到桌面 9
Switch to Next Desktop=none,,切换到下一桌面
Switch to Next Screen=none,,切换到下一屏幕
Switch to Previous Desktop=none,,切换到上一桌面
Switch to Previous Screen=none,,切换到上一屏幕
Switch to Screen 0=none,,切换到屏幕 0
Switch to Screen 1=none,,切换到屏幕 1
Switch to Screen 2=none,,切换到屏幕 2
Switch to Screen 3=none,,切换到屏幕 3
Switch to Screen 4=none,,切换到屏幕 4
Switch to Screen 5=none,,切换到屏幕 5
Switch to Screen 6=none,,切换到屏幕 6
Switch to Screen 7=none,,切换到屏幕 7
Switch to Screen Above=none,,切换到上方屏幕
Switch to Screen Below=none,,切换到下方屏幕
Switch to Screen to the Left=none,,切换到左侧屏幕
Switch to Screen to the Right=none,,切换到右侧屏幕
Toggle Night Color=none,none,暂停/继续夜间色温
Toggle Window Raise/Lower=none,,提升/降低窗口
Walk Through Windows=Alt+Tab,Meta+Tab\tAlt+Tab,遍历窗口
Walk Through Windows (Reverse)=Meta+Shift+Tab\tAlt+Shift+Tab,Meta+Shift+Tab\tAlt+Shift+Tab,遍历窗口 (反向)
Walk Through Windows Alternative=none,none,遍历窗口交替
Walk Through Windows Alternative (Reverse)=none,none,遍历窗口交替 (反向)
Walk Through Windows of Current Application=Meta+`\tAlt+`,Meta+`\tAlt+`,遍历当前应用程序窗口
Walk Through Windows of Current Application (Reverse)=Meta+~\tAlt+~,Meta+~\tAlt+~,遍历当前应用程序窗口 (反向)
Walk Through Windows of Current Application Alternative=none,none,遍历当前应用程序窗口交替
Walk Through Windows of Current Application Alternative (Reverse)=none,none,遍历当前应用程序窗口交替 (反向)
Window Above Other Windows=none,,窗口置顶
Window Below Other Windows=none,,窗口置底
Window Close=Alt+F4\tMeta+Q,Alt+F4,关闭窗口
Window Custom Quick Tile Bottom=Meta+S,,自定义快速铺放窗口到下方
Window Custom Quick Tile Left=Meta+A,,自定义快速铺放窗口到左侧
Window Custom Quick Tile Right=Meta+D,,自定义快速铺放窗口到右侧
Window Custom Quick Tile Top=Meta+W,,自定义快速铺放窗口到上方
Window Fullscreen=Meta+Alt+F,,全屏显示窗口
Window Grow Horizontal=none,,水平扩展窗口
Window Grow Vertical=none,,垂直扩展窗口
Window Lower=none,,降低窗口
Window Maximize=Meta+F\tMeta+PgUp,Meta+PgUp,最大化窗口
Window Maximize Horizontal=none,,水平最大化窗口
Window Maximize Vertical=none,,垂直最大化窗口
Window Minimize=Meta+H\tMeta+PgDown,Meta+PgDown,最小化窗口
Window Move=none,,移动窗口
Window Move Center=Meta+C,,移动窗口到中央
Window No Border=none,,显示/隐藏窗口标题栏和框架
Window On All Desktops=none,,在所有桌面上显示窗口
Window One Desktop Down=Meta+Ctrl+Shift+Down,Meta+Ctrl+Shift+Down,窗口下移一个桌面
Window One Desktop Up=Meta+Ctrl+Shift+Up,Meta+Ctrl+Shift+Up,窗口上移一个桌面
Window One Desktop to the Left=Meta+Ctrl+Shift+Left,Meta+Ctrl+Shift+Left,窗口左移一个桌面
Window One Desktop to the Right=Meta+Ctrl+Shift+Right,Meta+Ctrl+Shift+Right,窗口右移一个桌面
Window One Screen Down=none,,移动窗口到下方屏幕
Window One Screen Up=none,,移动窗口到上方屏幕
Window One Screen to the Left=none,,移动窗口到左侧屏幕
Window One Screen to the Right=none,,移动窗口到右侧屏幕
Window Operations Menu=Alt+F3,Alt+F3,窗口菜单
Window Pack Down=none,,下移窗口
Window Pack Left=none,,左移窗口
Window Pack Right=none,,右移窗口
Window Pack Up=none,,上移窗口
Window Quick Tile Bottom=Meta+Down,Meta+Down,快速铺放窗口到下方
Window Quick Tile Bottom Left=none,,快速铺放窗口到左下方
Window Quick Tile Bottom Right=none,,快速铺放窗口到右下方
Window Quick Tile Left=Meta+Left,Meta+Left,快速铺放窗口到左侧
Window Quick Tile Right=Meta+Right,Meta+Right,快速铺放窗口到右侧
Window Quick Tile Top=Meta+Up,Meta+Up,快速铺放窗口到上方
Window Quick Tile Top Left=none,,快速铺放窗口到左上方
Window Quick Tile Top Right=none,,快速铺放窗口到右上方
Window Raise=none,,提升窗口
Window Resize=none,,调整窗口大小
Window Shrink Horizontal=none,,水平缩小窗口
Window Shrink Vertical=none,,垂直缩小窗口
Window to Desktop 1=none,,窗口移动到桌面 1
Window to Desktop 10=none,,窗口移动到桌面 10
Window to Desktop 11=none,,窗口移动到桌面 11
Window to Desktop 12=none,,窗口移动到桌面 12
Window to Desktop 13=none,,窗口移动到桌面 13
Window to Desktop 14=none,,窗口移动到桌面 14
Window to Desktop 15=none,,窗口移动到桌面 15
Window to Desktop 16=none,,窗口移动到桌面 16
Window to Desktop 17=none,,窗口移动到桌面 17
Window to Desktop 18=none,,窗口移动到桌面 18
Window to Desktop 19=none,,窗口移动到桌面 19
Window to Desktop 2=none,,窗口移动到桌面 2
Window to Desktop 20=none,,窗口移动到桌面 20
Window to Desktop 3=none,,窗口移动到桌面 3
Window to Desktop 4=none,,窗口移动到桌面 4
Window to Desktop 5=none,,窗口移动到桌面 5
Window to Desktop 6=none,,窗口移动到桌面 6
Window to Desktop 7=none,,窗口移动到桌面 7
Window to Desktop 8=none,,窗口移动到桌面 8
Window to Desktop 9=none,,窗口移动到桌面 9
Window to Next Desktop=none,,窗口移动到下一桌面
Window to Next Screen=Meta+Shift+Right,Meta+Shift+Right,移动窗口到下一屏幕
Window to Previous Desktop=none,,窗口移动到上一桌面
Window to Previous Screen=Meta+Shift+Left,Meta+Shift+Left,移动窗口到上一屏幕
Window to Screen 0=none,,移动窗口到屏幕 0
Window to Screen 1=none,,移动窗口到屏幕 1
Window to Screen 2=none,,移动窗口到屏幕 2
Window to Screen 3=none,,移动窗口到屏幕 3
Window to Screen 4=none,,移动窗口到屏幕 4
Window to Screen 5=none,,移动窗口到屏幕 5
Window to Screen 6=none,,移动窗口到屏幕 6
Window to Screen 7=none,,移动窗口到屏幕 7
_k_friendly_name=KWin
disableInputCapture=Meta+Shift+Esc,Meta+Shift+Esc,禁用活动输入捕获
view_actual_size=Meta+0,Meta+0,缩放为实际大小(A)
view_zoom_in=Meta++\tMeta+=,Meta++\tMeta+=,放大(I)
view_zoom_out=Meta+-,Meta+-,缩小(O)
[mediacontrol]
_k_friendly_name=媒体控制器
mediavolumedown=none,,媒体音量降低
mediavolumeup=none,,媒体音量提高
nextmedia=Media Next,Media Next,播放下一首媒体
pausemedia=Media Pause,Media Pause,暂停媒体播放
playmedia=none,,播放媒体
playpausemedia=Media Play,Media Play,播放/暂停媒体播放
previousmedia=Media Previous,Media Previous,播放上一首媒体
stopmedia=Media Stop,Media Stop,停止媒体播放
[org_kde_powerdevil]
Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,降低键盘亮度
Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,降低屏幕亮度
Decrease Screen Brightness Small=Shift+Monitor Brightness Down,Shift+Monitor Brightness Down,降低屏幕亮度 1%
Hibernate=Hibernate,Hibernate,休眠
Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,提高键盘亮度
Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,提高屏幕亮度
Increase Screen Brightness Small=Shift+Monitor Brightness Up,Shift+Monitor Brightness Up,提高屏幕亮度 1%
PowerDown=Power Down,Power Down,断电
PowerOff=Power Off,Power Off,关机
Sleep=Sleep,Sleep,挂起
Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,开关键盘背光
Turn Off Screen=none,none,关闭屏幕
_k_friendly_name=电源管理
powerProfile=Battery,Battery\tMeta+B,切换电源管理方案
[plasmashell]
Slideshow Wallpaper Next Image=none,,下一张壁纸图像
_k_friendly_name=plasmashell
activate application launcher=Alt\tAlt+F1,Meta\tAlt+F1,激活应用程序启动器
activate task manager entry 1=Meta+1,Meta+1,激活任务管理器条目 1
activate task manager entry 10=none,,激活任务管理器条目 10
activate task manager entry 2=Meta+2,Meta+2,激活任务管理器条目 2
activate task manager entry 3=Meta+3,Meta+3,激活任务管理器条目 3
activate task manager entry 4=Meta+4,Meta+4,激活任务管理器条目 4
activate task manager entry 5=Meta+5,Meta+5,激活任务管理器条目 5
activate task manager entry 6=Meta+6,Meta+6,激活任务管理器条目 6
activate task manager entry 7=Meta+7,Meta+7,激活任务管理器条目 7
activate task manager entry 8=Meta+8,Meta+8,激活任务管理器条目 8
activate task manager entry 9=Meta+9,Meta+9,激活任务管理器条目 9
clear-history=none,,清除剪贴板历史(L)
clipboard_action=Meta+Ctrl+X,Meta+Ctrl+X,自动弹出操作菜单
cycle-panels=Meta+Alt+P,Meta+Alt+P,在面板之间移动键盘焦点
cycleNextAction=none,,下一条历史记录
cyclePrevAction=none,,上一条历史记录
edit_clipboard=none,,编辑内容(E)…
manage activities=none,Meta+Q,显示活动切换器
next activity=none,none,遍历活动
previous activity=Meta+Shift+A,none,遍历活动 (反向)
repeat_action=none,,在当前剪贴板上手动执行操作
show dashboard=Ctrl+F12,Ctrl+F12,显示桌面
show-barcode=none,,显示条形码(S)…
show-on-mouse-pos=Meta+V,Meta+V,在鼠标位置显示剪贴板项目
switch to next activity=none,,切换到下一个活动
switch to previous activity=none,,切换到上一个活动
toggle do not disturb=none,,切换勿扰模式
[services][firefox.desktop]
_launch=Meta+B
[services][org.kde.konsole.desktop]
_launch=Ctrl+Alt+T\tMeta+T
[services][org.kde.krunner.desktop]
RunClipboard=Alt+Shift+F2\tMeta+Z

View File

@ -0,0 +1,10 @@
MenuBar=Disabled
[Desktop Entry]
DefaultProfile=配置方案 1.profile
[General]
ConfigVersion=1
[UiSettings]
ColorScheme=

View File

@ -0,0 +1,2 @@
[General]
FreeFloating=true

View File

@ -0,0 +1,67 @@
[Desktops]
Id_1=f6df2954-14b9-49c8-a636-9555f57dfed7
Id_2=ab7beb6a-c92b-4a4d-9b70-5360ba5311e3
Number=2
Rows=1
[Effect-kwin4_effect_geometry_change]
Duration=500
[Effect-shakecursor]
Magnification=10
[Effect-translucency]
MoveResize=97
[Effect-wobblywindows]
AdvancedMode=true
Drag=70
MoveFactor=15
Stiffness=25
[MouseBindings]
CommandTitlebarWheel=Previous/Next Desktop
[Plugins]
desktopchangeosdEnabled=true
kwin4_effect_geometry_changeEnabled=true
translucencyEnabled=true
wobblywindowsEnabled=true
[Round-Corners]
ActiveOutlineUseCustom=false
ActiveOutlineUsePalette=true
ActiveSecondOutlineUseCustom=false
ActiveSecondOutlineUsePalette=true
DisableOutlineTile=false
DisableRoundTile=false
InactiveCornerRadius=8
InactiveOutlineThickness=0
InactiveOutlineUseCustom=false
InactiveOutlineUsePalette=true
InactiveSecondOutlineThickness=0
OutlineThickness=2
Size=8
[Script-desktopchangeosd]
PopupHideDelay=0
[Tiling]
padding=4
[Tiling][ab7beb6a-c92b-4a4d-9b70-5360ba5311e3][c7d12e0c-6522-4cee-ac2b-398fc73721d5]
tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]}
[Tiling][f6df2954-14b9-49c8-a636-9555f57dfed7][c7d12e0c-6522-4cee-ac2b-398fc73721d5]
tiles={"layoutDirection":"horizontal","tiles":[{"layoutDirection":"vertical","tiles":[{"height":0.5},{"height":0.5}],"width":0.39111111111111085},{"layoutDirection":"vertical","tiles":[{"height":0.5},{"height":0.5}],"width":0.400555555555556},{"layoutDirection":"vertical","tiles":[{"height":0.5},{"height":0.5}],"width":0.20833333333333315}]}
[Wayland]
InputMethod[$e]=/usr/share/applications/fcitx5-wayland-launcher.desktop
[Xwayland]
Scale=1.6
[org.kde.kdecoration2]
ButtonsOnLeft=MF
ButtonsOnRight=IAX
theme=Breeze 微风

View File

@ -0,0 +1,6 @@
[Layout]
LayoutList=us
VariantList=
DisplayNames=
Use=true

View File

@ -0,0 +1,7 @@
[Formats]
LANG=en_US.UTF-8
LC_MESSAGES=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
[Translations]
LANGUAGE=zh_CN:en_US

View File

@ -0,0 +1,204 @@
[ActionPlugins][0]
MiddleButton;NoModifier=org.kde.applauncher
RightButton;NoModifier=org.kde.contextmenu
wheel:Vertical;NoModifier=org.kde.switchdesktop
[ActionPlugins][0][MiddleButton;NoModifier]
showAppsByName=true
[ActionPlugins][0][RightButton;NoModifier]
_add panel=false
_context=true
_display_settings=true
_lock_screen=false
_logout=false
_open_terminal=false
_run_command=false
_sep1=true
_sep2=true
_sep3=true
_sep4=true
_wallpaper=true
add widgets=false
configure=true
configure shortcuts=false
desktop edit mode=true
manage activities=true
remove=true
[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu
[Containments][1]
ItemGeometries-1800x1125=
ItemGeometriesHorizontal=
activityId=07bb86c0-791a-4e9f-af74-03bfbe9f11fd
formfactor=0
immutability=1
lastScreen=0
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image
[Containments][1][ConfigDialog]
DialogHeight=630
DialogWidth=810
[Containments][2]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image
[Containments][2][Applets][21]
immutability=1
plugin=org.kde.plasma.digitalclock
[Containments][2][Applets][21][Configuration]
popupHeight=400
popupWidth=560
[Containments][2][Applets][21][Configuration][Appearance]
fontWeight=400
[Containments][2][Applets][25]
immutability=1
plugin=com.github.exequtic.apdatifier
[Containments][2][Applets][25][Configuration]
PreloadWeight=55
popupHeight=289
popupWidth=432
[Containments][2][Applets][25][Configuration][Upgrade]
terminal=/usr/bin/konsole
wrapper=yay
[Containments][2][Applets][26]
immutability=1
plugin=org.kde.plasma.panelspacer
[Containments][2][Applets][27]
immutability=1
plugin=org.kde.plasma.panelspacer
[Containments][2][Applets][3]
immutability=1
plugin=org.kde.plasma.kickoff
[Containments][2][Applets][3][Configuration]
PreloadWeight=100
popupHeight=518
popupWidth=647
[Containments][2][Applets][3][Configuration][General]
favoritesPortedToKAstats=true
[Containments][2][Applets][5]
immutability=1
plugin=org.kde.plasma.icontasks
[Containments][2][Applets][6]
immutability=1
plugin=org.kde.plasma.marginsseparator
[Containments][2][Applets][7]
activityId=
formfactor=0
immutability=1
lastScreen=-1
location=0
plugin=org.kde.plasma.systemtray
popupHeight=432
popupWidth=432
wallpaperplugin=org.kde.image
[Containments][2][Applets][7][Applets][10]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
[Containments][2][Applets][7][Applets][11]
immutability=1
plugin=org.kde.plasma.keyboardlayout
[Containments][2][Applets][7][Applets][12]
immutability=1
plugin=org.kde.plasma.vault
[Containments][2][Applets][7][Applets][13]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][2][Applets][7][Applets][13][Configuration]
PreloadWeight=55
[Containments][2][Applets][7][Applets][14]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][2][Applets][7][Applets][15]
immutability=1
plugin=org.kde.plasma.keyboardindicator
[Containments][2][Applets][7][Applets][16]
immutability=1
plugin=org.kde.plasma.weather
[Containments][2][Applets][7][Applets][17]
immutability=1
plugin=org.kde.kscreen
[Containments][2][Applets][7][Applets][18]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][2][Applets][7][Applets][19]
immutability=1
plugin=org.kde.plasma.volume
[Containments][2][Applets][7][Applets][19][Configuration][General]
migrated=true
[Containments][2][Applets][7][Applets][20]
immutability=1
plugin=org.kde.plasma.printmanager
[Containments][2][Applets][7][Applets][23]
immutability=1
plugin=org.kde.plasma.battery
[Containments][2][Applets][7][Applets][23][Configuration]
PreloadWeight=42
[Containments][2][Applets][7][Applets][24]
immutability=1
plugin=org.kde.plasma.brightness
[Containments][2][Applets][7][Applets][24][Configuration]
PreloadWeight=52
[Containments][2][Applets][7][Applets][8]
immutability=1
plugin=org.kde.plasma.cameraindicator
[Containments][2][Applets][7][Applets][9]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][2][Applets][7][ConfigDialog]
DialogHeight=630
DialogWidth=810
[Containments][2][Applets][7][General]
extraItems=org.kde.plasma.bluetooth,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.manage-inputmethod,org.kde.plasma.keyboardlayout,org.kde.plasma.vault,org.kde.plasma.devicenotifier,org.kde.plasma.mediacontroller,org.kde.plasma.notifications,org.kde.plasma.keyboardindicator,org.kde.plasma.weather,org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.brightness,org.kde.plasma.networkmanagement,org.kde.plasma.volume,org.kde.plasma.printmanager
knownItems=org.kde.plasma.bluetooth,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.manage-inputmethod,org.kde.plasma.keyboardlayout,org.kde.plasma.vault,org.kde.plasma.devicenotifier,org.kde.plasma.mediacontroller,org.kde.plasma.notifications,org.kde.plasma.keyboardindicator,org.kde.plasma.weather,org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.brightness,org.kde.plasma.networkmanagement,org.kde.plasma.volume,org.kde.plasma.printmanager
[Containments][2][General]
AppletOrder=25;26;3;6;5;27;7;21
[ScreenMapping]
itemsOnDisabledScreens=
screenMapping=

View File

@ -0,0 +1,2 @@
[Theme]
name=breeze-dark

View File

@ -0,0 +1,11 @@
[PlasmaViews][Panel 2]
floating=0
floatingApplets=1
panelOpacity=2
panelVisibility=2
[PlasmaViews][Panel 2][Defaults]
thickness=44
[Updates]
performed=/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/containmentactions_middlebutton.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_font_settings.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_showseconds_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_rename_timezonedisplay_key.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/folderview_fix_recursive_screenmapping.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_migrateiconsetting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_remove_shortcut.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/klipper_clear_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/maintain_existing_desktop_icon_sizes.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/mediaframe_migrate_useBackground_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/migrate_font_weights.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/move_desktop_layout_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/no_middle_click_paste_on_panels.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/systemloadviewer_systemmonitor.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/taskmanager_configUpdate_wheelEnabled.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/unlock_widgets.js

View File

@ -0,0 +1,187 @@
# 脚本功能:
# 从随机老婆图片生成 API 下载图片并使用 Fastfetch 展示。
# 特性:支持 NSFW 模式,支持自动补货,支持已用图片归档与自动清理。
# ================= 配置区域 =================
# [开关] 强力清理 Fastfetch 内部缓存
# true = 每次运行后清理 ~/.cache/fastfetch/images/ (防止转码缓存膨胀)
# false = 保留 Fastfetch 内部缓存
CLEAN_CACHE_MODE=true
# 每次补货下载多少张
DOWNLOAD_BATCH_SIZE=10
# 最大库存上限 (待展示区)
MAX_CACHE_LIMIT=100
# 库存少于多少张时开始补货
MIN_TRIGGER_LIMIT=60
# [新增] used 目录最大存放数量
# 超过此数量将按照时间顺序删除最旧的文件
MAX_USED_LIMIT=50
# ===========================================
# --- 0. 参数解析与模式设置 ---
NSFW_MODE=false
# 检查环境变量
if [ "$NSFW" = "1" ]; then
NSFW_MODE=true
fi
ARGS_FOR_FASTFETCH=()
for arg in "$@"; do
if [ "$arg" == "--nsfw" ]; then
NSFW_MODE=true
else
ARGS_FOR_FASTFETCH+=("$arg")
fi
done
# --- 1. 目录配置 ---
# 根据模式区分缓存目录和锁文件
if [ "$NSFW_MODE" = true ]; then
CACHE_DIR="$HOME/.cache/fastfetch_waifu_nsfw"
LOCK_FILE="/tmp/fastfetch_waifu_nsfw.lock"
else
CACHE_DIR="$HOME/.cache/fastfetch_waifu"
LOCK_FILE="/tmp/fastfetch_waifu.lock"
fi
# 定义已使用目录
USED_DIR="$CACHE_DIR/used"
mkdir -p "$CACHE_DIR"
mkdir -p "$USED_DIR"
# --- 2. 核心函数 ---
get_random_url() {
local TIMEOUT="--connect-timeout 5 --max-time 15"
RAND=$(( ( RANDOM % 3 ) + 1 ))
if [ "$NSFW_MODE" = true ]; then
# === NSFW API ===
case $RAND in
1) curl -s $TIMEOUT "https://api.waifu.im/search?included_tags=waifu&is_nsfw=true" | jq -r '.images[0].url' ;;
2) curl -s $TIMEOUT "https://api.waifu.pics/nsfw/waifu" | jq -r '.url' ;;
3) curl -s $TIMEOUT "https://api.waifu.pics/nsfw/neko" | jq -r '.url' ;;
esac
else
# === SFW (正常) API ===
case $RAND in
1) curl -s $TIMEOUT "https://api.waifu.im/search?included_tags=waifu&is_nsfw=false" | jq -r '.images[0].url' ;;
2) curl -s $TIMEOUT "https://nekos.best/api/v2/waifu" | jq -r '.results[0].url' ;;
3) curl -s $TIMEOUT "https://api.waifu.pics/sfw/waifu" | jq -r '.url' ;;
esac
fi
}
download_one_image() {
URL=$(get_random_url)
if [[ "$URL" =~ ^http ]]; then
# 使用带时间戳的随机文件名
FILENAME="waifu_$(date +%s%N)_$RANDOM.jpg"
TARGET_PATH="$CACHE_DIR/$FILENAME"
curl -s -L --connect-timeout 5 --max-time 15 -o "$TARGET_PATH" "$URL"
# 简单校验
if [ -s "$TARGET_PATH" ]; then
if command -v file >/dev/null 2>&1; then
if ! file --mime-type "$TARGET_PATH" | grep -q "image/"; then
rm -f "$TARGET_PATH"
fi
fi
else
rm -f "$TARGET_PATH"
fi
fi
}
background_job() {
(
flock -n 200 || exit 1
# 1. 补货检查
CURRENT_COUNT=$(find "$CACHE_DIR" -maxdepth 1 -name "*.jpg" 2>/dev/null | wc -l)
if [ "$CURRENT_COUNT" -lt "$MIN_TRIGGER_LIMIT" ]; then
for ((i=1; i<=DOWNLOAD_BATCH_SIZE; i++)); do
download_one_image
sleep 0.5
done
fi
# 2. 清理过多库存
FINAL_COUNT=$(find "$CACHE_DIR" -maxdepth 1 -name "*.jpg" 2>/dev/null | wc -l)
if [ "$FINAL_COUNT" -gt "$MAX_CACHE_LIMIT" ]; then
DELETE_START_LINE=$((MAX_CACHE_LIMIT + 1))
ls -tp "$CACHE_DIR"/*.jpg 2>/dev/null | tail -n +$DELETE_START_LINE | xargs -I {} rm -- "{}"
fi
) 200>"$LOCK_FILE"
}
# --- 3. 主程序逻辑 ---
shopt -s nullglob
FILES=("$CACHE_DIR"/*.jpg)
NUM_FILES=${#FILES[@]}
shopt -u nullglob
SELECTED_IMG=""
if [ "$NUM_FILES" -gt 0 ]; then
# 有库存,随机选一张
RAND_INDEX=$(( RANDOM % NUM_FILES ))
SELECTED_IMG="${FILES[$RAND_INDEX]}"
# 后台补货
background_job >/dev/null 2>&1 &
else
# 没库存,提示语更改
echo "库存不够啦!正在去搬运新的图片,请稍等哦..."
download_one_image
shopt -s nullglob
FILES=("$CACHE_DIR"/*.jpg)
shopt -u nullglob
if [ ${#FILES[@]} -gt 0 ]; then
SELECTED_IMG="${FILES[0]}"
background_job >/dev/null 2>&1 &
fi
fi
# 运行 Fastfetch
if [ -n "$SELECTED_IMG" ] && [ -f "$SELECTED_IMG" ]; then
# 显示图片
fastfetch --logo "$SELECTED_IMG" --logo-preserve-aspect-ratio true "${ARGS_FOR_FASTFETCH[@]}"
# === 新增逻辑:移动到 used 目录 ===
mv "$SELECTED_IMG" "$USED_DIR/"
# === 新增逻辑:检查 used 目录数量并清理 ===
USED_COUNT=$(find "$USED_DIR" -maxdepth 1 -name "*.jpg" 2>/dev/null | wc -l)
if [ "$USED_COUNT" -gt "$MAX_USED_LIMIT" ]; then
# 计算需要保留的文件行数 (跳过最新的 MAX_USED_LIMIT 个)
SKIP_LINES=$((MAX_USED_LIMIT + 1))
# ls -tp 按时间倒序排列(新->旧)tail 取出旧文件xargs 删除
ls -tp "$USED_DIR"/*.jpg 2>/dev/null | tail -n +$SKIP_LINES | xargs -I {} rm -- "{}"
fi
# 检查是否开启清理 Fastfetch 内部缓存 (仅清理缩略图缓存,不删原图)
if [ "$CLEAN_CACHE_MODE" = true ]; then
rm -rf "$HOME/.cache/fastfetch/images"
fi
else
# 失败提示语更改
echo "呜呜... 图片下载失败了,这次只能先显示默认的 Logo 啦 QAQ"
fastfetch "${ARGS_FOR_FASTFETCH[@]}"
fi

View File

@ -0,0 +1,9 @@
[General]
autoSaveImage=true
clipboardGroup=PostScreenshotCopyImage
[ImageSave]
translatedScreenshotsFolder=屏幕截图
[VideoSave]
translatedScreencastsFolder=屏幕录像

View File

@ -0,0 +1,181 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = """
[](color_orange)\
$os\
$username\
[](bg:color_yellow fg:color_orange)\
$directory\
[](fg:color_yellow bg:color_aqua)\
$git_branch\
$git_status\
[](fg:color_aqua bg:color_blue)\
$c\
$cpp\
$rust\
$golang\
$nodejs\
$php\
$java\
$kotlin\
$haskell\
$python\
[](fg:color_blue bg:color_bg3)\
$docker_context\
$conda\
$pixi\
[](fg:color_bg3 bg:color_bg1)\
$time\
[ ](fg:color_bg1)\
$line_break$character"""
palette = 'colors'
[palettes.colors]
mustard = '#af8700'
color_orange = '#feb0d3'
color_fg0 = '#521d3a'
color_fg1 = '#eedfe3'
color_purple = '#ffdbc7'
color_bg3 = '#e0bdcb'
color_green = '#521d3a'
color_bg1 = '#59404b'
color_blue = '#40373a'
color_red = '#feb0d3'
color_aqua = '#fdd9e7'
color_yellow = '#f2bb99'
[os]
disabled = false
style = "bg:color_orange fg:color_fg0"
[os.symbols]
Windows = "󰍲"
Ubuntu = "󰕈"
SUSE = ""
Raspbian = "󰐿"
Mint = "󰣭"
Macos = "󰀵"
Manjaro = ""
Linux = "󰌽"
Gentoo = "󰣨"
Fedora = "󰣛"
Alpine = ""
Amazon = ""
Android = ""
Arch = "󰣇"
Artix = "󰣇"
EndeavourOS = ""
CentOS = ""
Debian = "󰣚"
Redhat = "󱄛"
RedHatEnterprise = "󱄛"
Pop = ""
[username]
show_always = true
style_user = "bg:color_orange fg:color_fg0"
style_root = "bg:color_orange fg:color_fg0"
format = '[ $user ]($style)'
[directory]
style = "fg:color_fg0 bg:color_yellow"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = "󰝚 "
"Pictures" = " "
"Developer" = "󰲋 "
[git_branch]
symbol = ""
style = "bg:color_aqua"
format = '[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)'
[git_status]
style = "bg:color_aqua"
format = '[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)'
[nodejs]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[c]
symbol = " "
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[cpp]
symbol = " "
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[rust]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[golang]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[php]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[java]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[kotlin]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg1 bg:color_blue)]($style)'
[haskell]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[python]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[docker_context]
symbol = ""
style = "bg:color_bg3"
format = '[[ $symbol( $context) ](fg:#83a598 bg:color_bg3)]($style)'
[conda]
style = "bg:color_bg3"
format = '[[ $symbol( $environment) ](fg:#83a598 bg:color_bg3)]($style)'
[pixi]
style = "bg:color_bg3"
format = '[[ $symbol( $version)( $environment) ](fg:color_fg0 bg:color_bg3)]($style)'
[time]
disabled = false
time_format = "%R"
style = "bg:color_bg1"
format = '[[  $time ](fg:color_fg1 bg:color_bg1)]($style)'
[line_break]
disabled = false
[character]
disabled = false
success_symbol = '[](bold fg:color_green)'
error_symbol = '[](bold fg:color_red)'
vimcmd_symbol = '[](bold fg:color_green)'
vimcmd_replace_one_symbol = '[](bold fg:color_purple)'
vimcmd_replace_symbol = '[](bold fg:color_purple)'
vimcmd_visual_symbol = '[](bold fg:color_yellow)'