This commit is contained in:
Dmitri 2025-07-31 12:06:26 +02:00
parent 36d4449406
commit 6905eec8d2
Signed by: kanopo
GPG Key ID: 759ADD40E3132AC7
18 changed files with 3408 additions and 414 deletions

1
.zshrc
View File

@ -44,6 +44,7 @@ alias space="du -hsx * | sort -rh | head -10"
# Enable GPG support # Enable GPG support
export GPG_TTY=$(tty) export GPG_TTY=$(tty)
export PATH="/home/user/.bun/bin:$PATH" export PATH="/home/user/.bun/bin:$PATH"
export EDITOR="nvim"
# set -o vi # set -o vi
# bindkey "^A" vi-beginning-of-line # bindkey "^A" vi-beginning-of-line

View File

@ -1,254 +0,0 @@
# ~/.config/hypr/hyprland.conf
# Hyprland Configuration - Converted from Sway
################
### MONITORS ###
################
monitor=,2256x1504@60,0x0,1
###################
### MY PROGRAMS ###
###################
$terminal = foot
$fileManager = nautilus
$menu = wofi -S drun -p Search -I -i -b
#################
### AUTOSTART ###
#################
exec-once = waybar
exec-once = swaybg -i ~/Nextcloud/wallpapers/laptop/hiroishi_nagasai.png -m fill
exec-once = mako
exec-once = keepassxc
exec-once = nextcloud
exec-once = wlsunset -S 08:00 -s 18:00
exec-once = blueman-applet
exec-once = nm-applet --indicator
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
# exec-once = swayidle -w
exec-once = swayidle -w \
timeout 300 'swaylock -f' \
timeout 600 'hyprctl dispatch dpms off' \
resume 'hyprctl dispatch dpms on' \
before-sleep 'swaylock -f' \
lock 'swaylock -f' \
event lid:on 'bash ~/.config/hypr/scripts/lid_suspend.sh'
#############################
### ENVIRONMENT VARIABLES ###
#############################
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
#####################
### LOOK AND FEEL ###
#####################
general {
gaps_in = 5
gaps_out = 3
border_size = 1
col.active_border = rgba(d65d0eee)
col.inactive_border = rgba(282828aa)
resize_on_border = false
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 5
active_opacity = 1.0
inactive_opacity = 0.9
shadow {
enabled = false
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = false
size = 3
passes = 1
vibrancy = 0.1696
}
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
pseudotile = true
preserve_split = true
}
master {
new_status = master
}
misc {
force_default_wallpaper = -1
disable_hyprland_logo = true
}
#############
### INPUT ###
#############
input {
kb_layout = us
follow_mouse = 1
sensitivity = 0
touchpad {
natural_scroll = true
disable_while_typing = true
tap-to-click = true
middle_button_emulation = true
}
}
gestures {
workspace_swipe = true
}
###################
### KEYBINDINGS ###
###################
$mainMod = SUPER
# Basic binds
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod SHIFT, Q, killactive
bind = $mainMod, M, exit
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating
bind = $mainMod, D, exec, $menu
bind = $mainMod, P, pseudo
bind = $mainMod, J, togglesplit
bind = $mainMod, F, fullscreen
bind = $mainMod SHIFT, C, exec, hyprctl reload
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Move focus with mainMod + hjkl
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
# Move windows
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Scratchpad
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Audio and brightness controls
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = , XF86MonBrightnessUp, exec, brightnessctl set 10%+
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
# Media controls
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# Screenshots
bind = , Print, exec, grimshot copy output
bind = $mainMod, Print, exec, grimshot copy area
# Screen recording
bind = $mainMod, XF86AudioMedia, exec, pkill wf-recorder || wf-recorder --audio --file ~/Videos/$(date +'%Y-%m-%d-%H-%M-%S').mp4
##############################
### WINDOWS AND WORKSPACES ###
##############################
# Window rules
windowrule = suppressevent maximize, class:.*
windowrule = float, class:^(blueman-manager)$
windowrule = size 40% 30%, class:^(blueman-manager)$
windowrule = float, class:^(org.keepassxc.KeePassXC)$
windowrule = size 70% 60%, class:^(org.keepassxc.KeePassXC)$
windowrule = float, class:^(pavucontrol)$
windowrule = size 60% 50%, class:^(pavucontrol)$
windowrule = float, title:^(Picture-in-Picture)$
windowrule = pin, title:^(Picture-in-Picture)$
$laptop = eDP-1
# Quando il coperchio viene chiuso:
# bindl=,switch:lid:on,exec,bash -c "if [[ $(hyprctl monitors | grep -c 'Monitor') == 1 ]]; then systemctl suspend; fi"
bindl=,switch:on:Lid,exec,bash -c "if [[ $(hyprctl monitors | grep -c 'Monitor') == 1 ]]; then systemctl suspend; fi"
# Quando il coperchio viene aperto:
# bindl=,switch:lid:off,exec,hyprctl keyword output "$laptop, enable"
bindl=,switch:off:Lid,exec,hyprctl keyword output "$laptop, enable"
# # lid closed
# bindl = , switch:on:Lid Switch, exec, hyprctl dispatch dpms off
# bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on

View File

@ -1,17 +0,0 @@
#!/bin/bash
# ~/.config/hypr/scripts/lid_suspend.sh
# Script per sospendere il sistema alla chiusura del coperchio,
# mettendo prima in pausa la riproduzione multimediale.
# Controlla se è collegato un solo monitor (quello del laptop).
if [[ $(hyprctl monitors | grep -c 'Monitor') -eq 1 ]]; then
# Controlla se playerctl è installato e se c'è qualcosa in riproduzione.
# Se sì, mette in pausa tutti i lettori multimediali compatibili
# (es. Spotify, browser, VLC, etc.).
if command -v playerctl &> /dev/null && playerctl status &> /dev/null; then
playerctl --all pause
fi
# Sospende il sistema.
systemctl suspend
fi

View File

@ -8,8 +8,7 @@ save-position-on-quit=yes
keep-open=yes keep-open=yes
# Set default volume to 70% # Set default volume to 70%
volume=70 volume=100
# ----------------- # -----------------
# VIDEO & PERFORMANCE # VIDEO & PERFORMANCE

View File

@ -216,6 +216,8 @@ bindsym XF86AudioPrev exec playerctl previous
### Screenshot e Registrazione Schermo ### Screenshot e Registrazione Schermo
bindsym Print exec grimshot --notify copy output bindsym Print exec grimshot --notify copy output
bindsym $mod+Print exec grimshot --notify copy area bindsym $mod+Print exec grimshot --notify copy area
bindsym $mod+P exec grimshot --notify copy output
bindsym $mod+Shift+P exec grimshot --notify copy area
bindsym $mod+XF86AudioMedia exec --no-startup-id \ bindsym $mod+XF86AudioMedia exec --no-startup-id \
(pgrep -x wf-recorder > /dev/null && killall -s SIGINT wf-recorder && notify-send "Recording Stopped") || \ (pgrep -x wf-recorder > /dev/null && killall -s SIGINT wf-recorder && notify-send "Recording Stopped") || \

View File

@ -1,138 +1,115 @@
// -*- mode: jsonc -*- // -*- mode: jsonc -*-
{ {
"height": 30, // Waybar height (to be removed for auto height) "height": 34, // Waybar height (to be removed for auto height)
"modules-left": [ "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"hyprland/workspaces", "modules-center": ["clock"],
"sway/workspaces", "modules-right": [
"sway/mode", "idle_inhibitor",
"sway/scratchpad" "pulseaudio",
], "power-profiles-daemon",
"modules-center": [ "cpu",
// "sway/window" "memory",
"clock" "temperature",
], "backlight",
"modules-right": [ "battery",
"idle_inhibitor", "tray",
"pulseaudio", ],
//"network", "sway/mode": {
"power-profiles-daemon", "format": "<span style=\"italic\">{}</span>",
// "cpu", },
// "memory", "sway/scratchpad": {
"temperature", "format": "{icon} {count}",
"backlight", "show-empty": false,
// "keyboard-state", "format-icons": ["", ""],
// "sway/language", "tooltip": true,
"battery", "tooltip-format": "{app}: {title}",
"battery#bat2", },
// "clock", "idle_inhibitor": {
"tray" "format": "{icon}",
// "custom/power" "format-icons": {
], "activated": "",
"deactivated": "",
"hyprland/workspaces": {
"format": "{icon}",
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1"
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
}, },
"sway/scratchpad": { },
"format": "{icon} {count}", "tray": {
"show-empty": false, "spacing": 10,
"format-icons": ["", ""], },
"tooltip": true, "clock": {
"tooltip-format": "{app}: {title}" "timezone": "Europe/Rome",
"format": "{:%H:%M %d-%m-%Y}",
},
"cpu": {
"format": "{usage}% ",
"tooltip": false,
},
"memory": {
"format": "{}% ",
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""],
},
"backlight": {
"device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""],
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15,
}, },
"idle_inhibitor": { "format": "{capacity}% {icon}",
"format": "{icon}", "format-full": "{capacity}% {icon}",
"format-icons": { "format-charging": "{capacity}% ",
"activated": "", "format-plugged": "{capacity}% ",
"deactivated": "" "format-alt": "{time} {icon}",
} // "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""],
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": "",
}, },
"tray": { },
"spacing": 10 "network": {
}, // "interface": "wlp2*", // (Optional) To force the use of this interface
"clock": { "format-wifi": "{essid} ({signalStrength}%) ",
"timezone": "Europe/Rome", "format-ethernet": "{ipaddr}/{cidr} ",
"format": "{:%H:%M %d-%m-%Y}" "tooltip-format": "{ifname} via {gwaddr} ",
}, "format-linked": "{ifname} (No IP) ",
"cpu": { "format-disconnected": "Disconnected ⚠",
"format": "{usage}% ", "format-alt": "{ifname}: {ipaddr}/{cidr}",
"tooltip": false },
}, "pulseaudio": {
"memory": { // "scroll-step": 1, // %, can be a float
"format": "{}% " "format": "{volume}% {icon} {format_source}",
}, "format-bluetooth": "{volume}% {icon} {format_source}",
"temperature": { "format-bluetooth-muted": " {icon} {format_source}",
// "thermal-zone": 2, "format-muted": " {format_source}",
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", "format-source": "{volume}% ",
"critical-threshold": 80, "format-source-muted": "",
// "format-critical": "{temperatureC}°C {icon}", "format-icons": {
"format": "{temperatureC}°C {icon}", "headphone": "",
"format-icons": ["", "", ""] "hands-free": "",
}, "headset": "",
"backlight": { "phone": "",
"device": "acpi_video1", "portable": "",
"format": "{percent}% {icon}", "car": "",
"format-icons": ["", "", "", "", "", "", "", "", ""] "default": ["", "", ""],
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
}, },
"on-click": "pavucontrol",
},
} }

View File

