diff --git a/.zshrc b/.zshrc index 535c374..d73e05f 100644 --- a/.zshrc +++ b/.zshrc @@ -44,6 +44,7 @@ alias space="du -hsx * | sort -rh | head -10" # Enable GPG support export GPG_TTY=$(tty) export PATH="/home/user/.bun/bin:$PATH" +export EDITOR="nvim" # set -o vi # bindkey "^A" vi-beginning-of-line diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf deleted file mode 100644 index 12d120f..0000000 --- a/hypr/hyprland.conf +++ /dev/null @@ -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 - diff --git a/hypr/scripts/lid_close.sh b/hypr/scripts/lid_close.sh deleted file mode 100755 index 113a6f7..0000000 --- a/hypr/scripts/lid_close.sh +++ /dev/null @@ -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 diff --git a/mpv/mpv.conf b/mpv/mpv.conf index e43d715..30b6733 100644 --- a/mpv/mpv.conf +++ b/mpv/mpv.conf @@ -8,8 +8,7 @@ save-position-on-quit=yes keep-open=yes # Set default volume to 70% -volume=70 - +volume=100 # ----------------- # VIDEO & PERFORMANCE diff --git a/sway/config b/sway/config index 49d6998..2b859c3 100644 --- a/sway/config +++ b/sway/config @@ -216,6 +216,8 @@ bindsym XF86AudioPrev exec playerctl previous ### Screenshot e Registrazione Schermo bindsym Print exec grimshot --notify copy output 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 \ (pgrep -x wf-recorder > /dev/null && killall -s SIGINT wf-recorder && notify-send "Recording Stopped") || \ diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 2837c91..6ced3ea 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -1,138 +1,115 @@ // -*- mode: jsonc -*- { - "height": 30, // Waybar height (to be removed for auto height) - "modules-left": [ - "hyprland/workspaces", - "sway/workspaces", - "sway/mode", - "sway/scratchpad" - ], - "modules-center": [ - // "sway/window" - "clock" - ], - "modules-right": [ - "idle_inhibitor", - "pulseaudio", - //"network", - "power-profiles-daemon", - // "cpu", - // "memory", - "temperature", - "backlight", - // "keyboard-state", - // "sway/language", - "battery", - "battery#bat2", - // "clock", - "tray" - // "custom/power" - ], - - "hyprland/workspaces": { - "format": "{icon}", - "on-scroll-up": "hyprctl dispatch workspace e+1", - "on-scroll-down": "hyprctl dispatch workspace e-1" - }, - "sway/mode": { - "format": "{}" + "height": 34, // Waybar height (to be removed for auto height) + "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"], + "modules-center": ["clock"], + "modules-right": [ + "idle_inhibitor", + "pulseaudio", + "power-profiles-daemon", + "cpu", + "memory", + "temperature", + "backlight", + "battery", + "tray", + ], + "sway/mode": { + "format": "{}", + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}", + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "", }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" + }, + "tray": { + "spacing": 10, + }, + "clock": { + "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": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } + "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": ["", "", "", "", ""], + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "", }, - "tray": { - "spacing": 10 - }, - "clock": { - "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 - }, - "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" + }, + "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", + }, } diff --git a/waybar/style.css b/waybar/style.css index 6f35cf6..9e1f70d 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,7 +1,6 @@ * { - font-family: "Iosevka Nerd Font"; + font-family: "Iosevka Nerd Font", "Font Awesome 6 Free", "monospace"; font-size: 16px; - } @define-color background #282828; @@ -22,27 +21,23 @@ window#waybar { color: @foreground; } - .modules-left { background-color: @background; padding: 0; margin: 0; } - #custom-scratch { background-color: @background; color: #b8b8b8; padding: 0px 9px 0px 9px; } - #workspaces button { border-radius: 0px; color: @foreground; } - #workspaces button.focused { background-color: @orange; color: @foreground; @@ -75,8 +70,6 @@ window#waybar { padding: 0 20px; } - - #battery.critical { color: @red; } @@ -85,7 +78,6 @@ window#waybar { color: @green; } - #network.disconnected { color: @red; } diff --git a/yazi/flavors/gruvbox-dark.yazi/LICENSE b/yazi/flavors/gruvbox-dark.yazi/LICENSE new file mode 100644 index 0000000..e6984c6 --- /dev/null +++ b/yazi/flavors/gruvbox-dark.yazi/LICENSE @@ -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. + diff --git a/yazi/flavors/gruvbox-dark.yazi/LICENSE-tmtheme b/yazi/flavors/gruvbox-dark.yazi/LICENSE-tmtheme new file mode 100644 index 0000000..c996915 --- /dev/null +++ b/yazi/flavors/gruvbox-dark.yazi/LICENSE-tmtheme @@ -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. diff --git a/yazi/flavors/gruvbox-dark.yazi/README.md b/yazi/flavors/gruvbox-dark.yazi/README.md new file mode 100644 index 0000000..d6fb349 --- /dev/null +++ b/yazi/flavors/gruvbox-dark.yazi/README.md @@ -0,0 +1,32 @@ +
+Yazi logo +
+ +