@ -1,7 +1,6 @@
* { * {
font-family: "Iosevka Nerd Font"; font-family: "Iosevka Nerd Font", "Font Awesome 6 Free", "monospace";
font-size: 16px; font-size: 16px;
} }
@define-color background #282828; @define-color background #282828;
@ -22,27 +21,23 @@ window#waybar {
color: @foreground; color: @foreground;
} }
.modules-left { .modules-left {
background-color: @background; background-color: @background;
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
#custom-scratch { #custom-scratch {
background-color: @background; background-color: @background;
color: #b8b8b8; color: #b8b8b8;
padding: 0px 9px 0px 9px; padding: 0px 9px 0px 9px;
} }
#workspaces button { #workspaces button {
border-radius: 0px; border-radius: 0px;
color: @foreground; color: @foreground;
} }
#workspaces button.focused { #workspaces button.focused {
background-color: @orange; background-color: @orange;
color: @foreground; color: @foreground;
@ -75,8 +70,6 @@ window#waybar {
padding: 0 20px; padding: 0 20px;
} }
#battery.critical { #battery.critical {
color: @red; color: @red;
} }
@ -85,7 +78,6 @@ window#waybar {
color: @green; color: @green;
} }
#network.disconnected { #network.disconnected {
color: @red; color: @red;
} }

View File

@ -0,0 +1,22 @@
MIT License
Copyright (c) 2024 Ben Yip
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Subhaditya Nath
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,32 @@
<div align="center">
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
</div>
<h3 align="center">
Gruvbox Dark Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```bash
ya pack -a bennyyip/gruvbox-dark
```
## ⚙️ Usage
Add the these lines to your `theme.toml` configuration file to use it:
```toml
[flavor]
dark = "gruvbox-dark"
```
## 📜 License
The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.

View File