+ Gruvbox Dark Flavor for Yazi +

+ +## 👀 Preview + + + +## 🎨 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. diff --git a/yazi/flavors/gruvbox-dark.yazi/flavor.toml b/yazi/flavors/gruvbox-dark.yazi/flavor.toml new file mode 100644 index 0000000..aba47d5 --- /dev/null +++ b/yazi/flavors/gruvbox-dark.yazi/flavor.toml @@ -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" }, +] + +# : }}} diff --git a/yazi/flavors/gruvbox-dark.yazi/preview.png b/yazi/flavors/gruvbox-dark.yazi/preview.png new file mode 100644 index 0000000..d157dfe Binary files /dev/null and b/yazi/flavors/gruvbox-dark.yazi/preview.png differ diff --git a/yazi/flavors/gruvbox-dark.yazi/tmtheme.xml b/yazi/flavors/gruvbox-dark.yazi/tmtheme.xml new file mode 100644 index 0000000..59c1ecd --- /dev/null +++ b/yazi/flavors/gruvbox-dark.yazi/tmtheme.xml @@ -0,0 +1,1509 @@ + + + + + comment + Based on gruvbox for Vim (https://github.com/morhetz/gruvbox) + originalAuthor + Pavel Pertsev (https://github.com/morhetz) + author + Brian Reilly (https://github.com/Briles/gruvbox) + name + gruvbox (Dark) (Medium) + colorSpaceName + sRGB + settings + + + settings + + background + #222222 + caret + #a89984 + foreground + #ebdbb280 + invisibles + #ebdbb226 + lineHighlight + #3c3836 + selection + #3c3836 + inactiveSelection + #3c3836 + guide + #ebdbb226 + activeGuide + #ebdbb280 + stackGuide + #ebdbb240 + bracketContentsOptions + underline + bracketContentsForeground + #bdae93 + bracketsOptions + underline + bracketsForeground + #bdae93 + gutterForeground + #928374 + highlight + #fbf1c7 + highlightForeground + #fbf1c7 + findHighlight + #d79921 + findHighlightForeground + #222222 + tagsOptions + underline + selectionBorder + #3c3836 + popupCss + + html { + background-color: #1b1b1b; + color: #fbf1c7; + padding: 12px; + } + + a { + color: #8ec07c; + } + + .error, .deleted { + color: #fb4934; + } + + .success, .inserted, .name { + color: #b8bb26; + } + + .warning, .modified { + color: #fabd2f; + } + + .type { + color: #fabd2f; + font-style: italic; + } + + .param { + color: #fbf1c7; + } + + .current { + text-decoration: underline; + } + + + + + name + Text and Source Base Colors + scope + meta.group, meta.method-call.source.cs, meta.method.attribute.source.cs, meta.method.body.java, meta.method.body.source.cs, meta.method.source.cs, none, source, text + settings + + foreground + #fbf1c7 + + + + name + Punctuation + scope + entity.quasi.element meta.group.braces, keyword.operator keyword.operator.neon, keyword.operator operator.neon, keyword.operator.accessor, keyword.other.accessor, meta.attribute-selector keyword.operator.stylus, meta.brace, meta.delimiter, meta.group.braces, meta.punctuation.separator, meta.separator, punctuation + settings + + foreground + #fbf1c7 + + + + name + Comments + scope + comment, comment text, markup.strikethrough, punctuation.definition.comment, punctuation.whitespace.comment, string.comment, text.cancelled + settings + + fontStyle + italic + foreground + #928374 + + + + name + Keywords Inside Comments + scope + comment.keyword, comment.keyword.punctuation + settings + + foreground + #d5c4a1 + + + + name + DocBlockr & Other Keywords Inside Comments + scope + comment.parameter, comment.punctuation, comment.string, comment.type, keyword.other.phpdoc.php, punctuation.definition.keyword.javadoc, source.groovy keyword.other.documentation, source.java keyword.other.documentation, storage.type.annotation.coffeescript, storage.type.class.jsdoc + settings + + foreground + #bdae93 + + + + name + Entity + scope + constant.language.name, entity.name.type, entity.other.inherited-class + settings + + foreground + #fabd2f + + + + name + Template String Punctuation + scope + constant.other.placeholder, entity.name.tag.mustache, entity.tag.tagbraces, punctuation.definition.string.template, punctuation.definition.template-expression, punctuation.quasi, punctuation.section.embedded, string.interpolated, variable.other.interpolation.scss + settings + + foreground + #8ec07c + + + + name + Keywords + scope + js.embedded.control.flow keyword.operator.js, keyword, keyword.control, keyword.operator.logical.python, meta.at-rule.media support.function.misc, meta.prolog.haml, meta.tag.sgml.doctype.html, storage.type.function.jade, storage.type.function.pug, storage.type.import.haxe, storage.type.import.include.jade, storage.type.import.include.pug, support.keyword.timing-direction, variable.documentroot + settings + + foreground + #fb4934 + + + + name + CSS At-Rule Punctuation (@) & At-Rule Vendor Prefixes + scope + keyword.control.at-rule support.type.property-vendor, punctuation.definition.keyword + settings + + foreground + #cc241d + + + + name + Operators + scope + keyword.control.new, keyword.control.operator, keyword.operator, keyword.other.arrow, keyword.other.double-colon, punctuation.operator + settings + + foreground + #8ec07c + + + + name + Constants Punctuation + scope + constant.other.color punctuation.definition.constant, constant.other.symbol punctuation.definition.constant, constant.other.unit, keyword.other.unit, punctuation.section.flowtype, support.constant.unicode-range.prefix + settings + + foreground + #b16286 + + + + name + Storage + scope + storage, storage.type.annotation, storage.type.primitive + settings + + foreground + #fb4934 + + + + scope + storage.modifier.import, storage.modifier.package, storage.type.import, variable.import, variable.package + settings + + foreground + #fbf1c7 + + + + name + Function Keyword + scope + entity.quasi.tag.name, meta.function storage.type.matlab, storage.type.function + settings + + foreground + #8ec07c + + + + name + Variables + scope + entity.name.val.declaration, entity.name.variable, meta.definition.variable, storage.type.variable, support.type.custom-property, support.type.variable-name, variable, variable.interpolation variable, variable.other.interpolation variable, variable.parameter.dosbatch, variable.parameter.output.function.matlab, variable.parameter.sass + settings + + foreground + #83a598 + + + + name + Variable - Punctuation + scope + keyword.other.custom-property.prefix, punctuation.definition.custom-property, punctuation.definition.variable, support.constant.custom-property-name.prefix, variable.interpolation, variable.other.dollar punctuation.dollar, variable.other.object.dollar punctuation.dollar + settings + + foreground + #458588 + + + + name + Function Declaration - Punctuation + scope + entity.name.function punctuation.dollar + settings + + foreground + #98971a + + + + name + Object Properties + scope + meta.property.object + settings + + foreground + #fbf1c7 + + + + name + Object Literal Properties + scope + constant.other.object.key string, meta.object-literal.key + settings + + foreground + #fbf1c7 + + + + name + Parameters + scope + meta.parameters, variable.parameter + settings + + foreground + #fbf1c7 + + + + name + SASS Import URL + scope + variable.parameter.url + settings + + foreground + #b8bb26 + + + + name + Language Constants + scope + constant, constant.numeric, constant.other, constant.other.color, constant.other.symbol, support.constant, support.constant.color, support.constant.font-name, support.constant.media, support.constant.prototype, variable.language + settings + + foreground + #d3869b + + + + name + Language Constants Punctuation + scope + variable.language punctuation.definition.variable + settings + + foreground + #b16286 + + + + name + User-Defined Constants + scope + entity.name.constant, variable.other.constant + settings + + foreground + #fabd2f + + + + name + Escaped Characters + scope + constant.character.escape, constant.character.escaped, constant.character.quoted, constant.other.character-class.escape + settings + + foreground + #fb4934 + + + + name + Invalids and Illegals + scope + invalid + settings + + foreground + #fbf1c7 + background + #fb4934 + + + + name + Inner Scopes of Invalids and Illegals + scope + invalid keyword.other.custom-property.prefix, invalid support.type.custom-property.name + settings + + foreground + #fbf1c7 + + + + name + Errors + scope + message.error + settings + + foreground + #fb4934 + + + + name + Strings + scope + meta.object-literal.key string, string + settings + + foreground + #b8bb26 + + + + name + JSON Keys + scope + meta.structure.dictionary.key.json string + settings + + foreground + #83a598 + + + + name + Regular Expressions Text + scope + source.regexp, string.regexp + settings + + foreground + #b8bb26 + + + + name + Regular Expressions Start & End Punctuation + scope + string.regexp punctuation.definition.string + settings + + foreground + #bdae93 + + + + name + Regular Expressions Character Class Punctuation ([]) + scope + keyword.control.set.regexp, punctuation.definition.character-class, string.regexp.character-class.ruby + settings + + foreground + #d3869b + + + + name + Regular Expressions Capturing Group + scope + string.regexp.group + settings + + foreground + #fbf1c7 + + + + name + Regular Expressions Assertions + scope + constant.other.assertion.regexp, punctuation.definition.group.assertion.regexp, punctuation.definition.group.capture.regexp + settings + + foreground + #83a598 + + + + name + Regular Expressions Character Class + scope + constant.other.character-class.escape.backslash.regexp, keyword.control.character-class.regexp, string.regexp.character-class constant.character.escape + settings + + foreground + #fabd2f + + + + name + Regular Expressions Quantifiers & Operators + scope + string.regexp.arbitrary-repetition, string.regexp.arbitrary-repetition punctuation + settings + + foreground + #8ec07c + + + + name + Hyperlinks + scope + constant.other.reference.link, string.other.link + settings + + foreground + #8ec07c + + + + name + Hyperlink Punctuation + scope + meta.image.inline punctuation.definition.string, meta.link.inline punctuation.definition.string, meta.link.reference punctuation.definition.constant, meta.link.reference.literal punctuation.definition.constant, meta.link.reference.literal punctuation.definition.string + settings + + foreground + #689d6a + + + + name + Markup Tag Punctuation + scope + punctuation.definition.tag + settings + + foreground + #83a598 + + + + name + Markdown Heading + scope + markup.heading + settings + + foreground + #b8bb26 + + + + name + Markdown Heading Punctuation + scope + punctuation.definition.heading, punctuation.definition.identity + settings + + foreground + #98971a + + + + name + Markdown Bold Text + scope + markup.bold + settings + + foreground + #fe8019 + fontStyle + bold + + + + name + Markdown Bold Text Punctuation + scope + punctuation.definition.bold + settings + + foreground + #d65d0e + fontStyle + bold + + + + name + Markdown Italic Text + scope + markup.italic + settings + + foreground + #fb4934 + fontStyle + italic + + + + name + Markdown Italic Text Punctuation + scope + punctuation.definition.italic + settings + + foreground + #cc241d + fontStyle + italic + + + + name + Markdown Inline Code + scope + markup.raw.inline + settings + + foreground + #fabd2f + + + + name + Markdown Inline Code Punctuation + scope + markup.raw.inline punctuation.definition.raw + settings + + foreground + #d79921 + + + + name + Markdown Quoted + scope + markup.quote + settings + + foreground + #d3869b + + + + name + Markdown Quoted Punctuation + scope + markup.quote punctuation.definition.blockquote + settings + + foreground + #b16286 + + + + name + Markdown List + scope + markup.list + settings + + foreground + #83a598 + + + + name + Markdown List Punctuation + scope + markup.list punctuation.definition.list_item + settings + + foreground + #458588 + + + + name + Markdown Separators + scope + meta.separator.markdown + settings + + foreground + #928374 + + + + name + Support + scope + meta.function-call.constructor variable.type, support.class, support.type, variable.other.class + settings + + foreground + #fabd2f + + + + name + Supporting Type - Dollar Punctuation + scope + support.class punctuation.dollar + settings + + foreground + #d79921 + + + + name + Function Calls + scope + entity.name.function.jade, entity.name.function.pug, keyword.other.special-method, meta.function-call variable.function, meta.function-call variable.other.dollar.only punctuation.dollar, support.function + settings + + foreground + #8ec07c + + + + name + Method Calls + scope + meta.function-call.method support.function, meta.function-call.method variable.function, meta.function-call.static variable.function, meta.method-call, meta.method-call support.function, meta.method-call variable.function, support.function.mutator + settings + + foreground + #689d6a + + + + name + Special Variables + scope + support.module + settings + + foreground + #d3869b + + + + name + Entities + scope + entity.name.accessor, entity.name.function, entity.name.label, entity.name.section + settings + + foreground + #b8bb26 + + + + name + Modules + scope + entity.name.module + settings + + foreground + #fe8019 + + + + name + HTML & CSS ID + scope + constant.id.tag, entity.name.tag.id, entity.other.attribute-name.id + settings + + foreground + #fe8019 + + + + name + HTML & CSS ID Punctuation (#) + scope + entity.other.attribute-name.id punctuation.definition.entity + settings + + foreground + #d65d0e + + + + name + HTML & CSS Class + scope + entity.name.tag.class, entity.other.attribute-name.class + settings + + foreground + #fabd2f + + + + name + HTML & CSS Class Punctuation (.) + scope + entity.other.attribute-name.class punctuation.definition.entity + settings + + foreground + #d79921 + + + + name + CSS Attribute Selector Attribute Name + scope + meta.attribute-selector entity.other.attribute-name + settings + + foreground + #d79921 + + + + name + HTML & XML Entity Punctuation + scope + constant.character.entity punctuation.definition.constant, constant.character.entity punctuation.definition.entity + settings + + foreground + #b16286 + + + + scope + entity.name.class, entity.name.type.class + settings + + foreground + #fabd2f + + + + name + Markup Tag + scope + entity.name.function.neon, entity.name.namespace.wildcard, entity.name.tag, entity.tag, keyword.control.untitled, keyword.doctype.xml, keyword.operator support.other.neon, punctuation.definition.prolog.haml, source.less keyword.control.html.elements + settings + + foreground + #83a598 + + + + name + HTML Attribute Names + scope + entity.name.attribute-name, entity.other.attribute-name, meta.section.attributes.haml constant.other.symbol.ruby + settings + + foreground + #fabd2f + + + + name + CSS Pseudo Elements/Classes & Vendor Prefixes + scope + entity.other.attribute-name.placeholder punctuation.definition.entity, entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element, entity.other.attribute-name.tag.pseudo-class, entity.other.attribute-name.tag.pseudo-element, entity.other.pseudo-class, entity.other.pseudo-element, support.type.vendor-prefix + settings + + foreground + #d79921 + + + + name + CSS Animations / Keyframes + scope + entity.function-name.stylus, entity.other.animation-keyframe.stylus, entity.other.animation-name, keyword.language.function.misc.stylus, meta.at-rule.keyframes entity.name.function, variable.other.animation-name + settings + + foreground + #8ec07c + + + + name + Author-Defined Names + scope + entity.other.namespace-prefix + settings + + foreground + #8ec07c + + + + scope + meta.class.body, meta.tag + settings + + foreground + #fbf1c7 + + + + name + Markdown Image & Hyperlink + scope + meta.image, meta.link + settings + + foreground + #d3869b + + + + name + Markdown Image & Hyperlink Punctuation + scope + meta.image punctuation.definition.metadata, meta.link punctuation.definition.metadata + settings + + foreground + #b16286 + + + + scope + meta.require + settings + + foreground + #b8bb26 + + + + name + Function Call Braces + scope + constant.name.attribute.tag.jade, constant.name.attribute.tag.pug, meta.brace.round, meta.function-call meta.group punctuation.definition.group, punctuation.definition.method-parameters, punctuation.definition.parameters + settings + + foreground + #bdae93 + + + + name + CSS Property Names + scope + meta.property-name, support.type.property-name, support.type.shape.definition support.constant.property-value + settings + + foreground + #b8bb26 + + + + name + CSS Property Name Vendor Prefixes + scope + meta.property-name support.type.vendor-prefix, support.type.property-name.media support.type.vendor-prefix + settings + + foreground + #98971a + + + + name + CSS Property Values + scope + constant.string.sass, meta.property-value, support.constant.property-value + settings + + foreground + #fbf1c7 + + + + name + CSS Property Value Vendor Prefixes + scope + meta.property-value support.type.vendor-prefix + settings + + foreground + #bdae93 + + + + name + Diff Foreground Text + scope + source.diff + settings + + foreground + #a89984 + + + + name + Diff Header Text From + scope + meta.diff.header.from-file + settings + + foreground + #83a598 + + + + name + Diff Header Text From Punctuation + scope + punctuation.definition.from-file + settings + + foreground + #458588 + + + + name + Diff Header Text To + scope + meta.diff.header.to-file + settings + + foreground + #d3869b + + + + name + Diff Header Text To Punctuation + scope + punctuation.definition.to-file + settings + + foreground + #b16286 + + + + name + Diff Additions & Deletions Stats + scope + meta.diff.range, meta.toc-list.line-number + settings + + foreground + #fabd2f + + + + name + Diff Additions & Deletions Stats Punctuation + scope + punctuation.definition.range.diff + settings + + foreground + #d79921 + + + + name + FiF Line Number + scope + constant.numeric.line-number + settings + + foreground + #928374 + + + + name + FiF Line Number Matched + scope + constant.numeric.line-number.match + settings + + foreground + #8ec07c + + + + name + FiF Filename + scope + entity.name.filename + settings + + foreground + #b8bb26 + + + + name + GitGutter & Diff Deleted + scope + markup.deleted, punctuation.definition.deleted + settings + + foreground + #fb4934 + + + + name + GitGutter & Diff Inserted + scope + markup.inserted, punctuation.definition.inserted + settings + + foreground + #b8bb26 + + + + name + GitGutter & Diff Changed + scope + markup.changed, punctuation.definition.changed + settings + + foreground + #fabd2f + + + + name + GitGutter ignored + scope + markup.ignored + settings + + foreground + #928374 + + + + name + GitGutter untracked + scope + markup.untracked + settings + + foreground + #928374 + + + + name + Bracket Tag + scope + brackethighlighter.tag + settings + + foreground + #bdae93 + + + + name + Bracket Curly + scope + brackethighlighter.curly + settings + + foreground + #bdae93 + + + + name + Bracket Round + scope + brackethighlighter.round + settings + + foreground + #bdae93 + + + + name + Bracket Square + scope + brackethighlighter.square + settings + + foreground + #bdae93 + + + + name + Bracket Angle + scope + brackethighlighter.angle + settings + + foreground + #bdae93 + + + + name + Bracket Quote + scope + brackethighlighter.quote + settings + + foreground + #bdae93 + + + + name + Bracket Unmatched + scope + brackethighlighter.unmatched + settings + + foreground + #fb4934 + + + + name + SublimeLinter Error + scope + sublimelinter.mark.error + settings + + foreground + #fb4934 + + + + name + SublimeLinter Gutter Mark + scope + sublimelinter.gutter-mark + settings + + foreground + #928374 + + + + name + SublimeLinter Warning + scope + sublimelinter.mark.warning + settings + + foreground + #fabd2f + + + + name + HexViewer Upper Byte Nibble + scope + raw.nibble.upper + settings + + foreground + #fbf1c7 + + + + name + HexViewer Lower Byte Nibble + scope + raw.nibble.lower + settings + + foreground + #fbf1c7 + + + + name + HexViewer Highlight + scope + hexviewer.highlight + settings + + foreground + #222222 + background + #fabd2f + + + + name + HexViewer Edited Highlight + scope + hexviewer.highlight.edited + settings + + foreground + #222222 + background + #fe8019 + + + + name + Raw New Line: Carriage Return + scope + glyph.carriage-return + settings + + foreground + #ebdbb226 + + + + name + Raw New Line: New Line Glyph + scope + glyph.new-line + settings + + foreground + #ebdbb226 + + + + name + PlainTasks: Header + scope + keyword.control.header.todo + settings + + foreground + #b8bb26 + background + #3a3a3a + + + + name + PlainTasks: Notes + scope + notes.todo + settings + + foreground + #bdae93 + + + + name + PlainTasks: Punctuation + scope + text.todo punctuation.definition.bold, text.todo punctuation.definition.italic + settings + + foreground + #7c6f64 + + + + name + PlainTasks: Task Pending + scope + meta.item.todo.pending + settings + + foreground + #fbf1c7 + + + + name + PlainTasks: Task Pending Punctuation + scope + punctuation.definition.bullet.pending.todo + settings + + foreground + #928374 + + + + name + PlainTasks: Task Completed Punctuation + scope + punctuation.definition.bullet.completed.todo + settings + + foreground + #8ec07c + + + + name + PlainTasks: Task Cancelled Punctuation + scope + punctuation.definition.bullet.cancelled.todo + settings + + foreground + #fb4934 + + + + name + PlainTasks: Tag Critical + scope + string.other.tag.todo.critical + settings + + foreground + #fb4934 + fontStyle + bold + + + + name + PlainTasks: Tag High + scope + string.other.tag.todo.high + settings + + foreground + #fe8019 + fontStyle + bold + + + + name + PlainTasks: Tag Low + scope + string.other.tag.todo.low + settings + + foreground + #83a598 + fontStyle + bold + + + + name + PlainTasks: Tag Today + scope + string.other.tag.todo.today + settings + + foreground + #fabd2f + fontStyle + bold + + + + name + PlainTasks: Tag + scope + meta.tag.todo + settings + + foreground + #d3869b + + + + name + PlainTasks: URL + scope + punctuation.definition.url, todo.url + settings + + foreground + #83a598 + + + + name + PlainTasks: Separator + scope + meta.punctuation.archive.todo, meta.punctuation.separator.todo + settings + + fontStyle + italic + foreground + #928374 + + + + + diff --git a/yazi/keymap.toml b/yazi/keymap.toml new file mode 100644 index 0000000..397b2ec --- /dev/null +++ b/yazi/keymap.toml @@ -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 = "", run = "escape", desc = "Exit visual mode, clear selection, or cancel search" }, + { on = "", 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 = "", run = "close", desc = "Close the current tab, or quit if it's last" }, + { on = "", run = "suspend", desc = "Suspend the process" }, + + # Hopping + { on = "k", run = "arrow prev", desc = "Previous file" }, + { on = "j", run = "arrow next", desc = "Next file" }, + + { on = "", run = "arrow prev", desc = "Previous file" }, + { on = "", run = "arrow next", desc = "Next file" }, + + { on = "", run = "arrow -50%", desc = "Move cursor up half page" }, + { on = "", run = "arrow 50%", desc = "Move cursor down half page" }, + { on = "", run = "arrow -100%", desc = "Move cursor up one page" }, + { on = "", run = "arrow 100%", desc = "Move cursor down one page" }, + + { on = "", run = "arrow -50%", desc = "Move cursor up half page" }, + { on = "", run = "arrow 50%", desc = "Move cursor down half page" }, + { on = "", run = "arrow -100%", desc = "Move cursor up one page" }, + { on = "", 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 = "", run = "leave", desc = "Back to the parent directory" }, + { on = "", 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 = "", run = [ "toggle", "arrow next" ], desc = "Toggle the current selection state" }, + { on = "", run = "toggle_all --state=on", desc = "Select all files" }, + { on = "", 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 = "", 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 = "", run = "open", desc = "Open selected files" }, + { on = "", 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 = "", 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 = "", 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", "" ], 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 = "", run = "help", desc = "Open help" }, +] + +[tasks] + +keymap = [ + { on = "", run = "close", desc = "Close task manager" }, + { on = "", run = "close", desc = "Close task manager" }, + { on = "", 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 = "", run = "arrow prev", desc = "Previous task" }, + { on = "", run = "arrow next", desc = "Next task" }, + + { on = "", run = "inspect", desc = "Inspect the task" }, + { on = "x", run = "cancel", desc = "Cancel the task" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "", run = "help", desc = "Open help" }, +] + +[spot] + +keymap = [ + { on = "", run = "close", desc = "Close the spot" }, + { on = "", run = "close", desc = "Close the spot" }, + { on = "", run = "close", desc = "Close the spot" }, + { on = "", 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 = "", run = "arrow prev", desc = "Previous line" }, + { on = "", run = "arrow next", desc = "Next line" }, + { on = "", run = "swipe prev", desc = "Swipe to previous file" }, + { on = "", 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 = "", run = "help", desc = "Open help" }, +] + +[pick] + +keymap = [ + { on = "", run = "close", desc = "Cancel pick" }, + { on = "", run = "close", desc = "Cancel pick" }, + { on = "", run = "close", desc = "Cancel pick" }, + { on = "", run = "close --submit", desc = "Submit the pick" }, + + { on = "k", run = "arrow prev", desc = "Previous option" }, + { on = "j", run = "arrow next", desc = "Next option" }, + + { on = "", run = "arrow prev", desc = "Previous option" }, + { on = "", run = "arrow next", desc = "Next option" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "", run = "help", desc = "Open help" }, +] + +[input] + +keymap = [ + { on = "", run = "close", desc = "Cancel input" }, + { on = "", run = "close --submit", desc = "Submit input" }, + { on = "", run = "escape", desc = "Back to normal mode, or cancel input" }, + { on = "", 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 = "", run = [ "move eol", "visual", "move bol" ], desc = "Select from EOL to BOL" }, + { on = "", 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 = "", run = "move -1", desc = "Move back a character" }, + { on = "", run = "move 1", desc = "Move forward a character" }, + { on = "", run = "move -1", desc = "Move back a character" }, + { on = "", 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 = "", run = "backward", desc = "Move back to the start of the current or previous word" }, + { on = "", 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 = "", run = "move bol", desc = "Move to the BOL" }, + { on = "", run = "move eol", desc = "Move to the EOL" }, + { on = "", run = "move bol", desc = "Move to the BOL" }, + { on = "", run = "move eol", desc = "Move to the EOL" }, + + # Delete + { on = "", run = "backspace", desc = "Delete the character before the cursor" }, + { on = "", run = "backspace --under", desc = "Delete the character under the cursor" }, + { on = "", run = "backspace", desc = "Delete the character before the cursor" }, + { on = "", run = "backspace --under", desc = "Delete the character under the cursor" }, + + # Kill + { on = "", run = "kill bol", desc = "Kill backwards to the BOL" }, + { on = "", run = "kill eol", desc = "Kill forwards to the EOL" }, + { on = "", run = "kill backward", desc = "Kill backwards to the start of the current word" }, + { on = "", 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 = "", run = "redo", desc = "Redo the last operation" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "", run = "help", desc = "Open help" }, +] + +[confirm] + +keymap = [ + { on = "", run = "close", desc = "Cancel the confirm" }, + { on = "", run = "close", desc = "Cancel the confirm" }, + { on = "", run = "close", desc = "Cancel the confirm" }, + { on = "", 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 = "", run = "arrow prev", desc = "Previous line" }, + { on = "", run = "arrow next", desc = "Next line" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "", run = "help", desc = "Open help" }, +] + +[cmp] + +keymap = [ + { on = "", run = "close", desc = "Cancel completion" }, + { on = "", run = "close --submit", desc = "Submit the completion" }, + { on = "", run = [ "close --submit", "input:close --submit" ], desc = "Complete and submit the input" }, + + { on = "", run = "arrow prev", desc = "Previous item" }, + { on = "", run = "arrow next", desc = "Next item" }, + + { on = "", run = "arrow prev", desc = "Previous item" }, + { on = "", run = "arrow next", desc = "Next item" }, + + { on = "", run = "arrow prev", desc = "Previous item" }, + { on = "", run = "arrow next", desc = "Next item" }, + + # Help + { on = "~", run = "help", desc = "Open help" }, + { on = "", run = "help", desc = "Open help" }, +] + +[help] + +keymap = [ + { on = "", run = "escape", desc = "Clear the filter, or hide the help" }, + { on = "", run = "escape", desc = "Clear the filter, or hide the help" }, + { on = "", run = "close", desc = "Hide the help" }, + + # Navigation + { on = "k", run = "arrow prev", desc = "Previous line" }, + { on = "j", run = "arrow next", desc = "Next line" }, + + { on = "", run = "arrow prev", desc = "Previous line" }, + { on = "", run = "arrow next", desc = "Next line" }, + + # Filtering + { on = "f", run = "filter", desc = "Filter help items" }, +] diff --git a/yazi/package.toml b/yazi/package.toml new file mode 100644 index 0000000..e958a2e --- /dev/null +++ b/yazi/package.toml @@ -0,0 +1,7 @@ +[plugin] +deps = [] + +[[flavor.deps]] +use = "bennyyip/gruvbox-dark" +rev = "91fdfa7" +hash = "f48f510e5505f5d01e79c4f8257ec5cb" diff --git a/yazi/theme.toml b/yazi/theme.toml new file mode 100644 index 0000000..38ab792 --- /dev/null +++ b/yazi/theme.toml @@ -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 = "" }, +# ] +# +# # : }}} diff --git a/yazi/yazi.toml b/yazi/yazi.toml new file mode 100644 index 0000000..6af18ed --- /dev/null +++ b/yazi/yazi.toml @@ -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 diff --git a/yt-dlp/config b/yt-dlp/config index 39b7d5b..420d96d 100644 --- a/yt-dlp/config +++ b/yt-dlp/config @@ -18,7 +18,8 @@ # 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. # '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" # -----------------