@ -0,0 +1,153 @@
# vim:fileencoding=utf-8:foldmethod=marker
# : Manager {{{
[manager]
cwd = { fg = "#83a598" }
# Hovered
hovered = { reversed = true, bold = true }
# hovered = { bg = "#3c3836", bold = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#b8bb26", italic = true }
find_position = { fg = "#fe8019", bg = "reset", italic = true }
# Marker
marker_copied = { fg = "#8ec07c", bg = "#8ec07c" }
marker_cut = { fg = "#d3869b", bg = "#d3869b" }
marker_marked = { fg = "#83a598", bg = "#83a598" }
marker_selected = { fg = "#fbf1c7", bg = "#fbf1c7" }
# Tab
tab_active = { fg = "#282828", bg = "#a89984" }
tab_inactive = { fg = "#a89984", bg = "#504945" }
tab_width = 1
# Count
count_copied = { fg = "#282828", bg = "#8ec07c" }
count_cut = { fg = "#282828", bg = "#d3869b" }
count_selected = { fg = "#282828", bg = "#fbf1c7" }
# Border
border_symbol = "│"
border_style = { fg = "#665c54" }
# : }}}
# : Mode {{{
[mode]
normal_main = { fg = "#282828", bg = "#a89984", bold = true }
normal_alt = { fg = "#a89984", bg = "#504945" }
select_main = { fg = "#282828", bg = "#fe8019", bold = true }
select_alt = { fg = "#a89984", bg = "#504945" }
unset_main = { fg = "#282828", bg = "#b8bb26", bold = true }
unset_alt = { fg = "#a89984", bg = "#504945" }
# : }}}
# : Status {{{
[status]
sep_left = { open = "\ue0be", close = "\ue0b8" }
sep_right = { open = "\ue0be", close = "\ue0b8" }
overall = { }
# Progress
progress_label = { fg = "#ebdbb2", bold = true }
progress_normal = { fg = "#504945", bg = "#3c3836" }
progress_error = { fg = "#fb4934", bg = "#3c3836" }
# Permissions
perm_type = { fg = "#504945" }
perm_read = { fg = "#b8bb26" }
perm_write = { fg = "#fb4934" }
perm_exec = { fg = "#b8bb26" }
perm_sep = { fg = "#665c54" }
# : }}}
# : Select {{{
[pick]
border = { fg = "#458588" }
active = { fg = "#d3869b", bold = true }
inactive = {}
# : }}}
# : Input {{{
[input]
border = { fg = "#ebdbb2" }
title = {}
value = {}
selected = { reversed = true }
# : }}}
# : Tasks {{{
[tasks]
border = { fg = "#504945" }
title = {}
hovered = { underline = true }
# : }}}
# : Which {{{
[which]
mask = { bg = "#3c3836" }
cand = { fg = "#83a598" }
rest = { fg = "#928374" }
desc = { fg = "#fe8019" }
separator = "  "
separator_style = { fg = "#504945" }
# : }}}
# : Help {{{
[help]
on = { fg = "#83a598" }
run = { fg = "#d3869b" }
hovered = { reversed = true, bold = true }
footer = { fg = "#3c3836", bg = "#a89984" }
# : }}}
# : Notify {{{
[notify]
title_info = { fg = "#8ec07c" }
title_warn = { fg = "#fbf1c7" }
title_error = { fg = "#d3869b" }
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#d3869b" },
# Media
{ mime = "{audio,video}/*", fg = "#fabd2f" },
# Archives
{ mime = "application/*zip", fg = "#fb4934" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#fb4934" },
# Documents
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#689d6a" },
# Fallback
{ name = "*", fg = "#ebdbb2" },
{ name = "*/", fg = "#83a598" },
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 MiB

File diff suppressed because it is too large Load Diff

368
yazi/keymap.toml Normal file
View File

@ -0,0 +1,368 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
[mgr]
keymap = [
{ on = "<Esc>", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" },
{ on = "<C-[>", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" },
{ on = "q", run = "quit", desc = "Quit the process" },
{ on = "Q", run = "quit --no-cwd-file", desc = "Quit without outputting cwd-file" },
{ on = "<C-c>", run = "close", desc = "Close the current tab, or quit if it's last" },
{ on = "<C-z>", run = "suspend", desc = "Suspend the process" },
# Hopping
{ on = "k", run = "arrow prev", desc = "Previous file" },
{ on = "j", run = "arrow next", desc = "Next file" },
{ on = "<Up>", run = "arrow prev", desc = "Previous file" },
{ on = "<Down>", run = "arrow next", desc = "Next file" },
{ on = "<C-u>", run = "arrow -50%", desc = "Move cursor up half page" },
{ on = "<C-d>", run = "arrow 50%", desc = "Move cursor down half page" },
{ on = "<C-b>", run = "arrow -100%", desc = "Move cursor up one page" },
{ on = "<C-f>", run = "arrow 100%", desc = "Move cursor down one page" },
{ on = "<S-PageUp>", run = "arrow -50%", desc = "Move cursor up half page" },
{ on = "<S-PageDown>", run = "arrow 50%", desc = "Move cursor down half page" },
{ on = "<PageUp>", run = "arrow -100%", desc = "Move cursor up one page" },
{ on = "<PageDown>", run = "arrow 100%", desc = "Move cursor down one page" },
{ on = [ "g", "g" ], run = "arrow top", desc = "Go to top" },
{ on = "G", run = "arrow bot", desc = "Go to bottom" },
# Navigation
{ on = "h", run = "leave", desc = "Back to the parent directory" },
{ on = "l", run = "enter", desc = "Enter the child directory" },
{ on = "<Left>", run = "leave", desc = "Back to the parent directory" },
{ on = "<Right>", run = "enter", desc = "Enter the child directory" },
{ on = "H", run = "back", desc = "Back to previous directory" },
{ on = "L", run = "forward", desc = "Forward to next directory" },
# Toggle
{ on = "<Space>", run = [ "toggle", "arrow next" ], desc = "Toggle the current selection state" },
{ on = "<C-a>", run = "toggle_all --state=on", desc = "Select all files" },
{ on = "<C-r>", run = "toggle_all", desc = "Invert selection of all files" },
# Visual mode
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
# Seeking
{ on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" },
{ on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" },
# Spotting
{ on = "<Tab>", run = "spot", desc = "Spot hovered file" },
# Operation
{ on = "o", run = "open", desc = "Open selected files" },
{ on = "O", run = "open --interactive", desc = "Open selected files interactively" },
{ on = "<Enter>", run = "open", desc = "Open selected files" },
{ on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" },
{ on = "y", run = "yank", desc = "Yank selected files (copy)" },
{ on = "x", run = "yank --cut", desc = "Yank selected files (cut)" },
{ on = "p", run = "paste", desc = "Paste yanked files" },
{ on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" },
{ on = "-", run = "link", desc = "Symlink the absolute path of yanked files" },
{ on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" },
{ on = "<C-->", run = "hardlink", desc = "Hardlink yanked files" },
{ on = "Y", run = "unyank", desc = "Cancel the yank status" },
{ on = "X", run = "unyank", desc = "Cancel the yank status" },
{ on = "d", run = "remove", desc = "Trash selected files" },
{ on = "D", run = "remove --permanently", desc = "Permanently delete selected files" },
{ on = "a", run = "create", desc = "Create a file (ends with / for directories)" },
{ on = "r", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" },
{ on = ";", run = "shell --interactive", desc = "Run a shell command" },
{ on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" },
{ on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
{ on = "s", run = "search --via=fd", desc = "Search files by name via fd" },
{ on = "S", run = "search --via=rg", desc = "Search files by content via ripgrep" },
{ on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" },
{ on = "z", run = "plugin fzf", desc = "Jump to a file/directory via fzf" },
{ on = "Z", run = "plugin zoxide", desc = "Jump to a directory via zoxide" },
# Linemode
{ on = [ "m", "s" ], run = "linemode size", desc = "Linemode: size" },
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Linemode: permissions" },
{ on = [ "m", "b" ], run = "linemode btime", desc = "Linemode: btime" },
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Linemode: mtime" },
{ on = [ "m", "o" ], run = "linemode owner", desc = "Linemode: owner" },
{ on = [ "m", "n" ], run = "linemode none", desc = "Linemode: none" },
# Copy
{ on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" },
{ on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" },
{ on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" },
{ on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" },
# Filter
{ on = "f", run = "filter --smart", desc = "Filter files" },
# Find
{ on = "/", run = "find --smart", desc = "Find next file" },
{ on = "?", run = "find --previous --smart", desc = "Find previous file" },
{ on = "n", run = "find_arrow", desc = "Next found" },
{ on = "N", run = "find_arrow --previous", desc = "Previous found" },
# Sorting
{ on = [ ",", "m" ], run = [ "sort mtime --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
{ on = [ ",", "M" ], run = [ "sort mtime --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
{ on = [ ",", "b" ], run = [ "sort btime --reverse=no", "linemode btime" ], desc = "Sort by birth time" },
{ on = [ ",", "B" ], run = [ "sort btime --reverse", "linemode btime" ], desc = "Sort by birth time (reverse)" },
{ on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" },
{ on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" },
{ on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" },
{ on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" },
{ on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" },
{ on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" },
{ on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" },
{ on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" },
{ on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" },
# Goto
{ on = [ "g", "h" ], run = "cd ~", desc = "Go home" },
{ on = [ "g", "c" ], run = "cd ~/.config", desc = "Go ~/.config" },
{ on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go ~/Downloads" },
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Jump interactively" },
{ on = [ "g", "f" ], run = "follow", desc = "Follow hovered symlink" },
# Tabs
{ on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" },
{ on = "1", run = "tab_switch 0", desc = "Switch to first tab" },
{ on = "2", run = "tab_switch 1", desc = "Switch to second tab" },
{ on = "3", run = "tab_switch 2", desc = "Switch to third tab" },
{ on = "4", run = "tab_switch 3", desc = "Switch to fourth tab" },
{ on = "5", run = "tab_switch 4", desc = "Switch to fifth tab" },
{ on = "6", run = "tab_switch 5", desc = "Switch to sixth tab" },
{ on = "7", run = "tab_switch 6", desc = "Switch to seventh tab" },
{ on = "8", run = "tab_switch 7", desc = "Switch to eighth tab" },
{ on = "9", run = "tab_switch 8", desc = "Switch to ninth tab" },
{ on = "[", run = "tab_switch -1 --relative", desc = "Switch to previous tab" },
{ on = "]", run = "tab_switch 1 --relative", desc = "Switch to next tab" },
{ on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" },
{ on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" },
# Tasks
{ on = "w", run = "tasks:show", desc = "Show task manager" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[tasks]
keymap = [
{ on = "<Esc>", run = "close", desc = "Close task manager" },
{ on = "<C-[>", run = "close", desc = "Close task manager" },
{ on = "<C-c>", run = "close", desc = "Close task manager" },
{ on = "w", run = "close", desc = "Close task manager" },
{ on = "k", run = "arrow prev", desc = "Previous task" },
{ on = "j", run = "arrow next", desc = "Next task" },
{ on = "<Up>", run = "arrow prev", desc = "Previous task" },
{ on = "<Down>", run = "arrow next", desc = "Next task" },
{ on = "<Enter>", run = "inspect", desc = "Inspect the task" },
{ on = "x", run = "cancel", desc = "Cancel the task" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[spot]
keymap = [
{ on = "<Esc>", run = "close", desc = "Close the spot" },
{ on = "<C-[>", run = "close", desc = "Close the spot" },
{ on = "<C-c>", run = "close", desc = "Close the spot" },
{ on = "<Tab>", run = "close", desc = "Close the spot" },
{ on = "k", run = "arrow prev", desc = "Previous line" },
{ on = "j", run = "arrow next", desc = "Next line" },
{ on = "h", run = "swipe prev", desc = "Swipe to previous file" },
{ on = "l", run = "swipe next", desc = "Swipe to next file" },
{ on = "<Up>", run = "arrow prev", desc = "Previous line" },
{ on = "<Down>", run = "arrow next", desc = "Next line" },
{ on = "<Left>", run = "swipe prev", desc = "Swipe to previous file" },
{ on = "<Right>", run = "swipe next", desc = "Swipe to next file" },
# Copy
{ on = [ "c", "c" ], run = "copy cell", desc = "Copy selected cell" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[pick]
keymap = [
{ on = "<Esc>", run = "close", desc = "Cancel pick" },
{ on = "<C-[>", run = "close", desc = "Cancel pick" },
{ on = "<C-c>", run = "close", desc = "Cancel pick" },
{ on = "<Enter>", run = "close --submit", desc = "Submit the pick" },
{ on = "k", run = "arrow prev", desc = "Previous option" },
{ on = "j", run = "arrow next", desc = "Next option" },
{ on = "<Up>", run = "arrow prev", desc = "Previous option" },
{ on = "<Down>", run = "arrow next", desc = "Next option" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[input]
keymap = [
{ on = "<C-c>", run = "close", desc = "Cancel input" },
{ on = "<Enter>", run = "close --submit", desc = "Submit input" },
{ on = "<Esc>", run = "escape", desc = "Back to normal mode, or cancel input" },
{ on = "<C-[>", run = "escape", desc = "Back to normal mode, or cancel input" },
# Mode
{ on = "i", run = "insert", desc = "Enter insert mode" },
{ on = "I", run = [ "move first-char", "insert" ], desc = "Move to the BOL, and enter insert mode" },
{ on = "a", run = "insert --append", desc = "Enter append mode" },
{ on = "A", run = [ "move eol", "insert --append" ], desc = "Move to the EOL, and enter append mode" },
{ on = "v", run = "visual", desc = "Enter visual mode" },
{ on = "r", run = "replace", desc = "Replace a single character" },
# Selection
{ on = "V", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" },
{ on = "<C-A>", run = [ "move eol", "visual", "move bol" ], desc = "Select from EOL to BOL" },
{ on = "<C-E>", run = [ "move bol", "visual", "move eol" ], desc = "Select from BOL to EOL" },
# Character-wise movement
{ on = "h", run = "move -1", desc = "Move back a character" },
{ on = "l", run = "move 1", desc = "Move forward a character" },
{ on = "<Left>", run = "move -1", desc = "Move back a character" },
{ on = "<Right>", run = "move 1", desc = "Move forward a character" },
{ on = "<C-b>", run = "move -1", desc = "Move back a character" },
{ on = "<C-f>", run = "move 1", desc = "Move forward a character" },
# Word-wise movement
{ on = "b", run = "backward", desc = "Move back to the start of the current or previous word" },
{ on = "B", run = "backward --far", desc = "Move back to the start of the current or previous WORD" },
{ on = "w", run = "forward", desc = "Move forward to the start of the next word" },
{ on = "W", run = "forward --far", desc = "Move forward to the start of the next WORD" },
{ on = "e", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
{ on = "E", run = "forward --far --end-of-word", desc = "Move forward to the end of the current or next WORD" },
{ on = "<A-b>", run = "backward", desc = "Move back to the start of the current or previous word" },
{ on = "<A-f>", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
# Line-wise movement
{ on = "0", run = "move bol", desc = "Move to the BOL" },
{ on = "$", run = "move eol", desc = "Move to the EOL" },
{ on = "_", run = "move first-char", desc = "Move to the first non-whitespace character" },
{ on = "^", run = "move first-char", desc = "Move to the first non-whitespace character" },
{ on = "<C-a>", run = "move bol", desc = "Move to the BOL" },
{ on = "<C-e>", run = "move eol", desc = "Move to the EOL" },
{ on = "<Home>", run = "move bol", desc = "Move to the BOL" },
{ on = "<End>", run = "move eol", desc = "Move to the EOL" },
# Delete
{ on = "<Backspace>", run = "backspace", desc = "Delete the character before the cursor" },
{ on = "<Delete>", run = "backspace --under", desc = "Delete the character under the cursor" },
{ on = "<C-h>", run = "backspace", desc = "Delete the character before the cursor" },
{ on = "<C-d>", run = "backspace --under", desc = "Delete the character under the cursor" },
# Kill
{ on = "<C-u>", run = "kill bol", desc = "Kill backwards to the BOL" },
{ on = "<C-k>", run = "kill eol", desc = "Kill forwards to the EOL" },
{ on = "<C-w>", run = "kill backward", desc = "Kill backwards to the start of the current word" },
{ on = "<A-d>", run = "kill forward", desc = "Kill forwards to the end of the current word" },
# Cut/Yank/Paste
{ on = "d", run = "delete --cut", desc = "Cut selected characters" },
{ on = "D", run = [ "delete --cut", "move eol" ], desc = "Cut until EOL" },
{ on = "c", run = "delete --cut --insert", desc = "Cut selected characters, and enter insert mode" },
{ on = "C", run = [ "delete --cut --insert", "move eol" ], desc = "Cut until EOL, and enter insert mode" },
{ on = "s", run = [ "delete --cut --insert", "move 1" ], desc = "Cut current character, and enter insert mode" },
{ on = "S", run = [ "move bol", "delete --cut --insert", "move eol" ], desc = "Cut from BOL until EOL, and enter insert mode" },
{ on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut current character" },
{ on = "y", run = "yank", desc = "Copy selected characters" },
{ on = "p", run = "paste", desc = "Paste copied characters after the cursor" },
{ on = "P", run = "paste --before", desc = "Paste copied characters before the cursor" },
# Undo/Redo
{ on = "u", run = "undo", desc = "Undo the last operation" },
{ on = "<C-r>", run = "redo", desc = "Redo the last operation" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[confirm]
keymap = [
{ on = "<Esc>", run = "close", desc = "Cancel the confirm" },
{ on = "<C-[>", run = "close", desc = "Cancel the confirm" },
{ on = "<C-c>", run = "close", desc = "Cancel the confirm" },
{ on = "<Enter>", run = "close --submit", desc = "Submit the confirm" },
{ on = "n", run = "close", desc = "Cancel the confirm" },
{ on = "y", run = "close --submit", desc = "Submit the confirm" },
{ on = "k", run = "arrow prev", desc = "Previous line" },
{ on = "j", run = "arrow next", desc = "Next line" },
{ on = "<Up>", run = "arrow prev", desc = "Previous line" },
{ on = "<Down>", run = "arrow next", desc = "Next line" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[cmp]
keymap = [
{ on = "<C-c>", run = "close", desc = "Cancel completion" },
{ on = "<Tab>", run = "close --submit", desc = "Submit the completion" },
{ on = "<Enter>", run = [ "close --submit", "input:close --submit" ], desc = "Complete and submit the input" },
{ on = "<A-k>", run = "arrow prev", desc = "Previous item" },
{ on = "<A-j>", run = "arrow next", desc = "Next item" },
{ on = "<Up>", run = "arrow prev", desc = "Previous item" },
{ on = "<Down>", run = "arrow next", desc = "Next item" },
{ on = "<C-p>", run = "arrow prev", desc = "Previous item" },
{ on = "<C-n>", run = "arrow next", desc = "Next item" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[help]
keymap = [
{ on = "<Esc>", run = "escape", desc = "Clear the filter, or hide the help" },
{ on = "<C-[>", run = "escape", desc = "Clear the filter, or hide the help" },
{ on = "<C-c>", run = "close", desc = "Hide the help" },
# Navigation
{ on = "k", run = "arrow prev", desc = "Previous line" },
{ on = "j", run = "arrow next", desc = "Next line" },
{ on = "<Up>", run = "arrow prev", desc = "Previous line" },
{ on = "<Down>", run = "arrow next", desc = "Next line" },
# Filtering
{ on = "f", run = "filter", desc = "Filter help items" },
]

7
yazi/package.toml Normal file
View File

@ -0,0 +1,7 @@
[plugin]
deps = []
[[flavor.deps]]
use = "bennyyip/gruvbox-dark"
rev = "91fdfa7"
hash = "f48f510e5505f5d01e79c4f8257ec5cb"

958
yazi/theme.toml Normal file
View File

@ -0,0 +1,958 @@
# If the user's terminal is in dark mode, Yazi will load `theme-dark.toml` on startup; otherwise, `theme-light.toml`.
# You can override any parts of them that are not related to the dark/light mode in your own `theme.toml`.
# If you want to dynamically override their content based on dark/light mode, you can specify two different flavors
# for dark and light modes under `[flavor]`, and do so in those flavors instead.
# "$schema" = "https://yazi-rs.github.io/schemas/theme.json"
# vim:fileencoding=utf-8:foldmethod=marker
# : Flavor {{{
[flavor]
dark = "gruvbox-dark"
light = ""
# : }}}
# # : Manager {{{
#
# [mgr]
# cwd = { fg = "cyan" }
#
# # Hovered
# hovered = { reversed = true }
# preview_hovered = { underline = true }
#
# # Find
# find_keyword = { fg = "yellow", bold = true, italic = true, underline = true }
# find_position = { fg = "magenta", bg = "reset", bold = true, italic = true }
#
# # Symlink
# symlink_target = { italic = true }
#
# # Marker
# marker_copied = { fg = "lightgreen", bg = "lightgreen" }
# marker_cut = { fg = "lightred", bg = "lightred" }
# marker_marked = { fg = "lightcyan", bg = "lightcyan" }
# marker_selected = { fg = "lightyellow", bg = "lightyellow" }
#
# # Count
# count_copied = { fg = "white", bg = "green" }
# count_cut = { fg = "white", bg = "red" }
# count_selected = { fg = "white", bg = "yellow" }
#
# # Border
# border_symbol = "│"
# border_style = { fg = "gray" }
#
# # Highlighting
# syntect_theme = ""
#
# # : }}}
#
#
# # : Tabs {{{
#
# [tabs]
# active = { bg = "blue", bold = true }
# inactive = { fg = "blue", bg = "gray" }
#
# # Separator
# sep_inner = { open = "", close = "" }
# sep_outer = { open = "", close = "" }
#
# # : }}}
#
#
# # : Mode {{{
#
# [mode]
# normal_main = { bg = "blue", bold = true }
# normal_alt = { fg = "blue", bg = "gray" }
#
# # Select mode
# select_main = { bg = "red", bold = true }
# select_alt = { fg = "red", bg = "gray" }
#
# # Unset mode
# unset_main = { bg = "red", bold = true }
# unset_alt = { fg = "red", bg = "gray" }
#
# # : }}}
#
#
# # : Status bar {{{
#
# [status]
# overall = {}
# sep_left = { open = "", close = "" }
# sep_right = { open = "", close = "" }
#
# # Permissions
# perm_sep = { fg = "darkgray" }
# perm_type = { fg = "green" }
# perm_read = { fg = "yellow" }
# perm_write = { fg = "red" }
# perm_exec = { fg = "cyan" }
#
# # Progress
# progress_label = { bold = true }
# progress_normal = { fg = "blue", bg = "black" }
# progress_error = { fg = "red", bg = "black" }
#
# # : }}}
#
#
# # : Which {{{
#
# [which]
# cols = 3
# mask = { bg = "black" }
# cand = { fg = "lightcyan" }
# rest = { fg = "darkgray" }
# desc = { fg = "lightmagenta" }
# separator = "  "
# separator_style = { fg = "darkgray" }
#
# # : }}}
#
#
# # : Confirmation {{{
#
# [confirm]
# border = { fg = "blue" }
# title = { fg = "blue" }
# content = {}
# list = {}
# btn_yes = { reversed = true }
# btn_no = {}
# btn_labels = [ " [Y]es ", " (N)o " ]
#
# # : }}}
#
#
# # : Spotter {{{
#
# [spot]
# border = { fg = "blue" }
# title = { fg = "blue" }
#
# # Table
# tbl_col = { fg = "blue" }
# tbl_cell = { fg = "yellow", reversed = true }
#
# # : }}}
#
#
# # : Notification {{{
#
# [notify]
# title_info = { fg = "green" }
# title_warn = { fg = "yellow" }
# title_error = { fg = "red" }
#
# # Icons
# icon_info = ""
# icon_warn = ""
# icon_error = ""
#
# # : }}}
#
#
# # : Picker {{{
#
# [pick]
# border = { fg = "blue" }
# active = { fg = "magenta", bold = true }
# inactive = {}
#
# # : }}}
#
#
# # : Input {{{
#
# [input]
# border = { fg = "blue" }
# title = {}
# value = {}
# selected = { reversed = true }
#
# # : }}}
#
#
# # : Completion {{{
#
# [cmp]
# border = { fg = "blue" }
# active = { reversed = true }
# inactive = {}
#
# # Icons
# icon_file = ""
# icon_folder = ""
# icon_command = ""
#
# # : }}}
#
#
# # : Task manager {{{
#
# [tasks]
# border = { fg = "blue" }
# title = {}
# hovered = { fg = "magenta", underline = true }
#
# # : }}}
#
#
# # : Help menu {{{
#
# [help]
# on = { fg = "cyan" }
# run = { fg = "magenta" }
# desc = {}
# hovered = { reversed = true, bold = true }
# footer = { fg = "black", bg = "white" }
#
# # : }}}
#
#
# # : File-specific styles {{{
#
# [filetype]
# rules = [
# # Images
# { mime = "image/*", fg = "yellow" },
#
# # Media
# { mime = "{audio,video}/*", fg = "magenta" },
#
# # Archives
# { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "red" },
#
# # Documents
# { mime = "application/{pdf,doc,rtf}", fg = "cyan" },
#
# # Empty files
# # { mime = "inode/empty", fg = "red" },
#
# # Special files
# { name = "*", is = "orphan", bg = "red" },
# { name = "*", is = "exec" , fg = "green" },
#
# # Dummy files
# { name = "*", is = "dummy", bg = "red" },
# { name = "*/", is = "dummy", bg = "red" },
#
# # Fallback
# # { name = "*", fg = "white" },
# { name = "*/", fg = "blue" }
# ]
#
# # : }}}
#
#
# # : Icons {{{
#
# [icon]
# globs = []
# dirs = [
# { name = ".config", text = "" },
# { name = ".git", text = "" },
# { name = ".github", text = "" },
# { name = ".npm", text = "" },
# { name = "Desktop", text = "" },
# { name = "Development", text = "" },
# { name = "Documents", text = "" },
# { name = "Downloads", text = "" },
# { name = "Library", text = "" },
# { name = "Movies", text = "" },
# { name = "Music", text = "" },
# { name = "Pictures", text = "" },
# { name = "Public", text = "" },
# { name = "Videos", text = "" },
# ]
# files = [
# { name = ".babelrc", text = "", fg = "#cbcb41" },
# { name = ".bash_profile", text = "", fg = "#89e051" },
# { name = ".bashrc", text = "", fg = "#89e051" },
# { name = ".clang-format", text = "", fg = "#6d8086" },
# { name = ".clang-tidy", text = "", fg = "#6d8086" },
# { name = ".codespellrc", text = "󰓆", fg = "#35da60" },
# { name = ".condarc", text = "", fg = "#43b02a" },
# { name = ".dockerignore", text = "󰡨", fg = "#458ee6" },
# { name = ".ds_store", text = "", fg = "#41535b" },
# { name = ".editorconfig", text = "", fg = "#fff2f2" },
# { name = ".env", text = "", fg = "#faf743" },
# { name = ".eslintignore", text = "", fg = "#4b32c3" },
# { name = ".eslintrc", text = "", fg = "#4b32c3" },
# { name = ".git-blame-ignore-revs", text = "", fg = "#f54d27" },
# { name = ".gitattributes", text = "", fg = "#f54d27" },
# { name = ".gitconfig", text = "", fg = "#f54d27" },
# { name = ".gitignore", text = "", fg = "#f54d27" },
# { name = ".gitlab-ci.yml", text = "", fg = "#e24329" },
# { name = ".gitmodules", text = "", fg = "#f54d27" },
# { name = ".gtkrc-2.0", text = "", fg = "#ffffff" },
# { name = ".gvimrc", text = "", fg = "#019833" },
# { name = ".justfile", text = "", fg = "#6d8086" },
# { name = ".luacheckrc", text = "", fg = "#00a2ff" },
# { name = ".luaurc", text = "", fg = "#00a2ff" },
# { name = ".mailmap", text = "󰊢", fg = "#f54d27" },
# { name = ".nanorc", text = "", fg = "#440077" },
# { name = ".npmignore", text = "", fg = "#e8274b" },
# { name = ".npmrc", text = "", fg = "#e8274b" },
# { name = ".nuxtrc", text = "󱄆", fg = "#00c58e" },
# { name = ".nvmrc", text = "", fg = "#5fa04e" },
# { name = ".pre-commit-config.yaml", text = "󰛢", fg = "#f8b424" },
# { name = ".prettierignore", text = "", fg = "#4285f4" },
# { name = ".prettierrc", text = "", fg = "#4285f4" },
# { name = ".prettierrc.cjs", text = "", fg = "#4285f4" },
# { name = ".prettierrc.js", text = "", fg = "#4285f4" },
# { name = ".prettierrc.json", text = "", fg = "#4285f4" },
# { name = ".prettierrc.json5", text = "", fg = "#4285f4" },
# { name = ".prettierrc.mjs", text = "", fg = "#4285f4" },
# { name = ".prettierrc.toml", text = "", fg = "#4285f4" },
# { name = ".prettierrc.yaml", text = "", fg = "#4285f4" },
# { name = ".prettierrc.yml", text = "", fg = "#4285f4" },
# { name = ".pylintrc", text = "", fg = "#6d8086" },
# { name = ".settings.json", text = "", fg = "#854cc7" },
# { name = ".SRCINFO", text = "󰣇", fg = "#0f94d2" },
# { name = ".vimrc", text = "", fg = "#019833" },
# { name = ".Xauthority", text = "", fg = "#e54d18" },
# { name = ".xinitrc", text = "", fg = "#e54d18" },
# { name = ".Xresources", text = "", fg = "#e54d18" },
# { name = ".xsession", text = "", fg = "#e54d18" },
# { name = ".zprofile", text = "", fg = "#89e051" },
# { name = ".zshenv", text = "", fg = "#89e051" },
# { name = ".zshrc", text = "", fg = "#89e051" },
# { name = "_gvimrc", text = "", fg = "#019833" },
# { name = "_vimrc", text = "", fg = "#019833" },
# { name = "AUTHORS", text = "", fg = "#a172ff" },
# { name = "AUTHORS.txt", text = "", fg = "#a172ff" },
# { name = "brewfile", text = "", fg = "#701516" },
# { name = "bspwmrc", text = "", fg = "#2f2f2f" },
# { name = "build", text = "", fg = "#89e051" },
# { name = "build.gradle", text = "", fg = "#005f87" },
# { name = "build.zig.zon", text = "", fg = "#f69a1b" },
# { name = "bun.lock", text = "", fg = "#eadcd1" },
# { name = "bun.lockb", text = "", fg = "#eadcd1" },
# { name = "cantorrc", text = "", fg = "#1c99f3" },
# { name = "checkhealth", text = "󰓙", fg = "#75b4fb" },
# { name = "cmakelists.txt", text = "", fg = "#dce3eb" },
# { name = "code_of_conduct", text = "", fg = "#e41662" },
# { name = "code_of_conduct.md", text = "", fg = "#e41662" },
# { name = "commit_editmsg", text = "", fg = "#f54d27" },
# { name = "commitlint.config.js", text = "󰜘", fg = "#2b9689" },
# { name = "commitlint.config.ts", text = "󰜘", fg = "#2b9689" },
# { name = "compose.yaml", text = "󰡨", fg = "#458ee6" },
# { name = "compose.yml", text = "󰡨", fg = "#458ee6" },
# { name = "config", text = "", fg = "#6d8086" },
# { name = "containerfile", text = "󰡨", fg = "#458ee6" },
# { name = "copying", text = "", fg = "#cbcb41" },
# { name = "copying.lesser", text = "", fg = "#cbcb41" },
# { name = "Directory.Build.props", text = "", fg = "#00a2ff" },
# { name = "Directory.Build.targets", text = "", fg = "#00a2ff" },
# { name = "Directory.Packages.props", text = "", fg = "#00a2ff" },
# { name = "docker-compose.yaml", text = "󰡨", fg = "#458ee6" },
# { name = "docker-compose.yml", text = "󰡨", fg = "#458ee6" },
# { name = "dockerfile", text = "󰡨", fg = "#458ee6" },
# { name = "eslint.config.cjs", text = "", fg = "#4b32c3" },
# { name = "eslint.config.js", text = "", fg = "#4b32c3" },
# { name = "eslint.config.mjs", text = "", fg = "#4b32c3" },
# { name = "eslint.config.ts", text = "", fg = "#4b32c3" },
# { name = "ext_typoscript_setup.txt", text = "", fg = "#ff8700" },
# { name = "favicon.ico", text = "", fg = "#cbcb41" },
# { name = "fp-info-cache", text = "", fg = "#ffffff" },
# { name = "fp-lib-table", text = "", fg = "#ffffff" },
# { name = "FreeCAD.conf", text = "", fg = "#cb333b" },
# { name = "Gemfile", text = "", fg = "#701516" },
# { name = "gnumakefile", text = "", fg = "#6d8086" },
# { name = "go.mod", text = "", fg = "#00add8" },
# { name = "go.sum", text = "", fg = "#00add8" },
# { name = "go.work", text = "", fg = "#00add8" },
# { name = "gradle-wrapper.properties", text = "", fg = "#005f87" },
# { name = "gradle.properties", text = "", fg = "#005f87" },
# { name = "gradlew", text = "", fg = "#005f87" },
# { name = "groovy", text = "", fg = "#4a687c" },
# { name = "gruntfile.babel.js", text = "", fg = "#e37933" },
# { name = "gruntfile.coffee", text = "", fg = "#e37933" },
# { name = "gruntfile.js", text = "", fg = "#e37933" },
# { name = "gruntfile.ts", text = "", fg = "#e37933" },
# { name = "gtkrc", text = "", fg = "#ffffff" },
# { name = "gulpfile.babel.js", text = "", fg = "#cc3e44" },
# { name = "gulpfile.coffee", text = "", fg = "#cc3e44" },
# { name = "gulpfile.js", text = "", fg = "#cc3e44" },
# { name = "gulpfile.ts", text = "", fg = "#cc3e44" },
# { name = "hypridle.conf", text = "", fg = "#00aaae" },
# { name = "hyprland.conf", text = "", fg = "#00aaae" },
# { name = "hyprlandd.conf", text = "", fg = "#00aaae" },
# { name = "hyprlock.conf", text = "", fg = "#00aaae" },
# { name = "hyprpaper.conf", text = "", fg = "#00aaae" },
# { name = "i18n.config.js", text = "󰗊", fg = "#7986cb" },
# { name = "i18n.config.ts", text = "󰗊", fg = "#7986cb" },
# { name = "i3blocks.conf", text = "", fg = "#e8ebee" },
# { name = "i3status.conf", text = "", fg = "#e8ebee" },
# { name = "index.theme", text = "", fg = "#2db96f" },
# { name = "ionic.config.json", text = "", fg = "#4f8ff7" },
# { name = "justfile", text = "", fg = "#6d8086" },
# { name = "kalgebrarc", text = "", fg = "#1c99f3" },
# { name = "kdeglobals", text = "", fg = "#1c99f3" },
# { name = "kdenlive-layoutsrc", text = "", fg = "#83b8f2" },
# { name = "kdenliverc", text = "", fg = "#83b8f2" },
# { name = "kritadisplayrc", text = "", fg = "#f245fb" },
# { name = "kritarc", text = "", fg = "#f245fb" },
# { name = "license", text = "", fg = "#d0bf41" },
# { name = "license.md", text = "", fg = "#d0bf41" },
# { name = "lxde-rc.xml", text = "", fg = "#909090" },
# { name = "lxqt.conf", text = "", fg = "#0192d3" },
# { name = "makefile", text = "", fg = "#6d8086" },
# { name = "mix.lock", text = "", fg = "#a074c4" },
# { name = "mpv.conf", text = "", fg = "#3b1342" },
# { name = "node_modules", text = "", fg = "#e8274b" },
# { name = "nuxt.config.cjs", text = "󱄆", fg = "#00c58e" },
# { name = "nuxt.config.js", text = "󱄆", fg = "#00c58e" },
# { name = "nuxt.config.mjs", text = "󱄆", fg = "#00c58e" },
# { name = "nuxt.config.ts", text = "󱄆", fg = "#00c58e" },
# { name = "package-lock.json", text = "", fg = "#7a0d21" },
# { name = "package.json", text = "", fg = "#e8274b" },
# { name = "PKGBUILD", text = "", fg = "#0f94d2" },
# { name = "platformio.ini", text = "", fg = "#f6822b" },
# { name = "pom.xml", text = "", fg = "#7a0d21" },
# { name = "prettier.config.cjs", text = "", fg = "#4285f4" },
# { name = "prettier.config.js", text = "", fg = "#4285f4" },
# { name = "prettier.config.mjs", text = "", fg = "#4285f4" },
# { name = "prettier.config.ts", text = "", fg = "#4285f4" },
# { name = "procfile", text = "", fg = "#a074c4" },
# { name = "PrusaSlicer.ini", text = "", fg = "#ec6b23" },
# { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#ec6b23" },
# { name = "py.typed", text = "", fg = "#ffbc03" },
# { name = "QtProject.conf", text = "", fg = "#40cd52" },
# { name = "rakefile", text = "", fg = "#701516" },
# { name = "readme", text = "󰂺", fg = "#ededed" },
# { name = "readme.md", text = "󰂺", fg = "#ededed" },
# { name = "rmd", text = "", fg = "#519aba" },
# { name = "robots.txt", text = "󰚩", fg = "#5d7096" },
# { name = "security", text = "󰒃", fg = "#bec4c9" },
# { name = "security.md", text = "󰒃", fg = "#bec4c9" },
# { name = "settings.gradle", text = "", fg = "#005f87" },
# { name = "svelte.config.js", text = "", fg = "#ff3e00" },
# { name = "sxhkdrc", text = "", fg = "#2f2f2f" },
# { name = "sym-lib-table", text = "", fg = "#ffffff" },
# { name = "tailwind.config.js", text = "󱏿", fg = "#20c2e3" },
# { name = "tailwind.config.mjs", text = "󱏿", fg = "#20c2e3" },
# { name = "tailwind.config.ts", text = "󱏿", fg = "#20c2e3" },
# { name = "tmux.conf", text = "", fg = "#14ba19" },
# { name = "tmux.conf.local", text = "", fg = "#14ba19" },
# { name = "tsconfig.json", text = "", fg = "#519aba" },
# { name = "unlicense", text = "", fg = "#d0bf41" },
# { name = "vagrantfile", text = "", fg = "#1563ff" },
# { name = "vercel.json", text = "", fg = "#ffffff" },
# { name = "vlcrc", text = "󰕼", fg = "#ee7a00" },
# { name = "webpack", text = "󰜫", fg = "#519aba" },
# { name = "weston.ini", text = "", fg = "#ffbb01" },
# { name = "workspace", text = "", fg = "#89e051" },
# { name = "wrangler.jsonc", text = "", fg = "#f48120" },
# { name = "wrangler.toml", text = "", fg = "#f48120" },
# { name = "xmobarrc", text = "", fg = "#fd4d5d" },
# { name = "xmobarrc.hs", text = "", fg = "#fd4d5d" },
# { name = "xmonad.hs", text = "", fg = "#fd4d5d" },
# { name = "xorg.conf", text = "", fg = "#e54d18" },
# { name = "xsettingsd.conf", text = "", fg = "#e54d18" },
# ]
# exts = [
# { name = "3gp", text = "", fg = "#fd971f" },
# { name = "3mf", text = "󰆧", fg = "#888888" },
# { name = "7z", text = "", fg = "#eca517" },
# { name = "a", text = "", fg = "#dcddd6" },
# { name = "aac", text = "", fg = "#00afff" },
# { name = "ada", text = "", fg = "#599eff" },
# { name = "adb", text = "", fg = "#599eff" },
# { name = "ads", text = "", fg = "#a074c4" },
# { name = "ai", text = "", fg = "#cbcb41" },
# { name = "aif", text = "", fg = "#00afff" },
# { name = "aiff", text = "", fg = "#00afff" },
# { name = "android", text = "", fg = "#34a853" },
# { name = "ape", text = "", fg = "#00afff" },
# { name = "apk", text = "", fg = "#34a853" },
# { name = "apl", text = "", fg = "#24a148" },
# { name = "app", text = "", fg = "#9f0500" },
# { name = "applescript", text = "", fg = "#6d8085" },
# { name = "asc", text = "󰦝", fg = "#576d7f" },
# { name = "asm", text = "", fg = "#0091bd" },
# { name = "ass", text = "󰨖", fg = "#ffb713" },
# { name = "astro", text = "", fg = "#e23f67" },
# { name = "avif", text = "", fg = "#a074c4" },
# { name = "awk", text = "", fg = "#4d5a5e" },
# { name = "azcli", text = "", fg = "#0078d4" },
# { name = "bak", text = "󰁯", fg = "#6d8086" },
# { name = "bash", text = "", fg = "#89e051" },
# { name = "bat", text = "", fg = "#c1f12e" },
# { name = "bazel", text = "", fg = "#89e051" },
# { name = "bib", text = "󱉟", fg = "#cbcb41" },
# { name = "bicep", text = "", fg = "#519aba" },
# { name = "bicepparam", text = "", fg = "#9f74b3" },
# { name = "bin", text = "", fg = "#9f0500" },
# { name = "blade.php", text = "", fg = "#f05340" },
# { name = "blend", text = "󰂫", fg = "#ea7600" },
# { name = "blp", text = "󰺾", fg = "#5796e2" },
# { name = "bmp", text = "", fg = "#a074c4" },
# { name = "bqn", text = "", fg = "#24a148" },
# { name = "brep", text = "󰻫", fg = "#839463" },
# { name = "bz", text = "", fg = "#eca517" },
# { name = "bz2", text = "", fg = "#eca517" },
# { name = "bz3", text = "", fg = "#eca517" },
# { name = "bzl", text = "", fg = "#89e051" },
# { name = "c", text = "", fg = "#599eff" },
# { name = "c++", text = "", fg = "#f34b7d" },
# { name = "cache", text = "", fg = "#ffffff" },
# { name = "cast", text = "", fg = "#fd971f" },
# { name = "cbl", text = "", fg = "#005ca5" },
# { name = "cc", text = "", fg = "#f34b7d" },
# { name = "ccm", text = "", fg = "#f34b7d" },
# { name = "cfg", text = "", fg = "#6d8086" },
# { name = "cjs", text = "", fg = "#cbcb41" },
# { name = "clj", text = "", fg = "#8dc149" },
# { name = "cljc", text = "", fg = "#8dc149" },
# { name = "cljd", text = "", fg = "#519aba" },
# { name = "cljs", text = "", fg = "#519aba" },
# { name = "cmake", text = "", fg = "#dce3eb" },
# { name = "cob", text = "", fg = "#005ca5" },
# { name = "cobol", text = "", fg = "#005ca5" },
# { name = "coffee", text = "", fg = "#cbcb41" },
# { name = "conda", text = "", fg = "#43b02a" },
# { name = "conf", text = "", fg = "#6d8086" },
# { name = "config.ru", text = "", fg = "#701516" },
# { name = "cow", text = "󰆚", fg = "#965824" },
# { name = "cp", text = "", fg = "#519aba" },
# { name = "cpp", text = "", fg = "#519aba" },
# { name = "cppm", text = "", fg = "#519aba" },
# { name = "cpy", text = "", fg = "#005ca5" },
# { name = "cr", text = "", fg = "#c8c8c8" },
# { name = "crdownload", text = "", fg = "#44cda8" },
# { name = "cs", text = "󰌛", fg = "#596706" },
# { name = "csh", text = "", fg = "#4d5a5e" },
# { name = "cshtml", text = "󱦗", fg = "#512bd4" },
# { name = "cson", text = "", fg = "#cbcb41" },
# { name = "csproj", text = "󰪮", fg = "#512bd4" },
# { name = "css", text = "", fg = "#663399" },
# { name = "csv", text = "", fg = "#89e051" },
# { name = "cts", text = "", fg = "#519aba" },
# { name = "cu", text = "", fg = "#89e051" },
# { name = "cue", text = "󰲹", fg = "#ed95ae" },
# { name = "cuh", text = "", fg = "#a074c4" },
# { name = "cxx", text = "", fg = "#519aba" },
# { name = "cxxm", text = "", fg = "#519aba" },
# { name = "d", text = "", fg = "#b03931" },
# { name = "d.ts", text = "", fg = "#d59855" },
# { name = "dart", text = "", fg = "#03589c" },
# { name = "db", text = "", fg = "#dad8d8" },
# { name = "dconf", text = "", fg = "#ffffff" },
# { name = "desktop", text = "", fg = "#563d7c" },
# { name = "diff", text = "", fg = "#41535b" },
# { name = "dll", text = "", fg = "#4d2c0b" },
# { name = "doc", text = "󰈬", fg = "#185abd" },
# { name = "Dockerfile", text = "󰡨", fg = "#458ee6" },
# { name = "dockerignore", text = "󰡨", fg = "#458ee6" },
# { name = "docx", text = "󰈬", fg = "#185abd" },
# { name = "dot", text = "󱁉", fg = "#30638e" },
# { name = "download", text = "", fg = "#44cda8" },
# { name = "drl", text = "", fg = "#ffafaf" },
# { name = "dropbox", text = "", fg = "#0061fe" },
# { name = "dump", text = "", fg = "#dad8d8" },
# { name = "dwg", text = "󰻫", fg = "#839463" },
# { name = "dxf", text = "󰻫", fg = "#839463" },
# { name = "ebook", text = "", fg = "#eab16d" },
# { name = "ebuild", text = "", fg = "#4c416e" },
# { name = "edn", text = "", fg = "#519aba" },
# { name = "eex", text = "", fg = "#a074c4" },
# { name = "ejs", text = "", fg = "#cbcb41" },
# { name = "el", text = "", fg = "#8172be" },
# { name = "elc", text = "", fg = "#8172be" },
# { name = "elf", text = "", fg = "#9f0500" },
# { name = "elm", text = "", fg = "#519aba" },
# { name = "eln", text = "", fg = "#8172be" },
# { name = "env", text = "", fg = "#faf743" },
# { name = "eot", text = "", fg = "#ececec" },
# { name = "epp", text = "", fg = "#ffa61a" },
# { name = "epub", text = "", fg = "#eab16d" },
# { name = "erb", text = "", fg = "#701516" },
# { name = "erl", text = "", fg = "#b83998" },
# { name = "ex", text = "", fg = "#a074c4" },
# { name = "exe", text = "", fg = "#9f0500" },
# { name = "exs", text = "", fg = "#a074c4" },
# { name = "f#", text = "", fg = "#519aba" },
# { name = "f3d", text = "󰻫", fg = "#839463" },
# { name = "f90", text = "󱈚", fg = "#734f96" },
# { name = "fbx", text = "󰆧", fg = "#888888" },
# { name = "fcbak", text = "", fg = "#cb333b" },
# { name = "fcmacro", text = "", fg = "#cb333b" },
# { name = "fcmat", text = "", fg = "#cb333b" },
# { name = "fcparam", text = "", fg = "#cb333b" },
# { name = "fcscript", text = "", fg = "#cb333b" },
# { name = "fcstd", text = "", fg = "#cb333b" },
# { name = "fcstd1", text = "", fg = "#cb333b" },
# { name = "fctb", text = "", fg = "#cb333b" },
# { name = "fctl", text = "", fg = "#cb333b" },
# { name = "fdmdownload", text = "", fg = "#44cda8" },
# { name = "feature", text = "", fg = "#00a818" },
# { name = "fish", text = "", fg = "#4d5a5e" },
# { name = "flac", text = "", fg = "#0075aa" },
# { name = "flc", text = "", fg = "#ececec" },
# { name = "flf", text = "", fg = "#ececec" },
# { name = "fnl", text = "", fg = "#fff3d7" },
# { name = "fodg", text = "", fg = "#fffb57" },
# { name = "fodp", text = "", fg = "#fe9c45" },
# { name = "fods", text = "", fg = "#78fc4e" },
# { name = "fodt", text = "", fg = "#2dcbfd" },
# { name = "fs", text = "", fg = "#519aba" },
# { name = "fsi", text = "", fg = "#519aba" },
# { name = "fsscript", text = "", fg = "#519aba" },
# { name = "fsx", text = "", fg = "#519aba" },
# { name = "gcode", text = "󰐫", fg = "#1471ad" },
# { name = "gd", text = "", fg = "#6d8086" },
# { name = "gemspec", text = "", fg = "#701516" },
# { name = "gif", text = "", fg = "#a074c4" },
# { name = "git", text = "", fg = "#f14c28" },
# { name = "glb", text = "", fg = "#ffb13b" },
# { name = "gleam", text = "", fg = "#ffaff3" },
# { name = "gnumakefile", text = "", fg = "#6d8086" },
# { name = "go", text = "", fg = "#00add8" },
# { name = "godot", text = "", fg = "#6d8086" },
# { name = "gpr", text = "", fg = "#6d8086" },
# { name = "gql", text = "", fg = "#e535ab" },
# { name = "gradle", text = "", fg = "#005f87" },
# { name = "graphql", text = "", fg = "#e535ab" },
# { name = "gresource", text = "", fg = "#ffffff" },
# { name = "gv", text = "󱁉", fg = "#30638e" },
# { name = "gz", text = "", fg = "#eca517" },
# { name = "h", text = "", fg = "#a074c4" },
# { name = "haml", text = "", fg = "#eaeae1" },
# { name = "hbs", text = "", fg = "#f0772b" },
# { name = "heex", text = "", fg = "#a074c4" },
# { name = "hex", text = "", fg = "#2e63ff" },
# { name = "hh", text = "", fg = "#a074c4" },
# { name = "hpp", text = "", fg = "#a074c4" },
# { name = "hrl", text = "", fg = "#b83998" },
# { name = "hs", text = "", fg = "#a074c4" },
# { name = "htm", text = "", fg = "#e34c26" },
# { name = "html", text = "", fg = "#e44d26" },
# { name = "http", text = "", fg = "#008ec7" },
# { name = "huff", text = "󰡘", fg = "#4242c7" },
# { name = "hurl", text = "", fg = "#ff0288" },
# { name = "hx", text = "", fg = "#ea8220" },
# { name = "hxx", text = "", fg = "#a074c4" },
# { name = "ical", text = "", fg = "#2b2e83" },
# { name = "icalendar", text = "", fg = "#2b2e83" },
# { name = "ico", text = "", fg = "#cbcb41" },
# { name = "ics", text = "", fg = "#2b2e83" },
# { name = "ifb", text = "", fg = "#2b2e83" },
# { name = "ifc", text = "󰻫", fg = "#839463" },
# { name = "ige", text = "󰻫", fg = "#839463" },
# { name = "iges", text = "󰻫", fg = "#839463" },
# { name = "igs", text = "󰻫", fg = "#839463" },
# { name = "image", text = "", fg = "#d0bec8" },
# { name = "img", text = "", fg = "#d0bec8" },
# { name = "import", text = "", fg = "#ececec" },
# { name = "info", text = "", fg = "#ffffcd" },
# { name = "ini", text = "", fg = "#6d8086" },
# { name = "ino", text = "", fg = "#56b6c2" },
# { name = "ipynb", text = "", fg = "#f57d01" },
# { name = "iso", text = "", fg = "#d0bec8" },
# { name = "ixx", text = "", fg = "#519aba" },
# { name = "java", text = "", fg = "#cc3e44" },
# { name = "jl", text = "", fg = "#a270ba" },
# { name = "jpeg", text = "", fg = "#a074c4" },
# { name = "jpg", text = "", fg = "#a074c4" },
# { name = "js", text = "", fg = "#cbcb41" },
# { name = "json", text = "", fg = "#cbcb41" },
# { name = "json5", text = "", fg = "#cbcb41" },
# { name = "jsonc", text = "", fg = "#cbcb41" },
# { name = "jsx", text = "", fg = "#20c2e3" },
# { name = "jwmrc", text = "", fg = "#0078cd" },
# { name = "jxl", text = "", fg = "#a074c4" },
# { name = "kbx", text = "󰯄", fg = "#737672" },
# { name = "kdb", text = "", fg = "#529b34" },
# { name = "kdbx", text = "", fg = "#529b34" },
# { name = "kdenlive", text = "", fg = "#83b8f2" },
# { name = "kdenlivetitle", text = "", fg = "#83b8f2" },
# { name = "kicad_dru", text = "", fg = "#ffffff" },
# { name = "kicad_mod", text = "", fg = "#ffffff" },
# { name = "kicad_pcb", text = "", fg = "#ffffff" },
# { name = "kicad_prl", text = "", fg = "#ffffff" },
# { name = "kicad_pro", text = "", fg = "#ffffff" },
# { name = "kicad_sch", text = "", fg = "#ffffff" },
# { name = "kicad_sym", text = "", fg = "#ffffff" },
# { name = "kicad_wks", text = "", fg = "#ffffff" },
# { name = "ko", text = "", fg = "#dcddd6" },
# { name = "kpp", text = "", fg = "#f245fb" },
# { name = "kra", text = "", fg = "#f245fb" },
# { name = "krz", text = "", fg = "#f245fb" },
# { name = "ksh", text = "", fg = "#4d5a5e" },
# { name = "kt", text = "", fg = "#7f52ff" },
# { name = "kts", text = "", fg = "#7f52ff" },
# { name = "lck", text = "", fg = "#bbbbbb" },
# { name = "leex", text = "", fg = "#a074c4" },
# { name = "less", text = "", fg = "#563d7c" },
# { name = "lff", text = "", fg = "#ececec" },
# { name = "lhs", text = "", fg = "#a074c4" },
# { name = "lib", text = "", fg = "#4d2c0b" },
# { name = "license", text = "", fg = "#cbcb41" },
# { name = "liquid", text = "", fg = "#95bf47" },
# { name = "lock", text = "", fg = "#bbbbbb" },
# { name = "log", text = "󰌱", fg = "#dddddd" },
# { name = "lrc", text = "󰨖", fg = "#ffb713" },
# { name = "lua", text = "", fg = "#51a0cf" },
# { name = "luac", text = "", fg = "#51a0cf" },
# { name = "luau", text = "", fg = "#00a2ff" },
# { name = "m", text = "", fg = "#599eff" },
# { name = "m3u", text = "󰲹", fg = "#ed95ae" },
# { name = "m3u8", text = "󰲹", fg = "#ed95ae" },
# { name = "m4a", text = "", fg = "#00afff" },
# { name = "m4v", text = "", fg = "#fd971f" },
# { name = "magnet", text = "", fg = "#a51b16" },
# { name = "makefile", text = "", fg = "#6d8086" },
# { name = "markdown", text = "", fg = "#dddddd" },
# { name = "material", text = "", fg = "#b83998" },
# { name = "md", text = "", fg = "#dddddd" },
# { name = "md5", text = "󰕥", fg = "#8c86af" },
# { name = "mdx", text = "", fg = "#519aba" },
# { name = "mint", text = "󰌪", fg = "#87c095" },
# { name = "mjs", text = "", fg = "#f1e05a" },
# { name = "mk", text = "", fg = "#6d8086" },
# { name = "mkv", text = "", fg = "#fd971f" },
# { name = "ml", text = "", fg = "#e37933" },
# { name = "mli", text = "", fg = "#e37933" },
# { name = "mm", text = "", fg = "#519aba" },
# { name = "mo", text = "", fg = "#9772fb" },
# { name = "mobi", text = "", fg = "#eab16d" },
# { name = "mojo", text = "", fg = "#ff4c1f" },
# { name = "mov", text = "", fg = "#fd971f" },
# { name = "mp3", text = "", fg = "#00afff" },
# { name = "mp4", text = "", fg = "#fd971f" },
# { name = "mpp", text = "", fg = "#519aba" },
# { name = "msf", text = "", fg = "#137be1" },
# { name = "mts", text = "", fg = "#519aba" },
# { name = "mustache", text = "", fg = "#e37933" },
# { name = "nfo", text = "", fg = "#ffffcd" },
# { name = "nim", text = "", fg = "#f3d400" },
# { name = "nix", text = "", fg = "#7ebae4" },
# { name = "norg", text = "", fg = "#4878be" },
# { name = "nswag", text = "", fg = "#85ea2d" },
# { name = "nu", text = "", fg = "#3aa675" },
# { name = "o", text = "", fg = "#9f0500" },
# { name = "obj", text = "󰆧", fg = "#888888" },
# { name = "odf", text = "", fg = "#ff5a96" },
# { name = "odg", text = "", fg = "#fffb57" },
# { name = "odin", text = "󰟢", fg = "#3882d2" },
# { name = "odp", text = "", fg = "#fe9c45" },
# { name = "ods", text = "", fg = "#78fc4e" },
# { name = "odt", text = "", fg = "#2dcbfd" },
# { name = "oga", text = "", fg = "#0075aa" },
# { name = "ogg", text = "", fg = "#0075aa" },
# { name = "ogv", text = "", fg = "#fd971f" },
# { name = "ogx", text = "", fg = "#fd971f" },
# { name = "opus", text = "", fg = "#0075aa" },
# { name = "org", text = "", fg = "#77aa99" },
# { name = "otf", text = "", fg = "#ececec" },
# { name = "out", text = "", fg = "#9f0500" },
# { name = "part", text = "", fg = "#44cda8" },
# { name = "patch", text = "", fg = "#41535b" },
# { name = "pck", text = "", fg = "#6d8086" },
# { name = "pcm", text = "", fg = "#0075aa" },
# { name = "pdf", text = "", fg = "#b30b00" },
# { name = "php", text = "", fg = "#a074c4" },
# { name = "pl", text = "", fg = "#519aba" },
# { name = "pls", text = "󰲹", fg = "#ed95ae" },
# { name = "ply", text = "󰆧", fg = "#888888" },
# { name = "pm", text = "", fg = "#519aba" },
# { name = "png", text = "", fg = "#a074c4" },
# { name = "po", text = "", fg = "#2596be" },
# { name = "pot", text = "", fg = "#2596be" },
# { name = "pp", text = "", fg = "#ffa61a" },
# { name = "ppt", text = "󰈧", fg = "#cb4a32" },
# { name = "pptx", text = "󰈧", fg = "#cb4a32" },
# { name = "prisma", text = "", fg = "#5a67d8" },
# { name = "pro", text = "", fg = "#e4b854" },
# { name = "ps1", text = "󰨊", fg = "#4273ca" },
# { name = "psb", text = "", fg = "#519aba" },
# { name = "psd", text = "", fg = "#519aba" },
# { name = "psd1", text = "󰨊", fg = "#6975c4" },
# { name = "psm1", text = "󰨊", fg = "#6975c4" },
# { name = "pub", text = "󰷖", fg = "#e3c58e" },
# { name = "pxd", text = "", fg = "#5aa7e4" },
# { name = "pxi", text = "", fg = "#5aa7e4" },
# { name = "py", text = "", fg = "#ffbc03" },
# { name = "pyc", text = "", fg = "#ffe291" },
# { name = "pyd", text = "", fg = "#ffe291" },
# { name = "pyi", text = "", fg = "#ffbc03" },
# { name = "pyo", text = "", fg = "#ffe291" },
# { name = "pyw", text = "", fg = "#5aa7e4" },
# { name = "pyx", text = "", fg = "#5aa7e4" },
# { name = "qm", text = "", fg = "#2596be" },
# { name = "qml", text = "", fg = "#40cd52" },
# { name = "qrc", text = "", fg = "#40cd52" },
# { name = "qss", text = "", fg = "#40cd52" },
# { name = "query", text = "", fg = "#90a850" },
# { name = "r", text = "󰟔", fg = "#2266ba" },
# { name = "R", text = "󰟔", fg = "#2266ba" },
# { name = "rake", text = "", fg = "#701516" },
# { name = "rar", text = "", fg = "#eca517" },
# { name = "razor", text = "󱦘", fg = "#512bd4" },
# { name = "rb", text = "", fg = "#701516" },
# { name = "res", text = "", fg = "#cc3e44" },
# { name = "resi", text = "", fg = "#f55385" },
# { name = "rlib", text = "", fg = "#dea584" },
# { name = "rmd", text = "", fg = "#519aba" },
# { name = "rproj", text = "󰗆", fg = "#358a5b" },
# { name = "rs", text = "", fg = "#dea584" },
# { name = "rss", text = "", fg = "#fb9d3b" },
# { name = "s", text = "", fg = "#0071c5" },
# { name = "sass", text = "", fg = "#f55385" },
# { name = "sbt", text = "", fg = "#cc3e44" },
# { name = "sc", text = "", fg = "#cc3e44" },
# { name = "scad", text = "", fg = "#f9d72c" },
# { name = "scala", text = "", fg = "#cc3e44" },
# { name = "scm", text = "󰘧", fg = "#eeeeee" },
# { name = "scss", text = "", fg = "#f55385" },
# { name = "sh", text = "", fg = "#4d5a5e" },
# { name = "sha1", text = "󰕥", fg = "#8c86af" },
# { name = "sha224", text = "󰕥", fg = "#8c86af" },
# { name = "sha256", text = "󰕥", fg = "#8c86af" },
# { name = "sha384", text = "󰕥", fg = "#8c86af" },
# { name = "sha512", text = "󰕥", fg = "#8c86af" },
# { name = "sig", text = "󰘧", fg = "#e37933" },
# { name = "signature", text = "󰘧", fg = "#e37933" },
# { name = "skp", text = "󰻫", fg = "#839463" },
# { name = "sldasm", text = "󰻫", fg = "#839463" },
# { name = "sldprt", text = "󰻫", fg = "#839463" },
# { name = "slim", text = "", fg = "#e34c26" },
# { name = "sln", text = "", fg = "#854cc7" },
# { name = "slnx", text = "", fg = "#854cc7" },
# { name = "slvs", text = "󰻫", fg = "#839463" },
# { name = "sml", text = "󰘧", fg = "#e37933" },
# { name = "so", text = "", fg = "#dcddd6" },
# { name = "sol", text = "", fg = "#519aba" },
# { name = "spec.js", text = "", fg = "#cbcb41" },
# { name = "spec.jsx", text = "", fg = "#20c2e3" },
# { name = "spec.ts", text = "", fg = "#519aba" },
# { name = "spec.tsx", text = "", fg = "#1354bf" },
# { name = "spx", text = "", fg = "#0075aa" },
# { name = "sql", text = "", fg = "#dad8d8" },
# { name = "sqlite", text = "", fg = "#dad8d8" },
# { name = "sqlite3", text = "", fg = "#dad8d8" },
# { name = "srt", text = "󰨖", fg = "#ffb713" },
# { name = "ssa", text = "󰨖", fg = "#ffb713" },
# { name = "ste", text = "󰻫", fg = "#839463" },
# { name = "step", text = "󰻫", fg = "#839463" },
# { name = "stl", text = "󰆧", fg = "#888888" },
# { name = "stories.js", text = "", fg = "#ff4785" },
# { name = "stories.jsx", text = "", fg = "#ff4785" },
# { name = "stories.mjs", text = "", fg = "#ff4785" },
# { name = "stories.svelte", text = "", fg = "#ff4785" },
# { name = "stories.ts", text = "", fg = "#ff4785" },
# { name = "stories.tsx", text = "", fg = "#ff4785" },
# { name = "stories.vue", text = "", fg = "#ff4785" },
# { name = "stp", text = "󰻫", fg = "#839463" },
# { name = "strings", text = "", fg = "#2596be" },
# { name = "styl", text = "", fg = "#8dc149" },
# { name = "sub", text = "󰨖", fg = "#ffb713" },
# { name = "sublime", text = "", fg = "#e37933" },
# { name = "suo", text = "", fg = "#854cc7" },
# { name = "sv", text = "󰍛", fg = "#019833" },
# { name = "svelte", text = "", fg = "#ff3e00" },
# { name = "svg", text = "󰜡", fg = "#ffb13b" },
# { name = "svgz", text = "󰜡", fg = "#ffb13b" },
# { name = "svh", text = "󰍛", fg = "#019833" },
# { name = "swift", text = "", fg = "#e37933" },
# { name = "t", text = "", fg = "#519aba" },
# { name = "tbc", text = "󰛓", fg = "#1e5cb3" },
# { name = "tcl", text = "󰛓", fg = "#1e5cb3" },
# { name = "templ", text = "", fg = "#dbbd30" },
# { name = "terminal", text = "", fg = "#31b53e" },
# { name = "test.js", text = "", fg = "#cbcb41" },
# { name = "test.jsx", text = "", fg = "#20c2e3" },
# { name = "test.ts", text = "", fg = "#519aba" },
# { name = "test.tsx", text = "", fg = "#1354bf" },
# { name = "tex", text = "", fg = "#3d6117" },
# { name = "tf", text = "", fg = "#5f43e9" },
# { name = "tfvars", text = "", fg = "#5f43e9" },
# { name = "tgz", text = "", fg = "#eca517" },
# { name = "tmpl", text = "", fg = "#dbbd30" },
# { name = "tmux", text = "", fg = "#14ba19" },
# { name = "toml", text = "", fg = "#9c4221" },
# { name = "torrent", text = "", fg = "#44cda8" },
# { name = "tres", text = "", fg = "#6d8086" },
# { name = "ts", text = "", fg = "#519aba" },
# { name = "tscn", text = "", fg = "#6d8086" },
# { name = "tsconfig", text = "", fg = "#ff8700" },
# { name = "tsx", text = "", fg = "#1354bf" },
# { name = "ttf", text = "", fg = "#ececec" },
# { name = "twig", text = "", fg = "#8dc149" },
# { name = "txt", text = "󰈙", fg = "#89e051" },
# { name = "txz", text = "", fg = "#eca517" },
# { name = "typ", text = "", fg = "#0dbcc0" },
# { name = "typoscript", text = "", fg = "#ff8700" },
# { name = "ui", text = "", fg = "#015bf0" },
# { name = "v", text = "󰍛", fg = "#019833" },
# { name = "vala", text = "", fg = "#7b3db9" },
# { name = "vh", text = "󰍛", fg = "#019833" },
# { name = "vhd", text = "󰍛", fg = "#019833" },
# { name = "vhdl", text = "󰍛", fg = "#019833" },
# { name = "vi", text = "", fg = "#fec60a" },
# { name = "vim", text = "", fg = "#019833" },
# { name = "vsh", text = "", fg = "#5d87bf" },
# { name = "vsix", text = "", fg = "#854cc7" },
# { name = "vue", text = "", fg = "#8dc149" },
# { name = "wasm", text = "", fg = "#5c4cdb" },
# { name = "wav", text = "", fg = "#00afff" },
# { name = "webm", text = "", fg = "#fd971f" },
# { name = "webmanifest", text = "", fg = "#f1e05a" },
# { name = "webp", text = "", fg = "#a074c4" },
# { name = "webpack", text = "󰜫", fg = "#519aba" },
# { name = "wma", text = "", fg = "#00afff" },
# { name = "woff", text = "", fg = "#ececec" },
# { name = "woff2", text = "", fg = "#ececec" },
# { name = "wrl", text = "󰆧", fg = "#888888" },
# { name = "wrz", text = "󰆧", fg = "#888888" },
# { name = "wv", text = "", fg = "#00afff" },
# { name = "wvc", text = "", fg = "#00afff" },
# { name = "x", text = "", fg = "#599eff" },
# { name = "xaml", text = "󰙳", fg = "#512bd4" },
# { name = "xcf", text = "", fg = "#635b46" },
# { name = "xcplayground", text = "", fg = "#e37933" },
# { name = "xcstrings", text = "", fg = "#2596be" },
# { name = "xls", text = "󰈛", fg = "#207245" },
# { name = "xlsx", text = "󰈛", fg = "#207245" },
# { name = "xm", text = "", fg = "#519aba" },
# { name = "xml", text = "󰗀", fg = "#e37933" },
# { name = "xpi", text = "", fg = "#ff1b01" },
# { name = "xul", text = "", fg = "#e37933" },
# { name = "xz", text = "", fg = "#eca517" },
# { name = "yaml", text = "", fg = "#6d8086" },
# { name = "yml", text = "", fg = "#6d8086" },
# { name = "zig", text = "", fg = "#f69a1b" },
# { name = "zip", text = "", fg = "#eca517" },
# { name = "zsh", text = "", fg = "#89e051" },
# { name = "zst", text = "", fg = "#eca517" },
# { name = "🔥", text = "", fg = "#ff4c1f" },
# ]
# conds = [
# # Special files
# { if = "orphan", text = "" },
# { if = "link", text = "" },
# { if = "block", text = "" },
# { if = "char", text = "" },
# { if = "fifo", text = "" },
# { if = "sock", text = "" },
# { if = "sticky", text = "" },
# { if = "dummy", text = "" },
#
# # Fallback
# { if = "dir", text = "" },
# { if = "exec", text = "" },
# { if = "!dir", text = "" },
# ]
#
# # : }}}

223
yazi/yazi.toml Normal file
View File

@ -0,0 +1,223 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
[mgr]
ratio = [ 2, 3, 3 ]
sort_by = "alphabetical"
sort_sensitive = false
sort_reverse = false
sort_dir_first = true
sort_translit = false
linemode = "none"
show_hidden = false
show_symlink = true
scrolloff = 5
mouse_events = [ "click", "scroll" ]
title_format = "Yazi: {cwd}"
[preview]
wrap = "no"
tab_size = 2
max_width = 600
max_height = 900
cache_dir = ""
image_delay = 30
image_filter = "triangle"
image_quality = 75
ueberzug_scale = 1
ueberzug_offset = [ 0, 0, 0, 0 ]
[opener]
edit = [
{ run = '${EDITOR:-vi} "$@"', desc = "$EDITOR", block = true, for = "unix" },
{ run = 'code %*', orphan = true, desc = "code", for = "windows" },
{ run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
]
open = [
{ run = 'xdg-open "$1"', desc = "Open", for = "linux" },
{ run = 'open "$@"', desc = "Open", for = "macos" },
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
{ run = 'termux-open "$1"', desc = "Open", for = "android" },
]
reveal = [
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
{ run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
{ run = 'termux-open "$(dirname "$1")"', desc = "Reveal", for = "android" },
{ run = '''clear; exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
]
extract = [
{ run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
{ run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
]
play = [
{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
{ run = 'mpv --force-window %*', orphan = true, for = "windows" },
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
]
[open]
rules = [
# Folder
{ name = "*/", use = [ "edit", "open", "reveal" ] },
# Text
{ mime = "text/*", use = [ "edit", "reveal" ] },
# Image
{ mime = "image/*", use = [ "open", "reveal" ] },
# Media
{ mime = "{audio,video}/*", use = [ "play", "reveal" ] },
# Archive
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] },
# JSON
{ mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] },
{ mime = "*/javascript", use = [ "edit", "reveal" ] },
# Empty file
{ mime = "inode/empty", use = [ "edit", "reveal" ] },
# Fallback
{ name = "*", use = [ "open", "reveal" ] },
]
[tasks]
micro_workers = 10
macro_workers = 10
bizarre_retry = 3
image_alloc = 536870912 # 512MB
image_bound = [ 5000, 5000 ]
suppress_preload = false
[plugin]
fetchers = [
# Mimetype
{ id = "mime", name = "*", run = "mime", prio = "high" },
]
spotters = [
{ name = "*/", run = "folder" },
# Code
{ mime = "text/*", run = "code" },
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
# Image
{ mime = "image/{avif,hei?,jxl}", run = "magick" },
{ mime = "image/svg+xml", run = "svg" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# Fallback
{ name = "*", run = "file" },
]
preloaders = [
# Image
{ mime = "image/{avif,hei?,jxl}", run = "magick" },
{ mime = "image/svg+xml", run = "svg" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# PDF
{ mime = "application/pdf", run = "pdf" },
# Font
{ mime = "font/*", run = "font" },
{ mime = "application/ms-opentype", run = "font" },
]
previewers = [
{ name = "*/", run = "folder" },
# Code
{ mime = "text/*", run = "code" },
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
# JSON
{ mime = "application/{json,ndjson}", run = "json" },
# Image
{ mime = "image/{avif,hei?,jxl}", run = "magick" },
{ mime = "image/svg+xml", run = "svg" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# PDF
{ mime = "application/pdf", run = "pdf" },
# Archive
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" },
{ mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" },
{ name = "*.{AppImage,appimage}", run = "archive" },
# Virtual Disk / Disk Image
{ mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" },
{ mime = "application/virtualbox-{vhd,vhdx}", run = "archive" },
{ name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" },
# Font
{ mime = "font/*", run = "font" },
{ mime = "application/ms-opentype", run = "font" },
# Empty file
{ mime = "inode/empty", run = "empty" },
# Fallback
{ name = "*", run = "file" },
]
[input]
cursor_blink = false
# cd
cd_title = "Change directory:"
cd_origin = "top-center"
cd_offset = [ 0, 2, 50, 3 ]
# create
create_title = [ "Create:", "Create (dir):" ]
create_origin = "top-center"
create_offset = [ 0, 2, 50, 3 ]
# rename
rename_title = "Rename:"
rename_origin = "hovered"
rename_offset = [ 0, 1, 50, 3 ]
# filter
filter_title = "Filter:"
filter_origin = "top-center"
filter_offset = [ 0, 2, 50, 3 ]
# find
find_title = [ "Find next:", "Find previous:" ]
find_origin = "top-center"
find_offset = [ 0, 2, 50, 3 ]
# search
search_title = "Search via {n}:"
search_origin = "top-center"
search_offset = [ 0, 2, 50, 3 ]
# shell
shell_title = [ "Shell:", "Shell (block):" ]
shell_origin = "top-center"
shell_offset = [ 0, 2, 50, 3 ]
[confirm]
# trash
trash_title = "Trash {n} selected file{s}?"
trash_origin = "center"
trash_offset = [ 0, 0, 70, 20 ]
# delete
delete_title = "Permanently delete {n} selected file{s}?"
delete_origin = "center"
delete_offset = [ 0, 0, 70, 20 ]
# overwrite
overwrite_title = "Overwrite file?"
overwrite_content = "Will overwrite the following file:"
overwrite_origin = "center"
overwrite_offset = [ 0, 0, 50, 15 ]
# quit
quit_title = "Quit?"
quit_content = "The following tasks are still running, are you sure you want to quit?"
quit_origin = "center"
quit_offset = [ 0, 0, 50, 15 ]
[pick]
open_title = "Open with:"
open_origin = "hovered"
open_offset = [ 0, 1, 50, 7 ]
[which]
sort_by = "none"
sort_sensitive = false
sort_reverse = false
sort_translit = false

View File

@ -18,7 +18,8 @@
# This example tries to get the best video up to 1080p with the best audio. # This example tries to get the best video up to 1080p with the best audio.
# If a combined stream is not available, it merges the best separate streams. # If a combined stream is not available, it merges the best separate streams.
# 'best' is a fallback if nothing else matches. # 'best' is a fallback if nothing else matches.
-f "bestvideo[height<=1080]+bestaudio/best" -f "bestvideo/best+bestaudio/best"
# -f "bestvideo[height<=2160][fps>=50]+bestvideo[height>=1000]+bestaudio/best"
# ----------------- # -----------------