From 473d4a771a64175bc0e98eed8d78f780b65efe62 Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Mon, 28 Apr 2025 19:57:56 +0300 Subject: [PATCH] fix(yazi): update plugins --- .dotter/global.toml | 8 +- config/awesome/rc-laptop.lua | 26 +- config/awesome/rc.lua | 26 +- config/ghostty/config | 2196 +----------- config/ghostty/default | 2510 ++++++++++++++ config/hypr/hyprland.conf | 2 +- config/joshuto/bookmarks.toml | 6 - config/joshuto/joshuto.toml | 51 - config/joshuto/keymap.toml | 172 - config/joshuto/mimetype.toml | 229 -- config/joshuto/theme.toml | 111 - config/rofi/config.rasi | 2 +- config/shell/env | 2 +- config/tmux/tmux.conf | 2 + config/waybar/config | 10 - config/xplr/hack.lua | 59 - config/xplr/init.lua | 48 - config/xplr/init.lua.old | 3079 ----------------- config/yazi/init.lua | 49 + config/yazi/keymap.toml | 48 +- config/yazi/package.toml | 76 +- .../{exifaudio.yazi => diff.yazi}/LICENSE | 2 +- config/yazi/plugins/diff.yazi/README.md | 28 + config/yazi/plugins/diff.yazi/main.lua | 41 + config/yazi/plugins/exifaudio.yazi/README.md | 38 - config/yazi/plugins/exifaudio.yazi/main.lua | 237 -- config/yazi/plugins/glow.yazi/LICENSE | 7 - config/yazi/plugins/glow.yazi/README.md | 30 - config/yazi/plugins/glow.yazi/main.lua | 64 - config/yazi/plugins/mediainfo.yazi/LICENSE | 19 + config/yazi/plugins/mediainfo.yazi/README.md | 98 + .../assets/2025-02-15-09-14-23.png | Bin 0 -> 190390 bytes .../assets/2025-02-15-09-15-39.png | Bin 0 -> 292784 bytes .../assets/2025-02-15-16-51-11.png | Bin 0 -> 30654 bytes .../assets/2025-02-15-16-52-39.png | Bin 0 -> 266938 bytes config/yazi/plugins/mediainfo.yazi/main.lua | 237 ++ config/yazi/plugins/mime-ext.yazi/LICENSE | 21 + config/yazi/plugins/mime-ext.yazi/README.md | 56 + config/yazi/plugins/mime-ext.yazi/main.lua | 1126 ++++++ config/yazi/plugins/mount.yazi/LICENSE | 21 + config/yazi/plugins/mount.yazi/README.md | 51 + config/yazi/plugins/mount.yazi/main.lua | 285 ++ config/yazi/plugins/nbpreview.yazi/README.md | 91 - config/yazi/plugins/office.yazi/LICENSE | 21 + config/yazi/plugins/office.yazi/README.md | 76 + config/yazi/plugins/office.yazi/main.lua | 114 + .../LICENSE | 0 .../yazi/plugins/rich-preview.yazi/README.md | 89 + .../main.lua | 24 +- config/yazi/plugins/smart-filter.yazi/LICENSE | 21 + .../yazi/plugins/smart-filter.yazi/README.md | 28 + .../yazi/plugins/smart-filter.yazi/main.lua | 49 + config/yazi/plugins/time-travel.yazi/LICENSE | 21 + .../yazi/plugins/time-travel.yazi/README.md | 41 + config/yazi/plugins/time-travel.yazi/main.lua | 386 +++ config/yazi/plugins/vidir.yazi/LICENSE | 21 + config/yazi/plugins/vidir.yazi/README.md | 29 + config/yazi/plugins/vidir.yazi/main.lua | 9 + config/yazi/yazi.toml | 58 +- local/share/applications/file.desktop | 2 +- local/share/applications/text.desktop | 2 +- 61 files changed, 5624 insertions(+), 6531 deletions(-) create mode 100644 config/ghostty/default delete mode 100644 config/joshuto/bookmarks.toml delete mode 100644 config/joshuto/joshuto.toml delete mode 100644 config/joshuto/keymap.toml delete mode 100644 config/joshuto/mimetype.toml delete mode 100644 config/joshuto/theme.toml delete mode 100644 config/xplr/hack.lua delete mode 100644 config/xplr/init.lua delete mode 100644 config/xplr/init.lua.old rename config/yazi/plugins/{exifaudio.yazi => diff.yazi}/LICENSE (97%) create mode 100644 config/yazi/plugins/diff.yazi/README.md create mode 100644 config/yazi/plugins/diff.yazi/main.lua delete mode 100644 config/yazi/plugins/exifaudio.yazi/README.md delete mode 100644 config/yazi/plugins/exifaudio.yazi/main.lua delete mode 100644 config/yazi/plugins/glow.yazi/LICENSE delete mode 100644 config/yazi/plugins/glow.yazi/README.md delete mode 100644 config/yazi/plugins/glow.yazi/main.lua create mode 100644 config/yazi/plugins/mediainfo.yazi/LICENSE create mode 100644 config/yazi/plugins/mediainfo.yazi/README.md create mode 100644 config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-09-14-23.png create mode 100644 config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-09-15-39.png create mode 100644 config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-16-51-11.png create mode 100644 config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-16-52-39.png create mode 100644 config/yazi/plugins/mediainfo.yazi/main.lua create mode 100644 config/yazi/plugins/mime-ext.yazi/LICENSE create mode 100644 config/yazi/plugins/mime-ext.yazi/README.md create mode 100644 config/yazi/plugins/mime-ext.yazi/main.lua create mode 100644 config/yazi/plugins/mount.yazi/LICENSE create mode 100644 config/yazi/plugins/mount.yazi/README.md create mode 100644 config/yazi/plugins/mount.yazi/main.lua delete mode 100644 config/yazi/plugins/nbpreview.yazi/README.md create mode 100644 config/yazi/plugins/office.yazi/LICENSE create mode 100644 config/yazi/plugins/office.yazi/README.md create mode 100644 config/yazi/plugins/office.yazi/main.lua rename config/yazi/plugins/{nbpreview.yazi => rich-preview.yazi}/LICENSE (100%) create mode 100644 config/yazi/plugins/rich-preview.yazi/README.md rename config/yazi/plugins/{nbpreview.yazi => rich-preview.yazi}/main.lua (76%) create mode 100644 config/yazi/plugins/smart-filter.yazi/LICENSE create mode 100644 config/yazi/plugins/smart-filter.yazi/README.md create mode 100644 config/yazi/plugins/smart-filter.yazi/main.lua create mode 100644 config/yazi/plugins/time-travel.yazi/LICENSE create mode 100644 config/yazi/plugins/time-travel.yazi/README.md create mode 100644 config/yazi/plugins/time-travel.yazi/main.lua create mode 100644 config/yazi/plugins/vidir.yazi/LICENSE create mode 100644 config/yazi/plugins/vidir.yazi/README.md create mode 100644 config/yazi/plugins/vidir.yazi/main.lua diff --git a/.dotter/global.toml b/.dotter/global.toml index f528a81f..cfd59986 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -51,9 +51,12 @@ depends = [ "shell" ] [local.files] "local/bin/" = "~/.local/bin/" "local/share/" = "~/.local/share/" +"local/share/applications/text.desktop" = {target = "~/.local/share/applications/text.desktop", type = "template"} +"local/share/applications/file.desktop" = {target = "~/.local/share/applications/file.desktop", type = "template"} [rofi.files] "config/rofi/" = "~/.config/rofi/" +"config/rofi/config.rasi" = {target = "~/.config/rofi/config.rasi", type = "template"} [misc] depends = [ "torrent", "zathura" ] @@ -85,12 +88,12 @@ depends = [ "torrent", "zathura" ] [awesome.files] "config/awesome/json.lua" = "~/.config/awesome/json.lua" "config/awesome/mytheme.lua" = "~/.config/awesome/mytheme.lua" -"config/awesome/rc.lua" = "~/.config/awesome/rc.lua" +"config/awesome/rc.lua" = {target = "~/.config/awesome/rc.lua", type = "template"} [awesome_laptop.files] "config/awesome/json.lua" = "~/.config/awesome/json.lua" "config/awesome/mytheme.lua" = "~/.config/awesome/mytheme.lua" -"config/awesome/rc-laptop.lua" = "~/.config/awesome/rc.lua" +"config/awesome/rc-laptop.lua" = {target = "~/.config/awesome/rc.lua", type = "template"} [dunst.files] "config/dunst/" = "~/.config/dunst/" @@ -100,6 +103,7 @@ depends = [ "misc", "local", "eww", "lock" ] [hyprland.files] "config/hypr/" = "~/.config/hypr/" +"config/hypr/hyprland.conf" = {target = "~/.config/hypr/hyprland.conf", type = "template"} [wofi.files] "config/wofi/" = "~/.config/wofi/" diff --git a/config/awesome/rc-laptop.lua b/config/awesome/rc-laptop.lua index dfd68f5c..4d91c926 100644 --- a/config/awesome/rc-laptop.lua +++ b/config/awesome/rc-laptop.lua @@ -31,7 +31,7 @@ local hotkeys_popup = require("awful.hotkeys_popup") -- when client with a matching name is opened: require("awful.hotkeys_popup.keys") --- {{{ Error handling +--- Error handling -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) if awesome.startup_errors then @@ -60,15 +60,14 @@ do in_error = false end) end --- }}} --- {{{ Variable definitions +--- Variable definitions -- Themes define colours, icons, font and wallpapers. -- beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") beautiful.init(gears.filesystem.get_configuration_dir() .. "mytheme.lua") -- This is used later as the default terminal and editor to run. -local terminal = "alacritty" +local terminal = "{{terminal}}" local editor = os.getenv("EDITOR") or "nvim" local editor_cmd = terminal .. " -e " .. editor @@ -99,9 +98,8 @@ awful.layout.layouts = { -- awful.layout.suit.corner.sw, -- awful.layout.suit.corner.se, } --- }}} --- {{{ Menu +-- Menu -- Create a launcher widget and a main menu local myawesomemenu = { { @@ -128,12 +126,11 @@ local mymainmenu = -- Menubar configuration menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} -- Keyboard map indicator and switcher -- local mykeyboardlayout = awful.widget.keyboardlayout() --- {{{ Wibar +-- Wibar -- Create a textclock widget local mytextclock = wibox.widget.textclock(" %d.%m.%Y, %H:%M:%S ", 1) @@ -327,9 +324,8 @@ awful.screen.connect_for_each_screen(function(s) }, }) end) --- }}} --- {{{ Mouse bindings +--- Mouse bindings root.buttons(gears.table.join( awful.button({}, 3, function() mymainmenu:toggle() @@ -337,9 +333,8 @@ root.buttons(gears.table.join( awful.button({}, 4, awful.tag.viewnext), awful.button({}, 5, awful.tag.viewprev) )) --- }}} --- {{{ Key bindings +--- Key bindings local globalkeys = gears.table.join( awful.key({ "Shift" }, "Pause", function() @@ -445,7 +440,7 @@ local globalkeys = gears.table.join( awful.spawn("floorp") end, { description = "open browser", group = "launcher" }), awful.key({ modkey }, "n", function() - awful.spawn("alacritty -e yazi") + awful.spawn(terminal .. " -e yazi") end, { description = "open yazi", group = "launcher" }), awful.key({ modkey }, "l", function() @@ -606,9 +601,8 @@ local clientbuttons = gears.table.join( -- Set keys root.keys(globalkeys) --- }}} --- {{{ Rules +--- Rules -- Rules to apply to new clients (through the "manage" signal). awful.rules.rules = { -- All clients will match this rule. @@ -694,7 +688,7 @@ awful.rules.rules = { { rule_any = { class = { "mpv" } }, properties = { fullscreen = true } }, } --- {{{ Signals +--- Signals -- Signal function to execute when a new client appears. client.connect_signal("manage", function(c) -- Set the windows at the slave, diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 179f34a6..cbd65207 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -30,7 +30,7 @@ local hotkeys_popup = require("awful.hotkeys_popup") -- when client with a matching name is opened: require("awful.hotkeys_popup.keys") --- {{{ Error handling +--- Error handling -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) if awesome.startup_errors then @@ -59,15 +59,14 @@ do in_error = false end) end --- }}} --- {{{ Variable definitions +--- Variable definitions -- Themes define colours, icons, font and wallpapers. -- beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") beautiful.init(gears.filesystem.get_configuration_dir() .. "mytheme.lua") -- This is used later as the default terminal and editor to run. -local terminal = "alacritty" +local terminal = "{{terminal}}" local editor = os.getenv("EDITOR") or "nvim" local editor_cmd = terminal .. " -e " .. editor @@ -98,9 +97,8 @@ awful.layout.layouts = { -- awful.layout.suit.corner.sw, -- awful.layout.suit.corner.se, } --- }}} --- {{{ Menu +--- Menu -- Create a launcher widget and a main menu local myawesomemenu = { { @@ -127,12 +125,11 @@ local mymainmenu = -- Menubar configuration menubar.utils.terminal = terminal -- Set the terminal for applications that require it --- }}} -- Keyboard map indicator and switcher -- local mykeyboardlayout = awful.widget.keyboardlayout() --- {{{ Wibar +--- Wibar -- Create a textclock widget local mytextclock = wibox.widget.textclock(" %d.%m.%Y, %H:%M:%S ", 1) @@ -320,9 +317,8 @@ awful.screen.connect_for_each_screen(function(s) }, }) end) --- }}} --- {{{ Mouse bindings +--- Mouse bindings root.buttons(gears.table.join( awful.button({}, 3, function() mymainmenu:toggle() @@ -330,9 +326,8 @@ root.buttons(gears.table.join( awful.button({}, 4, awful.tag.viewnext), awful.button({}, 5, awful.tag.viewprev) )) --- }}} --- {{{ Key bindings +--- Key bindings local globalkeys = gears.table.join( awful.key({ "Shift" }, "Pause", function() @@ -438,7 +433,7 @@ local globalkeys = gears.table.join( awful.spawn("floorp") end, { description = "open browser", group = "launcher" }), awful.key({ modkey }, "n", function() - awful.spawn("alacritty -e yazi") + awful.spawn(terminal .. " -e yazi") end, { description = "open yazi", group = "launcher" }), awful.key({ modkey }, "l", function() @@ -595,9 +590,8 @@ local clientbuttons = gears.table.join( -- Set keys root.keys(globalkeys) --- }}} --- {{{ Rules +--- Rules -- Rules to apply to new clients (through the "manage" signal). awful.rules.rules = { -- All clients will match this rule. @@ -683,7 +677,7 @@ awful.rules.rules = { { rule_any = { class = { "mpv" } }, properties = { fullscreen = true } }, } --- {{{ Signals +--- Signals -- Signal function to execute when a new client appears. client.connect_signal("manage", function(c) -- Set the windows at the slave, diff --git a/config/ghostty/config b/config/ghostty/config index e3258598..2204e9db 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -1,991 +1,30 @@ -# The font families to use. -# -# You can generate the list of valid values using the CLI: -# -# ghostty +list-fonts -# -# This configuration can be repeated multiple times to specify preferred -# fallback fonts when the requested codepoint is not available in the primary -# font. This is particularly useful for multiple languages, symbolic fonts, -# etc. -# -# Notes on emoji specifically: On macOS, Ghostty by default will always use -# Apple Color Emoji and on Linux will always use Noto Emoji. You can -# override this behavior by specifying a font family here that contains -# emoji glyphs. -# -# The specific styles (bold, italic, bold italic) do not need to be -# explicitly set. If a style is not set, then the regular style (font-family) -# will be searched for stylistic variants. If a stylistic variant is not -# found, Ghostty will use the regular style. This prevents falling back to a -# different font family just to get a style such as bold. This also applies -# if you explicitly specify a font family for a style. For example, if you -# set `font-family-bold = FooBar` and "FooBar" cannot be found, Ghostty will -# use whatever font is set for `font-family` for the bold style. -# -# Finally, some styles may be synthesized if they are not supported. -# For example, if a font does not have an italic style and no alternative -# italic font is specified, Ghostty will synthesize an italic style by -# applying a slant to the regular style. If you want to disable these -# synthesized styles then you can use the `font-style` configurations -# as documented below. -# -# You can disable styles completely by using the `font-style` set of -# configurations. See the documentation for `font-style` for more information. -# -# If you want to overwrite a previous set value rather than append a fallback, -# specify the value as `""` (empty string) to reset the list and then set the -# new values. For example: -# -# font-family = "" -# font-family = "My Favorite Font" -# -# Setting any of these as CLI arguments will automatically clear the -# values set in configuration files so you don't need to specify -# `--font-family=""` before setting a new value. You only need to specify -# this within config files if you want to clear previously set values in -# configuration files or on the CLI if you want to clear values set on the -# CLI. -# -# Changing this configuration at runtime will only affect new terminals, i.e. -# new windows, tabs, etc. font-family = "JetBrainsMono NF" +font-family-bold = "JetBrainsMono NF Bold" +font-family-italic = "JetBrainsMono NF Italic" +font-family-bold-italic = "JetBrainsMono NF Bold Italic" -# font-family-bold = "JetBrainsMono NF Bold" -# font-family-italic = "JetBrainsMono NF Italic" -# font-family-bold-italic = "JetBrainsMono NF Bold Italic" -# The named font style to use for each of the requested terminal font styles. -# This looks up the style based on the font style string advertised by the -# font itself. For example, "Iosevka Heavy" has a style of "Heavy". -# -# You can also use these fields to completely disable a font style. If you set -# the value of the configuration below to literal `false` then that font style -# will be disabled. If the running program in the terminal requests a disabled -# font style, the regular font style will be used instead. -# -# These are only valid if its corresponding font-family is also specified. If -# no font-family is specified, then the font-style is ignored unless you're -# disabling the font style. -font-style = default - -font-style-bold = default -font-style-italic = default -font-style-bold-italic = default -# Control whether Ghostty should synthesize a style if the requested style is -# not available in the specified font-family. -# -# Ghostty can synthesize bold, italic, and bold italic styles if the font -# does not have a specific style. For bold, this is done by drawing an -# outline around the glyph of varying thickness. For italic, this is done by -# applying a slant to the glyph. For bold italic, both of these are applied. -# -# Synthetic styles are not perfect and will generally not look as good -# as a font that has the style natively. However, they are useful to -# provide styled text when the font does not have the style. -# -# Set this to "false" or "true" to disable or enable synthetic styles -# completely. You can disable specific styles using "no-bold", "no-italic", -# and "no-bold-italic". You can disable multiple styles by separating them -# with a comma. For example, "no-bold,no-italic". -# -# Available style keys are: `bold`, `italic`, `bold-italic`. -# -# If synthetic styles are disabled, then the regular style will be used -# instead if the requested style is not available. If the font has the -# requested style, then the font will be used as-is since the style is -# not synthetic. -# -# Warning: An easy mistake is to disable `bold` or `italic` but not -# `bold-italic`. Disabling only `bold` or `italic` will NOT disable either -# in the `bold-italic` style. If you want to disable `bold-italic`, you must -# explicitly disable it. You cannot partially disable `bold-italic`. -# -# By default, synthetic styles are enabled. -font-synthetic-style = bold,italic,bold-italic - -# Apply a font feature. To enable multiple font features you can repeat -# this multiple times or use a comma-separated list of feature settings. -# -# The syntax for feature settings is as follows, where `feat` is a feature: -# -# * Enable features with e.g. `feat`, `+feat`, `feat on`, `feat=1`. -# * Disabled features with e.g. `-feat`, `feat off`, `feat=0`. -# * Set a feature value with e.g. `feat=2`, `feat = 3`, `feat 4`. -# * Feature names may be wrapped in quotes, meaning this config should be -# syntactically compatible with the `font-feature-settings` CSS property. -# -# The syntax is fairly loose, but invalid settings will be silently ignored. -# -# The font feature will apply to all fonts rendered by Ghostty. A future -# enhancement will allow targeting specific faces. -# -# To disable programming ligatures, use `-calt` since this is the typical -# feature name for programming ligatures. To look into what font features -# your font has and what they do, use a font inspection tool such as -# [fontdrop.info](https://fontdrop.info). -# -# To generally disable most ligatures, use `-calt, -liga, -dlig`. font-feature = "-calt, -liga, -dlig" - -# Font size in points. This value can be a non-integer and the nearest integer -# pixel size will be selected. If you have a high dpi display where 1pt = 2px -# then you can get an odd numbered pixel size by specifying a half point. -# -# For example, 13.5pt @ 2px/pt = 27px -# -# Changing this configuration at runtime will only affect new terminals, -# i.e. new windows, tabs, etc. Note that you may still not see the change -# depending on your `window-inherit-font-size` setting. If that setting is -# true, only the first window will be affected by this change since all -# subsequent windows will inherit the font size of the previous window. -# -# On Linux with GTK, font size is scaled according to both display-wide and -# text-specific scaling factors, which are often managed by your desktop -# environment (e.g. the GNOME display scale and large text settings). font-size = {{font_size}} -# A repeatable configuration to set one or more font variations values for -# a variable font. A variable font is a single font, usually with a filename -# ending in `-VF.ttf` or `-VF.otf` that contains one or more configurable axes -# for things such as weight, slant, etc. Not all fonts support variations; -# only fonts that explicitly state they are variable fonts will work. -# -# The format of this is `id=value` where `id` is the axis identifier. An axis -# identifier is always a 4 character string, such as `wght`. To get the list -# of supported axes, look at your font documentation or use a font inspection -# tool. -# -# Invalid ids and values are usually ignored. For example, if a font only -# supports weights from 100 to 700, setting `wght=800` will do nothing (it -# will not be clamped to 700). You must consult your font's documentation to -# see what values are supported. -# -# Common axes are: `wght` (weight), `slnt` (slant), `ital` (italic), `opsz` -# (optical size), `wdth` (width), `GRAD` (gradient), etc. -font-variation = - -font-variation-bold = -font-variation-italic = -font-variation-bold-italic = -# Force one or a range of Unicode codepoints to map to a specific named font. -# This is useful if you want to support special symbols or if you want to use -# specific glyphs that render better for your specific font. -# -# The syntax is `codepoint=fontname` where `codepoint` is either a single -# codepoint or a range. Codepoints must be specified as full Unicode -# hex values, such as `U+ABCD`. Codepoints ranges are specified as -# `U+ABCD-U+DEFG`. You can specify multiple ranges for the same font separated -# by commas, such as `U+ABCD-U+DEFG,U+1234-U+5678=fontname`. The font name is -# the same value as you would use for `font-family`. -# -# This configuration can be repeated multiple times to specify multiple -# codepoint mappings. -# -# Changing this configuration at runtime will only affect new terminals, -# i.e. new windows, tabs, etc. -font-codepoint-map = - -# Draw fonts with a thicker stroke, if supported. -# This is currently only supported on macOS. -font-thicken = false - -# Strength of thickening when `font-thicken` is enabled. -# -# Valid values are integers between `0` and `255`. `0` does not correspond to -# *no* thickening, rather it corresponds to the lightest available thickening. -# -# Has no effect when `font-thicken` is set to `false`. -# -# This is currently only supported on macOS. -font-thicken-strength = 255 - -# What color space to use when performing alpha blending. -# -# This affects the appearance of text and of any images with transparency. -# Additionally, custom shaders will receive colors in the configured space. -# -# Valid values: -# -# * `native` - Perform alpha blending in the native color space for the OS. -# On macOS this corresponds to Display P3, and on Linux it's sRGB. -# -# * `linear` - Perform alpha blending in linear space. This will eliminate -# the darkening artifacts around the edges of text that are very visible -# when certain color combinations are used (e.g. red / green), but makes -# dark text look much thinner than normal and light text much thicker. -# This is also sometimes known as "gamma correction". -# (Currently only supported on macOS. Has no effect on Linux.) -# -# * `linear-corrected` - Same as `linear`, but with a correction step applied -# for text that makes it look nearly or completely identical to `native`, -# but without any of the darkening artifacts. -alpha-blending = native - -# All of the configurations behavior adjust various metrics determined by the -# font. The values can be integers (1, -1, etc.) or a percentage (20%, -15%, -# etc.). In each case, the values represent the amount to change the original -# value. -# -# For example, a value of `1` increases the value by 1; it does not set it to -# literally 1. A value of `20%` increases the value by 20%. And so on. -# -# There is little to no validation on these values so the wrong values (e.g. -# `-100%`) can cause the terminal to be unusable. Use with caution and reason. -# -# Some values are clamped to minimum or maximum values. This can make it -# appear that certain values are ignored. For example, many `*-thickness` -# adjustments cannot go below 1px. -# -# `adjust-cell-height` has some additional behaviors to describe: -# -# * The font will be centered vertically in the cell. -# -# * The cursor will remain the same size as the font, but may be -# adjusted separately with `adjust-cursor-height`. -# -# * Powerline glyphs will be adjusted along with the cell height so -# that things like status lines continue to look aligned. -adjust-cell-width = - -adjust-cell-height = -# Distance in pixels or percentage adjustment from the bottom of the cell to the text baseline. -# Increase to move baseline UP, decrease to move baseline DOWN. -# See the notes about adjustments in `adjust-cell-width`. -adjust-font-baseline = - -# Distance in pixels or percentage adjustment from the top of the cell to the top of the underline. -# Increase to move underline DOWN, decrease to move underline UP. -# See the notes about adjustments in `adjust-cell-width`. -adjust-underline-position = - -# Thickness in pixels of the underline. -# See the notes about adjustments in `adjust-cell-width`. -adjust-underline-thickness = - -# Distance in pixels or percentage adjustment from the top of the cell to the top of the strikethrough. -# Increase to move strikethrough DOWN, decrease to move underline UP. -# See the notes about adjustments in `adjust-cell-width`. -adjust-strikethrough-position = - -# Thickness in pixels or percentage adjustment of the strikethrough. -# See the notes about adjustments in `adjust-cell-width`. -adjust-strikethrough-thickness = - -# Distance in pixels or percentage adjustment from the top of the cell to the top of the overline. -# Increase to move overline DOWN, decrease to move underline UP. -# See the notes about adjustments in `adjust-cell-width`. -adjust-overline-position = - -# Thickness in pixels or percentage adjustment of the overline. -# See the notes about adjustments in `adjust-cell-width`. -adjust-overline-thickness = - -# Thickness in pixels or percentage adjustment of the bar cursor and outlined rect cursor. -# See the notes about adjustments in `adjust-cell-width`. -adjust-cursor-thickness = - -# Height in pixels or percentage adjustment of the cursor. Currently applies to all cursor types: -# bar, rect, and outlined rect. -# See the notes about adjustments in `adjust-cell-width`. -adjust-cursor-height = - -# Thickness in pixels or percentage adjustment of box drawing characters. -# See the notes about adjustments in `adjust-cell-width`. -adjust-box-thickness = - -# The method to use for calculating the cell width of a grapheme cluster. -# The default value is `unicode` which uses the Unicode standard to determine -# grapheme width. This results in correct grapheme width but may result in -# cursor-desync issues with some programs (such as shells) that may use a -# legacy method such as `wcswidth`. -# -# Valid values are: -# -# * `legacy` - Use a legacy method to determine grapheme width, such as -# wcswidth This maximizes compatibility with legacy programs but may result -# in incorrect grapheme width for certain graphemes such as skin-tone -# emoji, non-English characters, etc. -# -# This is called "legacy" and not something more specific because the -# behavior is undefined and we want to retain the ability to modify it. -# For example, we may or may not use libc `wcswidth` now or in the future. -# -# * `unicode` - Use the Unicode standard to determine grapheme width. -# -# If a running program explicitly enables terminal mode 2027, then `unicode` -# width will be forced regardless of this configuration. When mode 2027 is -# reset, this configuration will be used again. -# -# This configuration can be changed at runtime but will not affect existing -# terminals. Only new terminals will use the new configuration. -grapheme-width-method = unicode - -# FreeType load flags to enable. The format of this is a list of flags to -# enable separated by commas. If you prefix a flag with `no-` then it is -# disabled. If you omit a flag, its default value is used, so you must -# explicitly disable flags you don't want. You can also use `true` or `false` -# to turn all flags on or off. -# -# This configuration only applies to Ghostty builds that use FreeType. -# This is usually the case only for Linux builds. macOS uses CoreText -# and does not have an equivalent configuration. -# -# Available flags: -# -# * `hinting` - Enable or disable hinting, enabled by default. -# * `force-autohint` - Use the freetype auto-hinter rather than the -# font's native hinter. Enabled by default. -# * `monochrome` - Instructs renderer to use 1-bit monochrome -# rendering. This option doesn't impact the hinter. -# Enabled by default. -# * `autohint` - Use the freetype auto-hinter. Enabled by default. -# -# Example: `hinting`, `no-hinting`, `force-autohint`, `no-force-autohint` -freetype-load-flags = hinting,force-autohint,monochrome,autohint - -# A theme to use. This can be a built-in theme name, a custom theme -# name, or an absolute path to a custom theme file. Ghostty also supports -# specifying a different theme to use for light and dark mode. Each -# option is documented below. -# -# If the theme is an absolute pathname, Ghostty will attempt to load that -# file as a theme. If that file does not exist or is inaccessible, an error -# will be logged and no other directories will be searched. -# -# If the theme is not an absolute pathname, two different directories will be -# searched for a file name that matches the theme. This is case sensitive on -# systems with case-sensitive filesystems. It is an error for a theme name to -# include path separators unless it is an absolute pathname. -# -# The first directory is the `themes` subdirectory of your Ghostty -# configuration directory. This is `$XDG_CONFIG_DIR/ghostty/themes` or -# `~/.config/ghostty/themes`. -# -# The second directory is the `themes` subdirectory of the Ghostty resources -# directory. Ghostty ships with a multitude of themes that will be installed -# into this directory. On macOS, this list is in the -# `Ghostty.app/Contents/Resources/ghostty/themes` directory. On Linux, this -# list is in the `share/ghostty/themes` directory (wherever you installed the -# Ghostty "share" directory. -# -# To see a list of available themes, run `ghostty +list-themes`. -# -# A theme file is simply another Ghostty configuration file. They share -# the same syntax and same configuration options. A theme can set any valid -# configuration option so please do not use a theme file from an untrusted -# source. The built-in themes are audited to only set safe configuration -# options. -# -# Some options cannot be set within theme files. The reason these are not -# supported should be self-evident. A theme file cannot set `theme` or -# `config-file`. At the time of writing this, Ghostty will not show any -# warnings or errors if you set these options in a theme file but they will -# be silently ignored. -# -# Any additional colors specified via background, foreground, palette, etc. -# will override the colors specified in the theme. -# -# To specify a different theme for light and dark mode, use the following -# syntax: `light:theme-name,dark:theme-name`. For example: -# `light:rose-pine-dawn,dark:rose-pine`. Whitespace around all values are -# trimmed and order of light and dark does not matter. Both light and dark -# must be specified in this form. In this form, the theme used will be -# based on the current desktop environment theme. -# -# There are some known bugs with light/dark mode theming. These will -# be fixed in a future update: -# -# - macOS: titlebar tabs style is not updated when switching themes. -# theme = rose-pine -# Background color for the window. -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -# background = #282c34 - -# Foreground color for the window. -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -# foreground = #ffffff - -# The foreground and background color for selection. If this is not set, then -# the selection color is just the inverted window background and foreground -# (note: not to be confused with the cell bg/fg). -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -selection-foreground = - -selection-background = -# Swap the foreground and background colors of cells for selection. This -# option overrides the `selection-foreground` and `selection-background` -# options. -# -# If you select across cells with differing foregrounds and backgrounds, the -# selection color will vary across the selection. -selection-invert-fg-bg = false - -# The minimum contrast ratio between the foreground and background colors. -# The contrast ratio is a value between 1 and 21. A value of 1 allows for no -# contrast (e.g. black on black). This value is the contrast ratio as defined -# by the [WCAG 2.0 specification](https://www.w3.org/TR/WCAG20/). -# -# If you want to avoid invisible text (same color as background), a value of -# 1.1 is a good value. If you want to avoid text that is difficult to read, a -# value of 3 or higher is a good value. The higher the value, the more likely -# that text will become black or white. -# -# This value does not apply to Emoji or images. -minimum-contrast = 1 - -# Color palette for the 256 color form that many terminal applications use. -# The syntax of this configuration is `N=COLOR` where `N` is 0 to 255 (for -# the 256 colors in the terminal color table) and `COLOR` is a typical RGB -# color code such as `#AABBCC` or `AABBCC`, or a named X11 color. -# -# The palette index can be in decimal, binary, octal, or hexadecimal. -# Decimal is assumed unless a prefix is used: `0b` for binary, `0o` for octal, -# and `0x` for hexadecimal. -# -# For definitions on the color indices and what they canonically map to, -# [see this cheat sheet](https://www.ditig.com/256-colors-cheat-sheet). - -# The color of the cursor. If this is not set, a default will be chosen. -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -cursor-color = - -# Swap the foreground and background colors of the cell under the cursor. This -# option overrides the `cursor-color` and `cursor-text` options. -cursor-invert-fg-bg = false - -# The opacity level (opposite of transparency) of the cursor. A value of 1 -# is fully opaque and a value of 0 is fully transparent. A value less than 0 -# or greater than 1 will be clamped to the nearest valid value. Note that a -# sufficiently small value such as 0.3 may be effectively invisible and may -# make it difficult to find the cursor. -cursor-opacity = 1 - -# The style of the cursor. This sets the default style. A running program can -# still request an explicit cursor style using escape sequences (such as `CSI -# q`). Shell configurations will often request specific cursor styles. -# -# Note that shell integration will automatically set the cursor to a bar at -# a prompt, regardless of this configuration. You can disable that behavior -# by specifying `shell-integration-features = no-cursor` or disabling shell -# integration entirely. -# -# Valid values are: -# -# * `block` -# * `bar` -# * `underline` -# * `block_hollow` -# -cursor-style = bar - -# Sets the default blinking state of the cursor. This is just the default -# state; running programs may override the cursor style using `DECSCUSR` (`CSI -# q`). -# -# If this is not set, the cursor blinks by default. Note that this is not the -# same as a "true" value, as noted below. -# -# If this is not set at all (`null`), then Ghostty will respect DEC Mode 12 -# (AT&T cursor blink) as an alternate approach to turning blinking on/off. If -# this is set to any value other than null, DEC mode 12 will be ignored but -# `DECSCUSR` will still be respected. -# -# Valid values are: -# -# * ` ` (blank) -# * `true` -# * `false` -# -cursor-style-blink = - -# The color of the text under the cursor. If this is not set, a default will -# be chosen. -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -cursor-text = - -# Enables the ability to move the cursor at prompts by using `alt+click` on -# Linux and `option+click` on macOS. -# -# This feature requires shell integration (specifically prompt marking -# via `OSC 133`) and only works in primary screen mode. Alternate screen -# applications like vim usually have their own version of this feature but -# this configuration doesn't control that. -# -# It should be noted that this feature works by translating your desired -# position into a series of synthetic arrow key movements, so some weird -# behavior around edge cases are to be expected. This is unfortunately how -# this feature is implemented across terminals because there isn't any other -# way to implement it. -cursor-click-to-move = true - -# Hide the mouse immediately when typing. The mouse becomes visible again -# when the mouse is used (button, movement, etc.). Platform-specific behavior -# may dictate other scenarios where the mouse is shown. For example on macOS, -# the mouse is shown again when a new window, tab, or split is created. -mouse-hide-while-typing = false - -# Determines whether running programs can detect the shift key pressed with a -# mouse click. Typically, the shift key is used to extend mouse selection. -# -# The default value of `false` means that the shift key is not sent with -# the mouse protocol and will extend the selection. This value can be -# conditionally overridden by the running program with the `XTSHIFTESCAPE` -# sequence. -# -# The value `true` means that the shift key is sent with the mouse protocol -# but the running program can override this behavior with `XTSHIFTESCAPE`. -# -# The value `never` is the same as `false` but the running program cannot -# override this behavior with `XTSHIFTESCAPE`. The value `always` is the -# same as `true` but the running program cannot override this behavior with -# `XTSHIFTESCAPE`. -# -# If you always want shift to extend mouse selection even if the program -# requests otherwise, set this to `never`. -# -# Valid values are: -# -# * `true` -# * `false` -# * `always` -# * `never` -# -mouse-shift-capture = false - -# Multiplier for scrolling distance with the mouse wheel. Any value less -# than 0.01 or greater than 10,000 will be clamped to the nearest valid -# value. -# -# A value of "1" (default) scrolls the default amount. A value of "2" scrolls -# double the default amount. A value of "0.5" scrolls half the default amount. -# Et cetera. -mouse-scroll-multiplier = 1 - -# The opacity level (opposite of transparency) of the background. A value of -# 1 is fully opaque and a value of 0 is fully transparent. A value less than 0 -# or greater than 1 will be clamped to the nearest valid value. -# -# On macOS, background opacity is disabled when the terminal enters native -# fullscreen. This is because the background becomes gray and it can cause -# widgets to show through which isn't generally desirable. -# -# On macOS, changing this configuration requires restarting Ghostty completely. -background-opacity = 0.95 - -# Whether to blur the background when `background-opacity` is less than 1. -# -# Valid values are: -# -# * a nonnegative integer specifying the *blur intensity* -# * `false`, equivalent to a blur intensity of 0 -# * `true`, equivalent to the default blur intensity of 20, which is -# reasonable for a good looking blur. Higher blur intensities may -# cause strange rendering and performance issues. -# -# Supported on macOS and on some Linux desktop environments, including: -# -# * KDE Plasma (Wayland and X11) -# -# Warning: the exact blur intensity is _ignored_ under KDE Plasma, and setting -# this setting to either `true` or any positive blur intensity value would -# achieve the same effect. The reason is that KWin, the window compositor -# powering Plasma, only has one global blur setting and does not allow -# applications to specify individual blur settings. -# -# To configure KWin's global blur setting, open System Settings and go to -# "Apps & Windows" > "Window Management" > "Desktop Effects" and select the -# "Blur" plugin. If disabled, enable it by ticking the checkbox to the left. -# Then click on the "Configure" button and there will be two sliders that -# allow you to set background blur and noise intensities for all apps, -# including Ghostty. -# -# All other Linux desktop environments are as of now unsupported. Users may -# need to set environment-specific settings and/or install third-party plugins -# in order to support background blur, as there isn't a unified interface for -# doing so. -background-blur = true - -# The opacity level (opposite of transparency) of an unfocused split. -# Unfocused splits by default are slightly faded out to make it easier to see -# which split is focused. To disable this feature, set this value to 1. -# -# A value of 1 is fully opaque and a value of 0 is fully transparent. Because -# "0" is not useful (it makes the window look very weird), the minimum value -# is 0.15. This value still looks weird but you can at least see what's going -# on. A value outside of the range 0.15 to 1 will be clamped to the nearest -# valid value. -unfocused-split-opacity = 0.7 - -# The color to dim the unfocused split. Unfocused splits are dimmed by -# rendering a semi-transparent rectangle over the split. This sets the color of -# that rectangle and can be used to carefully control the dimming effect. -# -# This will default to the background color. -# -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -unfocused-split-fill = - -# The color of the split divider. If this is not set, a default will be chosen. -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -split-divider-color = - -# The command to run, usually a shell. If this is not an absolute path, it'll -# be looked up in the `PATH`. If this is not set, a default will be looked up -# from your system. The rules for the default lookup are: -# -# * `SHELL` environment variable -# -# * `passwd` entry (user information) -# -# This can contain additional arguments to run the command with. If additional -# arguments are provided, the command will be executed using `/bin/sh -c`. -# Ghostty does not do any shell command parsing. -# -# This command will be used for all new terminal surfaces, i.e. new windows, -# tabs, etc. If you want to run a command only for the first terminal surface -# created when Ghostty starts, use the `initial-command` configuration. -# -# Ghostty supports the common `-e` flag for executing a command with -# arguments. For example, `ghostty -e fish --with --custom --args`. -# This flag sets the `initial-command` configuration, see that for more -# information. -command = - -# This is the same as "command", but only applies to the first terminal -# surface created when Ghostty starts. Subsequent terminal surfaces will use -# the `command` configuration. -# -# After the first terminal surface is created (or closed), there is no -# way to run this initial command again automatically. As such, setting -# this at runtime works but will only affect the next terminal surface -# if it is the first one ever created. -# -# If you're using the `ghostty` CLI there is also a shortcut to set this -# with arguments directly: you can use the `-e` flag. For example: `ghostty -e -# fish --with --custom --args`. The `-e` flag automatically forces some -# other behaviors as well: -# -# * `gtk-single-instance=false` - This ensures that a new instance is -# launched and the CLI args are respected. -# -# * `quit-after-last-window-closed=true` - This ensures that the Ghostty -# process will exit when the command exits. Additionally, the -# `quit-after-last-window-closed-delay` is unset. -# -# * `shell-integration=detect` (if not `none`) - This prevents forcibly -# injecting any configured shell integration into the command's -# environment. With `-e` its highly unlikely that you're executing a -# shell and forced shell integration is likely to cause problems -# (e.g. by wrapping your command in a shell, setting env vars, etc.). -# This is a safety measure to prevent unexpected behavior. If you want -# shell integration with a `-e`-executed command, you must either -# name your binary appropriately or source the shell integration script -# manually. -# -initial-command = - -# If true, keep the terminal open after the command exits. Normally, the -# terminal window closes when the running command (such as a shell) exits. -# With this true, the terminal window will stay open until any keypress is -# received. -# -# This is primarily useful for scripts or debugging. -wait-after-command = false - -# The number of milliseconds of runtime below which we consider a process exit -# to be abnormal. This is used to show an error message when the process exits -# too quickly. -# -# On Linux, this must be paired with a non-zero exit code. On macOS, we allow -# any exit code because of the way shell processes are launched via the login -# command. -abnormal-command-exit-runtime = 250 - -# The size of the scrollback buffer in bytes. This also includes the active -# screen. No matter what this is set to, enough memory will always be -# allocated for the visible screen and anything leftover is the limit for -# the scrollback. -# -# When this limit is reached, the oldest lines are removed from the -# scrollback. -# -# Scrollback currently exists completely in memory. This means that the -# larger this value, the larger potential memory usage. Scrollback is -# allocated lazily up to this limit, so if you set this to a very large -# value, it will not immediately consume a lot of memory. -# -# This size is per terminal surface, not for the entire application. -# -# It is not currently possible to set an unlimited scrollback buffer. -# This is a future planned feature. -# -# This can be changed at runtime but will only affect new terminal surfaces. -scrollback-limit = 10000000 - -# Match a regular expression against the terminal text and associate clicking -# it with an action. This can be used to match URLs, file paths, etc. Actions -# can be opening using the system opener (e.g. `open` or `xdg-open`) or -# executing any arbitrary binding action. -# -# Links that are configured earlier take precedence over links that are -# configured later. -# -# A default link that matches a URL and opens it in the system opener always -# exists. This can be disabled using `link-url`. -# -# TODO: This can't currently be set! - -# Enable URL matching. URLs are matched on hover with control (Linux) or -# super (macOS) pressed and open using the default system application for -# the linked URL. -# -# The URL matcher is always lowest priority of any configured links (see -# `link`). If you want to customize URL matching, use `link` and disable this. -link-url = true - -# Whether to start the window in a maximized state. This setting applies -# to new windows and does not apply to tabs, splits, etc. However, this setting -# will apply to all new windows, not just the first one. -maximize = false - -# Start new windows in fullscreen. This setting applies to new windows and -# does not apply to tabs, splits, etc. However, this setting will apply to all -# new windows, not just the first one. -# -# On macOS, this setting does not work if window-decoration is set to -# "false", because native fullscreen on macOS requires window decorations -# to be set. -fullscreen = false - -# The title Ghostty will use for the window. This will force the title of the -# window to be this title at all times and Ghostty will ignore any set title -# escape sequences programs (such as Neovim) may send. -# -# If you want a blank title, set this to one or more spaces by quoting -# the value. For example, `title = " "`. This effectively hides the title. -# This is necessary because setting a blank value resets the title to the -# default value of the running program. -# -# This configuration can be reloaded at runtime. If it is set, the title -# will update for all windows. If it is unset, the next title change escape -# sequence will be honored but previous changes will not retroactively -# be set. This latter case may require you to restart programs such as Neovim -# to get the new title. title = "Ghostty" - -# The setting that will change the application class value. -# -# This controls the class field of the `WM_CLASS` X11 property (when running -# under X11), and the Wayland application ID (when running under Wayland). -# -# Note that changing this value between invocations will create new, separate -# instances, of Ghostty when running with `gtk-single-instance=true`. See that -# option for more details. -# -# The class name must follow the requirements defined [in the GTK -# documentation](https://docs.gtk.org/gio/type_func.Application.id_is_valid.html). -# -# The default is `com.mitchellh.ghostty`. -# -# This only affects GTK builds. class = "ghostty" -# This controls the instance name field of the `WM_CLASS` X11 property when -# running under X11. It has no effect otherwise. -# -# The default is `ghostty`. -# -# This only affects GTK builds. -x11-instance-name = +window-padding-x = 4 +window-padding-y = 4 -# The directory to change to after starting the command. -# -# This setting is secondary to the `window-inherit-working-directory` -# setting. If a previous Ghostty terminal exists in the same process, -# `window-inherit-working-directory` will take precedence. Otherwise, this -# setting will be used. Typically, this setting is used only for the first -# window. -# -# The default is `inherit` except in special scenarios listed next. On macOS, -# if Ghostty can detect it is launched from launchd (double-clicked) or -# `open`, then it defaults to `home`. On Linux with GTK, if Ghostty can detect -# it was launched from a desktop launcher, then it defaults to `home`. -# -# The value of this must be an absolute value or one of the special values -# below: -# -# * `home` - The home directory of the executing user. -# -# * `inherit` - The working directory of the launching process. -working-directory = +background-opacity = 0.95 +background-blur = true +resize-overlay = never +quick-terminal-animation-duration = 0 +gtk-titlebar = false +window-decoration = false +scrollback-limit = 10000000 +mouse-hide-while-typing = true +confirm-close-surface = false -# Key bindings. The format is `trigger=action`. Duplicate triggers will -# overwrite previously set values. The list of actions is available in -# the documentation or using the `ghostty +list-actions` command. -# -# Trigger: `+`-separated list of keys and modifiers. Example: `ctrl+a`, -# `ctrl+shift+b`, `up`. -# -# Valid keys are currently only listed in the -# [Ghostty source code](https://github.com/ghostty-org/ghostty/blob/d6e76858164d52cff460fedc61ddf2e560912d71/src/input/key.zig#L255). -# This is a documentation limitation and we will improve this in the future. -# A common gotcha is that numeric keys are written as words: e.g. `one`, -# `two`, `three`, etc. and not `1`, `2`, `3`. This will also be improved in -# the future. -# -# Valid modifiers are `shift`, `ctrl` (alias: `control`), `alt` (alias: `opt`, -# `option`), and `super` (alias: `cmd`, `command`). You may use the modifier -# or the alias. When debugging keybinds, the non-aliased modifier will always -# be used in output. -# -# Note: The fn or "globe" key on keyboards are not supported as a -# modifier. This is a limitation of the operating systems and GUI toolkits -# that Ghostty uses. -# -# Some additional notes for triggers: -# -# * modifiers cannot repeat, `ctrl+ctrl+a` is invalid. -# -# * modifiers and keys can be in any order, `shift+a+ctrl` is *weird*, -# but valid. -# -# * only a single key input is allowed, `ctrl+a+b` is invalid. -# -# * the key input can be prefixed with `physical:` to specify a -# physical key mapping rather than a logical one. A physical key -# mapping responds to the hardware keycode and not the keycode -# translated by any system keyboard layouts. Example: "ctrl+physical:a" -# -# You may also specify multiple triggers separated by `>` to require a -# sequence of triggers to activate the action. For example, -# `ctrl+a>n=new_window` will only trigger the `new_window` action if the -# user presses `ctrl+a` followed separately by `n`. In other software, this -# is sometimes called a leader key, a key chord, a key table, etc. There -# is no hardcoded limit on the number of parts in a sequence. -# -# Warning: If you define a sequence as a CLI argument to `ghostty`, -# you probably have to quote the keybind since `>` is a special character -# in most shells. Example: ghostty --keybind='ctrl+a>n=new_window' -# -# A trigger sequence has some special handling: -# -# * Ghostty will wait an indefinite amount of time for the next key in -# the sequence. There is no way to specify a timeout. The only way to -# force the output of a prefix key is to assign another keybind to -# specifically output that key (e.g. `ctrl+a>ctrl+a=text:foo`) or -# press an unbound key which will send both keys to the program. -# -# * If a prefix in a sequence is previously bound, the sequence will -# override the previous binding. For example, if `ctrl+a` is bound to -# `new_window` and `ctrl+a>n` is bound to `new_tab`, pressing `ctrl+a` -# will do nothing. -# -# * Adding to the above, if a previously bound sequence prefix is -# used in a new, non-sequence binding, the entire previously bound -# sequence will be unbound. For example, if you bind `ctrl+a>n` and -# `ctrl+a>t`, and then bind `ctrl+a` directly, both `ctrl+a>n` and -# `ctrl+a>t` will become unbound. -# -# * Trigger sequences are not allowed for `global:` or `all:`-prefixed -# triggers. This is a limitation we could remove in the future. -# -# Action is the action to take when the trigger is satisfied. It takes the -# format `action` or `action:param`. The latter form is only valid if the -# action requires a parameter. -# -# * `ignore` - Do nothing, ignore the key input. This can be used to -# black hole certain inputs to have no effect. -# -# * `unbind` - Remove the binding. This makes it so the previous action -# is removed, and the key will be sent through to the child command -# if it is printable. Unbind will remove any matching trigger, -# including `physical:`-prefixed triggers without specifying the -# prefix. -# -# * `csi:text` - Send a CSI sequence. e.g. `csi:A` sends "cursor up". -# -# * `esc:text` - Send an escape sequence. e.g. `esc:d` deletes to the -# end of the word to the right. -# -# * `text:text` - Send a string. Uses Zig string literal syntax. -# e.g. `text:\x15` sends Ctrl-U. -# -# * All other actions can be found in the documentation or by using the -# `ghostty +list-actions` command. -# -# Some notes for the action: -# -# * The parameter is taken as-is after the `:`. Double quotes or -# other mechanisms are included and NOT parsed. If you want to -# send a string value that includes spaces, wrap the entire -# trigger/action in double quotes. Example: `--keybind="up=csi:A B"` -# -# There are some additional special values that can be specified for -# keybind: -# -# * `keybind=clear` will clear all set keybindings. Warning: this -# removes ALL keybindings up to this point, including the default -# keybindings. -# -# The keybind trigger can be prefixed with some special values to change -# the behavior of the keybind. These are: -# -# * `all:` - Make the keybind apply to all terminal surfaces. By default, -# keybinds only apply to the focused terminal surface. If this is true, -# then the keybind will be sent to all terminal surfaces. This only -# applies to actions that are surface-specific. For actions that -# are already global (e.g. `quit`), this prefix has no effect. -# -# * `global:` - Make the keybind global. By default, keybinds only work -# within Ghostty and under the right conditions (application focused, -# sometimes terminal focused, etc.). If you want a keybind to work -# globally across your system (e.g. even when Ghostty is not focused), -# specify this prefix. This prefix implies `all:`. Note: this does not -# work in all environments; see the additional notes below for more -# information. -# -# * `unconsumed:` - Do not consume the input. By default, a keybind -# will consume the input, meaning that the associated encoding (if -# any) will not be sent to the running program in the terminal. If -# you wish to send the encoded value to the program, specify the -# `unconsumed:` prefix before the entire keybind. For example: -# `unconsumed:ctrl+a=reload_config`. `global:` and `all:`-prefixed -# keybinds will always consume the input regardless of this setting. -# Since they are not associated with a specific terminal surface, -# they're never encoded. -# -# * `performable:` - Only consume the input if the action is able to be -# performed. For example, the `copy_to_clipboard` action will only -# consume the input if there is a selection to copy. If there is no -# selection, Ghostty behaves as if the keybind was not set. This has -# no effect with `global:` or `all:`-prefixed keybinds. For key -# sequences, this will reset the sequence if the action is not -# performable (acting identically to not having a keybind set at -# all). -# -# Performable keybinds will not appear as menu shortcuts in the -# application menu. This is because the menu shortcuts force the -# action to be performed regardless of the state of the terminal. -# Performable keybinds will still work, they just won't appear as -# a shortcut label in the menu. -# -# Keybind triggers are not unique per prefix combination. For example, -# `ctrl+a` and `global:ctrl+a` are not two separate keybinds. The keybind -# set later will overwrite the keybind set earlier. In this case, the -# `global:` keybind will be used. -# -# Multiple prefixes can be specified. For example, -# `global:unconsumed:ctrl+a=reload_config` will make the keybind global -# and not consume the input to reload the config. -# -# Note: `global:` is only supported on macOS. On macOS, -# this feature requires accessibility permissions to be granted to Ghostty. -# When a `global:` keybind is specified and Ghostty is launched or reloaded, -# Ghostty will attempt to request these permissions. If the permissions are -# not granted, the keybind will not work. On macOS, you can find these -# permissions in System Preferences -> Privacy & Security -> Accessibility. +# Keybinds keybind = alt+f4=ignore keybind = alt+one=unbind keybind = alt+two=unbind @@ -1046,1208 +85,3 @@ keybind = super+ctrl+shift+left=ignore keybind = super+ctrl+shift+right=ignore keybind = super+ctrl+shift+up=ignore -# Horizontal window padding. This applies padding between the terminal cells -# and the left and right window borders. The value is in points, meaning that -# it will be scaled appropriately for screen DPI. -# -# If this value is set too large, the screen will render nothing, because the -# grid will be completely squished by the padding. It is up to you as the user -# to pick a reasonable value. If you pick an unreasonable value, a warning -# will appear in the logs. -# -# Changing this configuration at runtime will only affect new terminals, i.e. -# new windows, tabs, etc. -# -# To set a different left and right padding, specify two numerical values -# separated by a comma. For example, `window-padding-x = 2,4` will set the -# left padding to 2 and the right padding to 4. If you want to set both -# paddings to the same value, you can use a single value. For example, -# `window-padding-x = 2` will set both paddings to 2. -window-padding-x = 2 - -# Vertical window padding. This applies padding between the terminal cells and -# the top and bottom window borders. The value is in points, meaning that it -# will be scaled appropriately for screen DPI. -# -# If this value is set too large, the screen will render nothing, because the -# grid will be completely squished by the padding. It is up to you as the user -# to pick a reasonable value. If you pick an unreasonable value, a warning -# will appear in the logs. -# -# Changing this configuration at runtime will only affect new terminals, -# i.e. new windows, tabs, etc. -# -# To set a different top and bottom padding, specify two numerical values -# separated by a comma. For example, `window-padding-y = 2,4` will set the -# top padding to 2 and the bottom padding to 4. If you want to set both -# paddings to the same value, you can use a single value. For example, -# `window-padding-y = 2` will set both paddings to 2. -window-padding-y = 2 - -# The viewport dimensions are usually not perfectly divisible by the cell -# size. In this case, some extra padding on the end of a column and the bottom -# of the final row may exist. If this is `true`, then this extra padding -# is automatically balanced between all four edges to minimize imbalance on -# one side. If this is `false`, the top left grid cell will always hug the -# edge with zero padding other than what may be specified with the other -# `window-padding` options. -# -# If other `window-padding` fields are set and this is `true`, this will still -# apply. The other padding is applied first and may affect how many grid cells -# actually exist, and this is applied last in order to balance the padding -# given a certain viewport size and grid cell size. -window-padding-balance = false - -# The color of the padding area of the window. Valid values are: -# -# * `background` - The background color specified in `background`. -# * `extend` - Extend the background color of the nearest grid cell. -# * `extend-always` - Same as "extend" but always extends without applying -# any of the heuristics that disable extending noted below. -# -# The "extend" value will be disabled in certain scenarios. On primary -# screen applications (e.g. not something like Neovim), the color will not -# be extended vertically if any of the following are true: -# -# * The nearest row has any cells that have the default background color. -# The thinking is that in this case, the default background color looks -# fine as a padding color. -# * The nearest row is a prompt row (requires shell integration). The -# thinking here is that prompts often contain powerline glyphs that -# do not look good extended. -# * The nearest row contains a perfect fit powerline character. These -# don't look good extended. -# -window-padding-color = background - -# Synchronize rendering with the screen refresh rate. If true, this will -# minimize tearing and align redraws with the screen but may cause input -# latency. If false, this will maximize redraw frequency but may cause tearing, -# and under heavy load may use more CPU and power. -# -# This defaults to true because out-of-sync rendering on macOS can -# cause kernel panics (macOS 14.4+) and performance issues for external -# displays over some hardware such as DisplayLink. If you want to minimize -# input latency, set this to false with the known aforementioned risks. -# -# Changing this value at runtime will only affect new terminals. -# -# This setting is only supported currently on macOS. -window-vsync = true - -# If true, new windows and tabs will inherit the working directory of the -# previously focused window. If no window was previously focused, the default -# working directory will be used (the `working-directory` option). -window-inherit-working-directory = true - -# If true, new windows and tabs will inherit the font size of the previously -# focused window. If no window was previously focused, the default font size -# will be used. If this is false, the default font size specified in the -# configuration `font-size` will be used. -window-inherit-font-size = true - -# Configure a preference for window decorations. This setting specifies -# a _preference_; the actual OS, desktop environment, window manager, etc. -# may override this preference. Ghostty will do its best to respect this -# preference but it may not always be possible. -# -# Valid values: -# -# * `none` - All window decorations will be disabled. Titlebar, -# borders, etc. will not be shown. On macOS, this will also disable -# tabs (enforced by the system). -# -# * `auto` - Automatically decide to use either client-side or server-side -# decorations based on the detected preferences of the current OS and -# desktop environment. This option usually makes Ghostty look the most -# "native" for your desktop. -# -# * `client` - Prefer client-side decorations. -# -# * `server` - Prefer server-side decorations. This is only relevant -# on Linux with GTK. This currently only works on Linux with Wayland -# and the `org_kde_kwin_server_decoration` protocol available (e.g. -# KDE Plasma, but almost any non-GNOME desktop supports this protocol). -# -# If `server` is set but the environment doesn't support server-side -# decorations, client-side decorations will be used instead. -# -# The default value is `auto`. -# -# For the sake of backwards compatibility and convenience, this setting also -# accepts boolean true and false values. If set to `true`, this is equivalent -# to `auto`. If set to `false`, this is equivalent to `none`. -# This is convenient for users who live primarily on systems that don't -# differentiate between client and server-side decorations (e.g. macOS and -# Windows). -# -# The "toggle_window_decorations" keybind action can be used to create -# a keybinding to toggle this setting at runtime. This will always toggle -# back to "auto" if the current value is "none" (this is an issue -# that will be fixed in the future). -# -# Changing this configuration in your configuration and reloading will -# only affect new windows. Existing windows will not be affected. -# -# macOS: To hide the titlebar without removing the native window borders -# or rounded corners, use `macos-titlebar-style = hidden` instead. -window-decoration = auto - -# The font that will be used for the application's window and tab titles. -# -# If this setting is left unset, the system default font will be used. -# -# Note: any font available on the system may be used, this font is not -# required to be a fixed-width font. -window-title-font-family = - -# The text that will be displayed in the subtitle of the window. Valid values: -# -# * `false` - Disable the subtitle. -# * `working-directory` - Set the subtitle to the working directory of the -# surface. -# -# This feature is only supported on GTK with Adwaita enabled. -window-subtitle = false - -# The theme to use for the windows. Valid values: -# -# * `auto` - Determine the theme based on the configured terminal -# background color. This has no effect if the "theme" configuration -# has separate light and dark themes. In that case, the behavior -# of "auto" is equivalent to "system". -# * `system` - Use the system theme. -# * `light` - Use the light theme regardless of system theme. -# * `dark` - Use the dark theme regardless of system theme. -# * `ghostty` - Use the background and foreground colors specified in the -# Ghostty configuration. This is only supported on Linux builds with -# Adwaita and `gtk-adwaita` enabled. -# -# On macOS, if `macos-titlebar-style` is "tabs", the window theme will be -# automatically set based on the luminosity of the terminal background color. -# This only applies to terminal windows. This setting will still apply to -# non-terminal windows within Ghostty. -# -# This is currently only supported on macOS and Linux. -window-theme = auto - -# The color space to use when interpreting terminal colors. "Terminal colors" -# refers to colors specified in your configuration and colors produced by -# direct-color SGR sequences. -# -# Valid values: -# -# * `srgb` - Interpret colors in the sRGB color space. This is the default. -# * `display-p3` - Interpret colors in the Display P3 color space. -# -# This setting is currently only supported on macOS. -window-colorspace = srgb - -# The initial window size. This size is in terminal grid cells by default. -# Both values must be set to take effect. If only one value is set, it is -# ignored. -# -# We don't currently support specifying a size in pixels but a future change -# can enable that. If this isn't specified, the app runtime will determine -# some default size. -# -# Note that the window manager may put limits on the size or override the -# size. For example, a tiling window manager may force the window to be a -# certain size to fit within the grid. There is nothing Ghostty will do about -# this, but it will make an effort. -# -# Sizes larger than the screen size will be clamped to the screen size. -# This can be used to create a maximized-by-default window size. -# -# This will not affect new tabs, splits, or other nested terminal elements. -# This only affects the initial window size of any new window. Changing this -# value will not affect the size of the window after it has been created. This -# is only used for the initial size. -# -# BUG: On Linux with GTK, the calculated window size will not properly take -# into account window decorations. As a result, the grid dimensions will not -# exactly match this configuration. If window decorations are disabled (see -# `window-decoration`), then this will work as expected. -# -# Windows smaller than 10 wide by 4 high are not allowed. -window-height = 0 - -window-width = 0 -# The starting window position. This position is in pixels and is relative -# to the top-left corner of the primary monitor. Both values must be set to take -# effect. If only one value is set, it is ignored. -# -# Note that the window manager may put limits on the position or override -# the position. For example, a tiling window manager may force the window -# to be a certain position to fit within the grid. There is nothing Ghostty -# will do about this, but it will make an effort. -# -# Also note that negative values are also up to the operating system and -# window manager. Some window managers may not allow windows to be placed -# off-screen. -# -# Invalid positions are runtime-specific, but generally the positions are -# clamped to the nearest valid position. -# -# On macOS, the window position is relative to the top-left corner of -# the visible screen area. This means that if the menu bar is visible, the -# window will be placed below the menu bar. -# -# Note: this is only supported on macOS and Linux GLFW builds. The GTK -# runtime does not support setting the window position (this is a limitation -# of GTK 4.0). -window-position-x = - -window-position-y = -# Whether to enable saving and restoring window state. Window state includes -# their position, size, tabs, splits, etc. Some window state requires shell -# integration, such as preserving working directories. See `shell-integration` -# for more information. -# -# There are three valid values for this configuration: -# -# * `default` will use the default system behavior. On macOS, this -# will only save state if the application is forcibly terminated -# or if it is configured systemwide via Settings.app. -# -# * `never` will never save window state. -# -# * `always` will always save window state whenever Ghostty is exited. -# -# If you change this value to `never` while Ghostty is not running, the next -# Ghostty launch will NOT restore the window state. -# -# If you change this value to `default` while Ghostty is not running and the -# previous exit saved state, the next Ghostty launch will still restore the -# window state. This is because Ghostty cannot know if the previous exit was -# due to a forced save or not (macOS doesn't provide this information). -# -# If you change this value so that window state is saved while Ghostty is not -# running, the previous window state will not be restored because Ghostty only -# saves state on exit if this is enabled. -# -# The default value is `default`. -# -# This is currently only supported on macOS. This has no effect on Linux. -window-save-state = default - -# Resize the window in discrete increments of the focused surface's cell size. -# If this is disabled, surfaces are resized in pixel increments. Currently -# only supported on macOS. -window-step-resize = false - -# The position where new tabs are created. Valid values: -# -# * `current` - Insert the new tab after the currently focused tab, -# or at the end if there are no focused tabs. -# -# * `end` - Insert the new tab at the end of the tab list. -window-new-tab-position = current - -# Background color for the window titlebar. This only takes effect if -# window-theme is set to ghostty. Currently only supported in the GTK app -# runtime. -# -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -window-titlebar-background = - -# Foreground color for the window titlebar. This only takes effect if -# window-theme is set to ghostty. Currently only supported in the GTK app -# runtime. -# -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -window-titlebar-foreground = - -# This controls when resize overlays are shown. Resize overlays are a -# transient popup that shows the size of the terminal while the surfaces are -# being resized. The possible options are: -# -# * `always` - Always show resize overlays. -# * `never` - Never show resize overlays. -# * `after-first` - The resize overlay will not appear when the surface -# is first created, but will show up if the surface is -# subsequently resized. -# -# The default is `after-first`. -resize-overlay = after-first - -# If resize overlays are enabled, this controls the position of the overlay. -# The possible options are: -# -# * `center` -# * `top-left` -# * `top-center` -# * `top-right` -# * `bottom-left` -# * `bottom-center` -# * `bottom-right` -# -# The default is `center`. -resize-overlay-position = center - -# If resize overlays are enabled, this controls how long the overlay is -# visible on the screen before it is hidden. The default is ¾ of a second or -# 750 ms. -# -# The duration is specified as a series of numbers followed by time units. -# Whitespace is allowed between numbers and units. Each number and unit will -# be added together to form the total duration. -# -# The allowed time units are as follows: -# -# * `y` - 365 SI days, or 8760 hours, or 31536000 seconds. No adjustments -# are made for leap years or leap seconds. -# * `d` - one SI day, or 86400 seconds. -# * `h` - one hour, or 3600 seconds. -# * `m` - one minute, or 60 seconds. -# * `s` - one second. -# * `ms` - one millisecond, or 0.001 second. -# * `us` or `µs` - one microsecond, or 0.000001 second. -# * `ns` - one nanosecond, or 0.000000001 second. -# -# Examples: -# * `1h30m` -# * `45s` -# -# Units can be repeated and will be added together. This means that -# `1h1h` is equivalent to `2h`. This is confusing and should be avoided. -# A future update may disallow this. -# -# The maximum value is `584y 49w 23h 34m 33s 709ms 551µs 615ns`. Any -# value larger than this will be clamped to the maximum value. -resize-overlay-duration = 750ms - -# If true, when there are multiple split panes, the mouse selects the pane -# that is focused. This only applies to the currently focused window; e.g. -# mousing over a split in an unfocused window will not focus that split -# and bring the window to front. -# -# Default is false. -focus-follows-mouse = false - -# Whether to allow programs running in the terminal to read/write to the -# system clipboard (OSC 52, for googling). The default is to allow clipboard -# reading after prompting the user and allow writing unconditionally. -# -# Valid values are: -# -# * `ask` -# * `allow` -# * `deny` -# -clipboard-read = ask - -clipboard-write = allow -# Trims trailing whitespace on data that is copied to the clipboard. This does -# not affect data sent to the clipboard via `clipboard-write`. -clipboard-trim-trailing-spaces = true - -# Require confirmation before pasting text that appears unsafe. This helps -# prevent a "copy/paste attack" where a user may accidentally execute unsafe -# commands by pasting text with newlines. -clipboard-paste-protection = true - -# If true, bracketed pastes will be considered safe. By default, bracketed -# pastes are considered safe. "Bracketed" pastes are pastes while the running -# program has bracketed paste mode enabled (a setting set by the running -# program, not the terminal emulator). -clipboard-paste-bracketed-safe = true - -# Enables or disabled title reporting (CSI 21 t). This escape sequence -# allows the running program to query the terminal title. This is a common -# security issue and is disabled by default. -# -# Warning: This can expose sensitive information at best and enable -# arbitrary code execution at worst (with a maliciously crafted title -# and a minor amount of user interaction). -title-report = false - -# The total amount of bytes that can be used for image data (e.g. the Kitty -# image protocol) per terminal screen. The maximum value is 4,294,967,295 -# (4GiB). The default is 320MB. If this is set to zero, then all image -# protocols will be disabled. -# -# This value is separate for primary and alternate screens so the effective -# limit per surface is double. -image-storage-limit = 320000000 - -# Whether to automatically copy selected text to the clipboard. `true` -# will prefer to copy to the selection clipboard, otherwise it will copy to -# the system clipboard. -# -# The value `clipboard` will always copy text to the selection clipboard -# as well as the system clipboard. -# -# Middle-click paste will always use the selection clipboard. Middle-click -# paste is always enabled even if this is `false`. -# -# The default value is true on Linux and macOS. -copy-on-select = true - -# The time in milliseconds between clicks to consider a click a repeat -# (double, triple, etc.) or an entirely new single click. A value of zero will -# use a platform-specific default. The default on macOS is determined by the -# OS settings. On every other platform it is 500ms. -click-repeat-interval = 0 - -# Additional configuration files to read. This configuration can be repeated -# to read multiple configuration files. Configuration files themselves can -# load more configuration files. Paths are relative to the file containing the -# `config-file` directive. For command-line arguments, paths are relative to -# the current working directory. -# -# Prepend a ? character to the file path to suppress errors if the file does -# not exist. If you want to include a file that begins with a literal ? -# character, surround the file path in double quotes ("). -# -# Cycles are not allowed. If a cycle is detected, an error will be logged and -# the configuration file will be ignored. -# -# Configuration files are loaded after the configuration they're defined -# within in the order they're defined. **THIS IS A VERY SUBTLE BUT IMPORTANT -# POINT.** To put it another way: configuration files do not take effect -# until after the entire configuration is loaded. For example, in the -# configuration below: -# -# ``` -# config-file = "foo" -# a = 1 -# ``` -# -# If "foo" contains `a = 2`, the final value of `a` will be 2, because -# `foo` is loaded after the configuration file that configures the -# nested `config-file` value. -config-file = - -# When this is true, the default configuration file paths will be loaded. -# The default configuration file paths are currently only the XDG -# config path ($XDG_CONFIG_HOME/ghostty/config). -# -# If this is false, the default configuration paths will not be loaded. -# This is targeted directly at using Ghostty from the CLI in a way -# that minimizes external effects. -# -# This is a CLI-only configuration. Setting this in a configuration file -# will have no effect. It is not an error, but it will not do anything. -# This configuration can only be set via CLI arguments. -config-default-files = true - -# Confirms that a surface should be closed before closing it. -# -# This defaults to `true`. If set to `false`, surfaces will close without -# any confirmation. This can also be set to `always`, which will always -# confirm closing a surface, even if shell integration says a process isn't -# running. -confirm-close-surface = false - -# Whether or not to quit after the last surface is closed. -# -# This defaults to `false` on macOS since that is standard behavior for -# a macOS application. On Linux, this defaults to `true` since that is -# generally expected behavior. -# -# On Linux, if this is `true`, Ghostty can delay quitting fully until a -# configurable amount of time has passed after the last window is closed. -# See the documentation of `quit-after-last-window-closed-delay`. -quit-after-last-window-closed = true - -# Controls how long Ghostty will stay running after the last open surface has -# been closed. This only has an effect if `quit-after-last-window-closed` is -# also set to `true`. -# -# The minimum value for this configuration is `1s`. Any values lower than -# this will be clamped to `1s`. -# -# The duration is specified as a series of numbers followed by time units. -# Whitespace is allowed between numbers and units. Each number and unit will -# be added together to form the total duration. -# -# The allowed time units are as follows: -# -# * `y` - 365 SI days, or 8760 hours, or 31536000 seconds. No adjustments -# are made for leap years or leap seconds. -# * `d` - one SI day, or 86400 seconds. -# * `h` - one hour, or 3600 seconds. -# * `m` - one minute, or 60 seconds. -# * `s` - one second. -# * `ms` - one millisecond, or 0.001 second. -# * `us` or `µs` - one microsecond, or 0.000001 second. -# * `ns` - one nanosecond, or 0.000000001 second. -# -# Examples: -# * `1h30m` -# * `45s` -# -# Units can be repeated and will be added together. This means that -# `1h1h` is equivalent to `2h`. This is confusing and should be avoided. -# A future update may disallow this. -# -# The maximum value is `584y 49w 23h 34m 33s 709ms 551µs 615ns`. Any -# value larger than this will be clamped to the maximum value. -# -# By default `quit-after-last-window-closed-delay` is unset and -# Ghostty will quit immediately after the last window is closed if -# `quit-after-last-window-closed` is `true`. -# -# Only implemented on Linux. -quit-after-last-window-closed-delay = - -# This controls whether an initial window is created when Ghostty -# is run. Note that if `quit-after-last-window-closed` is `true` and -# `quit-after-last-window-closed-delay` is set, setting `initial-window` to -# `false` will mean that Ghostty will quit after the configured delay if no -# window is ever created. Only implemented on Linux and macOS. -initial-window = true - -# The position of the "quick" terminal window. To learn more about the -# quick terminal, see the documentation for the `toggle_quick_terminal` -# binding action. -# -# Valid values are: -# -# * `top` - Terminal appears at the top of the screen. -# * `bottom` - Terminal appears at the bottom of the screen. -# * `left` - Terminal appears at the left of the screen. -# * `right` - Terminal appears at the right of the screen. -# * `center` - Terminal appears at the center of the screen. -# -# Changing this configuration requires restarting Ghostty completely. -# -# Note: There is no default keybind for toggling the quick terminal. -# To enable this feature, bind the `toggle_quick_terminal` action to a key. -quick-terminal-position = top - -# The screen where the quick terminal should show up. -# -# Valid values are: -# -# * `main` - The screen that the operating system recommends as the main -# screen. On macOS, this is the screen that is currently receiving -# keyboard input. This screen is defined by the operating system and -# not chosen by Ghostty. -# -# * `mouse` - The screen that the mouse is currently hovered over. -# -# * `macos-menu-bar` - The screen that contains the macOS menu bar as -# set in the display settings on macOS. This is a bit confusing because -# every screen on macOS has a menu bar, but this is the screen that -# contains the primary menu bar. -# -# The default value is `main` because this is the recommended screen -# by the operating system. -quick-terminal-screen = main - -# Duration (in seconds) of the quick terminal enter and exit animation. -# Set it to 0 to disable animation completely. This can be changed at -# runtime. -quick-terminal-animation-duration = 0.2 - -# Automatically hide the quick terminal when focus shifts to another window. -# Set it to false for the quick terminal to remain open even when it loses focus. -quick-terminal-autohide = true - -# This configuration option determines the behavior of the quick terminal -# when switching between macOS spaces. macOS spaces are virtual desktops -# that can be manually created or are automatically created when an -# application is in full-screen mode. -# -# Valid values are: -# -# * `move` - When switching to another space, the quick terminal will -# also moved to the current space. -# -# * `remain` - The quick terminal will stay only in the space where it -# was originally opened and will not follow when switching to another -# space. -# -# The default value is `move`. -quick-terminal-space-behavior = move - -# Whether to enable shell integration auto-injection or not. Shell integration -# greatly enhances the terminal experience by enabling a number of features: -# -# * Working directory reporting so new tabs, splits inherit the -# previous terminal's working directory. -# -# * Prompt marking that enables the "jump_to_prompt" keybinding. -# -# * If you're sitting at a prompt, closing a terminal will not ask -# for confirmation. -# -# * Resizing the window with a complex prompt usually paints much -# better. -# -# Allowable values are: -# -# * `none` - Do not do any automatic injection. You can still manually -# configure your shell to enable the integration. -# -# * `detect` - Detect the shell based on the filename. -# -# * `bash`, `elvish`, `fish`, `zsh` - Use this specific shell injection scheme. -# -# The default value is `detect`. -shell-integration = detect - -# Shell integration features to enable. These require our shell integration -# to be loaded, either automatically via shell-integration or manually. -# -# The format of this is a list of features to enable separated by commas. If -# you prefix a feature with `no-` then it is disabled. If you omit a feature, -# its default value is used, so you must explicitly disable features you don't -# want. You can also use `true` or `false` to turn all features on or off. -# -# Available features: -# -# * `cursor` - Set the cursor to a blinking bar at the prompt. -# -# * `sudo` - Set sudo wrapper to preserve terminfo. -# -# * `title` - Set the window title via shell integration. -# -# Example: `cursor`, `no-cursor`, `sudo`, `no-sudo`, `title`, `no-title` -shell-integration-features = cursor,no-sudo,title - -# Sets the reporting format for OSC sequences that request color information. -# Ghostty currently supports OSC 10 (foreground), OSC 11 (background), and -# OSC 4 (256 color palette) queries, and by default the reported values -# are scaled-up RGB values, where each component are 16 bits. This is how -# most terminals report these values. However, some legacy applications may -# require 8-bit, unscaled, components. We also support turning off reporting -# altogether. The components are lowercase hex values. -# -# Allowable values are: -# -# * `none` - OSC 4/10/11 queries receive no reply -# -# * `8-bit` - Color components are return unscaled, e.g. `rr/gg/bb` -# -# * `16-bit` - Color components are returned scaled, e.g. `rrrr/gggg/bbbb` -# -# The default value is `16-bit`. -osc-color-report-format = 16-bit - -# If true, allows the "KAM" mode (ANSI mode 2) to be used within -# the terminal. KAM disables keyboard input at the request of the -# application. This is not a common feature and is not recommended -# to be enabled. This will not be documented further because -# if you know you need KAM, you know. If you don't know if you -# need KAM, you don't need it. -vt-kam-allowed = false - -# Custom shaders to run after the default shaders. This is a file path -# to a GLSL-syntax shader for all platforms. -# -# Warning: Invalid shaders can cause Ghostty to become unusable such as by -# causing the window to be completely black. If this happens, you can -# unset this configuration to disable the shader. -# -# On Linux, this requires OpenGL 4.2. Ghostty typically only requires -# OpenGL 3.3, but custom shaders push that requirement up to 4.2. -# -# The shader API is identical to the Shadertoy API: you specify a `mainImage` -# function and the available uniforms match Shadertoy. The iChannel0 uniform -# is a texture containing the rendered terminal screen. -# -# If the shader fails to compile, the shader will be ignored. Any errors -# related to shader compilation will not show up as configuration errors -# and only show up in the log, since shader compilation happens after -# configuration loading on the dedicated render thread. For interactive -# development, use [shadertoy.com](https://shadertoy.com). -# -# This can be repeated multiple times to load multiple shaders. The shaders -# will be run in the order they are specified. -# -# Changing this value at runtime and reloading the configuration will only -# affect new windows, tabs, and splits. -custom-shader = - -# If `true` (default), the focused terminal surface will run an animation -# loop when custom shaders are used. This uses slightly more CPU (generally -# less than 10%) but allows the shader to animate. This only runs if there -# are custom shaders and the terminal is focused. -# -# If this is set to `false`, the terminal and custom shader will only render -# when the terminal is updated. This is more efficient but the shader will -# not animate. -# -# This can also be set to `always`, which will always run the animation -# loop regardless of whether the terminal is focused or not. The animation -# loop will still only run when custom shaders are used. Note that this -# will use more CPU per terminal surface and can become quite expensive -# depending on the shader and your terminal usage. -# -# This value can be changed at runtime and will affect all currently -# open terminals. -custom-shader-animation = true - -# Control the in-app notifications that Ghostty shows. -# -# On Linux (GTK) with Adwaita, in-app notifications show up as toasts. Toasts -# appear overlaid on top of the terminal window. They are used to show -# information that is not critical but may be important. -# -# Possible notifications are: -# -# - `clipboard-copy` (default: true) - Show a notification when text is copied -# to the clipboard. -# -# To specify a notification to enable, specify the name of the notification. -# To specify a notification to disable, prefix the name with `no-`. For -# example, to disable `clipboard-copy`, set this configuration to -# `no-clipboard-copy`. To enable it, set this configuration to `clipboard-copy`. -# -# Multiple notifications can be enabled or disabled by separating them -# with a comma. -# -# A value of "false" will disable all notifications. A value of "true" will -# enable all notifications. -# -# This configuration only applies to GTK with Adwaita enabled. -app-notifications = clipboard-copy - -# If anything other than false, fullscreen mode on macOS will not use the -# native fullscreen, but make the window fullscreen without animations and -# using a new space. It's faster than the native fullscreen mode since it -# doesn't use animations. -# -# Important: tabs DO NOT WORK in this mode. Non-native fullscreen removes -# the titlebar and macOS native tabs require the titlebar. If you use tabs, -# you should not use this mode. -# -# If you fullscreen a window with tabs, the currently focused tab will -# become fullscreen while the others will remain in a separate window in -# the background. You can switch to that window using normal window-switching -# keybindings such as command+tilde. When you exit fullscreen, the window -# will return to the tabbed state it was in before. -# -# Allowable values are: -# -# * `visible-menu` - Use non-native macOS fullscreen, keep the menu bar visible -# * `true` - Use non-native macOS fullscreen, hide the menu bar -# * `false` - Use native macOS fullscreen -# -# Changing this option at runtime works, but will only apply to the next -# time the window is made fullscreen. If a window is already fullscreen, -# it will retain the previous setting until fullscreen is exited. -macos-non-native-fullscreen = false - -# The style of the macOS titlebar. Available values are: "native", -# "transparent", "tabs", and "hidden". -# -# The "native" style uses the native macOS titlebar with zero customization. -# The titlebar will match your window theme (see `window-theme`). -# -# The "transparent" style is the same as "native" but the titlebar will -# be transparent and allow your window background color to come through. -# This makes a more seamless window appearance but looks a little less -# typical for a macOS application and may not work well with all themes. -# -# The "transparent" style will also update in real-time to dynamic -# changes to the window background color, e.g. via OSC 11. To make this -# more aesthetically pleasing, this only happens if the terminal is -# a window, tab, or split that borders the top of the window. This -# avoids a disjointed appearance where the titlebar color changes -# but all the topmost terminals don't match. -# -# The "tabs" style is a completely custom titlebar that integrates the -# tab bar into the titlebar. This titlebar always matches the background -# color of the terminal. There are some limitations to this style: -# On macOS 13 and below, saved window state will not restore tabs correctly. -# macOS 14 does not have this issue and any other macOS version has not -# been tested. -# -# The "hidden" style hides the titlebar. Unlike `window-decoration = false`, -# however, it does not remove the frame from the window or cause it to have -# squared corners. Changing to or from this option at run-time may affect -# existing windows in buggy ways. -# -# When "hidden", the top titlebar area can no longer be used for dragging -# the window. To drag the window, you can use option+click on the resizable -# areas of the frame to drag the window. This is a standard macOS behavior -# and not something Ghostty enables. -# -# The default value is "transparent". This is an opinionated choice -# but its one I think is the most aesthetically pleasing and works in -# most cases. -# -# Changing this option at runtime only applies to new windows. -macos-titlebar-style = transparent - -# Whether the proxy icon in the macOS titlebar is visible. The proxy icon -# is the icon that represents the folder of the current working directory. -# You can see this very clearly in the macOS built-in Terminal.app -# titlebar. -# -# The proxy icon is only visible with the native macOS titlebar style. -# -# Valid values are: -# -# * `visible` - Show the proxy icon. -# * `hidden` - Hide the proxy icon. -# -# The default value is `visible`. -# -# This setting can be changed at runtime and will affect all currently -# open windows but only after their working directory changes again. -# Therefore, to make this work after changing the setting, you must -# usually `cd` to a different directory, open a different file in an -# editor, etc. -macos-titlebar-proxy-icon = visible - -# macOS doesn't have a distinct "alt" key and instead has the "option" -# key which behaves slightly differently. On macOS by default, the -# option key plus a character will sometimes produces a Unicode character. -# For example, on US standard layouts option-b produces "∫". This may be -# undesirable if you want to use "option" as an "alt" key for keybindings -# in terminal programs or shells. -# -# This configuration lets you change the behavior so that option is treated -# as alt. -# -# The default behavior (unset) will depend on your active keyboard -# layout. If your keyboard layout is one of the keyboard layouts listed -# below, then the default value is "true". Otherwise, the default -# value is "false". Keyboard layouts with a default value of "true" are: -# -# - U.S. Standard -# - U.S. International -# -# Note that if an *Option*-sequence doesn't produce a printable character, it -# will be treated as *Alt* regardless of this setting. (e.g. `alt+ctrl+a`). -# -# Explicit values that can be set: -# -# If `true`, the *Option* key will be treated as *Alt*. This makes terminal -# sequences expecting *Alt* to work properly, but will break Unicode input -# sequences on macOS if you use them via the *Alt* key. -# -# You may set this to `false` to restore the macOS *Alt* key unicode -# sequences but this will break terminal sequences expecting *Alt* to work. -# -# The values `left` or `right` enable this for the left or right *Option* -# key, respectively. -# -# This does not work with GLFW builds. -macos-option-as-alt = - -# Whether to enable the macOS window shadow. The default value is true. -# With some window managers and window transparency settings, you may -# find false more visually appealing. -macos-window-shadow = true - -# If true, Ghostty on macOS will automatically enable the "Secure Input" -# feature when it detects that a password prompt is being displayed. -# -# "Secure Input" is a macOS security feature that prevents applications from -# reading keyboard events. This can always be enabled manually using the -# `Ghostty > Secure Keyboard Entry` menu item. -# -# Note that automatic password prompt detection is based on heuristics -# and may not always work as expected. Specifically, it does not work -# over SSH connections, but there may be other cases where it also -# doesn't work. -# -# A reason to disable this feature is if you find that it is interfering -# with legitimate accessibility software (or software that uses the -# accessibility APIs), since secure input prevents any application from -# reading keyboard events. -macos-auto-secure-input = true - -# If true, Ghostty will show a graphical indication when secure input is -# enabled. This indication is generally recommended to know when secure input -# is enabled. -# -# Normally, secure input is only active when a password prompt is displayed -# or it is manually (and typically temporarily) enabled. However, if you -# always have secure input enabled, the indication can be distracting and -# you may want to disable it. -macos-secure-input-indication = true - -# Customize the macOS app icon. -# -# This only affects the icon that appears in the dock, application -# switcher, etc. This does not affect the icon in Finder because -# that is controlled by a hardcoded value in the signed application -# bundle and can't be changed at runtime. For more details on what -# exactly is affected, see the `NSApplication.icon` Apple documentation; -# that is the API that is being used to set the icon. -# -# Valid values: -# -# * `official` - Use the official Ghostty icon. -# * `custom-style` - Use the official Ghostty icon but with custom -# styles applied to various layers. The custom styles must be -# specified using the additional `macos-icon`-prefixed configurations. -# The `macos-icon-ghost-color` and `macos-icon-screen-color` -# configurations are required for this style. -# -# WARNING: The `custom-style` option is _experimental_. We may change -# the format of the custom styles in the future. We're still finalizing -# the exact layers and customization options that will be available. -# -# Other caveats: -# -# * The icon in the update dialog will always be the official icon. -# This is because the update dialog is managed through a -# separate framework and cannot be customized without significant -# effort. -# -macos-icon = official - -# The material to use for the frame of the macOS app icon. -# -# Valid values: -# -# * `aluminum` - A brushed aluminum frame. This is the default. -# * `beige` - A classic 90's computer beige frame. -# * `plastic` - A glossy, dark plastic frame. -# * `chrome` - A shiny chrome frame. -# -# This only has an effect when `macos-icon` is set to `custom-style`. -macos-icon-frame = aluminum - -# The color of the ghost in the macOS app icon. -# -# Note: This configuration is required when `macos-icon` is set to -# `custom-style`. -# -# This only has an effect when `macos-icon` is set to `custom-style`. -# -# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. -macos-icon-ghost-color = - -# The color of the screen in the macOS app icon. -# -# The screen is a gradient so you can specify multiple colors that -# make up the gradient. Comma-separated colors may be specified as -# as either hex (`#RRGGBB` or `RRGGBB`) or as named X11 colors. -# -# Note: This configuration is required when `macos-icon` is set to -# `custom-style`. -# -# This only has an effect when `macos-icon` is set to `custom-style`. -macos-icon-screen-color = - -# Put every surface (tab, split, window) into a dedicated Linux cgroup. -# -# This makes it so that resource management can be done on a per-surface -# granularity. For example, if a shell program is using too much memory, -# only that shell will be killed by the oom monitor instead of the entire -# Ghostty process. Similarly, if a shell program is using too much CPU, -# only that surface will be CPU-throttled. -# -# This will cause startup times to be slower (a hundred milliseconds or so), -# so the default value is "single-instance." In single-instance mode, only -# one instance of Ghostty is running (see gtk-single-instance) so the startup -# time is a one-time cost. Additionally, single instance Ghostty is much -# more likely to have many windows, tabs, etc. so cgroup isolation is a -# big benefit. -# -# This feature requires systemd. If systemd is unavailable, cgroup -# initialization will fail. By default, this will not prevent Ghostty -# from working (see linux-cgroup-hard-fail). -# -# Valid values are: -# -# * `never` - Never use cgroups. -# * `always` - Always use cgroups. -# * `single-instance` - Enable cgroups only for Ghostty instances launched -# as single-instance applications (see gtk-single-instance). -# -linux-cgroup = single-instance - -# Memory limit for any individual terminal process (tab, split, window, -# etc.) in bytes. If this is unset then no memory limit will be set. -# -# Note that this sets the "memory.high" configuration for the memory -# controller, which is a soft limit. You should configure something like -# systemd-oom to handle killing processes that have too much memory -# pressure. -linux-cgroup-memory-limit = - -# Number of processes limit for any individual terminal process (tab, split, -# window, etc.). If this is unset then no limit will be set. -# -# Note that this sets the "pids.max" configuration for the process number -# controller, which is a hard limit. -linux-cgroup-processes-limit = - -# If this is false, then any cgroup initialization (for linux-cgroup) -# will be allowed to fail and the failure is ignored. This is useful if -# you view cgroup isolation as a "nice to have" and not a critical resource -# management feature, because Ghostty startup will not fail if cgroup APIs -# fail. -# -# If this is true, then any cgroup initialization failure will cause -# Ghostty to exit or new surfaces to not be created. -# -# Note: This currently only affects cgroup initialization. Subprocesses -# must always be able to move themselves into an isolated cgroup. -linux-cgroup-hard-fail = false - -# Enable or disable GTK's OpenGL debugging logs. The default is `true` for -# debug builds, `false` for all others. -gtk-opengl-debug = false - -# After GTK 4.14.0, we need to force the GSK renderer to OpenGL as the default -# GSK renderer is broken on some systems. If you would like to override -# that bekavior, set `gtk-gsk-renderer=default` and either use your system's -# default GSK renderer, or set the GSK_RENDERER environment variable to your -# renderer of choice before launching Ghostty. This setting has no effect when -# using versions of GTK earlier than 4.14.0. -gtk-gsk-renderer = opengl - -# If `true`, the Ghostty GTK application will run in single-instance mode: -# each new `ghostty` process launched will result in a new window if there is -# already a running process. -# -# If `false`, each new ghostty process will launch a separate application. -# -# The default value is `desktop` which will default to `true` if Ghostty -# detects that it was launched from the `.desktop` file such as an app -# launcher (like Gnome Shell) or by D-Bus activation. If Ghostty is launched -# from the command line, it will default to `false`. -# -# Note that debug builds of Ghostty have a separate single-instance ID -# so you can test single instance without conflicting with release builds. -gtk-single-instance = desktop - -# When enabled, the full GTK titlebar is displayed instead of your window -# manager's simple titlebar. The behavior of this option will vary with your -# window manager. -# -# This option does nothing when `window-decoration` is false or when running -# under macOS. -# -# Changing this value at runtime and reloading the configuration will only -# affect new windows. -gtk-titlebar = false - -# Determines the side of the screen that the GTK tab bar will stick to. -# Top, bottom, left, right, and hidden are supported. The default is top. -# -# If this option has value `left` or `right` when using Adwaita, it falls -# back to `top`. `hidden`, meaning that tabs don't exist, is not supported -# without using Adwaita, falling back to `top`. -# -# When `hidden` is set and Adwaita is enabled, a tab button displaying the -# number of tabs will appear in the title bar. It has the ability to open a -# tab overview for displaying tabs. Alternatively, you can use the -# `toggle_tab_overview` action in a keybind if your window doesn't have a -# title bar, or you can switch tabs with keybinds. -gtk-tabs-location = top - -# If this is `true`, the titlebar will be hidden when the window is maximized, -# and shown when the titlebar is unmaximized. GTK only. -gtk-titlebar-hide-when-maximized = false - -# Determines the appearance of the top and bottom bars when using the -# Adwaita tab bar. This requires `gtk-adwaita` to be enabled (it is -# by default). -# -# Valid values are: -# -# * `flat` - Top and bottom bars are flat with the terminal window. -# * `raised` - Top and bottom bars cast a shadow on the terminal area. -# * `raised-border` - Similar to `raised` but the shadow is replaced with a -# more subtle border. -# -# Changing this value at runtime will only affect new windows. -adw-toolbar-style = raised - -# If `true` (default), then the Ghostty GTK tabs will be "wide." Wide tabs -# are the new typical Gnome style where tabs fill their available space. -# If you set this to `false` then tabs will only take up space they need, -# which is the old style. -gtk-wide-tabs = true - -# If `true` (default), Ghostty will enable Adwaita theme support. This -# will make `window-theme` work properly and will also allow Ghostty to -# properly respond to system theme changes, light/dark mode changing, etc. -# This requires a GTK4 desktop with a GTK4 theme. -# -# If you are running GTK3 or have a GTK3 theme, you may have to set this -# to false to get your theme picked up properly. Having this set to true -# with GTK3 should not cause any problems, but it may not work exactly as -# expected. -# -# This configuration only has an effect if Ghostty was built with -# Adwaita support. -gtk-adwaita = true - -# Custom CSS files to be loaded. -# -# This configuration can be repeated multiple times to load multiple files. -# Prepend a ? character to the file path to suppress errors if the file does -# not exist. If you want to include a file that begins with a literal ? -# character, surround the file path in double quotes ("). -# The file size limit for a single stylesheet is 5MiB. -gtk-custom-css = - -# If `true` (default), applications running in the terminal can show desktop -# notifications using certain escape sequences such as OSC 9 or OSC 777. -desktop-notifications = true - -# If `true`, the bold text will use the bright color palette. -bold-is-bright = true - -# This will be used to set the `TERM` environment variable. -# HACK: We set this with an `xterm` prefix because vim uses that to enable key -# protocols (specifically this will enable `modifyOtherKeys`), among other -# features. An option exists in vim to modify this: `:set -# keyprotocol=ghostty:kitty`, however a bug in the implementation prevents it -# from working properly. https://github.com/vim/vim/pull/13211 fixes this. -term = xterm-ghostty - -# String to send when we receive `ENQ` (`0x05`) from the command that we are -# running. Defaults to an empty string if not set. -enquiry-response = - -# Control the auto-update functionality of Ghostty. This is only supported -# on macOS currently, since Linux builds are distributed via package -# managers that are not centrally controlled by Ghostty. -# -# Checking or downloading an update does not send any information to -# the project beyond standard network information mandated by the -# underlying protocols. To put it another way: Ghostty doesn't explicitly -# add any tracking to the update process. The update process works by -# downloading information about the latest version and comparing it -# client-side to the current version. -# -# Valid values are: -# -# * `off` - Disable auto-updates. -# * `check` - Check for updates and notify the user if an update is -# available, but do not automatically download or install the update. -# * `download` - Check for updates, automatically download the update, -# notify the user, but do not automatically install the update. -# -# If unset, we defer to Sparkle's default behavior, which respects the -# preference stored in the standard user defaults (`defaults(1)`). -# -# Changing this value at runtime works after a small delay. -auto-update = - -# The release channel to use for auto-updates. -# -# The default value of this matches the release channel of the currently -# running Ghostty version. If you download a pre-release version of Ghostty -# then this will be set to `tip` and you will receive pre-release updates. -# If you download a stable version of Ghostty then this will be set to -# `stable` and you will receive stable updates. -# -# Valid values are: -# -# * `stable` - Stable, tagged releases such as "1.0.0". -# * `tip` - Pre-release versions generated from each commit to the -# main branch. This is the version that was in use during private -# beta testing by thousands of people. It is generally stable but -# will likely have more bugs than the stable channel. -# -# Changing this configuration requires a full restart of -# Ghostty to take effect. -# -# This only works on macOS since only macOS has an auto-update feature. -auto-update-channel = - diff --git a/config/ghostty/default b/config/ghostty/default new file mode 100644 index 00000000..90cfbc9e --- /dev/null +++ b/config/ghostty/default @@ -0,0 +1,2510 @@ +# The font families to use. +# +# You can generate the list of valid values using the CLI: +# +# ghostty +list-fonts +# +# This configuration can be repeated multiple times to specify preferred +# fallback fonts when the requested codepoint is not available in the primary +# font. This is particularly useful for multiple languages, symbolic fonts, +# etc. +# +# Notes on emoji specifically: On macOS, Ghostty by default will always use +# Apple Color Emoji and on Linux will always use Noto Emoji. You can +# override this behavior by specifying a font family here that contains +# emoji glyphs. +# +# The specific styles (bold, italic, bold italic) do not need to be +# explicitly set. If a style is not set, then the regular style (font-family) +# will be searched for stylistic variants. If a stylistic variant is not +# found, Ghostty will use the regular style. This prevents falling back to a +# different font family just to get a style such as bold. This also applies +# if you explicitly specify a font family for a style. For example, if you +# set `font-family-bold = FooBar` and "FooBar" cannot be found, Ghostty will +# use whatever font is set for `font-family` for the bold style. +# +# Finally, some styles may be synthesized if they are not supported. +# For example, if a font does not have an italic style and no alternative +# italic font is specified, Ghostty will synthesize an italic style by +# applying a slant to the regular style. If you want to disable these +# synthesized styles then you can use the `font-style` configurations +# as documented below. +# +# You can disable styles completely by using the `font-style` set of +# configurations. See the documentation for `font-style` for more information. +# +# If you want to overwrite a previous set value rather than append a fallback, +# specify the value as `""` (empty string) to reset the list and then set the +# new values. For example: +# +# font-family = "" +# font-family = "My Favorite Font" +# +# Setting any of these as CLI arguments will automatically clear the +# values set in configuration files so you don't need to specify +# `--font-family=""` before setting a new value. You only need to specify +# this within config files if you want to clear previously set values in +# configuration files or on the CLI if you want to clear values set on the +# CLI. +# +# Changing this configuration at runtime will only affect new terminals, i.e. +# new windows, tabs, etc. +font-family = + +font-family-bold = +font-family-italic = +font-family-bold-italic = +# The named font style to use for each of the requested terminal font styles. +# This looks up the style based on the font style string advertised by the +# font itself. For example, "Iosevka Heavy" has a style of "Heavy". +# +# You can also use these fields to completely disable a font style. If you set +# the value of the configuration below to literal `false` then that font style +# will be disabled. If the running program in the terminal requests a disabled +# font style, the regular font style will be used instead. +# +# These are only valid if its corresponding font-family is also specified. If +# no font-family is specified, then the font-style is ignored unless you're +# disabling the font style. +font-style = default + +font-style-bold = default +font-style-italic = default +font-style-bold-italic = default +# Control whether Ghostty should synthesize a style if the requested style is +# not available in the specified font-family. +# +# Ghostty can synthesize bold, italic, and bold italic styles if the font +# does not have a specific style. For bold, this is done by drawing an +# outline around the glyph of varying thickness. For italic, this is done by +# applying a slant to the glyph. For bold italic, both of these are applied. +# +# Synthetic styles are not perfect and will generally not look as good +# as a font that has the style natively. However, they are useful to +# provide styled text when the font does not have the style. +# +# Set this to "false" or "true" to disable or enable synthetic styles +# completely. You can disable specific styles using "no-bold", "no-italic", +# and "no-bold-italic". You can disable multiple styles by separating them +# with a comma. For example, "no-bold,no-italic". +# +# Available style keys are: `bold`, `italic`, `bold-italic`. +# +# If synthetic styles are disabled, then the regular style will be used +# instead if the requested style is not available. If the font has the +# requested style, then the font will be used as-is since the style is +# not synthetic. +# +# Warning: An easy mistake is to disable `bold` or `italic` but not +# `bold-italic`. Disabling only `bold` or `italic` will NOT disable either +# in the `bold-italic` style. If you want to disable `bold-italic`, you must +# explicitly disable it. You cannot partially disable `bold-italic`. +# +# By default, synthetic styles are enabled. +font-synthetic-style = bold,italic,bold-italic + +# Apply a font feature. To enable multiple font features you can repeat +# this multiple times or use a comma-separated list of feature settings. +# +# The syntax for feature settings is as follows, where `feat` is a feature: +# +# * Enable features with e.g. `feat`, `+feat`, `feat on`, `feat=1`. +# * Disabled features with e.g. `-feat`, `feat off`, `feat=0`. +# * Set a feature value with e.g. `feat=2`, `feat = 3`, `feat 4`. +# * Feature names may be wrapped in quotes, meaning this config should be +# syntactically compatible with the `font-feature-settings` CSS property. +# +# The syntax is fairly loose, but invalid settings will be silently ignored. +# +# The font feature will apply to all fonts rendered by Ghostty. A future +# enhancement will allow targeting specific faces. +# +# To disable programming ligatures, use `-calt` since this is the typical +# feature name for programming ligatures. To look into what font features +# your font has and what they do, use a font inspection tool such as +# [fontdrop.info](https://fontdrop.info). +# +# To generally disable most ligatures, use `-calt, -liga, -dlig`. +font-feature = + +# Font size in points. This value can be a non-integer and the nearest integer +# pixel size will be selected. If you have a high dpi display where 1pt = 2px +# then you can get an odd numbered pixel size by specifying a half point. +# +# For example, 13.5pt @ 2px/pt = 27px +# +# Changing this configuration at runtime will only affect new terminals, +# i.e. new windows, tabs, etc. Note that you may still not see the change +# depending on your `window-inherit-font-size` setting. If that setting is +# true, only the first window will be affected by this change since all +# subsequent windows will inherit the font size of the previous window. +# +# On Linux with GTK, font size is scaled according to both display-wide and +# text-specific scaling factors, which are often managed by your desktop +# environment (e.g. the GNOME display scale and large text settings). +font-size = 12 + +# A repeatable configuration to set one or more font variations values for +# a variable font. A variable font is a single font, usually with a filename +# ending in `-VF.ttf` or `-VF.otf` that contains one or more configurable axes +# for things such as weight, slant, etc. Not all fonts support variations; +# only fonts that explicitly state they are variable fonts will work. +# +# The format of this is `id=value` where `id` is the axis identifier. An axis +# identifier is always a 4 character string, such as `wght`. To get the list +# of supported axes, look at your font documentation or use a font inspection +# tool. +# +# Invalid ids and values are usually ignored. For example, if a font only +# supports weights from 100 to 700, setting `wght=800` will do nothing (it +# will not be clamped to 700). You must consult your font's documentation to +# see what values are supported. +# +# Common axes are: `wght` (weight), `slnt` (slant), `ital` (italic), `opsz` +# (optical size), `wdth` (width), `GRAD` (gradient), etc. +font-variation = + +font-variation-bold = +font-variation-italic = +font-variation-bold-italic = +# Force one or a range of Unicode codepoints to map to a specific named font. +# This is useful if you want to support special symbols or if you want to use +# specific glyphs that render better for your specific font. +# +# The syntax is `codepoint=fontname` where `codepoint` is either a single +# codepoint or a range. Codepoints must be specified as full Unicode +# hex values, such as `U+ABCD`. Codepoints ranges are specified as +# `U+ABCD-U+DEFG`. You can specify multiple ranges for the same font separated +# by commas, such as `U+ABCD-U+DEFG,U+1234-U+5678=fontname`. The font name is +# the same value as you would use for `font-family`. +# +# This configuration can be repeated multiple times to specify multiple +# codepoint mappings. +# +# Changing this configuration at runtime will only affect new terminals, +# i.e. new windows, tabs, etc. +font-codepoint-map = + +# Draw fonts with a thicker stroke, if supported. +# This is currently only supported on macOS. +font-thicken = false + +# Strength of thickening when `font-thicken` is enabled. +# +# Valid values are integers between `0` and `255`. `0` does not correspond to +# *no* thickening, rather it corresponds to the lightest available thickening. +# +# Has no effect when `font-thicken` is set to `false`. +# +# This is currently only supported on macOS. +font-thicken-strength = 255 + +# What color space to use when performing alpha blending. +# +# This affects the appearance of text and of any images with transparency. +# Additionally, custom shaders will receive colors in the configured space. +# +# Valid values: +# +# * `native` - Perform alpha blending in the native color space for the OS. +# On macOS this corresponds to Display P3, and on Linux it's sRGB. +# +# * `linear` - Perform alpha blending in linear space. This will eliminate +# the darkening artifacts around the edges of text that are very visible +# when certain color combinations are used (e.g. red / green), but makes +# dark text look much thinner than normal and light text much thicker. +# This is also sometimes known as "gamma correction". +# (Currently only supported on macOS. Has no effect on Linux.) +# +# * `linear-corrected` - Same as `linear`, but with a correction step applied +# for text that makes it look nearly or completely identical to `native`, +# but without any of the darkening artifacts. +alpha-blending = native + +# All of the configurations behavior adjust various metrics determined by the +# font. The values can be integers (1, -1, etc.) or a percentage (20%, -15%, +# etc.). In each case, the values represent the amount to change the original +# value. +# +# For example, a value of `1` increases the value by 1; it does not set it to +# literally 1. A value of `20%` increases the value by 20%. And so on. +# +# There is little to no validation on these values so the wrong values (e.g. +# `-100%`) can cause the terminal to be unusable. Use with caution and reason. +# +# Some values are clamped to minimum or maximum values. This can make it +# appear that certain values are ignored. For example, many `*-thickness` +# adjustments cannot go below 1px. +# +# `adjust-cell-height` has some additional behaviors to describe: +# +# * The font will be centered vertically in the cell. +# +# * The cursor will remain the same size as the font, but may be +# adjusted separately with `adjust-cursor-height`. +# +# * Powerline glyphs will be adjusted along with the cell height so +# that things like status lines continue to look aligned. +adjust-cell-width = + +adjust-cell-height = +# Distance in pixels or percentage adjustment from the bottom of the cell to the text baseline. +# Increase to move baseline UP, decrease to move baseline DOWN. +# See the notes about adjustments in `adjust-cell-width`. +adjust-font-baseline = + +# Distance in pixels or percentage adjustment from the top of the cell to the top of the underline. +# Increase to move underline DOWN, decrease to move underline UP. +# See the notes about adjustments in `adjust-cell-width`. +adjust-underline-position = + +# Thickness in pixels of the underline. +# See the notes about adjustments in `adjust-cell-width`. +adjust-underline-thickness = + +# Distance in pixels or percentage adjustment from the top of the cell to the top of the strikethrough. +# Increase to move strikethrough DOWN, decrease to move strikethrough UP. +# See the notes about adjustments in `adjust-cell-width`. +adjust-strikethrough-position = + +# Thickness in pixels or percentage adjustment of the strikethrough. +# See the notes about adjustments in `adjust-cell-width`. +adjust-strikethrough-thickness = + +# Distance in pixels or percentage adjustment from the top of the cell to the top of the overline. +# Increase to move overline DOWN, decrease to move overline UP. +# See the notes about adjustments in `adjust-cell-width`. +adjust-overline-position = + +# Thickness in pixels or percentage adjustment of the overline. +# See the notes about adjustments in `adjust-cell-width`. +adjust-overline-thickness = + +# Thickness in pixels or percentage adjustment of the bar cursor and outlined rect cursor. +# See the notes about adjustments in `adjust-cell-width`. +adjust-cursor-thickness = + +# Height in pixels or percentage adjustment of the cursor. Currently applies to all cursor types: +# bar, rect, and outlined rect. +# See the notes about adjustments in `adjust-cell-width`. +adjust-cursor-height = + +# Thickness in pixels or percentage adjustment of box drawing characters. +# See the notes about adjustments in `adjust-cell-width`. +adjust-box-thickness = + +# The method to use for calculating the cell width of a grapheme cluster. +# The default value is `unicode` which uses the Unicode standard to determine +# grapheme width. This results in correct grapheme width but may result in +# cursor-desync issues with some programs (such as shells) that may use a +# legacy method such as `wcswidth`. +# +# Valid values are: +# +# * `legacy` - Use a legacy method to determine grapheme width, such as +# wcswidth This maximizes compatibility with legacy programs but may result +# in incorrect grapheme width for certain graphemes such as skin-tone +# emoji, non-English characters, etc. +# +# This is called "legacy" and not something more specific because the +# behavior is undefined and we want to retain the ability to modify it. +# For example, we may or may not use libc `wcswidth` now or in the future. +# +# * `unicode` - Use the Unicode standard to determine grapheme width. +# +# If a running program explicitly enables terminal mode 2027, then `unicode` +# width will be forced regardless of this configuration. When mode 2027 is +# reset, this configuration will be used again. +# +# This configuration can be changed at runtime but will not affect existing +# terminals. Only new terminals will use the new configuration. +grapheme-width-method = unicode + +# FreeType load flags to enable. The format of this is a list of flags to +# enable separated by commas. If you prefix a flag with `no-` then it is +# disabled. If you omit a flag, its default value is used, so you must +# explicitly disable flags you don't want. You can also use `true` or `false` +# to turn all flags on or off. +# +# This configuration only applies to Ghostty builds that use FreeType. +# This is usually the case only for Linux builds. macOS uses CoreText +# and does not have an equivalent configuration. +# +# Available flags: +# +# * `hinting` - Enable or disable hinting, enabled by default. +# * `force-autohint` - Use the freetype auto-hinter rather than the +# font's native hinter. Enabled by default. +# * `monochrome` - Instructs renderer to use 1-bit monochrome +# rendering. This option doesn't impact the hinter. +# Enabled by default. +# * `autohint` - Use the freetype auto-hinter. Enabled by default. +# +# Example: `hinting`, `no-hinting`, `force-autohint`, `no-force-autohint` +freetype-load-flags = hinting,force-autohint,monochrome,autohint + +# A theme to use. This can be a built-in theme name, a custom theme +# name, or an absolute path to a custom theme file. Ghostty also supports +# specifying a different theme to use for light and dark mode. Each +# option is documented below. +# +# If the theme is an absolute pathname, Ghostty will attempt to load that +# file as a theme. If that file does not exist or is inaccessible, an error +# will be logged and no other directories will be searched. +# +# If the theme is not an absolute pathname, two different directories will be +# searched for a file name that matches the theme. This is case sensitive on +# systems with case-sensitive filesystems. It is an error for a theme name to +# include path separators unless it is an absolute pathname. +# +# The first directory is the `themes` subdirectory of your Ghostty +# configuration directory. This is `$XDG_CONFIG_DIR/ghostty/themes` or +# `~/.config/ghostty/themes`. +# +# The second directory is the `themes` subdirectory of the Ghostty resources +# directory. Ghostty ships with a multitude of themes that will be installed +# into this directory. On macOS, this list is in the +# `Ghostty.app/Contents/Resources/ghostty/themes` directory. On Linux, this +# list is in the `share/ghostty/themes` directory (wherever you installed the +# Ghostty "share" directory. +# +# To see a list of available themes, run `ghostty +list-themes`. +# +# A theme file is simply another Ghostty configuration file. They share +# the same syntax and same configuration options. A theme can set any valid +# configuration option so please do not use a theme file from an untrusted +# source. The built-in themes are audited to only set safe configuration +# options. +# +# Some options cannot be set within theme files. The reason these are not +# supported should be self-evident. A theme file cannot set `theme` or +# `config-file`. At the time of writing this, Ghostty will not show any +# warnings or errors if you set these options in a theme file but they will +# be silently ignored. +# +# Any additional colors specified via background, foreground, palette, etc. +# will override the colors specified in the theme. +# +# To specify a different theme for light and dark mode, use the following +# syntax: `light:theme-name,dark:theme-name`. For example: +# `light:rose-pine-dawn,dark:rose-pine`. Whitespace around all values are +# trimmed and order of light and dark does not matter. Both light and dark +# must be specified in this form. In this form, the theme used will be +# based on the current desktop environment theme. +# +# There are some known bugs with light/dark mode theming. These will +# be fixed in a future update: +# +# - macOS: titlebar tabs style is not updated when switching themes. +# +theme = + +# Background color for the window. +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +background = #282c34 + +# Foreground color for the window. +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +foreground = #ffffff + +# The foreground and background color for selection. If this is not set, then +# the selection color is just the inverted window background and foreground +# (note: not to be confused with the cell bg/fg). +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +selection-foreground = + +selection-background = +# Swap the foreground and background colors of cells for selection. This +# option overrides the `selection-foreground` and `selection-background` +# options. +# +# If you select across cells with differing foregrounds and backgrounds, the +# selection color will vary across the selection. +selection-invert-fg-bg = false + +# The minimum contrast ratio between the foreground and background colors. +# The contrast ratio is a value between 1 and 21. A value of 1 allows for no +# contrast (e.g. black on black). This value is the contrast ratio as defined +# by the [WCAG 2.0 specification](https://www.w3.org/TR/WCAG20/). +# +# If you want to avoid invisible text (same color as background), a value of +# 1.1 is a good value. If you want to avoid text that is difficult to read, a +# value of 3 or higher is a good value. The higher the value, the more likely +# that text will become black or white. +# +# This value does not apply to Emoji or images. +minimum-contrast = 1 + +# Color palette for the 256 color form that many terminal applications use. +# The syntax of this configuration is `N=COLOR` where `N` is 0 to 255 (for +# the 256 colors in the terminal color table) and `COLOR` is a typical RGB +# color code such as `#AABBCC` or `AABBCC`, or a named X11 color. +# +# The palette index can be in decimal, binary, octal, or hexadecimal. +# Decimal is assumed unless a prefix is used: `0b` for binary, `0o` for octal, +# and `0x` for hexadecimal. +# +# For definitions on the color indices and what they canonically map to, +# [see this cheat sheet](https://www.ditig.com/256-colors-cheat-sheet). +palette = 0=#1d1f21 +palette = 1=#cc6666 +palette = 2=#b5bd68 +palette = 3=#f0c674 +palette = 4=#81a2be +palette = 5=#b294bb +palette = 6=#8abeb7 +palette = 7=#c5c8c6 +palette = 8=#666666 +palette = 9=#d54e53 +palette = 10=#b9ca4a +palette = 11=#e7c547 +palette = 12=#7aa6da +palette = 13=#c397d8 +palette = 14=#70c0b1 +palette = 15=#eaeaea +palette = 16=#000000 +palette = 17=#00005f +palette = 18=#000087 +palette = 19=#0000af +palette = 20=#0000d7 +palette = 21=#0000ff +palette = 22=#005f00 +palette = 23=#005f5f +palette = 24=#005f87 +palette = 25=#005faf +palette = 26=#005fd7 +palette = 27=#005fff +palette = 28=#008700 +palette = 29=#00875f +palette = 30=#008787 +palette = 31=#0087af +palette = 32=#0087d7 +palette = 33=#0087ff +palette = 34=#00af00 +palette = 35=#00af5f +palette = 36=#00af87 +palette = 37=#00afaf +palette = 38=#00afd7 +palette = 39=#00afff +palette = 40=#00d700 +palette = 41=#00d75f +palette = 42=#00d787 +palette = 43=#00d7af +palette = 44=#00d7d7 +palette = 45=#00d7ff +palette = 46=#00ff00 +palette = 47=#00ff5f +palette = 48=#00ff87 +palette = 49=#00ffaf +palette = 50=#00ffd7 +palette = 51=#00ffff +palette = 52=#5f0000 +palette = 53=#5f005f +palette = 54=#5f0087 +palette = 55=#5f00af +palette = 56=#5f00d7 +palette = 57=#5f00ff +palette = 58=#5f5f00 +palette = 59=#5f5f5f +palette = 60=#5f5f87 +palette = 61=#5f5faf +palette = 62=#5f5fd7 +palette = 63=#5f5fff +palette = 64=#5f8700 +palette = 65=#5f875f +palette = 66=#5f8787 +palette = 67=#5f87af +palette = 68=#5f87d7 +palette = 69=#5f87ff +palette = 70=#5faf00 +palette = 71=#5faf5f +palette = 72=#5faf87 +palette = 73=#5fafaf +palette = 74=#5fafd7 +palette = 75=#5fafff +palette = 76=#5fd700 +palette = 77=#5fd75f +palette = 78=#5fd787 +palette = 79=#5fd7af +palette = 80=#5fd7d7 +palette = 81=#5fd7ff +palette = 82=#5fff00 +palette = 83=#5fff5f +palette = 84=#5fff87 +palette = 85=#5fffaf +palette = 86=#5fffd7 +palette = 87=#5fffff +palette = 88=#870000 +palette = 89=#87005f +palette = 90=#870087 +palette = 91=#8700af +palette = 92=#8700d7 +palette = 93=#8700ff +palette = 94=#875f00 +palette = 95=#875f5f +palette = 96=#875f87 +palette = 97=#875faf +palette = 98=#875fd7 +palette = 99=#875fff +palette = 100=#878700 +palette = 101=#87875f +palette = 102=#878787 +palette = 103=#8787af +palette = 104=#8787d7 +palette = 105=#8787ff +palette = 106=#87af00 +palette = 107=#87af5f +palette = 108=#87af87 +palette = 109=#87afaf +palette = 110=#87afd7 +palette = 111=#87afff +palette = 112=#87d700 +palette = 113=#87d75f +palette = 114=#87d787 +palette = 115=#87d7af +palette = 116=#87d7d7 +palette = 117=#87d7ff +palette = 118=#87ff00 +palette = 119=#87ff5f +palette = 120=#87ff87 +palette = 121=#87ffaf +palette = 122=#87ffd7 +palette = 123=#87ffff +palette = 124=#af0000 +palette = 125=#af005f +palette = 126=#af0087 +palette = 127=#af00af +palette = 128=#af00d7 +palette = 129=#af00ff +palette = 130=#af5f00 +palette = 131=#af5f5f +palette = 132=#af5f87 +palette = 133=#af5faf +palette = 134=#af5fd7 +palette = 135=#af5fff +palette = 136=#af8700 +palette = 137=#af875f +palette = 138=#af8787 +palette = 139=#af87af +palette = 140=#af87d7 +palette = 141=#af87ff +palette = 142=#afaf00 +palette = 143=#afaf5f +palette = 144=#afaf87 +palette = 145=#afafaf +palette = 146=#afafd7 +palette = 147=#afafff +palette = 148=#afd700 +palette = 149=#afd75f +palette = 150=#afd787 +palette = 151=#afd7af +palette = 152=#afd7d7 +palette = 153=#afd7ff +palette = 154=#afff00 +palette = 155=#afff5f +palette = 156=#afff87 +palette = 157=#afffaf +palette = 158=#afffd7 +palette = 159=#afffff +palette = 160=#d70000 +palette = 161=#d7005f +palette = 162=#d70087 +palette = 163=#d700af +palette = 164=#d700d7 +palette = 165=#d700ff +palette = 166=#d75f00 +palette = 167=#d75f5f +palette = 168=#d75f87 +palette = 169=#d75faf +palette = 170=#d75fd7 +palette = 171=#d75fff +palette = 172=#d78700 +palette = 173=#d7875f +palette = 174=#d78787 +palette = 175=#d787af +palette = 176=#d787d7 +palette = 177=#d787ff +palette = 178=#d7af00 +palette = 179=#d7af5f +palette = 180=#d7af87 +palette = 181=#d7afaf +palette = 182=#d7afd7 +palette = 183=#d7afff +palette = 184=#d7d700 +palette = 185=#d7d75f +palette = 186=#d7d787 +palette = 187=#d7d7af +palette = 188=#d7d7d7 +palette = 189=#d7d7ff +palette = 190=#d7ff00 +palette = 191=#d7ff5f +palette = 192=#d7ff87 +palette = 193=#d7ffaf +palette = 194=#d7ffd7 +palette = 195=#d7ffff +palette = 196=#ff0000 +palette = 197=#ff005f +palette = 198=#ff0087 +palette = 199=#ff00af +palette = 200=#ff00d7 +palette = 201=#ff00ff +palette = 202=#ff5f00 +palette = 203=#ff5f5f +palette = 204=#ff5f87 +palette = 205=#ff5faf +palette = 206=#ff5fd7 +palette = 207=#ff5fff +palette = 208=#ff8700 +palette = 209=#ff875f +palette = 210=#ff8787 +palette = 211=#ff87af +palette = 212=#ff87d7 +palette = 213=#ff87ff +palette = 214=#ffaf00 +palette = 215=#ffaf5f +palette = 216=#ffaf87 +palette = 217=#ffafaf +palette = 218=#ffafd7 +palette = 219=#ffafff +palette = 220=#ffd700 +palette = 221=#ffd75f +palette = 222=#ffd787 +palette = 223=#ffd7af +palette = 224=#ffd7d7 +palette = 225=#ffd7ff +palette = 226=#ffff00 +palette = 227=#ffff5f +palette = 228=#ffff87 +palette = 229=#ffffaf +palette = 230=#ffffd7 +palette = 231=#ffffff +palette = 232=#080808 +palette = 233=#121212 +palette = 234=#1c1c1c +palette = 235=#262626 +palette = 236=#303030 +palette = 237=#3a3a3a +palette = 238=#444444 +palette = 239=#4e4e4e +palette = 240=#585858 +palette = 241=#626262 +palette = 242=#6c6c6c +palette = 243=#767676 +palette = 244=#808080 +palette = 245=#8a8a8a +palette = 246=#949494 +palette = 247=#9e9e9e +palette = 248=#a8a8a8 +palette = 249=#b2b2b2 +palette = 250=#bcbcbc +palette = 251=#c6c6c6 +palette = 252=#d0d0d0 +palette = 253=#dadada +palette = 254=#e4e4e4 +palette = 255=#eeeeee + +# The color of the cursor. If this is not set, a default will be chosen. +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +cursor-color = + +# Swap the foreground and background colors of the cell under the cursor. This +# option overrides the `cursor-color` and `cursor-text` options. +cursor-invert-fg-bg = false + +# The opacity level (opposite of transparency) of the cursor. A value of 1 +# is fully opaque and a value of 0 is fully transparent. A value less than 0 +# or greater than 1 will be clamped to the nearest valid value. Note that a +# sufficiently small value such as 0.3 may be effectively invisible and may +# make it difficult to find the cursor. +cursor-opacity = 1 + +# The style of the cursor. This sets the default style. A running program can +# still request an explicit cursor style using escape sequences (such as `CSI +# q`). Shell configurations will often request specific cursor styles. +# +# Note that shell integration will automatically set the cursor to a bar at +# a prompt, regardless of this configuration. You can disable that behavior +# by specifying `shell-integration-features = no-cursor` or disabling shell +# integration entirely. +# +# Valid values are: +# +# * `block` +# * `bar` +# * `underline` +# * `block_hollow` +# +cursor-style = block + +# Sets the default blinking state of the cursor. This is just the default +# state; running programs may override the cursor style using `DECSCUSR` (`CSI +# q`). +# +# If this is not set, the cursor blinks by default. Note that this is not the +# same as a "true" value, as noted below. +# +# If this is not set at all (`null`), then Ghostty will respect DEC Mode 12 +# (AT&T cursor blink) as an alternate approach to turning blinking on/off. If +# this is set to any value other than null, DEC mode 12 will be ignored but +# `DECSCUSR` will still be respected. +# +# Valid values are: +# +# * ` ` (blank) +# * `true` +# * `false` +# +cursor-style-blink = + +# The color of the text under the cursor. If this is not set, a default will +# be chosen. +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +cursor-text = + +# Enables the ability to move the cursor at prompts by using `alt+click` on +# Linux and `option+click` on macOS. +# +# This feature requires shell integration (specifically prompt marking +# via `OSC 133`) and only works in primary screen mode. Alternate screen +# applications like vim usually have their own version of this feature but +# this configuration doesn't control that. +# +# It should be noted that this feature works by translating your desired +# position into a series of synthetic arrow key movements, so some weird +# behavior around edge cases are to be expected. This is unfortunately how +# this feature is implemented across terminals because there isn't any other +# way to implement it. +cursor-click-to-move = true + +# Hide the mouse immediately when typing. The mouse becomes visible again +# when the mouse is used (button, movement, etc.). Platform-specific behavior +# may dictate other scenarios where the mouse is shown. For example on macOS, +# the mouse is shown again when a new window, tab, or split is created. +mouse-hide-while-typing = false + +# Determines whether running programs can detect the shift key pressed with a +# mouse click. Typically, the shift key is used to extend mouse selection. +# +# The default value of `false` means that the shift key is not sent with +# the mouse protocol and will extend the selection. This value can be +# conditionally overridden by the running program with the `XTSHIFTESCAPE` +# sequence. +# +# The value `true` means that the shift key is sent with the mouse protocol +# but the running program can override this behavior with `XTSHIFTESCAPE`. +# +# The value `never` is the same as `false` but the running program cannot +# override this behavior with `XTSHIFTESCAPE`. The value `always` is the +# same as `true` but the running program cannot override this behavior with +# `XTSHIFTESCAPE`. +# +# If you always want shift to extend mouse selection even if the program +# requests otherwise, set this to `never`. +# +# Valid values are: +# +# * `true` +# * `false` +# * `always` +# * `never` +# +mouse-shift-capture = false + +# Multiplier for scrolling distance with the mouse wheel. Any value less +# than 0.01 or greater than 10,000 will be clamped to the nearest valid +# value. +# +# A value of "1" (default) scrolls the default amount. A value of "2" scrolls +# double the default amount. A value of "0.5" scrolls half the default amount. +# Et cetera. +mouse-scroll-multiplier = 1 + +# The opacity level (opposite of transparency) of the background. A value of +# 1 is fully opaque and a value of 0 is fully transparent. A value less than 0 +# or greater than 1 will be clamped to the nearest valid value. +# +# On macOS, background opacity is disabled when the terminal enters native +# fullscreen. This is because the background becomes gray and it can cause +# widgets to show through which isn't generally desirable. +# +# On macOS, changing this configuration requires restarting Ghostty completely. +background-opacity = 1 + +# Whether to blur the background when `background-opacity` is less than 1. +# +# Valid values are: +# +# * a nonnegative integer specifying the *blur intensity* +# * `false`, equivalent to a blur intensity of 0 +# * `true`, equivalent to the default blur intensity of 20, which is +# reasonable for a good looking blur. Higher blur intensities may +# cause strange rendering and performance issues. +# +# Supported on macOS and on some Linux desktop environments, including: +# +# * KDE Plasma (Wayland and X11) +# +# Warning: the exact blur intensity is _ignored_ under KDE Plasma, and setting +# this setting to either `true` or any positive blur intensity value would +# achieve the same effect. The reason is that KWin, the window compositor +# powering Plasma, only has one global blur setting and does not allow +# applications to specify individual blur settings. +# +# To configure KWin's global blur setting, open System Settings and go to +# "Apps & Windows" > "Window Management" > "Desktop Effects" and select the +# "Blur" plugin. If disabled, enable it by ticking the checkbox to the left. +# Then click on the "Configure" button and there will be two sliders that +# allow you to set background blur and noise intensities for all apps, +# including Ghostty. +# +# All other Linux desktop environments are as of now unsupported. Users may +# need to set environment-specific settings and/or install third-party plugins +# in order to support background blur, as there isn't a unified interface for +# doing so. +background-blur = false + +# The opacity level (opposite of transparency) of an unfocused split. +# Unfocused splits by default are slightly faded out to make it easier to see +# which split is focused. To disable this feature, set this value to 1. +# +# A value of 1 is fully opaque and a value of 0 is fully transparent. Because +# "0" is not useful (it makes the window look very weird), the minimum value +# is 0.15. This value still looks weird but you can at least see what's going +# on. A value outside of the range 0.15 to 1 will be clamped to the nearest +# valid value. +unfocused-split-opacity = 0.7 + +# The color to dim the unfocused split. Unfocused splits are dimmed by +# rendering a semi-transparent rectangle over the split. This sets the color of +# that rectangle and can be used to carefully control the dimming effect. +# +# This will default to the background color. +# +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +unfocused-split-fill = + +# The color of the split divider. If this is not set, a default will be chosen. +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +split-divider-color = + +# The command to run, usually a shell. If this is not an absolute path, it'll +# be looked up in the `PATH`. If this is not set, a default will be looked up +# from your system. The rules for the default lookup are: +# +# * `SHELL` environment variable +# +# * `passwd` entry (user information) +# +# This can contain additional arguments to run the command with. If additional +# arguments are provided, the command will be executed using `/bin/sh -c`. +# Ghostty does not do any shell command parsing. +# +# This command will be used for all new terminal surfaces, i.e. new windows, +# tabs, etc. If you want to run a command only for the first terminal surface +# created when Ghostty starts, use the `initial-command` configuration. +# +# Ghostty supports the common `-e` flag for executing a command with +# arguments. For example, `ghostty -e fish --with --custom --args`. +# This flag sets the `initial-command` configuration, see that for more +# information. +command = + +# This is the same as "command", but only applies to the first terminal +# surface created when Ghostty starts. Subsequent terminal surfaces will use +# the `command` configuration. +# +# After the first terminal surface is created (or closed), there is no +# way to run this initial command again automatically. As such, setting +# this at runtime works but will only affect the next terminal surface +# if it is the first one ever created. +# +# If you're using the `ghostty` CLI there is also a shortcut to set this +# with arguments directly: you can use the `-e` flag. For example: `ghostty -e +# fish --with --custom --args`. The `-e` flag automatically forces some +# other behaviors as well: +# +# * `gtk-single-instance=false` - This ensures that a new instance is +# launched and the CLI args are respected. +# +# * `quit-after-last-window-closed=true` - This ensures that the Ghostty +# process will exit when the command exits. Additionally, the +# `quit-after-last-window-closed-delay` is unset. +# +# * `shell-integration=detect` (if not `none`) - This prevents forcibly +# injecting any configured shell integration into the command's +# environment. With `-e` its highly unlikely that you're executing a +# shell and forced shell integration is likely to cause problems +# (e.g. by wrapping your command in a shell, setting env vars, etc.). +# This is a safety measure to prevent unexpected behavior. If you want +# shell integration with a `-e`-executed command, you must either +# name your binary appropriately or source the shell integration script +# manually. +# +initial-command = + +# If true, keep the terminal open after the command exits. Normally, the +# terminal window closes when the running command (such as a shell) exits. +# With this true, the terminal window will stay open until any keypress is +# received. +# +# This is primarily useful for scripts or debugging. +wait-after-command = false + +# The number of milliseconds of runtime below which we consider a process exit +# to be abnormal. This is used to show an error message when the process exits +# too quickly. +# +# On Linux, this must be paired with a non-zero exit code. On macOS, we allow +# any exit code because of the way shell processes are launched via the login +# command. +abnormal-command-exit-runtime = 250 + +# The size of the scrollback buffer in bytes. This also includes the active +# screen. No matter what this is set to, enough memory will always be +# allocated for the visible screen and anything leftover is the limit for +# the scrollback. +# +# When this limit is reached, the oldest lines are removed from the +# scrollback. +# +# Scrollback currently exists completely in memory. This means that the +# larger this value, the larger potential memory usage. Scrollback is +# allocated lazily up to this limit, so if you set this to a very large +# value, it will not immediately consume a lot of memory. +# +# This size is per terminal surface, not for the entire application. +# +# It is not currently possible to set an unlimited scrollback buffer. +# This is a future planned feature. +# +# This can be changed at runtime but will only affect new terminal surfaces. +scrollback-limit = 10000000 + +# Match a regular expression against the terminal text and associate clicking +# it with an action. This can be used to match URLs, file paths, etc. Actions +# can be opening using the system opener (e.g. `open` or `xdg-open`) or +# executing any arbitrary binding action. +# +# Links that are configured earlier take precedence over links that are +# configured later. +# +# A default link that matches a URL and opens it in the system opener always +# exists. This can be disabled using `link-url`. +# +# TODO: This can't currently be set! + +# Enable URL matching. URLs are matched on hover with control (Linux) or +# super (macOS) pressed and open using the default system application for +# the linked URL. +# +# The URL matcher is always lowest priority of any configured links (see +# `link`). If you want to customize URL matching, use `link` and disable this. +link-url = true + +# Whether to start the window in a maximized state. This setting applies +# to new windows and does not apply to tabs, splits, etc. However, this setting +# will apply to all new windows, not just the first one. +maximize = false + +# Start new windows in fullscreen. This setting applies to new windows and +# does not apply to tabs, splits, etc. However, this setting will apply to all +# new windows, not just the first one. +# +# On macOS, this setting does not work if window-decoration is set to +# "false", because native fullscreen on macOS requires window decorations +# to be set. +fullscreen = false + +# The title Ghostty will use for the window. This will force the title of the +# window to be this title at all times and Ghostty will ignore any set title +# escape sequences programs (such as Neovim) may send. +# +# If you want a blank title, set this to one or more spaces by quoting +# the value. For example, `title = " "`. This effectively hides the title. +# This is necessary because setting a blank value resets the title to the +# default value of the running program. +# +# This configuration can be reloaded at runtime. If it is set, the title +# will update for all windows. If it is unset, the next title change escape +# sequence will be honored but previous changes will not retroactively +# be set. This latter case may require you to restart programs such as Neovim +# to get the new title. +title = + +# The setting that will change the application class value. +# +# This controls the class field of the `WM_CLASS` X11 property (when running +# under X11), and the Wayland application ID (when running under Wayland). +# +# Note that changing this value between invocations will create new, separate +# instances, of Ghostty when running with `gtk-single-instance=true`. See that +# option for more details. +# +# The class name must follow the requirements defined [in the GTK +# documentation](https://docs.gtk.org/gio/type_func.Application.id_is_valid.html). +# +# The default is `com.mitchellh.ghostty`. +# +# This only affects GTK builds. +class = + +# This controls the instance name field of the `WM_CLASS` X11 property when +# running under X11. It has no effect otherwise. +# +# The default is `ghostty`. +# +# This only affects GTK builds. +x11-instance-name = + +# The directory to change to after starting the command. +# +# This setting is secondary to the `window-inherit-working-directory` +# setting. If a previous Ghostty terminal exists in the same process, +# `window-inherit-working-directory` will take precedence. Otherwise, this +# setting will be used. Typically, this setting is used only for the first +# window. +# +# The default is `inherit` except in special scenarios listed next. On macOS, +# if Ghostty can detect it is launched from launchd (double-clicked) or +# `open`, then it defaults to `home`. On Linux with GTK, if Ghostty can detect +# it was launched from a desktop launcher, then it defaults to `home`. +# +# The value of this must be an absolute value or one of the special values +# below: +# +# * `home` - The home directory of the executing user. +# +# * `inherit` - The working directory of the launching process. +working-directory = + +# Key bindings. The format is `trigger=action`. Duplicate triggers will +# overwrite previously set values. The list of actions is available in +# the documentation or using the `ghostty +list-actions` command. +# +# Trigger: `+`-separated list of keys and modifiers. Example: `ctrl+a`, +# `ctrl+shift+b`, `up`. +# +# Valid keys are currently only listed in the +# [Ghostty source code](https://github.com/ghostty-org/ghostty/blob/d6e76858164d52cff460fedc61ddf2e560912d71/src/input/key.zig#L255). +# This is a documentation limitation and we will improve this in the future. +# A common gotcha is that numeric keys are written as words: e.g. `one`, +# `two`, `three`, etc. and not `1`, `2`, `3`. This will also be improved in +# the future. +# +# Valid modifiers are `shift`, `ctrl` (alias: `control`), `alt` (alias: `opt`, +# `option`), and `super` (alias: `cmd`, `command`). You may use the modifier +# or the alias. When debugging keybinds, the non-aliased modifier will always +# be used in output. +# +# Note: The fn or "globe" key on keyboards are not supported as a +# modifier. This is a limitation of the operating systems and GUI toolkits +# that Ghostty uses. +# +# Some additional notes for triggers: +# +# * modifiers cannot repeat, `ctrl+ctrl+a` is invalid. +# +# * modifiers and keys can be in any order, `shift+a+ctrl` is *weird*, +# but valid. +# +# * only a single key input is allowed, `ctrl+a+b` is invalid. +# +# * the key input can be prefixed with `physical:` to specify a +# physical key mapping rather than a logical one. A physical key +# mapping responds to the hardware keycode and not the keycode +# translated by any system keyboard layouts. Example: "ctrl+physical:a" +# +# You may also specify multiple triggers separated by `>` to require a +# sequence of triggers to activate the action. For example, +# `ctrl+a>n=new_window` will only trigger the `new_window` action if the +# user presses `ctrl+a` followed separately by `n`. In other software, this +# is sometimes called a leader key, a key chord, a key table, etc. There +# is no hardcoded limit on the number of parts in a sequence. +# +# Warning: If you define a sequence as a CLI argument to `ghostty`, +# you probably have to quote the keybind since `>` is a special character +# in most shells. Example: ghostty --keybind='ctrl+a>n=new_window' +# +# A trigger sequence has some special handling: +# +# * Ghostty will wait an indefinite amount of time for the next key in +# the sequence. There is no way to specify a timeout. The only way to +# force the output of a prefix key is to assign another keybind to +# specifically output that key (e.g. `ctrl+a>ctrl+a=text:foo`) or +# press an unbound key which will send both keys to the program. +# +# * If a prefix in a sequence is previously bound, the sequence will +# override the previous binding. For example, if `ctrl+a` is bound to +# `new_window` and `ctrl+a>n` is bound to `new_tab`, pressing `ctrl+a` +# will do nothing. +# +# * Adding to the above, if a previously bound sequence prefix is +# used in a new, non-sequence binding, the entire previously bound +# sequence will be unbound. For example, if you bind `ctrl+a>n` and +# `ctrl+a>t`, and then bind `ctrl+a` directly, both `ctrl+a>n` and +# `ctrl+a>t` will become unbound. +# +# * Trigger sequences are not allowed for `global:` or `all:`-prefixed +# triggers. This is a limitation we could remove in the future. +# +# Action is the action to take when the trigger is satisfied. It takes the +# format `action` or `action:param`. The latter form is only valid if the +# action requires a parameter. +# +# * `ignore` - Do nothing, ignore the key input. This can be used to +# black hole certain inputs to have no effect. +# +# * `unbind` - Remove the binding. This makes it so the previous action +# is removed, and the key will be sent through to the child command +# if it is printable. Unbind will remove any matching trigger, +# including `physical:`-prefixed triggers without specifying the +# prefix. +# +# * `csi:text` - Send a CSI sequence. e.g. `csi:A` sends "cursor up". +# +# * `esc:text` - Send an escape sequence. e.g. `esc:d` deletes to the +# end of the word to the right. +# +# * `text:text` - Send a string. Uses Zig string literal syntax. +# e.g. `text:\x15` sends Ctrl-U. +# +# * All other actions can be found in the documentation or by using the +# `ghostty +list-actions` command. +# +# Some notes for the action: +# +# * The parameter is taken as-is after the `:`. Double quotes or +# other mechanisms are included and NOT parsed. If you want to +# send a string value that includes spaces, wrap the entire +# trigger/action in double quotes. Example: `--keybind="up=csi:A B"` +# +# There are some additional special values that can be specified for +# keybind: +# +# * `keybind=clear` will clear all set keybindings. Warning: this +# removes ALL keybindings up to this point, including the default +# keybindings. +# +# The keybind trigger can be prefixed with some special values to change +# the behavior of the keybind. These are: +# +# * `all:` - Make the keybind apply to all terminal surfaces. By default, +# keybinds only apply to the focused terminal surface. If this is true, +# then the keybind will be sent to all terminal surfaces. This only +# applies to actions that are surface-specific. For actions that +# are already global (e.g. `quit`), this prefix has no effect. +# +# * `global:` - Make the keybind global. By default, keybinds only work +# within Ghostty and under the right conditions (application focused, +# sometimes terminal focused, etc.). If you want a keybind to work +# globally across your system (e.g. even when Ghostty is not focused), +# specify this prefix. This prefix implies `all:`. Note: this does not +# work in all environments; see the additional notes below for more +# information. +# +# * `unconsumed:` - Do not consume the input. By default, a keybind +# will consume the input, meaning that the associated encoding (if +# any) will not be sent to the running program in the terminal. If +# you wish to send the encoded value to the program, specify the +# `unconsumed:` prefix before the entire keybind. For example: +# `unconsumed:ctrl+a=reload_config`. `global:` and `all:`-prefixed +# keybinds will always consume the input regardless of this setting. +# Since they are not associated with a specific terminal surface, +# they're never encoded. +# +# * `performable:` - Only consume the input if the action is able to be +# performed. For example, the `copy_to_clipboard` action will only +# consume the input if there is a selection to copy. If there is no +# selection, Ghostty behaves as if the keybind was not set. This has +# no effect with `global:` or `all:`-prefixed keybinds. For key +# sequences, this will reset the sequence if the action is not +# performable (acting identically to not having a keybind set at +# all). +# +# Performable keybinds will not appear as menu shortcuts in the +# application menu. This is because the menu shortcuts force the +# action to be performed regardless of the state of the terminal. +# Performable keybinds will still work, they just won't appear as +# a shortcut label in the menu. +# +# Keybind triggers are not unique per prefix combination. For example, +# `ctrl+a` and `global:ctrl+a` are not two separate keybinds. The keybind +# set later will overwrite the keybind set earlier. In this case, the +# `global:` keybind will be used. +# +# Multiple prefixes can be specified. For example, +# `global:unconsumed:ctrl+a=reload_config` will make the keybind global +# and not consume the input to reload the config. +# +# Note: `global:` is only supported on macOS. On macOS, +# this feature requires accessibility permissions to be granted to Ghostty. +# When a `global:` keybind is specified and Ghostty is launched or reloaded, +# Ghostty will attempt to request these permissions. If the permissions are +# not granted, the keybind will not work. On macOS, you can find these +# permissions in System Preferences -> Privacy & Security -> Accessibility. +keybind = ctrl+comma=open_config +keybind = shift+insert=paste_from_selection +keybind = ctrl+page_down=next_tab +keybind = ctrl+shift+v=paste_from_clipboard +keybind = ctrl+alt+up=goto_split:up +keybind = ctrl+shift+a=select_all +keybind = super+ctrl+shift+plus=equalize_splits +keybind = shift+up=adjust_selection:up +keybind = alt+five=goto_tab:5 +keybind = super+ctrl+right_bracket=goto_split:next +keybind = ctrl+equal=increase_font_size:1 +keybind = ctrl+shift+o=new_split:right +keybind = ctrl+shift+c=copy_to_clipboard +keybind = ctrl+shift+q=quit +keybind = ctrl+shift+n=new_window +keybind = ctrl+shift+page_down=jump_to_prompt:1 +keybind = ctrl+shift+comma=reload_config +keybind = ctrl+minus=decrease_font_size:1 +keybind = shift+left=adjust_selection:left +keybind = super+ctrl+shift+up=resize_split:up,10 +keybind = alt+eight=goto_tab:8 +keybind = shift+page_up=scroll_page_up +keybind = ctrl+alt+shift+j=write_screen_file:open +keybind = ctrl+shift+left=previous_tab +keybind = ctrl+shift+w=close_tab +keybind = shift+end=scroll_to_bottom +keybind = ctrl+zero=reset_font_size +keybind = alt+three=goto_tab:3 +keybind = ctrl+shift+j=write_screen_file:paste +keybind = ctrl+enter=toggle_fullscreen +keybind = ctrl+page_up=previous_tab +keybind = shift+right=adjust_selection:right +keybind = ctrl+tab=next_tab +keybind = ctrl+alt+left=goto_split:left +keybind = shift+page_down=scroll_page_down +keybind = ctrl+shift+right=next_tab +keybind = ctrl+shift+page_up=jump_to_prompt:-1 +keybind = alt+nine=last_tab +keybind = ctrl+shift+t=new_tab +keybind = shift+down=adjust_selection:down +keybind = super+ctrl+shift+left=resize_split:left,10 +keybind = ctrl+shift+tab=previous_tab +keybind = alt+two=goto_tab:2 +keybind = ctrl+alt+down=goto_split:down +keybind = super+ctrl+shift+down=resize_split:down,10 +keybind = super+ctrl+shift+right=resize_split:right,10 +keybind = ctrl+plus=increase_font_size:1 +keybind = alt+four=goto_tab:4 +keybind = ctrl+insert=copy_to_clipboard +keybind = ctrl+shift+e=new_split:down +keybind = ctrl+alt+right=goto_split:right +keybind = alt+f4=close_window +keybind = alt+one=goto_tab:1 +keybind = ctrl+shift+enter=toggle_split_zoom +keybind = shift+home=scroll_to_top +keybind = super+ctrl+left_bracket=goto_split:previous +keybind = ctrl+shift+i=inspector:toggle +keybind = alt+six=goto_tab:6 +keybind = alt+seven=goto_tab:7 + +# Horizontal window padding. This applies padding between the terminal cells +# and the left and right window borders. The value is in points, meaning that +# it will be scaled appropriately for screen DPI. +# +# If this value is set too large, the screen will render nothing, because the +# grid will be completely squished by the padding. It is up to you as the user +# to pick a reasonable value. If you pick an unreasonable value, a warning +# will appear in the logs. +# +# Changing this configuration at runtime will only affect new terminals, i.e. +# new windows, tabs, etc. +# +# To set a different left and right padding, specify two numerical values +# separated by a comma. For example, `window-padding-x = 2,4` will set the +# left padding to 2 and the right padding to 4. If you want to set both +# paddings to the same value, you can use a single value. For example, +# `window-padding-x = 2` will set both paddings to 2. +window-padding-x = 2 + +# Vertical window padding. This applies padding between the terminal cells and +# the top and bottom window borders. The value is in points, meaning that it +# will be scaled appropriately for screen DPI. +# +# If this value is set too large, the screen will render nothing, because the +# grid will be completely squished by the padding. It is up to you as the user +# to pick a reasonable value. If you pick an unreasonable value, a warning +# will appear in the logs. +# +# Changing this configuration at runtime will only affect new terminals, +# i.e. new windows, tabs, etc. +# +# To set a different top and bottom padding, specify two numerical values +# separated by a comma. For example, `window-padding-y = 2,4` will set the +# top padding to 2 and the bottom padding to 4. If you want to set both +# paddings to the same value, you can use a single value. For example, +# `window-padding-y = 2` will set both paddings to 2. +window-padding-y = 2 + +# The viewport dimensions are usually not perfectly divisible by the cell +# size. In this case, some extra padding on the end of a column and the bottom +# of the final row may exist. If this is `true`, then this extra padding +# is automatically balanced between all four edges to minimize imbalance on +# one side. If this is `false`, the top left grid cell will always hug the +# edge with zero padding other than what may be specified with the other +# `window-padding` options. +# +# If other `window-padding` fields are set and this is `true`, this will still +# apply. The other padding is applied first and may affect how many grid cells +# actually exist, and this is applied last in order to balance the padding +# given a certain viewport size and grid cell size. +window-padding-balance = false + +# The color of the padding area of the window. Valid values are: +# +# * `background` - The background color specified in `background`. +# * `extend` - Extend the background color of the nearest grid cell. +# * `extend-always` - Same as "extend" but always extends without applying +# any of the heuristics that disable extending noted below. +# +# The "extend" value will be disabled in certain scenarios. On primary +# screen applications (e.g. not something like Neovim), the color will not +# be extended vertically if any of the following are true: +# +# * The nearest row has any cells that have the default background color. +# The thinking is that in this case, the default background color looks +# fine as a padding color. +# * The nearest row is a prompt row (requires shell integration). The +# thinking here is that prompts often contain powerline glyphs that +# do not look good extended. +# * The nearest row contains a perfect fit powerline character. These +# don't look good extended. +# +window-padding-color = background + +# Synchronize rendering with the screen refresh rate. If true, this will +# minimize tearing and align redraws with the screen but may cause input +# latency. If false, this will maximize redraw frequency but may cause tearing, +# and under heavy load may use more CPU and power. +# +# This defaults to true because out-of-sync rendering on macOS can +# cause kernel panics (macOS 14.4+) and performance issues for external +# displays over some hardware such as DisplayLink. If you want to minimize +# input latency, set this to false with the known aforementioned risks. +# +# Changing this value at runtime will only affect new terminals. +# +# This setting is only supported currently on macOS. +window-vsync = true + +# If true, new windows and tabs will inherit the working directory of the +# previously focused window. If no window was previously focused, the default +# working directory will be used (the `working-directory` option). +window-inherit-working-directory = true + +# If true, new windows and tabs will inherit the font size of the previously +# focused window. If no window was previously focused, the default font size +# will be used. If this is false, the default font size specified in the +# configuration `font-size` will be used. +window-inherit-font-size = true + +# Configure a preference for window decorations. This setting specifies +# a _preference_; the actual OS, desktop environment, window manager, etc. +# may override this preference. Ghostty will do its best to respect this +# preference but it may not always be possible. +# +# Valid values: +# +# * `none` - All window decorations will be disabled. Titlebar, +# borders, etc. will not be shown. On macOS, this will also disable +# tabs (enforced by the system). +# +# * `auto` - Automatically decide to use either client-side or server-side +# decorations based on the detected preferences of the current OS and +# desktop environment. This option usually makes Ghostty look the most +# "native" for your desktop. +# +# * `client` - Prefer client-side decorations. +# +# * `server` - Prefer server-side decorations. This is only relevant +# on Linux with GTK, either on X11, or Wayland on a compositor that +# supports the `org_kde_kwin_server_decoration` protocol (e.g. KDE Plasma, +# but almost any non-GNOME desktop supports this protocol). +# +# If `server` is set but the environment doesn't support server-side +# decorations, client-side decorations will be used instead. +# +# The default value is `auto`. +# +# For the sake of backwards compatibility and convenience, this setting also +# accepts boolean true and false values. If set to `true`, this is equivalent +# to `auto`. If set to `false`, this is equivalent to `none`. +# This is convenient for users who live primarily on systems that don't +# differentiate between client and server-side decorations (e.g. macOS and +# Windows). +# +# The "toggle_window_decorations" keybind action can be used to create +# a keybinding to toggle this setting at runtime. This will always toggle +# back to "auto" if the current value is "none" (this is an issue +# that will be fixed in the future). +# +# Changing this configuration in your configuration and reloading will +# only affect new windows. Existing windows will not be affected. +# +# macOS: To hide the titlebar without removing the native window borders +# or rounded corners, use `macos-titlebar-style = hidden` instead. +window-decoration = auto + +# The font that will be used for the application's window and tab titles. +# +# If this setting is left unset, the system default font will be used. +# +# Note: any font available on the system may be used, this font is not +# required to be a fixed-width font. +window-title-font-family = + +# The text that will be displayed in the subtitle of the window. Valid values: +# +# * `false` - Disable the subtitle. +# * `working-directory` - Set the subtitle to the working directory of the +# surface. +# +# This feature is only supported on GTK with Adwaita enabled. +window-subtitle = false + +# The theme to use for the windows. Valid values: +# +# * `auto` - Determine the theme based on the configured terminal +# background color. This has no effect if the "theme" configuration +# has separate light and dark themes. In that case, the behavior +# of "auto" is equivalent to "system". +# * `system` - Use the system theme. +# * `light` - Use the light theme regardless of system theme. +# * `dark` - Use the dark theme regardless of system theme. +# * `ghostty` - Use the background and foreground colors specified in the +# Ghostty configuration. This is only supported on Linux builds with +# Adwaita and `gtk-adwaita` enabled. +# +# On macOS, if `macos-titlebar-style` is "tabs", the window theme will be +# automatically set based on the luminosity of the terminal background color. +# This only applies to terminal windows. This setting will still apply to +# non-terminal windows within Ghostty. +# +# This is currently only supported on macOS and Linux. +window-theme = auto + +# The color space to use when interpreting terminal colors. "Terminal colors" +# refers to colors specified in your configuration and colors produced by +# direct-color SGR sequences. +# +# Valid values: +# +# * `srgb` - Interpret colors in the sRGB color space. This is the default. +# * `display-p3` - Interpret colors in the Display P3 color space. +# +# This setting is currently only supported on macOS. +window-colorspace = srgb + +# The initial window size. This size is in terminal grid cells by default. +# Both values must be set to take effect. If only one value is set, it is +# ignored. +# +# We don't currently support specifying a size in pixels but a future change +# can enable that. If this isn't specified, the app runtime will determine +# some default size. +# +# Note that the window manager may put limits on the size or override the +# size. For example, a tiling window manager may force the window to be a +# certain size to fit within the grid. There is nothing Ghostty will do about +# this, but it will make an effort. +# +# Sizes larger than the screen size will be clamped to the screen size. +# This can be used to create a maximized-by-default window size. +# +# This will not affect new tabs, splits, or other nested terminal elements. +# This only affects the initial window size of any new window. Changing this +# value will not affect the size of the window after it has been created. This +# is only used for the initial size. +# +# BUG: On Linux with GTK, the calculated window size will not properly take +# into account window decorations. As a result, the grid dimensions will not +# exactly match this configuration. If window decorations are disabled (see +# `window-decoration`), then this will work as expected. +# +# Windows smaller than 10 wide by 4 high are not allowed. +window-height = 0 + +window-width = 0 +# The starting window position. This position is in pixels and is relative +# to the top-left corner of the primary monitor. Both values must be set to take +# effect. If only one value is set, it is ignored. +# +# Note that the window manager may put limits on the position or override +# the position. For example, a tiling window manager may force the window +# to be a certain position to fit within the grid. There is nothing Ghostty +# will do about this, but it will make an effort. +# +# Also note that negative values are also up to the operating system and +# window manager. Some window managers may not allow windows to be placed +# off-screen. +# +# Invalid positions are runtime-specific, but generally the positions are +# clamped to the nearest valid position. +# +# On macOS, the window position is relative to the top-left corner of +# the visible screen area. This means that if the menu bar is visible, the +# window will be placed below the menu bar. +# +# Note: this is only supported on macOS and Linux GLFW builds. The GTK +# runtime does not support setting the window position (this is a limitation +# of GTK 4.0). +window-position-x = + +window-position-y = +# Whether to enable saving and restoring window state. Window state includes +# their position, size, tabs, splits, etc. Some window state requires shell +# integration, such as preserving working directories. See `shell-integration` +# for more information. +# +# There are three valid values for this configuration: +# +# * `default` will use the default system behavior. On macOS, this +# will only save state if the application is forcibly terminated +# or if it is configured systemwide via Settings.app. +# +# * `never` will never save window state. +# +# * `always` will always save window state whenever Ghostty is exited. +# +# If you change this value to `never` while Ghostty is not running, the next +# Ghostty launch will NOT restore the window state. +# +# If you change this value to `default` while Ghostty is not running and the +# previous exit saved state, the next Ghostty launch will still restore the +# window state. This is because Ghostty cannot know if the previous exit was +# due to a forced save or not (macOS doesn't provide this information). +# +# If you change this value so that window state is saved while Ghostty is not +# running, the previous window state will not be restored because Ghostty only +# saves state on exit if this is enabled. +# +# The default value is `default`. +# +# This is currently only supported on macOS. This has no effect on Linux. +window-save-state = default + +# Resize the window in discrete increments of the focused surface's cell size. +# If this is disabled, surfaces are resized in pixel increments. Currently +# only supported on macOS. +window-step-resize = false + +# The position where new tabs are created. Valid values: +# +# * `current` - Insert the new tab after the currently focused tab, +# or at the end if there are no focused tabs. +# +# * `end` - Insert the new tab at the end of the tab list. +window-new-tab-position = current + +# Background color for the window titlebar. This only takes effect if +# window-theme is set to ghostty. Currently only supported in the GTK app +# runtime. +# +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +window-titlebar-background = + +# Foreground color for the window titlebar. This only takes effect if +# window-theme is set to ghostty. Currently only supported in the GTK app +# runtime. +# +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +window-titlebar-foreground = + +# This controls when resize overlays are shown. Resize overlays are a +# transient popup that shows the size of the terminal while the surfaces are +# being resized. The possible options are: +# +# * `always` - Always show resize overlays. +# * `never` - Never show resize overlays. +# * `after-first` - The resize overlay will not appear when the surface +# is first created, but will show up if the surface is +# subsequently resized. +# +# The default is `after-first`. +resize-overlay = after-first + +# If resize overlays are enabled, this controls the position of the overlay. +# The possible options are: +# +# * `center` +# * `top-left` +# * `top-center` +# * `top-right` +# * `bottom-left` +# * `bottom-center` +# * `bottom-right` +# +# The default is `center`. +resize-overlay-position = center + +# If resize overlays are enabled, this controls how long the overlay is +# visible on the screen before it is hidden. The default is ¾ of a second or +# 750 ms. +# +# The duration is specified as a series of numbers followed by time units. +# Whitespace is allowed between numbers and units. Each number and unit will +# be added together to form the total duration. +# +# The allowed time units are as follows: +# +# * `y` - 365 SI days, or 8760 hours, or 31536000 seconds. No adjustments +# are made for leap years or leap seconds. +# * `d` - one SI day, or 86400 seconds. +# * `h` - one hour, or 3600 seconds. +# * `m` - one minute, or 60 seconds. +# * `s` - one second. +# * `ms` - one millisecond, or 0.001 second. +# * `us` or `µs` - one microsecond, or 0.000001 second. +# * `ns` - one nanosecond, or 0.000000001 second. +# +# Examples: +# * `1h30m` +# * `45s` +# +# Units can be repeated and will be added together. This means that +# `1h1h` is equivalent to `2h`. This is confusing and should be avoided. +# A future update may disallow this. +# +# The maximum value is `584y 49w 23h 34m 33s 709ms 551µs 615ns`. Any +# value larger than this will be clamped to the maximum value. +resize-overlay-duration = 750ms + +# If true, when there are multiple split panes, the mouse selects the pane +# that is focused. This only applies to the currently focused window; e.g. +# mousing over a split in an unfocused window will not focus that split +# and bring the window to front. +# +# Default is false. +focus-follows-mouse = false + +# Whether to allow programs running in the terminal to read/write to the +# system clipboard (OSC 52, for googling). The default is to allow clipboard +# reading after prompting the user and allow writing unconditionally. +# +# Valid values are: +# +# * `ask` +# * `allow` +# * `deny` +# +clipboard-read = ask + +clipboard-write = allow +# Trims trailing whitespace on data that is copied to the clipboard. This does +# not affect data sent to the clipboard via `clipboard-write`. +clipboard-trim-trailing-spaces = true + +# Require confirmation before pasting text that appears unsafe. This helps +# prevent a "copy/paste attack" where a user may accidentally execute unsafe +# commands by pasting text with newlines. +clipboard-paste-protection = true + +# If true, bracketed pastes will be considered safe. By default, bracketed +# pastes are considered safe. "Bracketed" pastes are pastes while the running +# program has bracketed paste mode enabled (a setting set by the running +# program, not the terminal emulator). +clipboard-paste-bracketed-safe = true + +# Enables or disabled title reporting (CSI 21 t). This escape sequence +# allows the running program to query the terminal title. This is a common +# security issue and is disabled by default. +# +# Warning: This can expose sensitive information at best and enable +# arbitrary code execution at worst (with a maliciously crafted title +# and a minor amount of user interaction). +title-report = false + +# The total amount of bytes that can be used for image data (e.g. the Kitty +# image protocol) per terminal screen. The maximum value is 4,294,967,295 +# (4GiB). The default is 320MB. If this is set to zero, then all image +# protocols will be disabled. +# +# This value is separate for primary and alternate screens so the effective +# limit per surface is double. +image-storage-limit = 320000000 + +# Whether to automatically copy selected text to the clipboard. `true` +# will prefer to copy to the selection clipboard, otherwise it will copy to +# the system clipboard. +# +# The value `clipboard` will always copy text to the selection clipboard +# as well as the system clipboard. +# +# Middle-click paste will always use the selection clipboard. Middle-click +# paste is always enabled even if this is `false`. +# +# The default value is true on Linux and macOS. +copy-on-select = true + +# The time in milliseconds between clicks to consider a click a repeat +# (double, triple, etc.) or an entirely new single click. A value of zero will +# use a platform-specific default. The default on macOS is determined by the +# OS settings. On every other platform it is 500ms. +click-repeat-interval = 0 + +# Additional configuration files to read. This configuration can be repeated +# to read multiple configuration files. Configuration files themselves can +# load more configuration files. Paths are relative to the file containing the +# `config-file` directive. For command-line arguments, paths are relative to +# the current working directory. +# +# Prepend a ? character to the file path to suppress errors if the file does +# not exist. If you want to include a file that begins with a literal ? +# character, surround the file path in double quotes ("). +# +# Cycles are not allowed. If a cycle is detected, an error will be logged and +# the configuration file will be ignored. +# +# Configuration files are loaded after the configuration they're defined +# within in the order they're defined. **THIS IS A VERY SUBTLE BUT IMPORTANT +# POINT.** To put it another way: configuration files do not take effect +# until after the entire configuration is loaded. For example, in the +# configuration below: +# +# ``` +# config-file = "foo" +# a = 1 +# ``` +# +# If "foo" contains `a = 2`, the final value of `a` will be 2, because +# `foo` is loaded after the configuration file that configures the +# nested `config-file` value. +config-file = + +# When this is true, the default configuration file paths will be loaded. +# The default configuration file paths are currently only the XDG +# config path ($XDG_CONFIG_HOME/ghostty/config). +# +# If this is false, the default configuration paths will not be loaded. +# This is targeted directly at using Ghostty from the CLI in a way +# that minimizes external effects. +# +# This is a CLI-only configuration. Setting this in a configuration file +# will have no effect. It is not an error, but it will not do anything. +# This configuration can only be set via CLI arguments. +config-default-files = true + +# Confirms that a surface should be closed before closing it. +# +# This defaults to `true`. If set to `false`, surfaces will close without +# any confirmation. This can also be set to `always`, which will always +# confirm closing a surface, even if shell integration says a process isn't +# running. +confirm-close-surface = true + +# Whether or not to quit after the last surface is closed. +# +# This defaults to `false` on macOS since that is standard behavior for +# a macOS application. On Linux, this defaults to `true` since that is +# generally expected behavior. +# +# On Linux, if this is `true`, Ghostty can delay quitting fully until a +# configurable amount of time has passed after the last window is closed. +# See the documentation of `quit-after-last-window-closed-delay`. +quit-after-last-window-closed = true + +# Controls how long Ghostty will stay running after the last open surface has +# been closed. This only has an effect if `quit-after-last-window-closed` is +# also set to `true`. +# +# The minimum value for this configuration is `1s`. Any values lower than +# this will be clamped to `1s`. +# +# The duration is specified as a series of numbers followed by time units. +# Whitespace is allowed between numbers and units. Each number and unit will +# be added together to form the total duration. +# +# The allowed time units are as follows: +# +# * `y` - 365 SI days, or 8760 hours, or 31536000 seconds. No adjustments +# are made for leap years or leap seconds. +# * `d` - one SI day, or 86400 seconds. +# * `h` - one hour, or 3600 seconds. +# * `m` - one minute, or 60 seconds. +# * `s` - one second. +# * `ms` - one millisecond, or 0.001 second. +# * `us` or `µs` - one microsecond, or 0.000001 second. +# * `ns` - one nanosecond, or 0.000000001 second. +# +# Examples: +# * `1h30m` +# * `45s` +# +# Units can be repeated and will be added together. This means that +# `1h1h` is equivalent to `2h`. This is confusing and should be avoided. +# A future update may disallow this. +# +# The maximum value is `584y 49w 23h 34m 33s 709ms 551µs 615ns`. Any +# value larger than this will be clamped to the maximum value. +# +# By default `quit-after-last-window-closed-delay` is unset and +# Ghostty will quit immediately after the last window is closed if +# `quit-after-last-window-closed` is `true`. +# +# Only implemented on Linux. +quit-after-last-window-closed-delay = + +# This controls whether an initial window is created when Ghostty +# is run. Note that if `quit-after-last-window-closed` is `true` and +# `quit-after-last-window-closed-delay` is set, setting `initial-window` to +# `false` will mean that Ghostty will quit after the configured delay if no +# window is ever created. Only implemented on Linux and macOS. +initial-window = true + +# The position of the "quick" terminal window. To learn more about the +# quick terminal, see the documentation for the `toggle_quick_terminal` +# binding action. +# +# Valid values are: +# +# * `top` - Terminal appears at the top of the screen. +# * `bottom` - Terminal appears at the bottom of the screen. +# * `left` - Terminal appears at the left of the screen. +# * `right` - Terminal appears at the right of the screen. +# * `center` - Terminal appears at the center of the screen. +# +# Changing this configuration requires restarting Ghostty completely. +# +# Note: There is no default keybind for toggling the quick terminal. +# To enable this feature, bind the `toggle_quick_terminal` action to a key. +quick-terminal-position = top + +# The screen where the quick terminal should show up. +# +# Valid values are: +# +# * `main` - The screen that the operating system recommends as the main +# screen. On macOS, this is the screen that is currently receiving +# keyboard input. This screen is defined by the operating system and +# not chosen by Ghostty. +# +# * `mouse` - The screen that the mouse is currently hovered over. +# +# * `macos-menu-bar` - The screen that contains the macOS menu bar as +# set in the display settings on macOS. This is a bit confusing because +# every screen on macOS has a menu bar, but this is the screen that +# contains the primary menu bar. +# +# The default value is `main` because this is the recommended screen +# by the operating system. +quick-terminal-screen = main + +# Duration (in seconds) of the quick terminal enter and exit animation. +# Set it to 0 to disable animation completely. This can be changed at +# runtime. +quick-terminal-animation-duration = 0.2 + +# Automatically hide the quick terminal when focus shifts to another window. +# Set it to false for the quick terminal to remain open even when it loses focus. +quick-terminal-autohide = true + +# This configuration option determines the behavior of the quick terminal +# when switching between macOS spaces. macOS spaces are virtual desktops +# that can be manually created or are automatically created when an +# application is in full-screen mode. +# +# Valid values are: +# +# * `move` - When switching to another space, the quick terminal will +# also moved to the current space. +# +# * `remain` - The quick terminal will stay only in the space where it +# was originally opened and will not follow when switching to another +# space. +# +# The default value is `move`. +quick-terminal-space-behavior = move + +# Whether to enable shell integration auto-injection or not. Shell integration +# greatly enhances the terminal experience by enabling a number of features: +# +# * Working directory reporting so new tabs, splits inherit the +# previous terminal's working directory. +# +# * Prompt marking that enables the "jump_to_prompt" keybinding. +# +# * If you're sitting at a prompt, closing a terminal will not ask +# for confirmation. +# +# * Resizing the window with a complex prompt usually paints much +# better. +# +# Allowable values are: +# +# * `none` - Do not do any automatic injection. You can still manually +# configure your shell to enable the integration. +# +# * `detect` - Detect the shell based on the filename. +# +# * `bash`, `elvish`, `fish`, `zsh` - Use this specific shell injection scheme. +# +# The default value is `detect`. +shell-integration = detect + +# Shell integration features to enable. These require our shell integration +# to be loaded, either automatically via shell-integration or manually. +# +# The format of this is a list of features to enable separated by commas. If +# you prefix a feature with `no-` then it is disabled. If you omit a feature, +# its default value is used, so you must explicitly disable features you don't +# want. You can also use `true` or `false` to turn all features on or off. +# +# Available features: +# +# * `cursor` - Set the cursor to a blinking bar at the prompt. +# +# * `sudo` - Set sudo wrapper to preserve terminfo. +# +# * `title` - Set the window title via shell integration. +# +# Example: `cursor`, `no-cursor`, `sudo`, `no-sudo`, `title`, `no-title` +shell-integration-features = cursor,no-sudo,title + +# Sets the reporting format for OSC sequences that request color information. +# Ghostty currently supports OSC 10 (foreground), OSC 11 (background), and +# OSC 4 (256 color palette) queries, and by default the reported values +# are scaled-up RGB values, where each component are 16 bits. This is how +# most terminals report these values. However, some legacy applications may +# require 8-bit, unscaled, components. We also support turning off reporting +# altogether. The components are lowercase hex values. +# +# Allowable values are: +# +# * `none` - OSC 4/10/11 queries receive no reply +# +# * `8-bit` - Color components are return unscaled, e.g. `rr/gg/bb` +# +# * `16-bit` - Color components are returned scaled, e.g. `rrrr/gggg/bbbb` +# +# The default value is `16-bit`. +osc-color-report-format = 16-bit + +# If true, allows the "KAM" mode (ANSI mode 2) to be used within +# the terminal. KAM disables keyboard input at the request of the +# application. This is not a common feature and is not recommended +# to be enabled. This will not be documented further because +# if you know you need KAM, you know. If you don't know if you +# need KAM, you don't need it. +vt-kam-allowed = false + +# Custom shaders to run after the default shaders. This is a file path +# to a GLSL-syntax shader for all platforms. +# +# Warning: Invalid shaders can cause Ghostty to become unusable such as by +# causing the window to be completely black. If this happens, you can +# unset this configuration to disable the shader. +# +# On Linux, this requires OpenGL 4.2. Ghostty typically only requires +# OpenGL 3.3, but custom shaders push that requirement up to 4.2. +# +# The shader API is identical to the Shadertoy API: you specify a `mainImage` +# function and the available uniforms match Shadertoy. The iChannel0 uniform +# is a texture containing the rendered terminal screen. +# +# If the shader fails to compile, the shader will be ignored. Any errors +# related to shader compilation will not show up as configuration errors +# and only show up in the log, since shader compilation happens after +# configuration loading on the dedicated render thread. For interactive +# development, use [shadertoy.com](https://shadertoy.com). +# +# This can be repeated multiple times to load multiple shaders. The shaders +# will be run in the order they are specified. +# +# Changing this value at runtime and reloading the configuration will only +# affect new windows, tabs, and splits. +custom-shader = + +# If `true` (default), the focused terminal surface will run an animation +# loop when custom shaders are used. This uses slightly more CPU (generally +# less than 10%) but allows the shader to animate. This only runs if there +# are custom shaders and the terminal is focused. +# +# If this is set to `false`, the terminal and custom shader will only render +# when the terminal is updated. This is more efficient but the shader will +# not animate. +# +# This can also be set to `always`, which will always run the animation +# loop regardless of whether the terminal is focused or not. The animation +# loop will still only run when custom shaders are used. Note that this +# will use more CPU per terminal surface and can become quite expensive +# depending on the shader and your terminal usage. +# +# This value can be changed at runtime and will affect all currently +# open terminals. +custom-shader-animation = true + +# Control the in-app notifications that Ghostty shows. +# +# On Linux (GTK) with Adwaita, in-app notifications show up as toasts. Toasts +# appear overlaid on top of the terminal window. They are used to show +# information that is not critical but may be important. +# +# Possible notifications are: +# +# - `clipboard-copy` (default: true) - Show a notification when text is copied +# to the clipboard. +# +# To specify a notification to enable, specify the name of the notification. +# To specify a notification to disable, prefix the name with `no-`. For +# example, to disable `clipboard-copy`, set this configuration to +# `no-clipboard-copy`. To enable it, set this configuration to `clipboard-copy`. +# +# Multiple notifications can be enabled or disabled by separating them +# with a comma. +# +# A value of "false" will disable all notifications. A value of "true" will +# enable all notifications. +# +# This configuration only applies to GTK with Adwaita enabled. +app-notifications = clipboard-copy + +# If anything other than false, fullscreen mode on macOS will not use the +# native fullscreen, but make the window fullscreen without animations and +# using a new space. It's faster than the native fullscreen mode since it +# doesn't use animations. +# +# Important: tabs DO NOT WORK in this mode. Non-native fullscreen removes +# the titlebar and macOS native tabs require the titlebar. If you use tabs, +# you should not use this mode. +# +# If you fullscreen a window with tabs, the currently focused tab will +# become fullscreen while the others will remain in a separate window in +# the background. You can switch to that window using normal window-switching +# keybindings such as command+tilde. When you exit fullscreen, the window +# will return to the tabbed state it was in before. +# +# Allowable values are: +# +# * `visible-menu` - Use non-native macOS fullscreen, keep the menu bar visible +# * `true` - Use non-native macOS fullscreen, hide the menu bar +# * `false` - Use native macOS fullscreen +# +# Changing this option at runtime works, but will only apply to the next +# time the window is made fullscreen. If a window is already fullscreen, +# it will retain the previous setting until fullscreen is exited. +macos-non-native-fullscreen = false + +# The style of the macOS titlebar. Available values are: "native", +# "transparent", "tabs", and "hidden". +# +# The "native" style uses the native macOS titlebar with zero customization. +# The titlebar will match your window theme (see `window-theme`). +# +# The "transparent" style is the same as "native" but the titlebar will +# be transparent and allow your window background color to come through. +# This makes a more seamless window appearance but looks a little less +# typical for a macOS application and may not work well with all themes. +# +# The "transparent" style will also update in real-time to dynamic +# changes to the window background color, e.g. via OSC 11. To make this +# more aesthetically pleasing, this only happens if the terminal is +# a window, tab, or split that borders the top of the window. This +# avoids a disjointed appearance where the titlebar color changes +# but all the topmost terminals don't match. +# +# The "tabs" style is a completely custom titlebar that integrates the +# tab bar into the titlebar. This titlebar always matches the background +# color of the terminal. There are some limitations to this style: +# On macOS 13 and below, saved window state will not restore tabs correctly. +# macOS 14 does not have this issue and any other macOS version has not +# been tested. +# +# The "hidden" style hides the titlebar. Unlike `window-decoration = false`, +# however, it does not remove the frame from the window or cause it to have +# squared corners. Changing to or from this option at run-time may affect +# existing windows in buggy ways. +# +# When "hidden", the top titlebar area can no longer be used for dragging +# the window. To drag the window, you can use option+click on the resizable +# areas of the frame to drag the window. This is a standard macOS behavior +# and not something Ghostty enables. +# +# The default value is "transparent". This is an opinionated choice +# but its one I think is the most aesthetically pleasing and works in +# most cases. +# +# Changing this option at runtime only applies to new windows. +macos-titlebar-style = transparent + +# Whether the proxy icon in the macOS titlebar is visible. The proxy icon +# is the icon that represents the folder of the current working directory. +# You can see this very clearly in the macOS built-in Terminal.app +# titlebar. +# +# The proxy icon is only visible with the native macOS titlebar style. +# +# Valid values are: +# +# * `visible` - Show the proxy icon. +# * `hidden` - Hide the proxy icon. +# +# The default value is `visible`. +# +# This setting can be changed at runtime and will affect all currently +# open windows but only after their working directory changes again. +# Therefore, to make this work after changing the setting, you must +# usually `cd` to a different directory, open a different file in an +# editor, etc. +macos-titlebar-proxy-icon = visible + +# macOS doesn't have a distinct "alt" key and instead has the "option" +# key which behaves slightly differently. On macOS by default, the +# option key plus a character will sometimes produces a Unicode character. +# For example, on US standard layouts option-b produces "∫". This may be +# undesirable if you want to use "option" as an "alt" key for keybindings +# in terminal programs or shells. +# +# This configuration lets you change the behavior so that option is treated +# as alt. +# +# The default behavior (unset) will depend on your active keyboard +# layout. If your keyboard layout is one of the keyboard layouts listed +# below, then the default value is "true". Otherwise, the default +# value is "false". Keyboard layouts with a default value of "true" are: +# +# - U.S. Standard +# - U.S. International +# +# Note that if an *Option*-sequence doesn't produce a printable character, it +# will be treated as *Alt* regardless of this setting. (e.g. `alt+ctrl+a`). +# +# Explicit values that can be set: +# +# If `true`, the *Option* key will be treated as *Alt*. This makes terminal +# sequences expecting *Alt* to work properly, but will break Unicode input +# sequences on macOS if you use them via the *Alt* key. +# +# You may set this to `false` to restore the macOS *Alt* key unicode +# sequences but this will break terminal sequences expecting *Alt* to work. +# +# The values `left` or `right` enable this for the left or right *Option* +# key, respectively. +# +# This does not work with GLFW builds. +macos-option-as-alt = + +# Whether to enable the macOS window shadow. The default value is true. +# With some window managers and window transparency settings, you may +# find false more visually appealing. +macos-window-shadow = true + +# If true, Ghostty on macOS will automatically enable the "Secure Input" +# feature when it detects that a password prompt is being displayed. +# +# "Secure Input" is a macOS security feature that prevents applications from +# reading keyboard events. This can always be enabled manually using the +# `Ghostty > Secure Keyboard Entry` menu item. +# +# Note that automatic password prompt detection is based on heuristics +# and may not always work as expected. Specifically, it does not work +# over SSH connections, but there may be other cases where it also +# doesn't work. +# +# A reason to disable this feature is if you find that it is interfering +# with legitimate accessibility software (or software that uses the +# accessibility APIs), since secure input prevents any application from +# reading keyboard events. +macos-auto-secure-input = true + +# If true, Ghostty will show a graphical indication when secure input is +# enabled. This indication is generally recommended to know when secure input +# is enabled. +# +# Normally, secure input is only active when a password prompt is displayed +# or it is manually (and typically temporarily) enabled. However, if you +# always have secure input enabled, the indication can be distracting and +# you may want to disable it. +macos-secure-input-indication = true + +# Customize the macOS app icon. +# +# This only affects the icon that appears in the dock, application +# switcher, etc. This does not affect the icon in Finder because +# that is controlled by a hardcoded value in the signed application +# bundle and can't be changed at runtime. For more details on what +# exactly is affected, see the `NSApplication.icon` Apple documentation; +# that is the API that is being used to set the icon. +# +# Valid values: +# +# * `official` - Use the official Ghostty icon. +# * `blueprint`, `chalkboard`, `microchip`, `glass`, `holographic`, +# `paper`, `retro`, `xray` - Official variants of the Ghostty icon +# hand-created by artists (no AI). +# * `custom-style` - Use the official Ghostty icon but with custom +# styles applied to various layers. The custom styles must be +# specified using the additional `macos-icon`-prefixed configurations. +# The `macos-icon-ghost-color` and `macos-icon-screen-color` +# configurations are required for this style. +# +# WARNING: The `custom-style` option is _experimental_. We may change +# the format of the custom styles in the future. We're still finalizing +# the exact layers and customization options that will be available. +# +# Other caveats: +# +# * The icon in the update dialog will always be the official icon. +# This is because the update dialog is managed through a +# separate framework and cannot be customized without significant +# effort. +# +macos-icon = official + +# The material to use for the frame of the macOS app icon. +# +# Valid values: +# +# * `aluminum` - A brushed aluminum frame. This is the default. +# * `beige` - A classic 90's computer beige frame. +# * `plastic` - A glossy, dark plastic frame. +# * `chrome` - A shiny chrome frame. +# +# This only has an effect when `macos-icon` is set to `custom-style`. +macos-icon-frame = aluminum + +# The color of the ghost in the macOS app icon. +# +# Note: This configuration is required when `macos-icon` is set to +# `custom-style`. +# +# This only has an effect when `macos-icon` is set to `custom-style`. +# +# Specified as either hex (`#RRGGBB` or `RRGGBB`) or a named X11 color. +macos-icon-ghost-color = + +# The color of the screen in the macOS app icon. +# +# The screen is a gradient so you can specify multiple colors that +# make up the gradient. Comma-separated colors may be specified as +# as either hex (`#RRGGBB` or `RRGGBB`) or as named X11 colors. +# +# Note: This configuration is required when `macos-icon` is set to +# `custom-style`. +# +# This only has an effect when `macos-icon` is set to `custom-style`. +macos-icon-screen-color = + +# Put every surface (tab, split, window) into a dedicated Linux cgroup. +# +# This makes it so that resource management can be done on a per-surface +# granularity. For example, if a shell program is using too much memory, +# only that shell will be killed by the oom monitor instead of the entire +# Ghostty process. Similarly, if a shell program is using too much CPU, +# only that surface will be CPU-throttled. +# +# This will cause startup times to be slower (a hundred milliseconds or so), +# so the default value is "single-instance." In single-instance mode, only +# one instance of Ghostty is running (see gtk-single-instance) so the startup +# time is a one-time cost. Additionally, single instance Ghostty is much +# more likely to have many windows, tabs, etc. so cgroup isolation is a +# big benefit. +# +# This feature requires systemd. If systemd is unavailable, cgroup +# initialization will fail. By default, this will not prevent Ghostty +# from working (see linux-cgroup-hard-fail). +# +# Valid values are: +# +# * `never` - Never use cgroups. +# * `always` - Always use cgroups. +# * `single-instance` - Enable cgroups only for Ghostty instances launched +# as single-instance applications (see gtk-single-instance). +# +linux-cgroup = single-instance + +# Memory limit for any individual terminal process (tab, split, window, +# etc.) in bytes. If this is unset then no memory limit will be set. +# +# Note that this sets the "memory.high" configuration for the memory +# controller, which is a soft limit. You should configure something like +# systemd-oom to handle killing processes that have too much memory +# pressure. +linux-cgroup-memory-limit = + +# Number of processes limit for any individual terminal process (tab, split, +# window, etc.). If this is unset then no limit will be set. +# +# Note that this sets the "pids.max" configuration for the process number +# controller, which is a hard limit. +linux-cgroup-processes-limit = + +# If this is false, then any cgroup initialization (for linux-cgroup) +# will be allowed to fail and the failure is ignored. This is useful if +# you view cgroup isolation as a "nice to have" and not a critical resource +# management feature, because Ghostty startup will not fail if cgroup APIs +# fail. +# +# If this is true, then any cgroup initialization failure will cause +# Ghostty to exit or new surfaces to not be created. +# +# Note: This currently only affects cgroup initialization. Subprocesses +# must always be able to move themselves into an isolated cgroup. +linux-cgroup-hard-fail = false + +# Enable or disable GTK's OpenGL debugging logs. The default is `true` for +# debug builds, `false` for all others. +gtk-opengl-debug = false + +# Obsolete configuration that should not be set. This was deprecated in +# Ghostty 1.1.3 and no longer has any effect. The configuration key will +# be fully removed in 1.2.0. You can manually override the GSK renderer +# using standard environment variables such as `GSK_RENDERER` (from GTK). +gtk-gsk-renderer = default + +# If `true`, the Ghostty GTK application will run in single-instance mode: +# each new `ghostty` process launched will result in a new window if there is +# already a running process. +# +# If `false`, each new ghostty process will launch a separate application. +# +# The default value is `desktop` which will default to `true` if Ghostty +# detects that it was launched from the `.desktop` file such as an app +# launcher (like Gnome Shell) or by D-Bus activation. If Ghostty is launched +# from the command line, it will default to `false`. +# +# Note that debug builds of Ghostty have a separate single-instance ID +# so you can test single instance without conflicting with release builds. +gtk-single-instance = desktop + +# When enabled, the full GTK titlebar is displayed instead of your window +# manager's simple titlebar. The behavior of this option will vary with your +# window manager. +# +# This option does nothing when `window-decoration` is false or when running +# under macOS. +# +# Changing this value at runtime and reloading the configuration will only +# affect new windows. +gtk-titlebar = true + +# Determines the side of the screen that the GTK tab bar will stick to. +# Top, bottom, left, right, and hidden are supported. The default is top. +# +# If this option has value `left` or `right` when using Adwaita, it falls +# back to `top`. `hidden`, meaning that tabs don't exist, is not supported +# without using Adwaita, falling back to `top`. +# +# When `hidden` is set and Adwaita is enabled, a tab button displaying the +# number of tabs will appear in the title bar. It has the ability to open a +# tab overview for displaying tabs. Alternatively, you can use the +# `toggle_tab_overview` action in a keybind if your window doesn't have a +# title bar, or you can switch tabs with keybinds. +gtk-tabs-location = top + +# If this is `true`, the titlebar will be hidden when the window is maximized, +# and shown when the titlebar is unmaximized. GTK only. +gtk-titlebar-hide-when-maximized = false + +# Determines the appearance of the top and bottom bars when using the +# Adwaita tab bar. This requires `gtk-adwaita` to be enabled (it is +# by default). +# +# Valid values are: +# +# * `flat` - Top and bottom bars are flat with the terminal window. +# * `raised` - Top and bottom bars cast a shadow on the terminal area. +# * `raised-border` - Similar to `raised` but the shadow is replaced with a +# more subtle border. +# +# Changing this value at runtime will only affect new windows. +adw-toolbar-style = raised + +# If `true` (default), then the Ghostty GTK tabs will be "wide." Wide tabs +# are the new typical Gnome style where tabs fill their available space. +# If you set this to `false` then tabs will only take up space they need, +# which is the old style. +gtk-wide-tabs = true + +# If `true` (default), Ghostty will enable Adwaita theme support. This +# will make `window-theme` work properly and will also allow Ghostty to +# properly respond to system theme changes, light/dark mode changing, etc. +# This requires a GTK4 desktop with a GTK4 theme. +# +# If you are running GTK3 or have a GTK3 theme, you may have to set this +# to false to get your theme picked up properly. Having this set to true +# with GTK3 should not cause any problems, but it may not work exactly as +# expected. +# +# This configuration only has an effect if Ghostty was built with +# Adwaita support. +gtk-adwaita = true + +# Custom CSS files to be loaded. +# +# This configuration can be repeated multiple times to load multiple files. +# Prepend a ? character to the file path to suppress errors if the file does +# not exist. If you want to include a file that begins with a literal ? +# character, surround the file path in double quotes ("). +# The file size limit for a single stylesheet is 5MiB. +gtk-custom-css = + +# If `true` (default), applications running in the terminal can show desktop +# notifications using certain escape sequences such as OSC 9 or OSC 777. +desktop-notifications = true + +# If `true`, the bold text will use the bright color palette. +bold-is-bright = false + +# This will be used to set the `TERM` environment variable. +# HACK: We set this with an `xterm` prefix because vim uses that to enable key +# protocols (specifically this will enable `modifyOtherKeys`), among other +# features. An option exists in vim to modify this: `:set +# keyprotocol=ghostty:kitty`, however a bug in the implementation prevents it +# from working properly. https://github.com/vim/vim/pull/13211 fixes this. +term = xterm-ghostty + +# String to send when we receive `ENQ` (`0x05`) from the command that we are +# running. Defaults to an empty string if not set. +enquiry-response = + +# Control the auto-update functionality of Ghostty. This is only supported +# on macOS currently, since Linux builds are distributed via package +# managers that are not centrally controlled by Ghostty. +# +# Checking or downloading an update does not send any information to +# the project beyond standard network information mandated by the +# underlying protocols. To put it another way: Ghostty doesn't explicitly +# add any tracking to the update process. The update process works by +# downloading information about the latest version and comparing it +# client-side to the current version. +# +# Valid values are: +# +# * `off` - Disable auto-updates. +# * `check` - Check for updates and notify the user if an update is +# available, but do not automatically download or install the update. +# * `download` - Check for updates, automatically download the update, +# notify the user, but do not automatically install the update. +# +# If unset, we defer to Sparkle's default behavior, which respects the +# preference stored in the standard user defaults (`defaults(1)`). +# +# Changing this value at runtime works after a small delay. +auto-update = + +# The release channel to use for auto-updates. +# +# The default value of this matches the release channel of the currently +# running Ghostty version. If you download a pre-release version of Ghostty +# then this will be set to `tip` and you will receive pre-release updates. +# If you download a stable version of Ghostty then this will be set to +# `stable` and you will receive stable updates. +# +# Valid values are: +# +# * `stable` - Stable, tagged releases such as "1.0.0". +# * `tip` - Pre-release versions generated from each commit to the +# main branch. This is the version that was in use during private +# beta testing by thousands of people. It is generally stable but +# will likely have more bugs than the stable channel. +# +# Changing this configuration requires a full restart of +# Ghostty to take effect. +# +# This only works on macOS since only macOS has an auto-update feature. +auto-update-channel = + diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index db74b545..5f6279af 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -28,7 +28,7 @@ monitor=HDMI-A-1,prefered,auto,1 # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use -$terminal = alacritty +$terminal = {{terminal}} $fileManager = $terminal -e yazi $menu = wofi --show drun -ib $browser = floorp diff --git a/config/joshuto/bookmarks.toml b/config/joshuto/bookmarks.toml deleted file mode 100644 index 7f56a84b..00000000 --- a/config/joshuto/bookmarks.toml +++ /dev/null @@ -1,6 +0,0 @@ -bookmark = [ - {key = "r", path = "/"}, - {key = "e", path = "/etc"}, - - {key = "h", path = "~/"}, -] diff --git a/config/joshuto/joshuto.toml b/config/joshuto/joshuto.toml deleted file mode 100644 index 3cdd52b7..00000000 --- a/config/joshuto/joshuto.toml +++ /dev/null @@ -1,51 +0,0 @@ -numbered_command = false - -use_trash = true -watch_files = true -xdg_open = false -xdg_open_fork = false - - -[display] -# default, hsplit -mode = "default" - -automatically_count_files = false -collapse_preview = true -# ratios for parent view (optional), current view and preview -column_ratio = [ 1, 4, 4 ] -scroll_offset = 6 -show_borders = true -show_hidden = false -show_icons = true -tilde_in_titlebar = true -# none, absolute, relative -line_number_style = "none" - -# size, mtime, user, gourp, perm. can be combined with |. -# `none` to disable, `all` to enable all -# all and none can't be combined with other options -linemode = "size" - -[display.sort] -# lexical, mtime, natural, size, ext -sort_method = "natural" -case_sensitive = false -directories_first = true -reverse = false - -[preview] -max_preview_size = 2097152 # 2MB -preview_script = "~/.config/joshuto/preview_file.sh" # make sure it's marked as executable - -[search] -# insensitive, sensitive, smart -string_case_sensitivity = "insensitive" -# see above -glob_case_sensitivity = "sensitive" -# see above -fzf_case_sensitivity = "insensitive" - -[tab] -# inherit, home, root -home_page = "home" diff --git a/config/joshuto/keymap.toml b/config/joshuto/keymap.toml deleted file mode 100644 index 6552cc62..00000000 --- a/config/joshuto/keymap.toml +++ /dev/null @@ -1,172 +0,0 @@ -[default_view] - -keymap = [ - {keys = [ "escape" ], command = "escape"}, - {keys = [ "ctrl+t" ], command = "new_tab"}, - {keys = [ "alt+t" ], command = "new_tab --cursor"}, - {keys = [ "T" ], command = "new_tab --current"}, - {keys = [ "W" ], command = "close_tab"}, - {keys = [ "ctrl+w" ], command = "close_tab"}, - {keys = [ "q" ], command = "close_tab"}, - {keys = [ "ctrl+c" ], command = "quit"}, - {keys = [ "Q" ], command = "quit --output-current-directory"}, - - {keys = [ "R" ], command = "reload_dirlist"}, - {keys = [ "z", "h" ], command = "toggle_hidden"}, - {keys = [ "ctrl+h" ], command = "toggle_hidden"}, - {keys = [ "\t" ], command = "tab_switch 1"}, - {keys = [ "backtab" ], command = "tab_switch -1"}, - - {keys = [ "alt+1" ], command = "tab_switch_index 1"}, - {keys = [ "alt+2" ], command = "tab_switch_index 2"}, - {keys = [ "alt+3" ], command = "tab_switch_index 3"}, - {keys = [ "alt+4" ], command = "tab_switch_index 4"}, - {keys = [ "alt+5" ], command = "tab_switch_index 5"}, - - {keys = [ "1" ], command = "numbered_command 1"}, - {keys = [ "2" ], command = "numbered_command 2"}, - {keys = [ "3" ], command = "numbered_command 3"}, - {keys = [ "4" ], command = "numbered_command 4"}, - {keys = [ "5" ], command = "numbered_command 5"}, - {keys = [ "6" ], command = "numbered_command 6"}, - {keys = [ "7" ], command = "numbered_command 7"}, - {keys = [ "8" ], command = "numbered_command 8"}, - {keys = [ "9" ], command = "numbered_command 9"}, - - # arrow keys - {keys = [ "arrow_up" ], command = "cursor_move_up"}, - {keys = [ "arrow_down" ], command = "cursor_move_down"}, - {keys = [ "arrow_left" ], command = "cd .."}, - {keys = [ "arrow_right" ], command = "open"}, - {keys = [ "\n" ], command = "open"}, - {keys = [ "home" ], command = "cursor_move_home"}, - {keys = [ "end" ], command = "cursor_move_end"}, - {keys = [ "page_up" ], command = "cursor_move_page_up"}, - {keys = [ "page_down" ], command = "cursor_move_page_down"}, - {keys = [ "ctrl+u" ], command = "cursor_move_page_up 0.5"}, - {keys = [ "ctrl+d" ], command = "cursor_move_page_down 0.5"}, - {keys = [ "ctrl+b" ], command = "cursor_move_page_up"}, - {keys = [ "ctrl+f" ], command = "cursor_move_page_down"}, - - # vim-like keybindings - {keys = [ "j" ], command = "cursor_move_down"}, - {keys = [ "k" ], command = "cursor_move_up"}, - {keys = [ "h" ], command = "cd .."}, - {keys = [ "l" ], command = "open"}, - {keys = [ "g", "g" ], command = "cursor_move_home"}, - {keys = [ "G" ], command = "cursor_move_end"}, - {keys = [ "r" ], command = "open_with"}, - - {keys = [ "H" ], command = "cursor_move_page_home"}, - {keys = [ "L" ], command = "cursor_move_page_middle"}, - {keys = [ "M" ], command = "cursor_move_page_end"}, - - {keys = [ "[" ], command = "parent_cursor_move_up"}, - {keys = [ "]" ], command = "parent_cursor_move_down"}, - - {keys = [ "c", "d" ], command = ":cd "}, - {keys = [ "d", "d" ], command = "cut_files"}, - {keys = [ "y", "y" ], command = "copy_files"}, - {keys = [ "y", "n" ], command = "copy_filename"}, - {keys = [ "y", "." ], command = "copy_filename_without_extension"}, - {keys = [ "y", "p" ], command = "copy_filepath"}, - {keys = [ "y", "a" ], command = "copy_filepath --all-selected=true"}, - {keys = [ "y", "d" ], command = "copy_dirpath"}, - - {keys = [ "p", "l" ], command = "symlink_files --relative=false"}, - {keys = [ "p", "L" ], command = "symlink_files --relative=true"}, - - {keys = [ "delete" ], command = "delete_files"}, - {keys = [ "d", "D" ], command = "delete_files"}, - - {keys = [ "p", "p" ], command = "paste_files"}, - {keys = [ "p", "o" ], command = "paste_files --overwrite=true"}, - - {keys = [ "a" ], command = "rename_append"}, - {keys = [ "A" ], command = "rename_prepend"}, - - {keys = [ "f", "t" ], command = ":touch "}, - - {keys = [ " " ], command = "select --toggle=true"}, - {keys = [ "t" ], command = "select --all=true --toggle=true"}, - {keys = [ "V" ], command = "toggle_visual"}, - - {keys = [ "w" ], command = "show_tasks --exit-key=w"}, - {keys = [ "b", "b" ], command = "bulk_rename"}, - {keys = [ "=" ], command = "set_mode"}, - - {keys = [ ":" ], command = ":"}, - {keys = [ ";" ], command = ":"}, - - {keys = [ "'" ], command = ":shell "}, - {keys = [ "m", "k" ], command = ":mkdir "}, - {keys = [ "c", "w" ], command = ":rename "}, - - {keys = [ "/" ], command = ":search "}, - {keys = [ "|" ], command = ":search_inc "}, - {keys = [ "\\" ], command = ":search_glob "}, - {keys = [ "S" ], command = "search_fzf"}, - {keys = [ "C" ], command = "subdir_fzf"}, - - {keys = [ "n" ], command = "search_next"}, - {keys = [ "N" ], command = "search_prev"}, - - {keys = [ "s", "r" ], command = "sort reverse"}, - {keys = [ "s", "l" ], command = "sort lexical"}, - {keys = [ "s", "m" ], command = "sort mtime"}, - {keys = [ "s", "n" ], command = "sort natural"}, - {keys = [ "s", "s" ], command = "sort size"}, - {keys = [ "s", "e" ], command = "sort ext"}, - - {keys = [ "m", "s" ], command = "linemode size"}, - {keys = [ "m", "m" ], command = "linemode mtime"}, - {keys = [ "m", "M" ], command = "linemode size | mtime"}, - {keys = [ "m", "u" ], command = "linemode user"}, - {keys = [ "m", "U" ], command = "linemode user | group"}, - {keys = [ "m", "p" ], command = "linemode perm"}, - - {keys = [ "g", "r" ], command = "cd /"}, - {keys = [ "g", "c" ], command = "cd ~/.config"}, - {keys = [ "g", "d" ], command = "cd ~/Downloads"}, - {keys = [ "g", "e" ], command = "cd /etc"}, - {keys = [ "g", "h" ], command = "cd ~/"}, - {keys = [ "?" ], command = "help"}, -] - -[task_view] - -keymap = [ - # arrow keys - {keys = [ "arrow_up" ], command = "cursor_move_up"}, - {keys = [ "arrow_down" ], command = "cursor_move_down"}, - {keys = [ "home" ], command = "cursor_move_home"}, - {keys = [ "end" ], command = "cursor_move_end"}, - - # vim-like keybindings - {keys = [ "j" ], command = "cursor_move_down"}, - {keys = [ "k" ], command = "cursor_move_up"}, - {keys = [ "g", "g" ], command = "cursor_move_home"}, - {keys = [ "G" ], command = "cursor_move_end"}, - - {keys = [ "w" ], command = "show_tasks"}, - {keys = [ "escape" ], command = "show_tasks"}, -] - -[help_view] - -keymap = [ - # arrow keys - {keys = [ "arrow_up" ], command = "cursor_move_up"}, - {keys = [ "arrow_down" ], command = "cursor_move_down"}, - {keys = [ "home" ], command = "cursor_move_home"}, - {keys = [ "end" ], command = "cursor_move_end"}, - - # vim-like keybindings - {keys = [ "j" ], command = "cursor_move_down"}, - {keys = [ "k" ], command = "cursor_move_up"}, - {keys = [ "g", "g" ], command = "cursor_move_home"}, - {keys = [ "G" ], command = "cursor_move_end"}, - - {keys = [ "w" ], command = "show_tasks"}, - {keys = [ "escape" ], command = "show_tasks"}, -] diff --git a/config/joshuto/mimetype.toml b/config/joshuto/mimetype.toml deleted file mode 100644 index 3db51a10..00000000 --- a/config/joshuto/mimetype.toml +++ /dev/null @@ -1,229 +0,0 @@ -[class] -audio_default = [ - {command = "mpv", args = [ - "--", - ]}, - {command = "mediainfo", confirm_exit = true}, -] - -image_default = [ - {command = "qimgv", args = [ - "--", - ], fork = true, silent = true}, - {command = "krita", args = [ - "--", - ], fork = true, silent = true}, - {command = "exiftool", confirm_exit = true}, - {command = "swappy", args = [ - "-f", - ], fork = true}, -] - -video_default = [ - {command = "mpv", args = [ - "--", - ], fork = true, silent = true}, - {command = "mediainfo", confirm_exit = true}, - {command = "mpv", args = [ - "--mute", - "on", - "--", - ], fork = true, silent = true}, -] - -text_default = [ - {command = "micro"}, - {command = "gedit", fork = true, silent = true}, - {command = "bat", args = [ - "--paging=always", - ]}, -] - -reader_default = [ {command = "evince", fork = true, silent = true} ] - -libreoffice_default = [ {command = "libreoffice", fork = true, silent = true} ] - -[extension] - -## image formats -avif.inherit = "image_default" -bmp.inherit = "image_default" -gif.inherit = "image_default" -heic.inherit = "image_default" -jpeg.inherit = "image_default" -jpe.inherit = "image_default" -jpg.inherit = "image_default" -pgm.inherit = "image_default" -png.inherit = "image_default" -ppm.inherit = "image_default" -webp.inherit = "image_default" - -svg.app_list = [ - {command = "inkview", fork = true, silent = true}, - {command = "inkscape", fork = true, silent = true}, -] -tiff.app_list = [ - {command = "qimgv", fork = true, silent = true}, - {command = "krita", fork = true, silent = true}, -] - -## audio formats -flac.inherit = "audio_default" -m4a.inherit = "audio_default" -mp3.inherit = "audio_default" -ogg.inherit = "audio_default" -wav.inherit = "audio_default" - -## video formats -avi.inherit = "video_default" -av1.inherit = "video_default" -flv.inherit = "video_default" -mkv.inherit = "video_default" -m4v.inherit = "video_default" -mov.inherit = "video_default" -mp4.inherit = "video_default" -ts.inherit = "video_default" -webm.inherit = "video_default" -wmv.inherit = "video_default" - -## text formats -build.inherit = "text_default" -c.inherit = "text_default" -cmake.inherit = "text_default" -conf.inherit = "text_default" -cpp.inherit = "text_default" -css.inherit = "text_default" -csv.inherit = "text_default" -cu.inherit = "text_default" -ebuild.inherit = "text_default" -eex.inherit = "text_default" -env.inherit = "text_default" -ex.inherit = "text_default" -exs.inherit = "text_default" -go.inherit = "text_default" -h.inherit = "text_default" -hpp.inherit = "text_default" -hs.inherit = "text_default" -html.inherit = "text_default" -ini.inherit = "text_default" -java.inherit = "text_default" -js.inherit = "text_default" -json.inherit = "text_default" -kt.inherit = "text_default" -lua.inherit = "text_default" -log.inherit = "text_default" -md.inherit = "text_default" -micro.inherit = "text_default" -ninja.inherit = "text_default" -py.inherit = "text_default" -rkt.inherit = "text_default" -rs.inherit = "text_default" -scss.inherit = "text_default" -sh.inherit = "text_default" -srt.inherit = "text_default" -svelte.inherit = "text_default" -toml.inherit = "text_default" -tsx.inherit = "text_default" -txt.inherit = "text_default" -vim.inherit = "text_default" -xml.inherit = "text_default" -yaml.inherit = "text_default" -yml.inherit = "text_default" - -# archive formats -7z.app_list = [ - {command = "7z", args = [ - "x", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -bz2.app_list = [ - {command = "tar", args = [ - "-xvjf", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -gz.app_list = [ - {command = "tar", args = [ - "-xvzf", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -tar.app_list = [ - {command = "tar", args = [ - "-xvf", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -tgz.app_list = [ - {command = "tar", args = [ - "-xvzf", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -rar.app_list = [ - {command = "unrar", args = [ - "x", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -xz.app_list = [ - {command = "tar", args = [ - "-xvJf", - ], confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] -zip.app_list = [ - {command = "unzip", confirm_exit = true}, - {command = "file-roller", fork = true, silent = true}, -] - -# misc formats -aup.app_list = [ {command = "audacity", fork = true, silent = true} ] - -m3u.app_list = [ - {command = "micro"}, - {command = "mpv"}, - {command = "gedit", fork = true, silent = true}, - {command = "bat", confirm_exit = true}, -] - -odt.inherit = "libreoffice_default" -odf.inherit = "libreoffice_default" -ods.inherit = "libreoffice_default" -odp.inherit = "libreoffice_default" - -doc.inherit = "libreoffice_default" -docx.inherit = "libreoffice_default" -xls.inherit = "libreoffice_default" -xlsx.inherit = "libreoffice_default" -ppt.inherit = "libreoffice_default" -pptx.inherit = "libreoffice_default" - -pdf.inherit = "reader_default" - -kra.app_list = [ {command = "krita", fork = true, silent = true} ] -kdenlive.app_list = [ {command = "kdenlive", fork = true, silent = true} ] - -tex.app_list = [ - {command = "micro"}, - {command = "gedit", fork = true, silent = true}, - {command = "bat", confirm_exit = true}, - {command = "pdflatex"}, -] - -torrent.app_list = [ {command = "transmission-gtk"} ] - -[mimetype] - -# application/octet-stream -[mimetype.application.subtype.octet-stream] -inherit = "video_default" - -# text/* -[mimetype.text] -inherit = "text_default" - -# text/* -[mimetype.video] -inherit = "video_default" diff --git a/config/joshuto/theme.toml b/config/joshuto/theme.toml deleted file mode 100644 index 2e14dd8b..00000000 --- a/config/joshuto/theme.toml +++ /dev/null @@ -1,111 +0,0 @@ -########################################## -## Tabs -########################################## - -# Inactive tabs -[tabs.inactive] - -# Active tabs -[tabs.active] -invert = true - -########################################## -## File List - Selections -########################################## - -# Selected files (standard selection) -[selection] -fg = "light_yellow" -bold = true - -# Files selected in current visual mode -[visual_mode_selection] -fg = "light_red" -bold = true - -[selection.prefix] -prefix = " " -size = 2 - -########################################## -## File List - System File Types -########################################## - -# Basic style, used for regular files (and also device files and FIFOs) -[regular] -fg = "white" - -# For directories -[directory] -fg = "light_blue" -bold = true - -# For symbolic links -[link] -fg = "cyan" -bold = true - -# For socket files -[socket] -fg = "light_magenta" -bold = true - -########################################## -## File List - Exceptional Files -########################################## - -# Files marked as executable -[executable] -fg = "light_green" -bold = true - -# Invalid symbolic links (pointing to non-existing target) -[link_invalid] -fg = "red" -bold = true - -########################################## -## File list - Override style by extension -########################################## -# This sections allows to override the basic -# style with a specific style for the file's -# extension. - -[ext] - -bmp.fg = "yellow" -gif.fg = "yellow" -heic.fg = "yellow" -jpg.fg = "yellow" -jpeg.fg = "yellow" -pgm.fg = "yellow" -png.fg = "yellow" -ppm.fg = "yellow" -svg.fg = "yellow" - -wav.fg = "magenta" -flac.fg = "magenta" -mp3.fg = "magenta" -amr.fg = "magenta" - -avi.fg = "magenta" -flv.fg = "magenta" -m3u.fg = "magenta" -m4a.fg = "magenta" -m4v.fg = "magenta" -mkv.fg = "magenta" -mov.fg = "magenta" -mp4.fg = "magenta" -mpg.fg = "magenta" -rmvb.fg = "magenta" -webm.fg = "magenta" -wmv.fg = "magenta" - -7z.fg = "red" -bz2.fg = "red" -gz.fg = "red" -rar.fg = "red" -tar.fg = "red" -tgz.fg = "red" -xz.fg = "red" -zip.fg = "red" diff --git a/config/rofi/config.rasi b/config/rofi/config.rasi index 2c19aab6..83a3efd1 100644 --- a/config/rofi/config.rasi +++ b/config/rofi/config.rasi @@ -8,7 +8,7 @@ configuration { // xoffset: 0; fixed-num-lines: true; show-icons: true; - terminal: "alacritty"; + terminal: "{{terminal}}"; ssh-clicnt: "ssh"; // ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]"; // run-command: "{cmd}"; diff --git a/config/shell/env b/config/shell/env index d55df080..88c63e2b 100644 --- a/config/shell/env +++ b/config/shell/env @@ -26,7 +26,7 @@ export BROWSER="floorp" export EDITOR="nvim" export IMAGE="nsxiv" export READER="zathura" -export TERMINAL="alacritty" +export TERMINAL="{{terminal}}" export VIDEO="mpv" export VISUAL="$EDITOR" export WM="awesome" diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index 3c671315..d7e52a03 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -3,6 +3,8 @@ set -g default-terminal "screen-256color" set-option -sa terminal-overrides ",Alacritty*:Tc" set-option -sa terminal-overrides ",alacritty*:Tc" set-option -sa terminal-overrides ",xterm*:Tc" +set-option -sa terminal-overrides ",Ghostty*:Tc" +set-option -sa terminal-overrides ",ghostty*:Tc" set-option -g status-position top set-option -sg escape-time 0 diff --git a/config/waybar/config b/config/waybar/config index 5e626612..8de287db 100644 --- a/config/waybar/config +++ b/config/waybar/config @@ -196,16 +196,6 @@ /* "exec": "$HOME/.config/waybar/scripts/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name */ }, - - "custom/pacman": { - "format": "{} ", - "interval": 600, // every hour - "exec": "checkupdates | wc -l", // # of updates - "exec-if": "exit 0", // always run; consider advanced run conditions - "on-click": "alacritty -e paru -Syu --noconfirm; pkill -RTMIN+8 waybar", // update system - "signal": 8 - }, - "custom/weather": { "exec": "curl 'https://wttr.in/?format=1'", "interval": 600, diff --git a/config/xplr/hack.lua b/config/xplr/hack.lua deleted file mode 100644 index 2c3274d3..00000000 --- a/config/xplr/hack.lua +++ /dev/null @@ -1,59 +0,0 @@ ----@diagnostic disable -local xplr = xplr -- The globally exposed configuration to be overridden. ----@diagnostic enable - --- -- Preview images using imv. --- xplr.config.modes.builtin.default.key_bindings.on_key.P = { --- help = "preview", --- messages = { --- { --- BashExecSilently0 = [===[ --- FIFO_PATH="/tmp/xplr.fifo" --- --- if [ -e "$FIFO_PATH" ]; then --- "$XPLR" -m StopFifo --- rm -f -- "$FIFO_PATH" --- else --- mkfifo "$FIFO_PATH" --- "$HOME/.local/bin/imv-open" "$FIFO_PATH" "$XPLR_FOCUS_PATH" & --- "$XPLR" -m 'StartFifo: %q' "$FIFO_PATH" --- fi --- ]===], --- }, --- }, --- } --- --- -- Batch rename the selected or visible files and directories in `$PWD`. --- xplr.config.modes.builtin.default.key_bindings.on_key.R = { --- help = "batch rename", --- messages = { --- { --- BashExec = [===[ --- SELECTION=$(cat "${XPLR_PIPE_SELECTION_OUT:?}") --- NODES=${SELECTION:-$(cat "${XPLR_PIPE_DIRECTORY_NODES_OUT:?}")} --- if [ "$NODES" ]; then --- echo -e "$NODES" | renamer --- "$XPLR" -m ExplorePwdAsync --- fi --- ]===], --- }, --- }, --- } --- --- -- Serve `$PWD` using a static web server via LAN. --- xplr.config.modes.builtin.default.key_bindings.on_key.S = { --- help = "serve $PWD", --- messages = { --- { --- BashExec0 = [===[ --- IP=$(ip addr | rg -w inet | cut -d/ -f1 | rg -Eo '[0-9]{1,3}\.[0-9]{ 1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sk --prompt 'Select IP > ') --- echo "IP: ${IP:?}" --- read -p "Port (default 5000): " PORT --- echo --- sfz --all --cors --no-ignore --bind ${IP:?} --port ${PORT:-5000} . & --- sleep 1 && read -p '[press enter to exit]' --- kill -9 %1 --- ]===], --- }, --- }, --- } diff --git a/config/xplr/init.lua b/config/xplr/init.lua deleted file mode 100644 index 5b47fc4b..00000000 --- a/config/xplr/init.lua +++ /dev/null @@ -1,48 +0,0 @@ ----@diagnostic disable -local xplr = xplr -- The globally exposed configuration to be overridden. ----@diagnostic enable - --- This is the built-in configuration file that gets loaded and sets the --- default values when xplr loads, before loading any other custom --- configuration file. --- --- You can use this file as a reference to create a your custom config file. --- --- To create a custom configuration file, you need to define the script version --- for compatibility checks. --- --- See https://xplr.dev/en/upgrade-guide --- --- ```lua -version = "0.21.3" - -local home = os.getenv("HOME") -local xpm_path = home .. "/.local/share/xplr/dtomvan/xpm.xplr" -local xpm_url = "https://github.com/dtomvan/xpm.xplr" - -package.path = package.path .. ";" .. xpm_path .. "/?.lua;" .. xpm_path .. "/?/init.lua" - -os.execute(string.format("[ -e '%s' ] || git clone '%s' '%s'", xpm_path, xpm_url, xpm_path)) - -require("xpm").setup({ - plugins = { - "dtomvan/xpm.xplr", - "sayanarijit/fzf.xplr", - "prncss-xyz/icons.xplr", - "sayanarijit/xclip.xplr", - "sayanarijit/trash-cli.xplr", - "sayanarijit/scp.xplr", - "sayanarijit/qrcp.xplr", - "sayanarijit/preview-tabbed.xplr", - "dtomvan/ouch.xplr", - "sayanarijit/nvim-ctrl.xplr", - "Junker/nuke.xplr", - "sayanarijit/fzf.xplr", - "sayanarijit/dragon.xplr", - "sayanarijit/alacritty.xplr", - "sayanarijit/tri-pane.xplr", - "sayanarijit/map.xplr", - }, - auto_install = true, - auto_cleanup = true, -}) diff --git a/config/xplr/init.lua.old b/config/xplr/init.lua.old deleted file mode 100644 index bca79e16..00000000 --- a/config/xplr/init.lua.old +++ /dev/null @@ -1,3079 +0,0 @@ ----@diagnostic disable -local xplr = xplr -- The globally exposed configuration to be overridden. ----@diagnostic enable - --- This is the built-in configuration file that gets loaded and sets the --- default values when xplr loads, before loading any other custom --- configuration file. --- --- You can use this file as a reference to create a your custom config file. --- --- To create a custom configuration file, you need to define the script version --- for compatibility checks. --- --- See https://xplr.dev/en/upgrade-guide --- -version = "0.20.2" - --- # Configuration ------------------------------------------------------------ --- --- xplr can be configured using [Lua][1] via a special file named `init.lua`, --- which can be placed in `~/.config/xplr/` (local to user) or `/etc/xplr/` --- (global) depending on the use case. --- --- When xplr loads, it first executes the [built-in init.lua][2] to set the --- default values, which is then overwritten by another config file, if found --- using the following lookup order: --- --- 1. `--config /path/to/init.lua` --- 2. `~/.config/xplr/init.lua` --- 3. `/etc/xplr/init.lua` --- --- The first one found will be loaded by xplr and the lookup will stop. --- --- The loaded config can be further extended using the `-C` or `--extra-config` --- command-line option. --- --- --- [1]: https://www.lua.org --- [2]: https://github.com/sayanarijit/xplr/blob/main/src/init.lua --- [3]: https://xplr.dev/en/upgrade-guide - --- ## Config ------------------------------------------------------------------ --- --- The xplr configuration, exposed via `xplr.config` Lua API contains the --- following sections. --- --- See: --- --- * [xplr.config.general](https://xplr.dev/en/general-config) --- * [xplr.config.node_types](https://xplr.dev/en/node_types) --- * [xplr.config.layouts](https://xplr.dev/en/layouts) --- * [xplr.config.modes](https://xplr.dev/en/modes) - --- ### General Configuration -------------------------------------------------- --- --- The general configuration properties are grouped together in --- `xplr.config.general`. - --- Set it to `true` if you want to ignore the startup errors. You can still see --- the errors in the logs. --- --- Type: boolean -xplr.config.general.disable_debug_error_mode = false - --- Set it to `true` if you want to enable mouse scrolling. --- --- Type: boolean -xplr.config.general.enable_mouse = false - --- Set it to `true` to show hidden files by default. --- --- Type: boolean -xplr.config.general.show_hidden = true - --- Set it to `true` to use only a subset of selected operations that forbids --- executing commands or performing write operations on the file-system. --- --- Type: boolean -xplr.config.general.read_only = false - --- Set it to `true` if you want to enable a safety feature that will save you --- from yourself when you type recklessly. --- --- Type: boolean -xplr.config.general.enable_recover_mode = false - --- Set it to `true` if you want to hide all remaps in the help menu. --- --- Type: boolean -xplr.config.general.hide_remaps_in_help_menu = false - --- Set it to `true` if you want the cursor to stay in the same position when --- the focus is on the first path and you navigate to the previous path --- (by pressing `up`/`k`), or when the focus is on the last path and you --- navigate to the next path (by pressing `down`/`j`). --- The default behavior is to rotate from the last/first path. --- --- Type: boolean -xplr.config.general.enforce_bounded_index_navigation = false - --- This is the shape of the prompt for the input buffer. --- --- Type: nullable string -xplr.config.general.prompt.format = "❯ " - --- This is the style of the prompt for the input buffer. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.prompt.style = {} - --- The string to indicate an information in logs. --- --- Type: nullable string -xplr.config.general.logs.info.format = "INFO" - --- The style for the information logs. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.logs.info.style = { fg = "LightBlue" } - --- The string to indicate an success in logs. --- --- Type: nullable string -xplr.config.general.logs.success.format = "SUCCESS" - --- The style for the success logs. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.logs.success.style = { fg = "Green" } - --- The string to indicate an warnings in logs. --- --- Type: nullable string -xplr.config.general.logs.warning.format = "WARNING" - --- The style for the warnings logs. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.logs.warning.style = { fg = "Yellow" } - --- The string to indicate an error in logs. --- --- Type: nullable string -xplr.config.general.logs.error.format = "ERROR" - --- The style for the error logs. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.logs.error.style = { fg = "Red" } - --- Columns to display in the table header. --- --- Type: nullable list of tables with the following fields: --- --- * format: nullable string --- * style: [Style](https://xplr.dev/en/style) -xplr.config.general.table.header.cols = { - { format = " index", style = {} }, - { format = "╭─── path", style = {} }, - { format = "permissions", style = {} }, - { format = "size", style = {} }, - { format = "modified", style = {} }, -} - --- Style of the table header. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.table.header.style = {} - --- Height of the table header. --- --- Type: nullable integer -xplr.config.general.table.header.height = 1 - --- Columns to display in each row in the table. --- --- Type: nullable list of tables with the following fields: --- --- * format: nullable string --- * style: [Style](https://xplr.dev/en/style) -xplr.config.general.table.row.cols = { - { - format = "builtin.fmt_general_table_row_cols_0", - style = {}, - }, - { - format = "builtin.fmt_general_table_row_cols_1", - style = {}, - }, - { - format = "builtin.fmt_general_table_row_cols_2", - style = {}, - }, - { - format = "builtin.fmt_general_table_row_cols_3", - style = {}, - }, - { - format = "builtin.fmt_general_table_row_cols_4", - style = {}, - }, -} - --- Default style of the table. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.table.row.style = {} - --- Height of the table rows. --- --- Type: nullable integer -xplr.config.general.table.row.height = 0 - --- Default style of the table. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.table.style = {} - --- Tree to display in the table. --- --- Type: nullable list of tables with the following fields: --- --- * format: nullable string --- * style: [Style](https://xplr.dev/en/style) -xplr.config.general.table.tree = { - { format = "├", style = {} }, - { format = "├", style = {} }, - { format = "╰", style = {} }, -} - --- Spacing between the columns in the table. --- --- Type: nullable integer -xplr.config.general.table.col_spacing = 1 - --- Constraint for the column widths. --- --- Type: nullable list of [Constraint](https://xplr.dev/en/layouts#constraint) -xplr.config.general.table.col_widths = { - { Percentage = 10 }, - { Percentage = 50 }, - { Percentage = 10 }, - { Percentage = 10 }, - { Percentage = 20 }, -} - --- The content that is placed before the item name for each row by default. --- --- Type: nullable string -xplr.config.general.default_ui.prefix = " " - --- The content which is appended to each item name for each row by default. --- --- Type: nullable string -xplr.config.general.default_ui.suffix = "" - --- The default style of each item for each row. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.default_ui.style = {} - --- The string placed before the item name for a focused row. --- --- Type: nullable string -xplr.config.general.focus_ui.prefix = "▸[" - --- The string placed after the item name for a focused row. --- --- Type: nullable string -xplr.config.general.focus_ui.suffix = "]" - --- Style for focused item. --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.focus_ui.style = { add_modifiers = { "Bold" } } - --- The string placed before the item name for a selected row. --- --- Type: nullable string -xplr.config.general.selection_ui.prefix = " {" - --- The string placed after the item name for a selected row. --- --- Type: nullable string -xplr.config.general.selection_ui.suffix = "}" - --- Style for selected rows. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.selection_ui.style = { - fg = "DarkGray", - add_modifiers = { "CrossedOut" }, -} - --- The string placed before item name for a selected row that gets the focus. --- --- Type: nullable string -xplr.config.general.focus_selection_ui.prefix = "▸[" - --- The string placed after the item name for a selected row that gets the focus. --- --- Type: nullable string -xplr.config.general.focus_selection_ui.suffix = "]" - --- Style for a selected row that gets the focus. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.focus_selection_ui.style = { - add_modifiers = { "Bold", "CrossedOut" }, -} - --- The shape of the separator for the Sort & filter panel. --- --- Type: nullable string -xplr.config.general.sort_and_filter_ui.separator.format = " › " - --- The style of the separator for the Sort & filter panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.sort_and_filter_ui.separator.style = { - add_modifiers = { "Dim" }, -} - --- The content of the default identifier in Sort & filter panel. --- --- Type: nullable string -xplr.config.general.sort_and_filter_ui.default_identifier.format = nil - --- Style for the default identifier in Sort & filter panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.sort_and_filter_ui.default_identifier.style = {} - --- The shape of the forward direction indicator for sort identifiers in Sort & filter panel. --- --- Type: nullable string -xplr.config.general.sort_and_filter_ui.sort_direction_identifiers.forward.format = "↓" - --- Style of forward direction indicator in Sort & filter panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.sort_and_filter_ui.sort_direction_identifiers.forward.style = nil - --- The shape of the reverse direction indicator for sort identifiers in Sort & filter panel. --- --- Type: nullable string -xplr.config.general.sort_and_filter_ui.sort_direction_identifiers.reverse.format = "↑" - --- Style of reverse direction indicator in Sort & filter panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.sort_and_filter_ui.sort_direction_identifiers.reverse.style = nil - --- The identifiers used to denote applied sorters in the Sort & filter panel. --- --- Type: nullable mapping of the following key-value pairs: --- --- * key: [Sorter](https://xplr.dev/en/sorting#sorter) --- * value: --- * format: nullable string --- * style: [Style](https://xplr.dev/en/style) -xplr.config.general.sort_and_filter_ui.sorter_identifiers = { - ByExtension = { format = "ext", style = {} }, - ByICanonicalAbsolutePath = { format = "[ci]abs", style = {} }, - ByIRelativePath = { format = "[i]rel", style = {} }, - ByISymlinkAbsolutePath = { format = "[si]abs", style = {} }, - ByIsBroken = { format = "⨯", style = {} }, - ByIsDir = { format = "dir", style = {} }, - ByIsFile = { format = "file", style = {} }, - ByIsReadonly = { format = "ro", style = {} }, - ByIsSymlink = { format = "sym", style = {} }, - ByMimeEssence = { format = "mime", style = {} }, - ByRelativePath = { format = "rel", style = {} }, - BySize = { format = "size", style = {} }, - ByCreated = { format = "created", style = {} }, - ByLastModified = { format = "modified", style = {} }, - ByCanonicalAbsolutePath = { format = "[c]abs", style = {} }, - ByCanonicalExtension = { format = "[c]ext", style = {} }, - ByCanonicalIsDir = { format = "[c]dir", style = {} }, - ByCanonicalIsFile = { format = "[c]file", style = {} }, - ByCanonicalIsReadonly = { format = "[c]ro", style = {} }, - ByCanonicalMimeEssence = { format = "[c]mime", style = {} }, - ByCanonicalSize = { format = "[c]size", style = {} }, - ByCanonicalCreated = { format = "[c]created", style = {} }, - ByCanonicalLastModified = { format = "[c]modified", style = {} }, - BySymlinkAbsolutePath = { format = "[s]abs", style = {} }, - BySymlinkExtension = { format = "[s]ext", style = {} }, - BySymlinkIsDir = { format = "[s]dir", style = {} }, - BySymlinkIsFile = { format = "[s]file", style = {} }, - BySymlinkIsReadonly = { format = "[s]ro", style = {} }, - BySymlinkMimeEssence = { format = "[s]mime", style = {} }, - BySymlinkSize = { format = "[s]size", style = {} }, - BySymlinkCreated = { format = "[s]created", style = {} }, - BySymlinkLastModified = { format = "[s]modified", style = {} }, -} - --- The identifiers used to denote applied filters in the Sort & filter panel. --- --- Type: nullable mapping of the following key-value pairs: --- --- * key: [Filter](https://xplr.dev/en/filtering#filter) --- * value: --- * format: nullable string --- * style: [Style](https://xplr.dev/en/style) -xplr.config.general.sort_and_filter_ui.filter_identifiers = { - RelativePathDoesContain = { format = "rel=~", style = {} }, - RelativePathDoesEndWith = { format = "rel=$", style = {} }, - RelativePathDoesNotContain = { format = "rel!~", style = {} }, - RelativePathDoesNotEndWith = { format = "rel!$", style = {} }, - RelativePathDoesNotStartWith = { format = "rel!^", style = {} }, - RelativePathDoesStartWith = { format = "rel=^", style = {} }, - RelativePathIs = { format = "rel==", style = {} }, - RelativePathIsNot = { format = "rel!=", style = {} }, - RelativePathDoesMatchRegex = { format = "rel=/", style = {} }, - RelativePathDoesNotMatchRegex = { format = "rel!/", style = {} }, - IRelativePathDoesContain = { format = "[i]rel=~", style = {} }, - IRelativePathDoesEndWith = { format = "[i]rel=$", style = {} }, - IRelativePathDoesNotContain = { format = "[i]rel!~", style = {} }, - IRelativePathDoesNotEndWith = { format = "[i]rel!$", style = {} }, - IRelativePathDoesNotStartWith = { format = "[i]rel!^", style = {} }, - IRelativePathDoesStartWith = { format = "[i]rel=^", style = {} }, - IRelativePathIs = { format = "[i]rel==", style = {} }, - IRelativePathIsNot = { format = "[i]rel!=", style = {} }, - IRelativePathDoesMatchRegex = { format = "[i]rel=/", style = {} }, - IRelativePathDoesNotMatchRegex = { format = "[i]rel!/", style = {} }, - AbsolutePathDoesContain = { format = "abs=~", style = {} }, - AbsolutePathDoesEndWith = { format = "abs=$", style = {} }, - AbsolutePathDoesNotContain = { format = "abs!~", style = {} }, - AbsolutePathDoesNotEndWith = { format = "abs!$", style = {} }, - AbsolutePathDoesNotStartWith = { format = "abs!^", style = {} }, - AbsolutePathDoesStartWith = { format = "abs=^", style = {} }, - AbsolutePathIs = { format = "abs==", style = {} }, - AbsolutePathIsNot = { format = "abs!=", style = {} }, - AbsolutePathDoesMatchRegex = { format = "abs=/", style = {} }, - AbsolutePathDoesNotMatchRegex = { format = "abs!/", style = {} }, - IAbsolutePathDoesContain = { format = "[i]abs=~", style = {} }, - IAbsolutePathDoesEndWith = { format = "[i]abs=$", style = {} }, - IAbsolutePathDoesNotContain = { format = "[i]abs!~", style = {} }, - IAbsolutePathDoesNotEndWith = { format = "[i]abs!$", style = {} }, - IAbsolutePathDoesNotStartWith = { format = "[i]abs!^", style = {} }, - IAbsolutePathDoesStartWith = { format = "[i]abs=^", style = {} }, - IAbsolutePathIs = { format = "[i]abs==", style = {} }, - IAbsolutePathIsNot = { format = "[i]abs!=", style = {} }, - IAbsolutePathDoesMatchRegex = { format = "[i]abs=/", style = {} }, - IAbsolutePathDoesNotMatchRegex = { format = "[i]abs!/", style = {} }, -} - --- The identifiers used to denote applied search input. --- --- Type: { format = nullable string, style = [Style](https://xplr.dev/en/style) } -xplr.config.general.sort_and_filter_ui.search_identifier = { - format = "search:", - style = {}, -} - --- The content for panel title by default. --- --- Type: nullable string -xplr.config.general.panel_ui.default.title.format = nil - --- The style for panel title by default. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.default.title.style = { - fg = "Reset", - add_modifiers = { "Bold" }, -} - --- Style of the panels by default. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.default.style = {} - --- Defines where to show borders for the panels by default. --- --- Type: nullable list of [Border](https://xplr.dev/en/borders#border) -xplr.config.general.panel_ui.default.borders = { - "Top", - "Right", - "Bottom", - "Left", -} - --- Type of the borders by default. --- --- Type: nullable [Border Type](https://xplr.dev/en/borders#border-type) -xplr.config.general.panel_ui.default.border_type = "Rounded" - --- Style of the panel borders by default. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.default.border_style = { fg = "DarkGray" } - --- The content for the table panel title. --- --- Type: nullable string -xplr.config.general.panel_ui.table.title.format = nil - --- Style of the table panel title. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.table.title.style = {} - --- Style of the table panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.table.style = {} - --- Defines where to show borders for the table panel. --- --- Type: nullable list of [Border](https://xplr.dev/en/borders#border) -xplr.config.general.panel_ui.table.borders = nil - --- Type of the borders for table panel. --- --- Type: nullable [Border Type](https://xplr.dev/en/borders#border-type) -xplr.config.general.panel_ui.table.border_type = nil - --- Style of the table panel borders. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.table.border_style = {} - --- The content for the help menu panel title. --- --- Type: nullable string -xplr.config.general.panel_ui.help_menu.title.format = nil - --- Style of the help menu panel title. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.help_menu.title.style = {} - --- Style of the help menu panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.help_menu.style = {} - --- Defines where to show borders for the help menu panel. --- --- Type: nullable list of [Border](https://xplr.dev/en/borders#border) -xplr.config.general.panel_ui.help_menu.borders = nil - --- Type of the borders for help menu panel. --- --- Type: nullable [Border Type](https://xplr.dev/en/borders#border-type) -xplr.config.general.panel_ui.help_menu.border_type = nil - --- Style of the help menu panel borders. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.help_menu.border_style = {} - --- The content for the input & logs panel title. --- --- Type: nullable string -xplr.config.general.panel_ui.input_and_logs.title.format = nil - --- Style of the input & logs panel title. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.input_and_logs.title.style = {} - --- Style of the input & logs panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.input_and_logs.style = {} --- Defines where to show borders for the input & logs panel. --- --- Type: nullable list of [Border](https://xplr.dev/en/borders#border) -xplr.config.general.panel_ui.input_and_logs.borders = nil - --- Type of the borders for input & logs panel. --- --- Type: nullable [Border Type](https://xplr.dev/en/borders#border-type) -xplr.config.general.panel_ui.input_and_logs.border_type = nil - --- Style of the input & logs panel borders. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.input_and_logs.border_style = {} - --- The content for the selection panel title. --- --- Type: nullable string -xplr.config.general.panel_ui.selection.title.format = nil - --- Style of the selection panel title. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.selection.title.style = {} - --- Style of the selection panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.selection.style = {} --- Defines where to show borders for the selection panel. --- --- Type: nullable list of [Border](https://xplr.dev/en/borders#border) -xplr.config.general.panel_ui.selection.borders = nil - --- Type of the borders for selection panel. --- --- Type: nullable [Border Type](https://xplr.dev/en/borders#border-type) -xplr.config.general.panel_ui.selection.border_type = nil - --- Style of the selection panel borders. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.selection.border_style = {} - --- The content for the sort & filter panel title. --- --- Type: nullable string -xplr.config.general.panel_ui.sort_and_filter.title.format = nil - --- Style of the sort & filter panel title. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.sort_and_filter.title.style = {} - --- Style of the sort & filter panel. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.sort_and_filter.style = {} - --- Defines where to show borders for the sort & filter panel. --- --- Type: nullable list of [Border](https://xplr.dev/en/borders#border) -xplr.config.general.panel_ui.sort_and_filter.borders = nil - --- Type of the borders for sort & filter panel. --- --- Type: nullable [Border Type](https://xplr.dev/en/borders#border-type) -xplr.config.general.panel_ui.sort_and_filter.border_type = nil - --- Style of the sort & filter panel borders. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.general.panel_ui.sort_and_filter.border_style = {} - --- Initial group if sorters applied to the nodes list in the table. --- --- Type: nullable list of [Node Sorter](https://xplr.dev/en/sorting#node-sorter-applicable) -xplr.config.general.initial_sorting = { - { sorter = "ByCanonicalIsDir", reverse = true }, - { sorter = "ByIRelativePath", reverse = false }, -} - --- The name of one of the modes to use when xplr loads. --- --- Type: nullable string -xplr.config.general.initial_mode = "default" - --- The name of one of the layouts to use when xplr loads. --- --- Type: nullable string -xplr.config.general.initial_layout = "default" - --- Set it to a file path to start fifo when xplr loads. --- Generally it is used to integrate with external tools like previewers. --- --- Type: nullable string -xplr.config.general.start_fifo = nil - --- Use it to define a set of key bindings that are available by default in --- every [mode](https://xplr.dev/en/mode). They can be overwritten. --- --- Type: [Key Bindings](https://xplr.dev/en/configure-key-bindings#key-bindings) -xplr.config.general.global_key_bindings = { - on_key = { - ["esc"] = { - messages = { - "PopMode", - }, - }, - ["ctrl-c"] = { - messages = { - "Terminate", - }, - }, - }, -} - --- ### Node Types ------------------------------------------------------------- --- --- This section defines how to deal with different kinds of nodes (files, --- directories, symlinks etc.) based on their properties. --- --- One node can fall into multiple categories. For example, a node can have the --- *extension* `md`, and also be a *file*. In that case, the properties from --- the more specific category i.e. *extension* will be used. --- --- This can be configured using the `xplr.config.node_types` Lua API. - --- The style for the directory nodes --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.node_types.directory.style = { - fg = "Blue", -} - --- Metadata for the directory nodes. --- You can set as many metadata as you want. --- --- Type: nullable string --- --- Example: --- --- ```lua --- xplr.config.node_types.directory.meta.foo = "foo" --- xplr.config.node_types.directory.meta.bar = "bar" --- ``` -xplr.config.node_types.directory.meta.icon = "" - --- The style for the file nodes. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.node_types.file.style = {} - --- Metadata for the file nodes. --- You can set as many metadata as you want. --- --- Type: nullable string --- --- Example: --- --- ```lua --- xplr.config.node_types.file.meta.foo = "foo" --- xplr.config.node_types.file.meta.bar = "bar" --- ``` -xplr.config.node_types.file.meta.icon = "" - --- The style for the symlink nodes. --- --- Type: [Style](https://xplr.dev/en/style) -xplr.config.node_types.symlink.style = { - fg = "Cyan", - add_modifiers = { "Italic" }, -} - --- Metadata for the symlink nodes. --- You can set as many metadata as you want. --- --- Type: nullable string --- --- Example: --- --- ```lua --- xplr.config.node_types.symlink.meta.foo = "foo" --- xplr.config.node_types.symlink.meta.bar = "bar" --- ``` -xplr.config.node_types.symlink.meta.icon = "" - --- Metadata and style based on mime types. --- It is possible to use the wildcard `*` to match all mime sub types. It will --- be overwritten by the more specific sub types that are defined. --- --- Type: mapping of the following key-value pairs: --- --- * key: string --- * value: --- * key: string --- * value: [Node Type](https://xplr.dev/en/node-type) --- --- Example: --- --- ```lua --- xplr.config.node_types.mime_essence = { --- application = { --- -- application/* --- ["*"] = { meta = { icon = "a" } } --- --- -- application/pdf --- pdf = { meta = { icon = "" }, style = { fg = "Blue" } }, --- --- -- application/zip --- zip = { meta = { icon = ""} }, --- }, --- } --- ``` -xplr.config.node_types.mime_essence = { - audio = { - ["*"] = { meta = { icon = "" } }, - }, - image = { - ["*"] = { meta = { icons = "" } }, - }, - video = { - ["*"] = { meta = { icons = "" } }, - }, - text = { - ["*"] = { meta = { icons = "" } }, - }, -} - --- Metadata and style based on extension. --- --- Type: mapping of the following key-value pairs: --- --- * key: string --- * value: [Node Type](https://xplr.dev/en/node-type) --- --- Example: --- --- ```lua --- xplr.config.node_types.extension.md = { meta = { icon = "" }, style = { fg = "Blue" } } --- xplr.config.node_types.extension.rs = { meta = { icon = "🦀" } } --- ``` -xplr.config.node_types.extension = { - -- file extensions (vim-devicons) - ai = { meta = { icon = "" } }, - awk = { meta = { icon = "" } }, - bash = { meta = { icon = "" } }, - bat = { meta = { icon = "" } }, - bmp = { meta = { icon = "" } }, - c = { meta = { icon = "" } }, - cc = { meta = { icon = "" } }, - clj = { meta = { icon = "" } }, - cljc = { meta = { icon = "" } }, - cljs = { meta = { icon = "" } }, - coffee = { meta = { icon = "" } }, - conf = { meta = { icon = "" } }, - cp = { meta = { icon = "" } }, - cpp = { meta = { icon = "" } }, - cs = { meta = { icon = "" } }, - csh = { meta = { icon = "" } }, - css = { meta = { icon = "" } }, - cxx = { meta = { icon = "" } }, - ["c++"] = { meta = { icon = "" } }, - d = { meta = { icon = "" } }, - dart = { meta = { icon = "" } }, - db = { meta = { icon = "" } }, - diff = { meta = { icon = "" } }, - dump = { meta = { icon = "" } }, - edn = { meta = { icon = "" } }, - eex = { meta = { icon = "" } }, - ejs = { meta = { icon = "" } }, - elm = { meta = { icon = "" } }, - erl = { meta = { icon = "" } }, - ex = { meta = { icon = "" } }, - exs = { meta = { icon = "" } }, - fish = { meta = { icon = "" } }, - fs = { meta = { icon = "" } }, - fsi = { meta = { icon = "" } }, - fsscript = { meta = { icon = "" } }, - fsx = { meta = { icon = "" } }, - ["f#"] = { meta = { icon = "" } }, - gemspec = { meta = { icon = "" } }, - gif = { meta = { icon = "" } }, - go = { meta = { icon = "" } }, - h = { meta = { icon = "" } }, - haml = { meta = { icon = "" } }, - hbs = { meta = { icon = "" } }, - heex = { meta = { icon = "" } }, - hh = { meta = { icon = "" } }, - hpp = { meta = { icon = "" } }, - hrl = { meta = { icon = "" } }, - hs = { meta = { icon = "" } }, - htm = { meta = { icon = "" } }, - html = { meta = { icon = "" } }, - hxx = { meta = { icon = "" } }, - ico = { meta = { icon = "" } }, - ini = { meta = { icon = "" } }, - java = { meta = { icon = "" } }, - jl = { meta = { icon = "" } }, - jpeg = { meta = { icon = "" } }, - jpg = { meta = { icon = "" } }, - js = { meta = { icon = "" } }, - json = { meta = { icon = "" } }, - jsx = { meta = { icon = "" } }, - ksh = { meta = { icon = "" } }, - leex = { meta = { icon = "" } }, - less = { meta = { icon = "" } }, - lhs = { meta = { icon = "" } }, - lua = { meta = { icon = "" } }, - markdown = { meta = { icon = "" } }, - md = { meta = { icon = "" } }, - mdx = { meta = { icon = "" } }, - mjs = { meta = { icon = "" } }, - mk = { meta = { icon = "" } }, - ml = { meta = { icon = "λ" } }, - mli = { meta = { icon = "λ" } }, - mustache = { meta = { icon = "" } }, - nix = { meta = { icon = "" } }, - pem = { meta = { icon = "" } }, - php = { meta = { icon = "" } }, - pl = { meta = { icon = "" } }, - pm = { meta = { icon = "" } }, - png = { meta = { icon = "" } }, - pp = { meta = { icon = "" } }, - ps1 = { meta = { icon = "" } }, - psb = { meta = { icon = "" } }, - psd = { meta = { icon = "" } }, - py = { meta = { icon = "" } }, - pyc = { meta = { icon = "" } }, - pyd = { meta = { icon = "" } }, - pyo = { meta = { icon = "" } }, - r = { meta = { icon = "ﳒ" } }, - rake = { meta = { icon = "" } }, - rb = { meta = { icon = "" } }, - rlib = { meta = { icon = "" } }, - rmd = { meta = { icon = "" } }, - rproj = { meta = { icon = "鉶" } }, - rs = { meta = { icon = "" } }, - rss = { meta = { icon = "" } }, - sass = { meta = { icon = "" } }, - scala = { meta = { icon = "" } }, - scss = { meta = { icon = "" } }, - sh = { meta = { icon = "" } }, - slim = { meta = { icon = "" } }, - sln = { meta = { icon = "" } }, - sol = { meta = { icon = "ﲹ" } }, - sql = { meta = { icon = "" } }, - styl = { meta = { icon = "" } }, - suo = { meta = { icon = "" } }, - swift = { meta = { icon = "" } }, - t = { meta = { icon = "" } }, - tex = { meta = { icon = "ﭨ" } }, - toml = { meta = { icon = "" } }, - ts = { meta = { icon = "" } }, - tsx = { meta = { icon = "" } }, - twig = { meta = { icon = "" } }, - vim = { meta = { icon = "" } }, - vue = { meta = { icon = "﵂" } }, - webmanifest = { meta = { icon = "" } }, - webp = { meta = { icon = "" } }, - xcplayground = { meta = { icon = "" } }, - xul = { meta = { icon = "" } }, - yaml = { meta = { icon = "" } }, - yml = { meta = { icon = "" } }, - zsh = { meta = { icon = "" } }, - -- archives or compressed (extensions from dircolors defaults) - ["7z"] = { meta = { icon = "" } }, - ace = { meta = { icon = "" } }, - alz = { meta = { icon = "" } }, - arc = { meta = { icon = "" } }, - arj = { meta = { icon = "" } }, - bz = { meta = { icon = "" } }, - bz2 = { meta = { icon = "" } }, - cab = { meta = { icon = "" } }, - cpio = { meta = { icon = "" } }, - deb = { meta = { icon = "" } }, - dwm = { meta = { icon = "" } }, - dz = { meta = { icon = "" } }, - ear = { meta = { icon = "" } }, - esd = { meta = { icon = "" } }, - gz = { meta = { icon = "" } }, - jar = { meta = { icon = "" } }, - lha = { meta = { icon = "" } }, - lrz = { meta = { icon = "" } }, - lz = { meta = { icon = "" } }, - lz4 = { meta = { icon = "" } }, - lzh = { meta = { icon = "" } }, - lzma = { meta = { icon = "" } }, - lzo = { meta = { icon = "" } }, - rar = { meta = { icon = "" } }, - rpm = { meta = { icon = "" } }, - rz = { meta = { icon = "" } }, - sar = { meta = { icon = "" } }, - swm = { meta = { icon = "" } }, - t7z = { meta = { icon = "" } }, - tar = { meta = { icon = "" } }, - taz = { meta = { icon = "" } }, - tbz = { meta = { icon = "" } }, - tbz2 = { meta = { icon = "" } }, - tgz = { meta = { icon = "" } }, - tlz = { meta = { icon = "" } }, - txz = { meta = { icon = "" } }, - tz = { meta = { icon = "" } }, - tzo = { meta = { icon = "" } }, - tzst = { meta = { icon = "" } }, - war = { meta = { icon = "" } }, - wim = { meta = { icon = "" } }, - xz = { meta = { icon = "" } }, - z = { meta = { icon = "" } }, - zip = { meta = { icon = "" } }, - zoo = { meta = { icon = "" } }, - zst = { meta = { icon = "" } }, - -- image formats (extensions from dircolors defaults) - jpg = { meta = { icon = "" } }, - jpeg = { meta = { icon = "" } }, - mjpg = { meta = { icon = "" } }, - mjpeg = { meta = { icon = "" } }, - bmp = { meta = { icon = "" } }, - pbm = { meta = { icon = "" } }, - pgm = { meta = { icon = "" } }, - ppm = { meta = { icon = "" } }, - tga = { meta = { icon = "" } }, - xbm = { meta = { icon = "" } }, - xpm = { meta = { icon = "" } }, - tif = { meta = { icon = "" } }, - tiff = { meta = { icon = "" } }, - png = { meta = { icon = "" } }, - svg = { meta = { icon = "" } }, - svgz = { meta = { icon = "" } }, - pcx = { meta = { icon = "" } }, - m2v = { meta = { icon = "" } }, - ogm = { meta = { icon = "" } }, - nuv = { meta = { icon = "" } }, - rm = { meta = { icon = "" } }, - rmvb = { meta = { icon = "" } }, - flc = { meta = { icon = "" } }, - fli = { meta = { icon = "" } }, - gl = { meta = { icon = "" } }, - dl = { meta = { icon = "" } }, - xcf = { meta = { icon = "" } }, - xwd = { meta = { icon = "" } }, - cgm = { meta = { icon = "" } }, - emf = { meta = { icon = "" } }, - ogx = { meta = { icon = "" } }, - -- video formats - mkv = { meta = { icon = "" } }, - asf = { meta = { icon = "" } }, - yuv = { meta = { icon = "" } }, - avi = { meta = { icon = "" } }, - gif = { meta = { icon = "" } }, - mpg = { meta = { icon = "" } }, - mpeg = { meta = { icon = "" } }, - qt = { meta = { icon = "" } }, - mng = { meta = { icon = "" } }, - ogv = { meta = { icon = "" } }, - webm = { meta = { icon = "" } }, - vob = { meta = { icon = "" } }, - flv = { meta = { icon = "" } }, - mov = { meta = { icon = "" } }, - wmv = { meta = { icon = "" } }, - mp4 = { meta = { icon = "" } }, - m4v = { meta = { icon = "" } }, - mp4v = { meta = { icon = "" } }, - -- audio formats (extensions from dircolors defaults) - aac = { meta = { icon = "" } }, - au = { meta = { icon = "" } }, - flac = { meta = { icon = "" } }, - m4a = { meta = { icon = "" } }, - mid = { meta = { icon = "" } }, - midi = { meta = { icon = "" } }, - mka = { meta = { icon = "" } }, - mp3 = { meta = { icon = "" } }, - mpc = { meta = { icon = "" } }, - ogg = { meta = { icon = "" } }, - ra = { meta = { icon = "" } }, - wav = { meta = { icon = "" } }, - oga = { meta = { icon = "" } }, - opus = { meta = { icon = "" } }, - spx = { meta = { icon = "" } }, - xspf = { meta = { icon = "" } }, - -- other formats - pdf = { meta = { icon = "" } }, -} - --- Metadata and style based on special file names. --- --- Type: mapping of the following key-value pairs: --- --- * key: string --- * value: [Node Type](https://xplr.dev/en/node-type) --- --- Example: --- --- ```lua --- xplr.config.node_types.special["Cargo.toml"] = { meta = { icon = "" } } --- xplr.config.node_types.special["Downloads"] = { meta = { icon = "" }, style = { fg = "Blue" } } --- ``` -xplr.config.node_types.special = { - -- file names (vim-devicons) - [".DS_Store"] = { meta = { icon = "" } }, - [".bashprofile"] = { meta = { icon = "" } }, - [".bashrc"] = { meta = { icon = "" } }, - [".ds_store"] = { meta = { icon = "" } }, - [".gitattributes"] = { meta = { icon = "" } }, - [".gitconfig"] = { meta = { icon = "" } }, - [".gitignore"] = { meta = { icon = "" } }, - [".gitlab-ci.yml"] = { meta = { icon = "" } }, - [".gvimrc"] = { meta = { icon = "" } }, - [".vimrc"] = { meta = { icon = "" } }, - [".zprofile"] = { meta = { icon = "" } }, - [".zshenv"] = { meta = { icon = "" } }, - [".zshrc"] = { meta = { icon = "" } }, - ["CMakeLists.txt"] = { meta = { icon = "" } }, - ["Docker-compose.yml"] = { meta = { icon = "" } }, - ["Dockerfile"] = { meta = { icon = "" } }, - ["Dropbox"] = { meta = { icon = "" } }, - ["Gemfile"] = { meta = { icon = "" } }, - ["Gruntfile.coffee"] = { meta = { icon = "" } }, - ["Gruntfile.js"] = { meta = { icon = "" } }, - ["Gruntfile.ls"] = { meta = { icon = "" } }, - ["Gulpfile.coffee"] = { meta = { icon = "" } }, - ["Gulpfile.js"] = { meta = { icon = "" } }, - ["Gulpfile.ls"] = { meta = { icon = "" } }, - ["LICENSE"] = { meta = { icon = "" } }, - ["Makefile"] = { meta = { icon = "" } }, - ["Procfile"] = { meta = { icon = "" } }, - ["Rakefile"] = { meta = { icon = "" } }, - ["React.jsx"] = { meta = { icon = "" } }, - ["_gvimrc"] = { meta = { icon = "" } }, - ["_vimrc"] = { meta = { icon = "" } }, - ["backbone.min.js"] = { meta = { icon = "" } }, - ["cmakelists.txt"] = { meta = { icon = "" } }, - ["config.ru"] = { meta = { icon = "" } }, - ["docker-compose.yml"] = { meta = { icon = "" } }, - ["dockerfile"] = { meta = { icon = "" } }, - ["dropbox"] = { meta = { icon = "" } }, - ["favicon.ico"] = { meta = { icon = "" } }, - ["gemfile"] = { meta = { icon = "" } }, - ["gruntfile.coffee"] = { meta = { icon = "" } }, - ["gruntfile.js"] = { meta = { icon = "" } }, - ["gruntfile.ls"] = { meta = { icon = "" } }, - ["gulpfile.coffee"] = { meta = { icon = "" } }, - ["gulpfile.js"] = { meta = { icon = "" } }, - ["gulpfile.ls"] = { meta = { icon = "" } }, - ["license"] = { meta = { icon = "" } }, - ["makefile"] = { meta = { icon = "" } }, - ["mix.lock"] = { meta = { icon = "" } }, - ["node_modules"] = { meta = { icon = "" } }, - ["procfile"] = { meta = { icon = "" } }, - ["rakefile"] = { meta = { icon = "" } }, - ["react.jsx"] = { meta = { icon = "" } }, - ["robots.txt"] = { meta = { icon = "ﮧ" } }, - -- file patterns (file name adaptations) - ["Vagrantfile "] = { meta = { icon = "" } }, - ["angular.min.js"] = { meta = { icon = "" } }, - ["jquery.min.js"] = { meta = { icon = "" } }, - ["materialize.min.css"] = { meta = { icon = "" } }, - ["materialize.min.js"] = { meta = { icon = "" } }, - ["mootools.min.js"] = { meta = { icon = "" } }, - ["require.min.js"] = { meta = { icon = "" } }, - ["vimrc"] = { meta = { icon = "" } }, -} - --- ### Layouts ---------------------------------------------------------------- --- --- xplr layouts define the structure of the UI, i.e. how many panel we see, --- placement and size of the panels, how they look etc. --- --- This is configuration exposed via the `xplr.config.layouts` API. --- --- `xplr.config.layouts.builtin` contain some built-in panels which can be --- overridden, but you can't add or remove panels in it. --- --- You can add new panels in `xplr.config.layouts.custom`. --- --- ##### Example: Defining Custom Layout --- --- ![demo](https://s6.gifyu.com/images/layout.png) --- --- ```lua --- xplr.config.layouts.builtin.default = { --- Horizontal = { --- config = { --- margin = 1, --- horizontal_margin = 2, --- vertical_margin = 3, --- constraints = { --- { Percentage = 50 }, --- { Percentage = 50 }, --- } --- }, --- splits = { --- "Table", --- "HelpMenu", --- } --- } --- } --- ``` - --- The default layout --- --- Type: [Layout](https://xplr.dev/en/layout) -xplr.config.layouts.builtin.default = { - Horizontal = { - config = { - constraints = { - { Percentage = 70 }, - { Percentage = 30 }, - }, - }, - splits = { - { - Vertical = { - config = { - constraints = { - { Length = 3 }, - { Min = 1 }, - { Length = 3 }, - }, - }, - splits = { - "SortAndFilter", - "Table", - "InputAndLogs", - }, - }, - }, - { - Vertical = { - config = { - constraints = { - { Percentage = 30 }, - { Percentage = 70 }, - }, - }, - splits = { - "Selection", - "HelpMenu", - }, - }, - }, - }, - }, -} - --- The layout without help menu --- --- Type: [Layout](https://xplr.dev/en/layout) -xplr.config.layouts.builtin.no_help = { - Horizontal = { - config = { - constraints = { - { Percentage = 70 }, - { Percentage = 30 }, - }, - }, - splits = { - { - Vertical = { - config = { - constraints = { - { Length = 3 }, - { Min = 1 }, - { Length = 3 }, - }, - }, - splits = { - "SortAndFilter", - "Table", - "InputAndLogs", - }, - }, - }, - "Selection", - }, - }, -} - --- The layout without selection panel --- --- Type: [Layout](https://xplr.dev/en/layout) -xplr.config.layouts.builtin.no_selection = { - Horizontal = { - config = { - constraints = { - { Percentage = 70 }, - { Percentage = 30 }, - }, - }, - splits = { - { - Vertical = { - config = { - constraints = { - { Length = 3 }, - { Min = 1 }, - { Length = 3 }, - }, - }, - splits = { - "SortAndFilter", - "Table", - "InputAndLogs", - }, - }, - }, - "HelpMenu", - }, - }, -} - --- The layout without help menu and selection panel --- --- Type: [Layout](https://xplr.dev/en/layout) -xplr.config.layouts.builtin.no_help_no_selection = { - Vertical = { - config = { - constraints = { - { Length = 3 }, - { Min = 1 }, - { Length = 3 }, - }, - }, - splits = { - "SortAndFilter", - "Table", - "InputAndLogs", - }, - }, -} - --- This is where you can define custom layouts --- --- Type: mapping of the following key-value pairs: --- --- * key: string --- * value: [Layout](https://xplr.dev/en/layout) --- --- Example: --- --- ```lua --- xplr.config.layouts.custom.example = "Nothing" -- Show a blank screen --- xplr.config.general.initial_layout = "example" -- Load the example layout --- ``` -xplr.config.layouts.custom = {} - --- ### Modes ------------------------------------------------------------------ --- --- xplr is a modal file explorer. That means the users switch between different --- modes, each containing a different set of key bindings to avoid clashes. --- Users can switch between these modes at run-time. --- --- The modes can be configured using the `xplr.config.modes` Lua API. --- --- `xplr.config.modes.builtin` contain some built-in modes which can be --- overridden, but you can't add or remove modes in it. - --- The builtin default mode. --- Visit the [Default Key Bindings](https://xplr.dev/en/default-key-bindings) --- to see what each mode does. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.default = { - name = "default", - key_bindings = { - on_key = { - ["#"] = { - messages = { - "PrintAppStateAndQuit", - }, - }, - ["."] = { - help = "show hidden", - messages = { - { - ToggleNodeFilter = { filter = "RelativePathDoesNotStartWith", input = "." }, - }, - "ExplorePwdAsync", - }, - }, - [":"] = { - help = "action", - messages = { - "PopMode", - { SwitchModeBuiltin = "action" }, - }, - }, - ["?"] = { - help = "global help menu", - messages = { - { - BashExec = [===[ - [ -z "$PAGER" ] && PAGER="less -+F" - cat -- "${XPLR_PIPE_GLOBAL_HELP_MENU_OUT}" | ${PAGER:?} - ]===], - }, - }, - }, - ["G"] = { - help = "go to bottom", - messages = { - "PopMode", - "FocusLast", - }, - }, - ["ctrl-a"] = { - help = "select/unselect all", - messages = { - "ToggleSelectAll", - }, - }, - ["ctrl-f"] = { - help = "search", - messages = { - "PopMode", - { SwitchModeBuiltin = "search" }, - { SetInputBuffer = "" }, - }, - }, - ["ctrl-i"] = { - help = "next visited path", - messages = { - "NextVisitedPath", - }, - }, - ["ctrl-o"] = { - help = "last visited path", - messages = { - "LastVisitedPath", - }, - }, - ["ctrl-r"] = { - help = "refresh screen", - messages = { - "ClearScreen", - }, - }, - ["ctrl-u"] = { - help = "clear selection", - messages = { - "ClearSelection", - }, - }, - ["ctrl-w"] = { - help = "switch layout", - messages = { - { SwitchModeBuiltin = "switch_layout" }, - }, - }, - ["d"] = { - help = "delete", - messages = { - "PopMode", - { SwitchModeBuiltin = "delete" }, - }, - }, - ["down"] = { - help = "down", - messages = { - "FocusNext", - }, - }, - ["enter"] = { - help = "quit with result", - messages = { - "PrintResultAndQuit", - }, - }, - ["f"] = { - help = "filter", - messages = { - "PopMode", - { SwitchModeBuiltin = "filter" }, - }, - }, - ["g"] = { - help = "go to", - messages = { - "PopMode", - { SwitchModeBuiltin = "go_to" }, - }, - }, - ["left"] = { - help = "back", - messages = { - "Back", - }, - }, - ["q"] = { - help = "quit", - messages = { - "Quit", - }, - }, - ["r"] = { - help = "rename", - messages = { - "PopMode", - { SwitchModeBuiltin = "rename" }, - { - BashExecSilently0 = [===[ - NAME=$(basename "${XPLR_FOCUS_PATH:?}") - "$XPLR" -m 'SetInputBuffer: %q' "${NAME:?}" - ]===], - }, - }, - }, - ["ctrl-d"] = { - help = "duplicate as", - messages = { - "PopMode", - { SwitchModeBuiltin = "duplicate_as" }, - { - BashExecSilently0 = [===[ - NAME=$(basename "${XPLR_FOCUS_PATH:?}") - "$XPLR" -m 'SetInputBuffer: %q' "${NAME:?}" - ]===], - }, - }, - }, - ["right"] = { - help = "enter", - messages = { - "Enter", - }, - }, - ["s"] = { - help = "sort", - messages = { - "PopMode", - { SwitchModeBuiltin = "sort" }, - }, - }, - ["space"] = { - help = "toggle selection", - messages = { - "ToggleSelection", - "FocusNext", - }, - }, - ["up"] = { - help = "up", - messages = { - "FocusPrevious", - }, - }, - ["~"] = { - help = "go home", - messages = { - { - BashExecSilently0 = [===[ - "$XPLR" -m 'ChangeDirectory: %q' "${HOME:?}" - ]===], - }, - }, - }, - ["page-up"] = { - help = "scroll up", - messages = { - "ScrollUp", - }, - }, - ["page-down"] = { - help = "scroll down", - messages = { - "ScrollDown", - }, - }, - ["{"] = { - help = "scroll up half", - messages = { - "ScrollUpHalf", - }, - }, - ["}"] = { - help = "scroll down half", - messages = { - "ScrollDownHalf", - }, - }, - }, - on_number = { - help = "input", - messages = { - "PopMode", - { SwitchModeBuiltin = "number" }, - "BufferInputFromKey", - }, - }, - }, -} - -xplr.config.modes.builtin.default.key_bindings.on_key["tab"] = - xplr.config.modes.builtin.default.key_bindings.on_key["ctrl-i"] -xplr.config.modes.builtin.default.key_bindings.on_key["v"] = - xplr.config.modes.builtin.default.key_bindings.on_key["space"] -xplr.config.modes.builtin.default.key_bindings.on_key["V"] = - xplr.config.modes.builtin.default.key_bindings.on_key["ctrl-a"] -xplr.config.modes.builtin.default.key_bindings.on_key["/"] = - xplr.config.modes.builtin.default.key_bindings.on_key["ctrl-f"] -xplr.config.modes.builtin.default.key_bindings.on_key["h"] = - xplr.config.modes.builtin.default.key_bindings.on_key["left"] -xplr.config.modes.builtin.default.key_bindings.on_key["j"] = - xplr.config.modes.builtin.default.key_bindings.on_key["down"] -xplr.config.modes.builtin.default.key_bindings.on_key["k"] = xplr.config.modes.builtin.default.key_bindings.on_key["up"] -xplr.config.modes.builtin.default.key_bindings.on_key["l"] = - xplr.config.modes.builtin.default.key_bindings.on_key["right"] - --- The builtin debug error mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.debug_error = { - name = "debug error", - layout = { - Vertical = { - config = { - constraints = { - { Min = 14 }, - { MinLessThanScreenHeight = 14 }, - }, - }, - splits = { - { - CustomContent = { - title = "debug error", - body = { - StaticParagraph = { - render = [[ - - Some errors occurred during startup. - If you think this is a bug, please report it at: - - https://github.com/sayanarijit/xplr/issues/new - - Press `enter` to open the logs in your $EDITOR. - Press `escape` to ignore the errors and continue with the default config. - - To disable this mode, set `xplr.config.general.disable_debug_error_mode` - to `true` in your config file. - ]], - }, - }, - }, - }, - "InputAndLogs", - }, - }, - }, - key_bindings = { - on_key = { - ["enter"] = { - help = "open logs in editor", - messages = { - { - BashExec = [===[ - cat "${XPLR_PIPE_LOGS_OUT:?}" | ${EDITOR:-vi} - - ]===], - }, - }, - }, - ["q"] = { - help = "quit", - messages = { - "Quit", - }, - }, - }, - default = { - messages = {}, - }, - }, -} - --- The builtin recover mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.recover = { - name = "recover", - layout = { - CustomContent = { - title = " recover ", - body = { - StaticParagraph = { - render = [[ - - You pressed an invalid key and went into "recover" mode. - This mode saves you from performing unwanted actions. - - Let's calm down, press `escape`, and try again. - - To disable this mode, set `xplr.config.general.enable_recover_mode` - to `false` in your config file. - ]], - }, - }, - }, - }, - key_bindings = { - default = { - messages = {}, - }, - }, -} - --- The builtin go to path mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.go_to_path = { - name = "go to path", - key_bindings = { - on_key = { - ["enter"] = { - help = "submit", - messages = { - { - BashExecSilently0 = [===[ - PTH=${XPLR_INPUT_BUFFER} - PTH_ESC=$(printf %q "$PTH") - if [ -d "$PTH" ]; then - "$XPLR" -m 'ChangeDirectory: %q' "$PTH" - elif [ -e "$PTH" ]; then - "$XPLR" -m 'FocusPath: %q' "$PTH" - else - "$XPLR" -m 'LogError: %q' "could not find $PTH_ESC" - fi - ]===], - }, - "PopMode", - }, - }, - ["tab"] = { - help = "try complete", - messages = { - { CallLuaSilently = "builtin.try_complete_path" }, - }, - }, - }, - default = { - messages = { - "UpdateInputBufferFromKey", - }, - }, - }, -} - --- The builtin selection ops mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.selection_ops = { - name = "selection ops", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["c"] = { - help = "copy here", - messages = { - { - BashExec0 = [===[ - (while IFS= read -r -d '' PTH; do - PTH_ESC=$(printf %q "$PTH") - if cp -vr -- "${PTH:?}" ./; then - "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC copied to ." - else - "$XPLR" -m 'LogError: %q' "Failed to copy $PTH_ESC to ." - fi - done < "${XPLR_PIPE_SELECTION_OUT:?}") - "$XPLR" -m ExplorePwdAsync - "$XPLR" -m ClearSelection - read -p "[enter to continue]" - ]===], - }, - "PopMode", - }, - }, - ["m"] = { - help = "move here", - messages = { - { - BashExec0 = [===[ - (while IFS= read -r -d '' PTH; do - PTH_ESC=$(printf %q "$PTH") - if mv -v -- "${PTH:?}" ./; then - "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC moved to ." - else - "$XPLR" -m 'LogError: %q' "Failed to move $PTH_ESC to ." - fi - done < "${XPLR_PIPE_SELECTION_OUT:?}") - "$XPLR" -m ExplorePwdAsync - read -p "[enter to continue]" - ]===], - }, - "PopMode", - }, - }, - ["u"] = { - help = "clear selection", - messages = { - "ClearSelection", - "PopMode", - }, - }, - }, - }, -} - --- The builtin create mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.create = { - name = "create", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["d"] = { - help = "create directory", - messages = { - "PopMode", - { SwitchModeBuiltin = "create_directory" }, - { SetInputBuffer = "" }, - }, - }, - ["f"] = { - help = "create file", - messages = { - "PopMode", - { SwitchModeBuiltin = "create_file" }, - { SetInputBuffer = "" }, - }, - }, - }, - }, -} - --- The builtin create directory mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.create_directory = { - name = "create directory", - prompt = "ð ❯ ", - key_bindings = { - on_key = { - ["tab"] = { - help = "try complete", - messages = { - { CallLuaSilently = "builtin.try_complete_path" }, - }, - }, - ["enter"] = { - help = "submit", - messages = { - { - BashExecSilently0 = [===[ - PTH="$XPLR_INPUT_BUFFER" - PTH_ESC=$(printf %q "$PTH") - if [ "$PTH" ]; then - mkdir -p -- "$PTH" \ - && "$XPLR" -m 'SetInputBuffer: ""' \ - && "$XPLR" -m ExplorePwd \ - && "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC created" \ - && "$XPLR" -m 'FocusPath: %q' "$PTH" - else - "$XPLR" -m PopMode - fi - ]===], - }, - }, - }, - }, - default = { - messages = { - "UpdateInputBufferFromKey", - }, - }, - }, -} - --- The builtin create file mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.create_file = { - name = "create file", - prompt = "ƒ ❯ ", - key_bindings = { - on_key = { - ["tab"] = { - help = "try complete", - messages = { - { CallLuaSilently = "builtin.try_complete_path" }, - }, - }, - ["enter"] = { - help = "submit", - messages = { - { - BashExecSilently0 = [===[ - PTH="$XPLR_INPUT_BUFFER" - PTH_ESC=$(printf %q "$PTH") - if [ "$PTH" ]; then - mkdir -p -- "$(dirname $(realpath -m $PTH))" \ - && touch -- "$PTH" \ - && "$XPLR" -m 'SetInputBuffer: ""' \ - && "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC created" \ - && "$XPLR" -m 'ExplorePwd' \ - && "$XPLR" -m 'FocusPath: %q' "$PTH" - else - "$XPLR" -m PopMode - fi - ]===], - }, - }, - }, - }, - default = { - messages = { - "UpdateInputBufferFromKey", - }, - }, - }, -} - --- The builtin number mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.number = { - name = "number", - prompt = ":", - key_bindings = { - on_key = { - ["down"] = { - help = "to down", - messages = { - "FocusNextByRelativeIndexFromInput", - "PopMode", - }, - }, - ["enter"] = { - help = "to index", - messages = { - "FocusByIndexFromInput", - "PopMode", - }, - }, - ["up"] = { - help = "to up", - messages = { - "FocusPreviousByRelativeIndexFromInput", - "PopMode", - }, - }, - }, - on_navigation = { - messages = { - "UpdateInputBufferFromKey", - }, - }, - on_number = { - help = "input", - messages = { - "UpdateInputBufferFromKey", - }, - }, - }, -} - -xplr.config.modes.builtin.number.key_bindings.on_key["j"] = xplr.config.modes.builtin.number.key_bindings.on_key["down"] -xplr.config.modes.builtin.number.key_bindings.on_key["k"] = xplr.config.modes.builtin.number.key_bindings.on_key["up"] - --- The builtin go to mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.go_to = { - name = "go to", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["f"] = { - help = "follow symlink", - messages = { - "FollowSymlink", - "PopMode", - }, - }, - ["g"] = { - help = "top", - messages = { - "FocusFirst", - "PopMode", - }, - }, - ["p"] = { - help = "path", - messages = { - "PopMode", - { SwitchModeBuiltin = "go_to_path" }, - { SetInputBuffer = "" }, - }, - }, - ["i"] = { - help = "initial $PWD", - messages = { - "PopMode", - { - BashExecSilently0 = [===[ - "$XPLR" -m 'ChangeDirectory: %q' "${XPLR_INITIAL_PWD:?}" - ]===], - }, - }, - }, - ["x"] = { - help = "open in gui", - messages = { - { - BashExecSilently0 = [===[ - if [ -z "$OPENER" ]; then - if command -v xdg-open; then - OPENER=xdg-open - elif command -v open; then - OPENER=open - else - "$XPLR" -m 'LogError: "$OPENER not found"' - exit 1 - fi - fi - (while IFS= read -r -d '' PTH; do - $OPENER "${PTH:?}" > /dev/null 2>&1 - done < "${XPLR_PIPE_RESULT_OUT:?}") - ]===], - }, - "ClearScreen", - "PopMode", - }, - }, - }, - }, -} - --- The builtin rename mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.rename = { - name = "rename", - key_bindings = { - on_key = { - ["tab"] = { - help = "try complete", - messages = { - { CallLuaSilently = "builtin.try_complete_path" }, - }, - }, - ["enter"] = { - help = "submit", - messages = { - { - BashExecSilently0 = [===[ - SRC="${XPLR_FOCUS_PATH:?}" - SRC_ESC=$(printf %q "$SRC") - TARGET="${XPLR_INPUT_BUFFER:?}" - TARGET_ESC=$(printf %q "$TARGET") - if [ -e "${TARGET:?}" ]; then - "$XPLR" -m 'LogError: %q' "$TARGET_ESC already exists" - else - mv -- "${SRC:?}" "${TARGET:?}" \ - && "$XPLR" -m ExplorePwd \ - && "$XPLR" -m 'FocusPath: %q' "$TARGET" \ - && "$XPLR" -m 'LogSuccess: %q' "$SRC_ESC renamed to $TARGET_ESC" - fi - ]===], - }, - "PopMode", - }, - }, - }, - default = { - messages = { - "UpdateInputBufferFromKey", - }, - }, - }, -} - --- The builtin duplicate as mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.duplicate_as = { - name = "duplicate as", - key_bindings = { - on_key = { - ["tab"] = { - help = "try complete", - messages = { - { CallLuaSilently = "builtin.try_complete_path" }, - }, - }, - ["enter"] = { - help = "submit", - messages = { - { - BashExecSilently0 = [===[ - SRC="${XPLR_FOCUS_PATH:?}" - SRC_ESC=$(printf %q "$SRC") - TARGET="${XPLR_INPUT_BUFFER:?}" - TARGET_ESC=$(printf %q "$TARGET") - if [ -e "${TARGET:?}" ]; then - "$XPLR" -m 'LogError: %q' "$TARGET_ESC already exists" - else - cp -r -- "${SRC:?}" "${TARGET:?}" \ - && "$XPLR" -m ExplorePwd \ - && "$XPLR" -m 'FocusPath: %q' "$TARGET_ESC" \ - && "$XPLR" -m 'LogSuccess: %q' "$SRC_ESC duplicated as $TARGET_ESC" - fi - ]===], - }, - "PopMode", - }, - }, - }, - default = { - messages = { - "UpdateInputBufferFromKey", - }, - }, - }, -} - --- The builtin delete mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.delete = { - name = "delete", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["D"] = { - help = "force delete", - messages = { - { - BashExec0 = [===[ - (while IFS= read -r -d '' PTH; do - PTH_ESC=$(printf %q "$PTH") - if rm -rfv -- "${PTH:?}"; then - "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC deleted" - else - "$XPLR" -m 'LogError: %q' "Failed to delete $PTH_ESC" - fi - done < "${XPLR_PIPE_RESULT_OUT:?}") - "$XPLR" -m ExplorePwdAsync - read -p "[enter to continue]" - ]===], - }, - "PopMode", - }, - }, - ["d"] = { - help = "delete", - messages = { - { - BashExec0 = [===[ - (while IFS= read -r -d '' PTH; do - PTH_ESC=$(printf %q "$PTH") - if [ -d "$PTH" ] && [ ! -L "$PTH" ]; then - if rmdir -v -- "${PTH:?}"; then - "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC deleted" - else - "$XPLR" -m 'LogError: %q' "Failed to delete $PTH_ESC" - fi - else - if rm -v -- "${PTH:?}"; then - "$XPLR" -m 'LogSuccess: %q' "$PTH_ESC deleted" - else - "$XPLR" -m 'LogError: %q' "Failed to delete $PTH_ESC" - fi - fi - done < "${XPLR_PIPE_RESULT_OUT:?}") - "$XPLR" -m ExplorePwdAsync - read -p "[enter to continue]" - ]===], - }, - "PopMode", - }, - }, - }, - }, -} - --- The builtin action mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.action = { - name = "action to", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["!"] = { - help = "shell", - messages = { - "PopMode", - { Call0 = { command = os.getenv("SHELL") or "bash", args = { "-i" } } }, - "ExplorePwdAsync", - }, - }, - ["c"] = { - help = "create", - messages = { - "PopMode", - { SwitchModeBuiltin = "create" }, - }, - }, - ["e"] = { - help = "open in editor", - messages = { - { - BashExec0 = [===[ - ${EDITOR:-vi} "${XPLR_FOCUS_PATH:?}" - ]===], - }, - "PopMode", - }, - }, - ["l"] = { - help = "logs", - messages = { - { - BashExec = [===[ - [ -z "$PAGER" ] && PAGER="less -+F" - cat -- "${XPLR_PIPE_LOGS_OUT}" | ${PAGER:?} - ]===], - }, - "PopMode", - }, - }, - ["s"] = { - help = "selection operations", - messages = { - "PopMode", - { SwitchModeBuiltin = "selection_ops" }, - }, - }, - ["m"] = { - help = "toggle mouse", - messages = { - "PopMode", - "ToggleMouse", - }, - }, - ["v"] = { - help = "vroot", - messages = { - "PopMode", - { SwitchModeBuiltin = "vroot" }, - }, - }, - ["q"] = { - help = "quit options", - messages = { - "PopMode", - { SwitchModeBuiltin = "quit" }, - }, - }, - }, - on_number = { - help = "go to index", - messages = { - "PopMode", - { SwitchModeBuiltin = "number" }, - "BufferInputFromKey", - }, - }, - }, -} - --- The builtin quit mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.quit = { - name = "quit", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["enter"] = { - help = "just quit", - messages = { - "Quit", - }, - }, - ["p"] = { - help = "quit printing pwd", - messages = { - "PrintPwdAndQuit", - }, - }, - ["f"] = { - help = "quit printing focus", - messages = { - "PrintFocusPathAndQuit", - }, - }, - ["s"] = { - help = "quit printing selection", - messages = { - "PrintSelectionAndQuit", - }, - }, - ["r"] = { - help = "quit printing result", - messages = { - "PrintResultAndQuit", - }, - }, - }, - }, -} - --- The builtin search mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.search = { - name = "search", - prompt = "/", - key_bindings = { - on_key = { - ["up"] = { - help = "up", - messages = { - "FocusPrevious", - }, - }, - ["down"] = { - help = "down", - messages = { - "FocusNext", - }, - }, - ["right"] = { - help = "enter", - messages = { - "Enter", - { SetInputBuffer = "" }, - }, - }, - ["left"] = { - help = "back", - messages = { - "Back", - { SetInputBuffer = "" }, - }, - }, - ["tab"] = { - help = "toggle selection", - messages = { - "ToggleSelection", - "FocusNext", - }, - }, - ["enter"] = { - help = "submit", - messages = { - "AcceptSearch", - "PopMode", - }, - }, - ["esc"] = { - help = "cancel", - messages = { - "CancelSearch", - "PopMode", - }, - }, - }, - default = { - messages = { - "UpdateInputBufferFromKey", - "SearchFuzzyFromInput", - "ExplorePwdAsync", - }, - }, - }, -} - -xplr.config.modes.builtin.search.key_bindings.on_key["ctrl-n"] = - xplr.config.modes.builtin.search.key_bindings.on_key["down"] -xplr.config.modes.builtin.search.key_bindings.on_key["ctrl-p"] = - xplr.config.modes.builtin.search.key_bindings.on_key["up"] - --- The builtin filter mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.filter = { - name = "filter", - key_bindings = { - on_key = { - ["r"] = { - help = "relative path does match regex", - messages = { - { SwitchModeBuiltin = "relative_path_does_match_regex" }, - { SetInputBuffer = "" }, - { AddNodeFilterFromInput = "RelativePathDoesMatchRegex" }, - "ExplorePwdAsync", - }, - }, - ["R"] = { - help = "relative path does not match regex", - messages = { - { SwitchModeBuiltin = "relative_path_does_not_match_regex" }, - { SetInputBuffer = "" }, - { AddNodeFilterFromInput = "RelativePathDoesNotMatchRegex" }, - "ExplorePwdAsync", - }, - }, - ["backspace"] = { - help = "remove last filter", - messages = { - "RemoveLastNodeFilter", - "ExplorePwdAsync", - }, - }, - ["ctrl-r"] = { - help = "reset filters", - messages = { - "ResetNodeFilters", - "ExplorePwdAsync", - }, - }, - ["ctrl-u"] = { - help = "clear filters", - messages = { - "ClearNodeFilters", - "ExplorePwdAsync", - }, - }, - }, - }, -} - --- The builtin relative_path_does_match_regex mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.relative_path_does_match_regex = { - name = "relative path does match regex", - prompt = xplr.config.general.sort_and_filter_ui.filter_identifiers.RelativePathDoesMatchRegex.format, - key_bindings = { - on_key = { - ["enter"] = { - help = "submit", - messages = { - "PopMode", - }, - }, - ["esc"] = { - messages = { - { RemoveNodeFilterFromInput = "RelativePathDoesMatchRegex" }, - "PopMode", - "ExplorePwdAsync", - }, - }, - }, - default = { - messages = { - { RemoveNodeFilterFromInput = "RelativePathDoesMatchRegex" }, - "UpdateInputBufferFromKey", - { AddNodeFilterFromInput = "RelativePathDoesMatchRegex" }, - "ExplorePwdAsync", - }, - }, - }, -} - --- The builtin relative_path_does_not_match_regex mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.relative_path_does_not_match_regex = { - name = "relative path does not match regex", - prompt = xplr.config.general.sort_and_filter_ui.filter_identifiers.RelativePathDoesNotMatchRegex.format, - key_bindings = { - on_key = { - ["enter"] = { - help = "submit", - messages = { - "PopMode", - }, - }, - ["esc"] = { - messages = { - { RemoveNodeFilterFromInput = "RelativePathDoesNotMatchRegex" }, - "PopMode", - "ExplorePwdAsync", - }, - }, - }, - default = { - messages = { - { RemoveNodeFilterFromInput = "RelativePathDoesNotMatchRegex" }, - "UpdateInputBufferFromKey", - { AddNodeFilterFromInput = "RelativePathDoesNotMatchRegex" }, - "ExplorePwdAsync", - }, - }, - }, -} - --- The builtin sort mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.sort = { - name = "sort", - key_bindings = { - on_key = { - ["!"] = { - help = "reverse sorters", - messages = { - "ReverseNodeSorters", - "ExplorePwdAsync", - }, - }, - ["E"] = { - help = "by canonical extension reverse", - messages = { - { AddNodeSorter = { sorter = "ByCanonicalExtension", reverse = true } }, - "ExplorePwdAsync", - }, - }, - ["M"] = { - help = "by canonical mime essence reverse", - messages = { - { AddNodeSorter = { sorter = "ByCanonicalMimeEssence", reverse = true } }, - "ExplorePwdAsync", - }, - }, - ["N"] = { - help = "by node type reverse", - messages = { - { AddNodeSorter = { sorter = "ByCanonicalIsDir", reverse = true } }, - { AddNodeSorter = { sorter = "ByCanonicalIsFile", reverse = true } }, - { AddNodeSorter = { sorter = "ByIsSymlink", reverse = true } }, - "ExplorePwdAsync", - }, - }, - ["R"] = { - help = "by relative path reverse", - messages = { - { AddNodeSorter = { sorter = "ByIRelativePath", reverse = true } }, - "ExplorePwdAsync", - }, - }, - ["S"] = { - help = "by size reverse", - messages = { - { AddNodeSorter = { sorter = "BySize", reverse = true } }, - "ExplorePwdAsync", - }, - }, - ["backspace"] = { - help = "remove last sorter", - messages = { - "RemoveLastNodeSorter", - "ExplorePwdAsync", - }, - }, - ["ctrl-r"] = { - help = "reset sorters", - messages = { - "ResetNodeSorters", - "ExplorePwdAsync", - }, - }, - ["ctrl-u"] = { - help = "clear sorters", - messages = { - "ClearNodeSorters", - "ExplorePwdAsync", - }, - }, - ["e"] = { - help = "by canonical extension", - messages = { - { AddNodeSorter = { sorter = "ByCanonicalExtension", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["enter"] = { - help = "submit", - messages = { - "PopMode", - }, - }, - ["m"] = { - help = "by canonical mime essence", - messages = { - { AddNodeSorter = { sorter = "ByCanonicalMimeEssence", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["n"] = { - help = "by node type", - messages = { - { AddNodeSorter = { sorter = "ByCanonicalIsDir", reverse = false } }, - { AddNodeSorter = { sorter = "ByCanonicalIsFile", reverse = false } }, - { AddNodeSorter = { sorter = "ByIsSymlink", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["r"] = { - help = "by relative path", - messages = { - { AddNodeSorter = { sorter = "ByIRelativePath", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["s"] = { - help = "by size", - messages = { - { AddNodeSorter = { sorter = "BySize", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["c"] = { - help = "by created", - messages = { - { AddNodeSorter = { sorter = "ByCreated", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["C"] = { - help = "by created reverse", - messages = { - { AddNodeSorter = { sorter = "ByCreated", reverse = true } }, - "ExplorePwdAsync", - }, - }, - ["l"] = { - help = "by last modified", - messages = { - { AddNodeSorter = { sorter = "ByLastModified", reverse = false } }, - "ExplorePwdAsync", - }, - }, - ["L"] = { - help = "by last modified reverse", - messages = { - { AddNodeSorter = { sorter = "ByLastModified", reverse = true } }, - "ExplorePwdAsync", - }, - }, - }, - }, -} - --- The builtin switch layout mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.switch_layout = { - name = "switch layout", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["1"] = { - help = "default", - messages = { - { SwitchLayoutBuiltin = "default" }, - "PopMode", - }, - }, - ["2"] = { - help = "no help menu", - messages = { - { SwitchLayoutBuiltin = "no_help" }, - "PopMode", - }, - }, - ["3"] = { - help = "no selection panel", - messages = { - { SwitchLayoutBuiltin = "no_selection" }, - "PopMode", - }, - }, - ["4"] = { - help = "no help or selection", - messages = { - { SwitchLayoutBuiltin = "no_help_no_selection" }, - "PopMode", - }, - }, - }, - }, -} - --- The builtin vroot mode. --- --- Type: [Mode](https://xplr.dev/en/mode) -xplr.config.modes.builtin.vroot = { - name = "vroot", - layout = "HelpMenu", - key_bindings = { - on_key = { - ["v"] = { - help = "toggle vroot", - messages = { - "PopMode", - "ToggleVroot", - }, - }, - ["."] = { - help = "vroot $PWD", - messages = { - "PopMode", - { - BashExecSilently0 = [===[ - "$XPLR" -m 'SetVroot: %q' "${PWD:?}" - ]===], - }, - }, - }, - ["/"] = { - help = "vroot /", - messages = { - "PopMode", - { SetVroot = "/" }, - }, - }, - ["~"] = { - help = "vroot $HOME", - messages = { - "PopMode", - { - BashExecSilently0 = [===[ - "$XPLR" -m 'SetVroot: %q' "${HOME:?}" - ]===], - }, - }, - }, - ["ctrl-r"] = { - help = "reset vroot", - messages = { - "PopMode", - "ResetVroot", - }, - }, - ["ctrl-u"] = { - help = "unset vroot", - messages = { - "PopMode", - "UnsetVroot", - }, - }, - }, - }, -} - --- This is where you define custom modes. --- --- Type: mapping of the following key-value pairs: --- --- * key: string --- * value: [Mode](https://xplr.dev/en/mode) --- --- Example: --- --- ```lua --- xplr.config.modes.custom.example = { --- name = "example", --- key_bindings = { --- on_key = { --- enter = { --- help = "default mode", --- messages = { --- "PopMode", --- { SwitchModeBuiltin = "default" }, --- }, --- }, --- }, --- }, --- } --- --- xplr.config.general.initial_mode = "example" --- ``` -xplr.config.modes.custom = {} - --- ## Function ---------------------------------------------------------------- --- --- While `xplr.config` defines all the static parts of the configuration, --- `xplr.fn` defines all the dynamic parts using functions. --- --- See: [Lua Function Calls](https://xplr.dev/en/lua-function-calls) --- --- As always, `xplr.fn.builtin` is where the built-in functions are defined --- that can be overwritten. - --- Tries to auto complete the path in the input buffer -xplr.fn.builtin.try_complete_path = function(m) - if not m.input_buffer then - return - end - - local function matches_all(str, paths) - for _, path in ipairs(paths) do - if string.sub(path, 1, #str) ~= str then - return false - end - end - return true - end - - local path = m.input_buffer - local explorer_config = { - filters = { - { filter = "RelativePathDoesStartWith", input = xplr.util.basename(path) }, - }, - } - local parent = xplr.util.dirname(path) - if not parent or parent == "" then - parent = "./" - elseif parent ~= "/" then - parent = parent .. "/" - end - - local nodes = xplr.util.explore(parent, explorer_config) - local found = {} - for _, node in ipairs(nodes) do - table.insert(found, parent .. node.relative_path) - end - local count = #found - - if count == 0 then - return - elseif count == 1 then - return { - { SetInputBuffer = found[1] }, - } - else - local first = found[1] - while #first > #path and matches_all(path, found) do - path = string.sub(first, 1, #path + 1) - end - - if matches_all(path, found) then - return { - { SetInputBuffer = path }, - } - end - - return { - { SetInputBuffer = string.sub(path, 1, #path - 1) }, - } - end -end - --- Renders the first column in the table -xplr.fn.builtin.fmt_general_table_row_cols_0 = function(m) - local r = "" - if m.is_before_focus then - r = r .. " -" - else - r = r .. " " - end - - r = r .. m.relative_index .. "│" .. m.index - - return r -end - --- Renders the second column in the table -xplr.fn.builtin.fmt_general_table_row_cols_1 = function(m) - local r = m.tree .. m.prefix - - local function path_escape(path) - return string.gsub(string.gsub(path, "\\", "\\\\"), "\n", "\\n") - end - - if m.meta.icon == nil then - r = r .. "" - else - r = r .. m.meta.icon .. " " - end - - r = r .. path_escape(m.relative_path) - - if m.is_dir then - r = r .. "/" - end - - r = r .. m.suffix .. " " - - if m.is_symlink then - r = r .. "-> " - - if m.is_broken then - r = r .. "×" - else - r = r .. path_escape(m.symlink.absolute_path) - - if m.symlink.is_dir then - r = r .. "/" - end - end - end - - return r -end - --- Renders the third column in the table -xplr.fn.builtin.fmt_general_table_row_cols_2 = function(m) - local no_color = os.getenv("NO_COLOR") - - local function green(x) - if no_color == nil then - return "\x1b[32m" .. x .. "\x1b[0m" - else - return x - end - end - - local function yellow(x) - if no_color == nil then - return "\x1b[33m" .. x .. "\x1b[0m" - else - return x - end - end - - local function red(x) - if no_color == nil then - return "\x1b[31m" .. x .. "\x1b[0m" - else - return x - end - end - - local function bit(x, color, cond) - if cond then - return color(x) - else - return color("-") - end - end - - local p = m.permissions - - local r = "" - - r = r .. bit("r", green, p.user_read) - r = r .. bit("w", yellow, p.user_write) - - if p.user_execute == false and p.setuid == false then - r = r .. bit("-", red, p.user_execute) - elseif p.user_execute == true and p.setuid == false then - r = r .. bit("x", red, p.user_execute) - elseif p.user_execute == false and p.setuid == true then - r = r .. bit("S", red, p.user_execute) - else - r = r .. bit("s", red, p.user_execute) - end - - r = r .. bit("r", green, p.group_read) - r = r .. bit("w", yellow, p.group_write) - - if p.group_execute == false and p.setuid == false then - r = r .. bit("-", red, p.group_execute) - elseif p.group_execute == true and p.setuid == false then - r = r .. bit("x", red, p.group_execute) - elseif p.group_execute == false and p.setuid == true then - r = r .. bit("S", red, p.group_execute) - else - r = r .. bit("s", red, p.group_execute) - end - - r = r .. bit("r", green, p.other_read) - r = r .. bit("w", yellow, p.other_write) - - if p.other_execute == false and p.setuid == false then - r = r .. bit("-", red, p.other_execute) - elseif p.other_execute == true and p.setuid == false then - r = r .. bit("x", red, p.other_execute) - elseif p.other_execute == false and p.setuid == true then - r = r .. bit("T", red, p.other_execute) - else - r = r .. bit("t", red, p.other_execute) - end - - return r -end - --- Renders the fourth column in the table -xplr.fn.builtin.fmt_general_table_row_cols_3 = function(m) - if not m.is_dir then - return m.human_size - else - return "" - end -end - --- Renders the fifth column in the table -xplr.fn.builtin.fmt_general_table_row_cols_4 = function(m) - return tostring(os.date("%a %b %d %H:%M:%S %Y", m.last_modified / 1000000000)) -end - --- This is where the custom functions can be added. --- --- There is currently no restriction on what kind of functions can be defined --- in `xplr.fn.custom`. --- --- You can also use nested tables such as --- `xplr.fn.custom.my_plugin.my_function` to define custom functions. -xplr.fn.custom = {} - --- ## Hooks ------------------------------------------------------------------- --- --- This section of the configuration cannot be overwritten by another config --- file or plugin, since this is an optional lua return statement specific to --- each config file. It can be used to define things that should be explicit --- for reasons like performance concerns, such as hooks. --- --- Plugins should expose the hooks, and require users to subscribe to them --- explicitly. --- --- Example: --- --- ```lua --- return { --- -- Add messages to send when the xplr loads. --- -- This is similar to the `--on-load` command-line option. --- -- --- -- Type: list of [Message](https://xplr.dev/en/message#message)s --- on_load = { --- { LogSuccess = "Configuration successfully loaded!" }, --- { CallLuaSilently = "custom.some_plugin_with_hooks.on_load" }, --- }, --- --- -- Add messages to send when the directory changes. --- -- --- -- Type: list of [Message](https://xplr.dev/en/message#message)s --- on_directory_change = { --- { LogSuccess = "Changed directory" }, --- { CallLuaSilently = "custom.some_plugin_with_hooks.on_directory_change" }, --- }, --- --- -- Add messages to send when the focus changes. --- -- --- -- Type: list of [Message](https://xplr.dev/en/message#message)s --- on_focus_change = { --- { LogSuccess = "Changed focus" }, --- { CallLuaSilently = "custom.some_plugin_with_hooks.on_focus_change" }, --- } --- --- -- Add messages to send when the mode is switched. --- -- --- -- Type: list of [Message](https://xplr.dev/en/message#message)s --- on_mode_switch = { --- { LogSuccess = "Switched mode" }, --- { CallLuaSilently = "custom.some_plugin_with_hooks.on_mode_switch" }, --- } --- --- -- Add messages to send when the layout is switched --- -- --- -- Type: list of [Message](https://xplr.dev/en/message#message)s --- on_layout_switch = { --- { LogSuccess = "Switched layout" }, --- { CallLuaSilently = "custom.some_plugin_with_hooks.on_layout_switch" }, --- } --- } --- ``` - -local home = os.getenv("HOME") -local xpm_path = home .. "/.local/share/xplr/dtomvan/xpm.xplr" -local xpm_url = "https://github.com/dtomvan/xpm.xplr" - -package.path = package.path .. ";" .. xpm_path .. "/?.lua;" .. xpm_path .. "/?/init.lua" - -os.execute(string.format("[ -e '%s' ] || git clone '%s' '%s'", xpm_path, xpm_url, xpm_path)) - -require("xpm").setup({ - plugins = { - "dtomvan/xpm.xplr", - "Junker/nuke.xplr", - }, - auto_install = true, - auto_cleanup = true, -}) - -xplr.config.modes.builtin.default.key_bindings.on_key.x = { - help = "xpm", - messages = { - "PopMode", - { SwitchModeCustom = "xpm" }, - }, -} - -require("nuke").setup({ - pager = "less -R", -- default: less -R - open = { - run_executables = false, -- default: false - custom = { - { mime = "image/*", command = "nsxiv -aio {}" }, - { mime = "video/*", command = "mpv {} -quiet" }, - { mime = "audio/*", command = "mpv --audio-display=no {}" }, - }, - }, - view = { - show_line_numbers = true, -- default: false - }, - smart_view = { - custom = { - { extension = "so", command = "ldd -r {} | less" }, - }, - }, -}) - -return { - on_load = {}, - on_directory_change = {}, - on_focus_change = {}, - on_mode_switch = {}, - on_layout_switch = {}, -} diff --git a/config/yazi/init.lua b/config/yazi/init.lua index 539fa879..e2158b87 100644 --- a/config/yazi/init.lua +++ b/config/yazi/init.lua @@ -20,3 +20,52 @@ require("augment-command"):setup({ wraparound_file_navigation = false, }) require("git"):setup() +require("yatline"):setup({ + show_background = false, + section_separator = { open = "", close = "" }, + part_separator = { open = "", close = "" }, + inverse_separator = { open = "", close = "" }, + + header_line = { + left = { + section_a = { + { type = "line", custom = false, name = "tabs", params = { "left" } }, + }, + section_b = {}, + section_c = {}, + }, + right = { + section_a = { + { type = "string", custom = false, name = "date", params = { "%A, %d %B %Y" } }, + }, + section_b = { + { type = "string", custom = false, name = "date", params = { "%X" } }, + }, + section_c = {}, + }, + }, + + status_line = { + left = { + section_a = {}, + section_b = {}, + section_c = { + { type = "string", custom = false, name = "hovered_path" }, + { type = "coloreds", custom = false, name = "task_states" }, + }, + }, + right = { + section_a = { + { type = "string", custom = false, name = "cursor_position" }, + { type = "string", custom = false, name = "cursor_percentage" }, + }, + section_b = { + { type = "string", custom = false, name = "hovered_file_extension", params = { true } }, + }, + section_c = { + { type = "coloreds", custom = false, name = "permissions" }, + { type = "coloreds", custom = false, name = "count", params = "true" }, + }, + }, + }, +}) diff --git a/config/yazi/keymap.toml b/config/yazi/keymap.toml index 874858a7..55bd91c9 100644 --- a/config/yazi/keymap.toml +++ b/config/yazi/keymap.toml @@ -116,15 +116,15 @@ keymap = [ # Tabs {on = [ "t" ], run = "tab_create --current", desc = "Create a new tab using the current path"}, - {on = [ "1" ], run = "tab_switch 0", desc = "Switch to the first tab"}, - {on = [ "2" ], run = "tab_switch 1", desc = "Switch to the second tab"}, - {on = [ "3" ], run = "tab_switch 2", desc = "Switch to the third tab"}, - {on = [ "4" ], run = "tab_switch 3", desc = "Switch to the fourth tab"}, - {on = [ "5" ], run = "tab_switch 4", desc = "Switch to the fifth tab"}, - {on = [ "6" ], run = "tab_switch 5", desc = "Switch to the sixth tab"}, - {on = [ "7" ], run = "tab_switch 6", desc = "Switch to the seventh tab"}, - {on = [ "8" ], run = "tab_switch 7", desc = "Switch to the eighth tab"}, - {on = [ "9" ], run = "tab_switch 8", desc = "Switch to the ninth tab"}, + # {on = [ "1" ], run = "tab_switch 0", desc = "Switch to the first tab"}, + # {on = [ "2" ], run = "tab_switch 1", desc = "Switch to the second tab"}, + # {on = [ "3" ], run = "tab_switch 2", desc = "Switch to the third tab"}, + # {on = [ "4" ], run = "tab_switch 3", desc = "Switch to the fourth tab"}, + # {on = [ "5" ], run = "tab_switch 4", desc = "Switch to the fifth tab"}, + # {on = [ "6" ], run = "tab_switch 5", desc = "Switch to the sixth tab"}, + # {on = [ "7" ], run = "tab_switch 6", desc = "Switch to the seventh tab"}, + # {on = [ "8" ], run = "tab_switch 7", desc = "Switch to the eighth tab"}, + # {on = [ "9" ], run = "tab_switch 8", desc = "Switch to the ninth tab"}, {on = [ "[" ], run = "tab_switch -1 --relative", desc = "Switch to the previous tab"}, {on = [ "]" ], run = "tab_switch 1 --relative", desc = "Switch to the next tab"}, @@ -156,6 +156,8 @@ prepend_keymap = [ {on = [ "y" ], run = [ ''' shell 'fd -a "$1" | xclip -selection clipboard' --confirm ''', "yank" ], desc = "Yank the selected files"}, {on = [ "y" ], run = [ ''' shell 'fd -a "$1" | wl-copy' --confirm ''', "yank" ], desc = "Yank the selected files"}, {on = [ "b", "g" ], run = [ ''' shell 'setbg "$1"' --confirm ''' ], desc = "Set the background image"}, + # vidir + {on = "B", run = [ "escape --visual", "plugin --sync vidir" ], desc = "Bulk rename with vidir"}, # chmod {on = [ "c", "m" ], run = "plugin chmod", desc = "Chmod on selected files"}, # Archive @@ -169,23 +171,29 @@ prepend_keymap = [ # Dragon {on = [ "m", "a" ], run = ''' shell 'ripdrag -atk "$@"' --confirm ''', desc = "Drag and drop all"}, {on = [ "m", "i" ], run = ''' shell 'ripdrag -tk "$@"' --confirm ''', desc = "Drag and drop individual"}, - # vidir - {on = "B", run = 'vidir "$1"', desc = "Bulk rename"}, # Max Preview {on = "T", run = "plugin --sync max-preview", desc = "Maximize or restore preview"}, # Hide Preview {on = "", run = "plugin --sync hide-preview", desc = "Hide or show preview"}, # Relative motions - {on = [ "1" ], run = "plugin relative-motions -- 1", desc = "Move in relative steps"}, - {on = [ "2" ], run = "plugin relative-motions -- 2", desc = "Move in relative steps"}, - {on = [ "3" ], run = "plugin relative-motions -- 3", desc = "Move in relative steps"}, - {on = [ "4" ], run = "plugin relative-motions -- 4", desc = "Move in relative steps"}, - {on = [ "5" ], run = "plugin relative-motions -- 5", desc = "Move in relative steps"}, - {on = [ "6" ], run = "plugin relative-motions -- 6", desc = "Move in relative steps"}, - {on = [ "7" ], run = "plugin relative-motions -- 7", desc = "Move in relative steps"}, - {on = [ "8" ], run = "plugin relative-motions -- 8", desc = "Move in relative steps"}, - {on = [ "9" ], run = "plugin relative-motions -- 9", desc = "Move in relative steps"}, + {on = [ "1" ], run = "plugin relative-motions 1", desc = "Move in relative steps"}, + {on = [ "2" ], run = "plugin relative-motions 2", desc = "Move in relative steps"}, + {on = [ "3" ], run = "plugin relative-motions 3", desc = "Move in relative steps"}, + {on = [ "4" ], run = "plugin relative-motions 4", desc = "Move in relative steps"}, + {on = [ "5" ], run = "plugin relative-motions 5", desc = "Move in relative steps"}, + {on = [ "6" ], run = "plugin relative-motions 6", desc = "Move in relative steps"}, + {on = [ "7" ], run = "plugin relative-motions 7", desc = "Move in relative steps"}, + {on = [ "8" ], run = "plugin relative-motions 8", desc = "Move in relative steps"}, + {on = [ "9" ], run = "plugin relative-motions 9", desc = "Move in relative steps"}, {on = [ "c", "s" ], run = "plugin what-size", desc = "Calc size of selection or cwd"}, + {on = "M", run = "plugin mount", desc = "Mount"}, + {on = "F", run = "plugin smart-filter", desc = "Smart filter"}, + {on = "", run = "plugin diff", desc = "Diff the selected with the hovered file"}, + {on = [ "" ], run = "seek 5"}, + {on = [ "" ], run = "seek -5"}, + {on = [ "z", "h" ], run = "plugin time-travel --args=prev", desc = "Go to previous snapshot"}, + {on = [ "z", "l" ], run = "plugin time-travel --args=next", desc = "Go to next snapshot"}, + {on = [ "z", "e" ], run = "plugin time-travel --args=exit", desc = "Exit browsing snapshots"}, ] [tasks] diff --git a/config/yazi/package.toml b/config/yazi/package.toml index cc58e779..1ed266e3 100644 --- a/config/yazi/package.toml +++ b/config/yazi/package.toml @@ -1,23 +1,8 @@ -[[plugin.deps]] -use = "AnirudhG07/nbpreview" -rev = "bc573d5" -hash = "ab61298c387a63e781a87129f533883b" - -[[plugin.deps]] -use = "Reledia/glow" -rev = "2da96e3" -hash = "f9ee1436e3b853508d87f7d49dce56e6" - [[plugin.deps]] use = "Reledia/hexyl" rev = "016a09b" hash = "50da29476e744dba37d77fb209328fd1" -[[plugin.deps]] -use = "Sonico98/exifaudio" -rev = "7ff7141" -hash = "666ccba55119fba4c25b8ad354b2855c" - [[plugin.deps]] use = "dedukun/relative-motions" rev = "ce2e890" @@ -28,11 +13,6 @@ use = "hankertrix/augment-command" rev = "91ba6c5" hash = "6ac13898ec80c623e2d9ea90b947c86a" -[[plugin.deps]] -use = "imsi32/yatline" -rev = "2ecf715" -hash = "38e2ea4703ea606d4eef574e8e8b8fd7" - [[plugin.deps]] use = "kirasok/torrent-preview" rev = "4ca5996" @@ -50,18 +30,68 @@ hash = "6e789212eb41d937bab04877ca361099" [[plugin.deps]] use = "yazi-rs/plugins:git" -rev = "4b027c7" +rev = "864a021" hash = "e0ada736ea676c2bbb3ec705a49526ef" [[plugin.deps]] use = "yazi-rs/plugins:chmod" -rev = "4b027c7" +rev = "864a021" hash = "2f1053f89d1a301a648ab181d0948e38" [[plugin.deps]] use = "yazi-rs/plugins:full-border" -rev = "4b027c7" +rev = "864a021" hash = "1f3dad061209081a6b04dd6ff2cb06c7" +[[plugin.deps]] +use = "yazi-rs/plugins:mount" +rev = "864a021" +hash = "dd97eede8e20e59cd2604e8006e470e2" + +[[plugin.deps]] +use = "yazi-rs/plugins:smart-filter" +rev = "864a021" +hash = "f0c4b41b5d19a3144958383333eff6e7" + +[[plugin.deps]] +use = "yazi-rs/plugins:mime-ext" +rev = "864a021" +hash = "5e24c167e9ae9a203a48f2a438b8c705" + +[[plugin.deps]] +use = "yazi-rs/plugins:diff" +rev = "864a021" +hash = "7a08e303167d5b655c06da6d570f0333" + +[[plugin.deps]] +use = "AnirudhG07/rich-preview" +rev = "fdcf373" +hash = "bd1737dd44b202f412122e6a3b378d4c" + +[[plugin.deps]] +use = "macydnah/office" +rev = "d1e3e51" +hash = "35241f7d85abc5a0d2441020bc597ceb" + +[[plugin.deps]] +use = "boydaihungst/mediainfo" +rev = "9629b1e" +hash = "5204b4e2bd238c40fa66cf0a0191f084" + +[[plugin.deps]] +use = "iynaix/time-travel" +rev = "7e0179e" +hash = "69967963fba96295a07b68354fc91ea9" + +[[plugin.deps]] +use = "imsi32/yatline" +rev = "2ecf715" +hash = "38e2ea4703ea606d4eef574e8e8b8fd7" + +[[plugin.deps]] +use = "kristoferssolo/vidir" +rev = "54ef22b" +hash = "e3fe41820f43c3511be9846cc7bdf638" + [flavor] deps = [] diff --git a/config/yazi/plugins/exifaudio.yazi/LICENSE b/config/yazi/plugins/diff.yazi/LICENSE similarity index 97% rename from config/yazi/plugins/exifaudio.yazi/LICENSE rename to config/yazi/plugins/diff.yazi/LICENSE index 78aae84a..fb5b1d62 100644 --- a/config/yazi/plugins/exifaudio.yazi/LICENSE +++ b/config/yazi/plugins/diff.yazi/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Sonico98 +Copyright (c) 2023 yazi-rs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/config/yazi/plugins/diff.yazi/README.md b/config/yazi/plugins/diff.yazi/README.md new file mode 100644 index 00000000..54faeb37 --- /dev/null +++ b/config/yazi/plugins/diff.yazi/README.md @@ -0,0 +1,28 @@ +# diff.yazi + +Diff the selected file with the hovered file, create a living patch, and copy it to the clipboard. + +https://github.com/yazi-rs/plugins/assets/17523360/eff5e949-386a-44ea-82f9-4cb4a2c37aad + +## Installation + +```sh +ya pack -a yazi-rs/plugins:diff +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[manager.prepend_keymap]] +on = "" +run = "plugin diff" +desc = "Diff the selected with the hovered file" +``` + +Make sure the C + d key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/config/yazi/plugins/diff.yazi/main.lua b/config/yazi/plugins/diff.yazi/main.lua new file mode 100644 index 00000000..21dde6de --- /dev/null +++ b/config/yazi/plugins/diff.yazi/main.lua @@ -0,0 +1,41 @@ +--- @since 25.2.7 + +local function info(content) + return ya.notify { + title = "Diff", + content = content, + timeout = 5, + } +end + +local selected_url = ya.sync(function() + for _, u in pairs(cx.active.selected) do + return u + end +end) + +local hovered_url = ya.sync(function() + local h = cx.active.current.hovered + return h and h.url +end) + +return { + entry = function() + local a, b = selected_url(), hovered_url() + if not a then + return info("No file selected") + elseif not b then + return info("No file hovered") + end + + local output, err = Command("diff"):arg("-Naur"):arg(tostring(a)):arg(tostring(b)):output() + if not output then + return info("Failed to run diff, error: " .. err) + elseif output.stdout == "" then + return info("No differences found") + end + + ya.clipboard(output.stdout) + info("Diff copied to clipboard") + end, +} diff --git a/config/yazi/plugins/exifaudio.yazi/README.md b/config/yazi/plugins/exifaudio.yazi/README.md deleted file mode 100644 index e646d0c0..00000000 --- a/config/yazi/plugins/exifaudio.yazi/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# exifaudio.yazi - -Preview audio metadata and cover on [Yazi](https://github.com/sxyazi/yazi). - -![image](https://github.com/Sonico98/exifaudio.yazi/assets/61394886/53c1492c-9f05-4c80-a4e7-94fb36f35ca9) - -## Installation - -```sh -# Automatically with yazi 0.3.0 -ya pack -a "Sonico98/exifaudio" - -# Or manually under: -# Linux/macOS -git clone https://github.com/Sonico98/exifaudio.yazi.git ~/.config/yazi/plugins/exifaudio.yazi - -# Windows -git clone https://github.com/Sonico98/exifaudio.yazi.git %AppData%\yazi\config\plugins\exifaudio.yazi -``` - -## Usage - -Add the following to your `yazi.toml`: - -```toml -[plugin] -prepend_previewers = [ - { mime = "audio/*", run = "exifaudio"} -] -``` - -Make sure you have [exiftool](https://exiftool.org/) installed and in your `PATH`. - -Optional: if you have [mediainfo](https://mediaarea.net/en/MediaInfo) installed and in your `PATH`, it will be used instead for more accurate metadata. Exiftool is still required to display the cover. - -## Thanks - -Thanks to [sxyazi](https://github.com/sxyazi) for the PDF previewer code, on which this previewer is based on. diff --git a/config/yazi/plugins/exifaudio.yazi/main.lua b/config/yazi/plugins/exifaudio.yazi/main.lua deleted file mode 100644 index 60e024b6..00000000 --- a/config/yazi/plugins/exifaudio.yazi/main.lua +++ /dev/null @@ -1,237 +0,0 @@ -local M = {} - -function GetPath(str) - local sep = '/' - if ya.target_family() == "windows" then - sep = '\\' - end - return str:match("(.*"..sep..")") -end - -function Exiftool(...) - local child = Command("exiftool") - :args({ - "-q", "-q", "-S", "-Title", "-SortName", - "-TitleSort", "-TitleSortOrder", "-Artist", - "-SortArtist", "-ArtistSort", "-PerformerSortOrder", - "-Album", "-SortAlbum", "-AlbumSort", "-AlbumSortOrder", - "-AlbumArtist", "-SortAlbumArtist", "-AlbumArtistSort", - "-AlbumArtistSortOrder", "-Genre", "-TrackNumber", - "-Year", "-Duration", "-SampleRate", - "-AudioSampleRate", "-AudioBitrate", "-AvgBitrate", - "-Channels", "-AudioChannels", tostring(...), - }) - :stdout(Command.PIPED) - :stderr(Command.NULL) - :spawn() - return child -end - -function Mediainfo(...) - local file, cache_dir = ... - local template = cache_dir.."mediainfo.txt" - local child = Command("mediainfo") - :args({ - "--Output=file://"..template, tostring(file) - }) - :stdout(Command.PIPED) - :stderr(Command.NULL) - :spawn() - return child -end - -function M:peek(job) - local cache = ya.file_cache(job) - if not cache then - return - end - - -- Get cache dir to find the mediainfo template file - local cache_dir = GetPath(tostring(cache)) - - -- Try mediainfo, otherwise use exiftool - local status, child = pcall(Mediainfo, job.file.url, cache_dir) - if not status or child == nil then - status, child = pcall(Exiftool, job.file.url) - if not status or child == nil then - local error = ui.Line { ui.Span("Make sure exiftool is installed and in your PATH") } - -- TODO)) Remove legacy method when v0.4 gets released - local function display_error_legacy() - local p = ui.Paragraph(job.area, { error }):wrap(ui.Paragraph.WRAP) - ya.preview_widgets(job, { p }) - end - local function display_error() - local p = ui.Text(error):area(job.area):wrap(ui.Text.WRAP) - ya.preview_widgets(job, { p }) - end - if pcall(display_error) then else pcall(display_error_legacy) end - return - end - end - - local limit = job.area.h - local i, metadata = 0, {} - repeat - local next, event = child:read_line() - if event == 1 then - return self:fallback_to_builtin() - elseif event ~= 0 then - break - end - - i = i + 1 - if i > job.skip then - local m_title, m_tag = Prettify(next) - if m_title ~= "" and m_tag ~= "" then - local ti = ui.Span(m_title):bold() - local ta = ui.Span(m_tag) - table.insert(metadata, ui.Line{ti, ta}) - table.insert(metadata, ui.Line{}) - end - end - until i >= job.skip + limit - - -- TODO)) Remove legacy method when v0.4 gets released - local function display_metadata_legacy() - local p = ui.Paragraph(job.area, metadata):wrap(ui.Paragraph.WRAP) - ya.preview_widgets(job, { p }) - end - local function display_metadata() - local p = ui.Text(metadata):area(job.area):wrap(ui.Text.WRAP) - ya.preview_widgets(job, { p }) - end - if pcall(display_metadata) then else pcall(display_metadata_legacy) end - - local cover_width = job.area.w / 2 - 5 - local cover_height = (job.area.h / 4) + 3 - - local bottom_right = ui.Rect { - x = job.area.right - cover_width, - y = job.area.bottom - cover_height, - w = cover_width, - h = cover_height, - } - - if self:preload(job) == 1 then - ya.image_show(cache, bottom_right) - end -end - -function Prettify(metadata) - local substitutions = { - Sortname = "Sort Title:", - SortName = "Sort Title:", - TitleSort = "Sort Title:", - TitleSortOrder = "Sort Title:", - ArtistSort = "Sort Artist:", - SortArtist = "Sort Artist:", - Artist = "Artist:", - ARTIST = "Artist:", - PerformerSortOrder = "Sort Artist:", - SortAlbumArtist = "Sort Album Artist:", - AlbumArtistSortOrder = "Sort Album Artist:", - AlbumArtistSort = "Sort Album Artist:", - AlbumSortOrder = "Sort Album:", - AlbumSort = "Sort Album:", - SortAlbum = "Sort Album:", - Album = "Album:", - ALBUM = "Album:", - AlbumArtist = "Album Artist:", - Genre = "Genre:", - GENRE = "Genre:", - TrackNumber = "Track Number:", - Year = "Year:", - Duration = "Duration:", - AudioBitrate = "Bitrate:", - AvgBitrate = "Average Bitrate:", - AudioSampleRate = "Sample Rate:", - SampleRate = "Sample Rate:", - AudioChannels = "Channels:" - } - - for k, v in pairs(substitutions) do - metadata = metadata:gsub(tostring(k)..":", v, 1) - end - - -- Separate the tag title from the tag data - local t={} - for str in string.gmatch(metadata , "([^"..":".."]+)") do - if str ~= "\n" then - table.insert(t, str) - else - table.insert(t, nil) - end - end - - -- Add back semicolon to title, rejoin tag data if it happened to contain a semicolon - local title, tag_data = "", "" - if t[1] ~= nil then - title, tag_data = t[1]..":", table.concat(t, ":", 2) - end - return title, tag_data - -end - -function M:seek(job) - local h = cx.active.current.hovered - if h and h.url == job.file.url then - ya.manager_emit("peek", { - tostring(math.max(0, cx.active.preview.skip + job.units)), - only_if = tostring(job.file.url), - }) - end -end - -function M:preload(job) - local cache = ya.file_cache(job) - if not cache or fs.cha(cache) then - if not ya.__250127 then -- TODO: remove this - return 1 - end - return true - end - - local mediainfo_template = 'General;"\ -$if(%Track%,Title: %Track%,)\ -$if(%Track/Sort%,Sort Title: %Track/Sort%,)\ -$if(%Title/Sort%,Sort Title: %Title/Sort%,)\ -$if(%TITLESORT%,Sort Title: %TITLESORT%,)\ -$if(%Performer%,Artist: %Performer%,)\ -$if(%Performer/Sort%,Sort Artist: %Performer/Sort%,)\ -$if(%ARTISTSORT%,Sort Artist: %ARTISTSORT%,)\ -$if(%Album%,Album: %Album%,)\ -$if(%Album/Sort%,Sort Album: %Album/Sort%)\ -$if(%ALBUMSORT%,Sort Album: %ALBUMSORT%)\ -$if(%Album/Performer%,Album Artist: %Album/Performer%)\ -$if(%Album/Performer/Sort%,Sort Album Artist: %Album/Performer/Sort%)\ -$if(%Genre%,Genre: %Genre%)\ -$if(%Track/Position%,Track Number: %Track/Position%)\ -$if(%Recorded_Date%,Year: %Recorded_Date%)\ -$if(%Duration/String%,Duration: %Duration/String%)\ -$if(%BitRate/String%,Bitrate: %BitRate/String%)\ -"\ -Audio;"Sample Rate: %SamplingRate%\ -Channels: %Channel(s)%"\ -' - - -- Write the mediainfo template file into yazi's cache dir - local cache_dir = GetPath(tostring(cache)) - fs.write(Url(cache_dir.."mediainfo.txt"), mediainfo_template) - - local output = Command("exiftool") - :args({ "-b", "-CoverArt", "-Picture", tostring(job.file.url) }) - :stdout(Command.PIPED) - :stderr(Command.PIPED) - :output() - - if not output then - if not ya.__250127 then -- TODO: remove this - return 0 - end - return true, Err("Couldn't extract cover art, error: %s", err) - end - - return fs.write(cache, output.stdout) and true or false -end - -return M diff --git a/config/yazi/plugins/glow.yazi/LICENSE b/config/yazi/plugins/glow.yazi/LICENSE deleted file mode 100644 index de882e53..00000000 --- a/config/yazi/plugins/glow.yazi/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright © 2024 Reledia - -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/config/yazi/plugins/glow.yazi/README.md b/config/yazi/plugins/glow.yazi/README.md deleted file mode 100644 index ba66ae77..00000000 --- a/config/yazi/plugins/glow.yazi/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# glow.yazi - -Plugin for [Yazi](https://github.com/sxyazi/yazi) to preview markdown files with [glow](https://github.com/charmbracelet/glow). To install, run the below mentioned command: - -```bash -ya pack -a Reledia/glow -``` - -then include it in your `yazi.toml` to use: - -```toml -[plugin] -prepend_previewers = [ - { name = "*.md", run = "glow" }, -] -``` - -Make sure you have [glow](https://github.com/charmbracelet/glow) installed, and can be found in `PATH`. - -## Feature - -+ You can modify line wrap in `main.lua`, the current value is 55. -+ You can press `ctrl+e` to scroll up and `ctrl+y` to scroll down the readme file in preview panel in yazi: (add this to `keymap.toml`) -```toml -prepend_keymap = [ - # glow.yazi - { on = [""], run = "seek 5" }, - { on = [""], run = "seek -5" }, -] -``` diff --git a/config/yazi/plugins/glow.yazi/main.lua b/config/yazi/plugins/glow.yazi/main.lua deleted file mode 100644 index 8883feb4..00000000 --- a/config/yazi/plugins/glow.yazi/main.lua +++ /dev/null @@ -1,64 +0,0 @@ -local M = {} - -function M:peek(job) - -- Set a fixed width of 50 characters for the preview - local preview_width = 55 - - local child = Command("glow") - :args({ - "--style", - "dark", - "--width", - tostring(preview_width), -- Use fixed width instead of job.area.w - tostring(job.file.url), - }) - :env("CLICOLOR_FORCE", "1") - :stdout(Command.PIPED) - :stderr(Command.PIPED) - :spawn() - - if not child then - return require("code").peek(job) - end - - local limit = job.area.h - local i, lines = 0, "" - repeat - local next, event = child:read_line() - if event == 1 then - return require("code").peek(job) - elseif event ~= 0 then - break - end - - i = i + 1 - if i > job.skip then - lines = lines .. next - end - until i >= job.skip + limit - - child:start_kill() - if job.skip > 0 and i < job.skip + limit then - ya.mgr_emit("peek", { - tostring(math.max(0, i - limit)), - only_if = job.file.url, - upper_bound = true - }) - else - lines = lines:gsub("\t", string.rep(" ", rt.preview.tab_size)) - ya.preview_widgets(job, { ui.Text.parse(lines):area(job.area) }) - end -end - -function M:seek(job) - local h = cx.active.current.hovered - if not h or h.url ~= job.file.url then - return - end - ya.mgr_emit('peek', { - math.max(0, cx.active.preview.skip + job.units), - only_if = job.file.url, - }) -end - -return M diff --git a/config/yazi/plugins/mediainfo.yazi/LICENSE b/config/yazi/plugins/mediainfo.yazi/LICENSE new file mode 100644 index 00000000..0399f1c2 --- /dev/null +++ b/config/yazi/plugins/mediainfo.yazi/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2024 Lauri Niskanen + +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/config/yazi/plugins/mediainfo.yazi/README.md b/config/yazi/plugins/mediainfo.yazi/README.md new file mode 100644 index 00000000..71a2b942 --- /dev/null +++ b/config/yazi/plugins/mediainfo.yazi/README.md @@ -0,0 +1,98 @@ +# mediainfo.yazi + + + +- [mediainfo.yazi](#mediainfo-yazi) + - [Installation](#installation) + + +This is a Yazi plugin for previewing media files. The preview shows thumbnail +using `ffmpeg` if available and media metadata using `mediainfo`. + +> [!IMPORTANT] +> Minimum version: yazi v25.2.7. + +## Preview + +- Video + +![video](assets/2025-02-15-09-15-39.png) + +- Audio file with cover + +![audio_with_cover_picture](assets/2025-02-15-09-14-23.png) + +- Images + +![image](assets/2025-02-15-16-52-39.png) + +- Subtitle + +![subrip](assets/2025-02-15-16-51-11.png) + +- SVG+XML file doesn't have useful information, so it only show the image preview. +- There are more extensions which are supported by mediainfo. Just add file's MIME type to `previewers`, `preloaders`. + +## Installation + +Install mediainfo CLI: + +- [https://mediaarea.net/en/MediaInfo/Download](https://mediaarea.net/en/MediaInfo/Download) +- Run this command in terminal to check if it's installed correctly: + + ```bash + mediainfo --version + ``` + +- If it output `Not found` then add it to your PATH environment variable. It's better to ask ChatGPT to help you (Prompt: `Add MediaInfo CLI to PATH environment variable in Windows`). + +Install + config this plugin: + +> [!IMPORTANT] +> `mediainfo` use video, image, svg, magick built-in plugins behind the scene to render preview image, song cover. +> So you can remove those 3 plugins from `preloaders` and `previewers` sections in `yazi.toml`. + +If you have cache problem, run this cmd, and follow the tips: `yazi --clear-cache` + +```bash +ya pack -a boydaihungst/mediainfo +``` + +Config folder for each OS: https://yazi-rs.github.io/docs/configuration/overview +Create `.../yazi/yazi.toml` and add: + +```toml +[plugin] + prepend_preloaders = [ + # Replace magick, image, video with mediainfo + { mime = "{audio,video,image}/*", run = "mediainfo" }, + { mime = "application/subrip", run = "mediainfo" }, + ] + prepend_previewers = [ + # Replace magick, image, video with mediainfo + { mime = "{audio,video,image}/*", run = "mediainfo"}, + { mime = "application/subrip", run = "mediainfo" }, + ] + # There are more extensions which are supported by mediainfo. + # Just add file's MIME type to `previewers`, `preloaders` above. + # https://mediaarea.net/en/MediaInfo/Support/Formats + +``` + +## Custom theme + +Using the same style with spotter +Read more: https://github.com/sxyazi/yazi/pull/2391 + +Edit or add `yazi/theme.toml`: + +```toml +[spot] +# Section header style. +# Example: Video, Text, Image,... with green color in preview images above +title = { fg = "green" } + +# Value style. +# Example: `Format: FLAC` with blue color in preview images above +tbl_col = { fg = "blue" } +``` diff --git a/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-09-14-23.png b/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-09-14-23.png new file mode 100644 index 0000000000000000000000000000000000000000..2b758d2acb82b07112322b4127f21c9f8c358f4f GIT binary patch literal 190390 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≫!zmy{yFe|5yScCt=haTyyHUU0pK(jbDKg}5=w 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%0AIeF)&%c!dF3YU*fM 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 literal 0 HcmV?d00001 diff --git a/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-09-15-39.png b/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-09-15-39.png new file mode 100644 index 0000000000000000000000000000000000000000..b24ade58ecf273e8ed3390c81bf4d615d62191b6 GIT binary patch literal 292784 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≈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 z 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�+719(G+bOXw_Gh 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

nAdPI1o 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%0DXC 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 Mu6wyu)jIHh01|C$g8%>k literal 0 HcmV?d00001 diff --git a/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-16-51-11.png b/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-16-51-11.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3279aa5572833dca26ee2a1e645dc7f876a778 GIT binary patch literal 30654 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 BSup?r literal 0 HcmV?d00001 diff --git a/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-16-52-39.png b/config/yazi/plugins/mediainfo.yazi/assets/2025-02-15-16-52-39.png new file mode 100644 index 0000000000000000000000000000000000000000..9e23c4105b6fd247afd2dc74945a29a906bf6bd4 GIT binary patch literal 266938 zcmV*6Ky$x|P)wn=d{P~~w$!~7k_9YJJ zxjnb%_S}BRny&x&*Z$Ri<(GfyKl$mO{+WHh`?3b~+@9NWdu~5uO>h4FXa3B;^p}72 zm%jC_pV{x8S?zOsZqMzx{S#=nd=|jJ_^1EWfB9E`^^gD4KX-rk;s-yV=l0y5+jILN zYftc50KfQ)zwqn7_A5X8bN|eX7cYOn1A1=H?YTX-AF}o|p9Sy>|NPJY*Zv+yzcy7<_xjnaktfl}&Wo>tW z0Eh@PQ&D#hhKQ&r!KMl_A|PUFqV+IHh=7Q20BR->ckjIeux2VkKt)AGRT*&{hp3W_ z2o+H^G9tp%L_}2ul7Ec|k}?_uDw^uKh#Y=w`>v|qYp5d9dp9+bB-QFIrgs109z^dw zB7#8@1O)jl6*V(}z4znj`Q2s)g28-D$CyFf-Q6*}Ao5)V0jOv&0A$skT+D6TKL6h5 zqOxsUKH%;E1PD?9QB@I0&6;E`*Sb?VarYkGbHJ+knTRME?mjmwks?(U5vsX6$s7rQ z-h1zTzq=<{dkTydmJdJp;PLVC@p1tm0{0N0wFVK89uX0$YGxph-a)plsYrMC?zPJ# zfM#Z`sc83p90y1>gGdhtA%s9w#8jIZ$=n^NwyhC3j>ADyg?A<;khxQ4YN8iha5-c) z5~f9;Nf-daJ;<#!t_@`!h=|L$r_?D7q*W{VKBEytNBB3D2l9^Siet!?|xh{wxg1Y2unCL+Bby>}69t&w!^t&O91 zZJdAScmDqS`P&byy^qg+_SyIT@?ZI@@#5pw?nJFtjvxUQs9>CEkc0prL?A&b1wcNW z+ZaSqi>d+!h)8QqWHL>!%d?x`w%vzo*t?^*|PgE_%$+}Z@_Cz+llZ`l6VKxNO++Cw#b*lj^<6rSRSpEjhLNmI)qo<) z9MwF4lU0kV4aW}w#uK?>6g z%f9v_AOG&}{l0hqsh|4Eec#u={l)+EKmQ;8=Ks;Y_T%mDUZtugCVQHKYo!1z0&$4P z+K;K!rEJV+a!1WfRYS^zELXjYq>wE(_tRtWshc?10X3X&6?%riKbv0v$PS0zFE^J znAU?N)08^di+)9*_MsM2R)T_vggYpJil|UXL@j0aaK_*Qps1J{!^f%yaqt>b6{~v16PdL!ffIp8!OKl8>B+ zQ2@Gkk7%vs$%+VfkDv&^xS`$}(%_!BK0&r9rz?45*hzDtRNmJJh!h!!$gIn{ywua+ z%ReRen17vzD_`G{FcbuZ^k59;P&Jskxf3E#t6niUwfORuckoFaMG5F-re6pM*o`dNRY9$ zO@^^lJT`(+$84@Z4gYD|5GW{2AVMvomzovD;%l3Hu*+r2#Ysg{bp_Dc*0xIEcgwru1qJcrTCCdCucc%XUfF_t8zp+Nvc5QBtoQiD&mI-ZRs4%4JVTA~W`uiI&~A)&@S{Ie1xA4VEeF zCp}L@G5F?t-^N#?wTSrO!>@(=-}}3N`w#x$_x{HJ_&5Ij|KQL6$v^QYKKkgRPala7 zUmWi60B`6(CVwenRjp$-4nMBUkX+BWetYd-Qjdt3nW`o}c=EU*e&@kUj)uXA-&M=8 znB&;9eAvvU7Rg~$s%rG03`^$P2m&AwO8tHQRaKfb@1D?SvqoV=^zI^s8$b$fo8Ov0 zYYCFB6W5GL=9~mnDDAn1=kv)8>!09hdhtBl>(A`%c3zSPCK0w8ST3)KFya&;Z%Hx+ zd-P*tAT|0i5t0syBoi4_%0&wuhWywdNvk16SK1uzj^jc|Qfv-Q%HSEc4@<*X zcNuT7p7q1im`Ld%)mdU(?jGUe`Q*F=Vk~VGJ&5KOFpV=6)!Yx7swl|B$D;Z{qE?!{ zp(p`^7C6O3j<(J|oo|gFsb?(ht;2rX7{d)eu)9gy;Z&6yrQ{Uti&~K9izwF(OIb;v z_6hat%W6$T_I*#W|M>Xu`1t0#{LXj2{rew%>*xLcM-576Qd{bM6E~1$Cbc<*pc@bK7#07z~L4lASoo`o)P%^xh{ii3)ymM5R8_SlXGrWZd$xB#G+#<<07TNwJLfD%@AB%$n>JOuA;xLyVo|kZ zL6>IN`KRt(D8u##Fd!`vL1Ffj56%z*3}QO@k-)U9hI&yt&oMNqQ?$z5?}~^>hcZgQ zk~Fns-#1eCO2tS=&`{WIAau#CGW_6jxy&9SLZNE9>z;UM4j>;$HkuB74hRHDB}9X9 zrLlqn$+(DhV5M+Pq90n+K>t#$yxQP(vsT^h=9zT6t5p~S%SU&uFN>rVDQUU@017B5 z)(HeF07E66_))%)+CGBmy9f_5%vzxk!Leu~VnM`mKq@*8n2LCWhbPsJw+kr{B}$od zj|kcCR74degu)|-qGQEQuDTfElg8%KwboEZiMF=+(7{b@Fex$=)<=g8Fg1&1xZFgpbgW62kyefej}AGAj&da@7d|CwoFl zw>+qW=Y!#2H+FF}lk!gIb<4H&;JQ8OdlGc+w zG1z-ok+yAS_INzrEa;@v8h=#uSOJ&|W?d*mYumP+Ycj#ji6IE^mSvVsFL|rYZc&QS zP%i;dNofFqi6uJ@1{Swiy1^3$&hLkN?+1X^wj5G&=+j{$=kfv^0cK*f)IqxU2(~68 z%r0|gYQ1#C2-N8#1yE}cxchNApt6fdGc_edtf@g80H!ZX2(okXopfPG$iiLc2Blt> zc&?u2XPsCzi-_asqH3*~sYmU_3>g>^d;w5$zQc|tksc@0lXu^chl~B zZ)}_8S-`n!#r67exQ7fdY^soj!KW0D2p1J>%}9p#G&q4Y+9Q35Dk$FqfMU}DQHYo# z!bveR6$G73zO2m}5)iDTu8c5M5dAoY!NhXXM+FNJG37ghgSC{Cx6XeM2%)6sA?@_k zVH84-sj952%8Uq3H9n9JBZwK;6Cp%~f6_f8h3W(it%s?WnXX05@A-iai@Co4} zREAe1Kov`|5oGsGRnnzf2T7ai<;bYL0px*5=AuRq_l}aO1fgZ^=0x(P0l-uva`BaP zb^y$HN>fp2I%ycGpixCpzRSWoYhyfAr8Vux;qJEC>xYN?S1$-$E*Gc#xi&1WUvm`x8Rj5HEP6Lbx z*OXBnQnB6|5#d1@auH(Xw^1F@9jEp>_>ZUvrq+(Kd2TUad!vm_Taw;NF&1a^ORA!dyWF5oNT7LN{6lW*XE{r(i)xPxhZa#Yr zSJmccy!SxpVuYZQv}V&7pPeL=wT$Oy+2AJ<3TPeF%y*CkN|Qd2P7MGjjBpiF#)?&} zF9KAtlU+g;Lqha}!PIKqeYh`UPLtDN0!&n=Lbjy5F&V3qT3Hb|Q7(xLw@6Pnk|VEh z*#eSMGL|5rUmd!L_s)uD52X6Y8G1jp77>vdbRm-AleIp`ga!ytEn&%$m_Ci6T~-`d zEqF6klHEN>ZB11rL#0rTx!IYhCP(k6N4Yd>fASOj=G{ zd1a;=z7p*;Z8`ipCp#Kkd!cYC0AY^ntI^&KVURi;U+LD>h75hp`ui-P{7)oT*rj#!0D3SKq$_r zy}?V$KGNm$DS^+!`oyA=LF!O;^qkQ;h9|#@)2*H6HL?dC-X}&tc+=Zhs}cYypG=G( zoe?gg3_5*29HhIK;h&7@WO`B(Zb`kniq@=yoYp&lOjZz;RBVwxH)5o;ar`F&fC~&F z!zoZZ0u_~Dc<&Ju(W5`KZ96UpUI~HLwx9U1Z@l^9vu$f%eDOvE``s4a69Oj5L?;<( zyO>C*FxWE}!aE7oclyWAb$?coH(&rRVuPt&;!+;5%f&FM%DY@XkBAEv5{5^N&xJcVCE`#$UEqtbcYg<010D9OM8 zBy&V6quXh_&b|SGY1_B`@$vD^n>VUzt-X5n%2Zpk|L6byzkd2Be*Ay?TYu+gzV%Oi z`rXfjFtg7-`*h#8Qp7%qnI!ye9+7W10z?TE6942Z91kL#wrxnv*DG zcvDCe6CO-3onTUS-CID}6&cqjm_#@xE9-fgo`WR`=lF-QB(L$jOyNaKrv?nA#f9Ghl4VatHD51-)X~UCAtwOnJU*&SJ`y!Cx3dp-zkNZ6UEr<8>nSMilE=M6m#fnZKZk<*#37S*61~ zWu>BLc9TFBC2?$4dH)N5MyX&9K+MeDMCr5EJ=1W7spn3boQB%EO;owks z4FH!wpxK^Ltr7xAL`R$q(k#Vu_=s+v`Hpj3D>$&sWz1rn%60rQ)ZXfW=OWDGKat6C zLSsGtiqw%FOp-T`6%M5We^@IWu7U01;hg?BIo^a3PgXvum6$z2ySev6tRyfCs z8pN2zV6wr$DqsXUiogv(fRrG#*l~Iid8N7V6ug4Mb5#cPhOz|V-M4*z)hsFM+n;=5 zrmtSU+V)N4B_ho9;o*%2RAsXk(a)_>B|Sr<{Mzu8k()O^Tz{5v^dv=2Dk>vm9Evmu zGAC`(vE;O?Ww7{qk@zI5m47BQ$B2sO!=PAwI`1}vNsD4L$U#Qh!b~w&6|zzQKzaZ+ z)J7S`D+Ex|fh=$#B7{UDJ(@KRBD{C@<2-;1walSj>(^J>tBe4omH)0sa%HdcEpz$i zv9)GV*hMX{yMyoCv>$wXC!d{DJr5^Aa@#f;Vd}XzXI#V+S{4_|T-peP> zA3?d|r?Vw{V%*MfiNP2aY~sSIQ5ab&K~ZY+^ywF)P5Fcw2sPg&%T~^lea<=~D{EKA z!&8lllk`sl$X5?ed{#~vX>9pqa{1E_cV#J`&kV+N?m{p`bOJaYE}ooM%&eu)TlF~l z*T4SJcfR`xiPx`Rdq3{B?YLa-@Al*2F+9wS?&ZqMC<_50749|A#;FIS6Jmx)kFgFh z@Ghr;REAqdnik(AdB!kv`3Z8w*wp?E6D?)v5*;!Y3W@4uD)Q)r5wZFV)$3n)~lsBIi6dZ^|egvCwLo9^|P8PO-Db z@sZb)U%ZWGRUI)#M!=Ipn(P=8q8iL(rMZ<6500r2uyY3SXG9cdhI`5Rt32Hi-ZvD$ zHFvFUbku#&&3ff!WEa|8}G2$7+P5=l*qJmRtoviolq)=3Z1_GDI z3xLaUY+G~h_xl~m`}_Ovy!isHxgRg?wy<)~hX)v$ynyq~fs9ar#E8S6=GqOhEl|hP z>z~8q0F*4va0XcgKZ^+C49O7Fvc{e~swBBUf+skB&|JWUo{_Pd#xnW&=o z%%V>87D&9JB!o`D^{m3BDhOyLu&P$XK``SBX2~akXlwaasc)VF;3oQL&Tha^xP=bJ zH>Y{Z$gt|Gsxiek0Lb*Np8*N$IsNLick@|~Dc*;+1ra@tOL$~(Qg|2D$a&!x#!cLoET#omxyBNY-BUroPfrt$+Aa7_8sG2*(&@SZp$)7q(U zd?ee2WR6Ti4M5uL#ZvPyfD!ek0c&tN-&Mlb+8Ka?Rl{jGMnT1rgFvbXRN~AM$RiO` z0gUwhdyk-o>xinF(i<}lW(5;b>g1IbfBg&=Do-X?O6ro5z+qlMW#}Ckfd|R*Clk)S zoRocT4T|9c(7@@^Dq>)L5FQvYEkif2foI4qGp|46uU!b-?fbTGuiw0R_3G6ZuV1%) zyT8Bt=<6Rny!qnc;o*Z1UVZWT7caIQBzm-cKQ50aCNZK=V(ef}DbvalCv~4Xl;E6B zR>B>@R;L0+AOnCQ35KZT8BtX^wk7@0x-f&#Y`jm0v!WmUntO|%305Bq=2ed3!cU&S^6*6Qh zI6A`THZu|J?9rVJ8UaZ+T#7|eF>S(#!y)o;T-x65U+nQnG5Pq%e)MvA?3V{qTrQ9M z)||a^=c4bM`lyhol}e!unn{E+B8xPV4Da51rWEkXlpf%wuuSz5=2f&tg~)2DEQX@0 z&@Cckxd@1=k(#S611La*ineBTOx!CR`K%UC0qLnHnrKNfQGq5LSv8n2xMwaM$*fix z^vfkf-Bq=*O3f%rvq+0jT$xX#rW(;x#wpm88Qn#8kr2y3SXUvMLc+mLr;x_hwsYje z)fuA}_%c)g2nH{QDphrOtf~rPT4pkWaAfGbB)uObQ%@)99wtz0gbS!DrUEdlP~AAk zzTEasKHIi7A?hTx&cJXta|uowYH2OyEPzm$mny_?f?cOUeJ1d&R=&^Hc57{-azLT9Q=cv7NO5>*%nCah zQ=(bjV^*jjj?0mH?6$S6ix?wBWTy6W=%i{EU_XxE{LSC|k&nLq)8G2mr=NcJlTSX` z+s4%5q7szz{~QBYPfC#CqLZ@N%S0H%B$aS(#3Z5lGkZ%K z>c>U35-Bw^{-XHBWI}Uo$qIR$eR83kC!4GoIb}*0g9T+3Q)YRCIlEYzIk;@s^0wby+bp5we{3KN@^C zr#Z<>XQrAqOSH%!wg9Qae_)ZA(`e+#^lARMwMMuO$m6U_EzNGoP{E zd-jawAPowVY2!0(^C3ULaxr=D9Ex^7dNN!pkZIkck`4w>DQ-^8Y7D8+%@@uwSZm2w zh?FkOD}_|soE-oJm^JP5aL!kq{I)RGgkQ|8!sc?{Ns}sh<>9^eX3checzCQ@UriES zj)6F5ddazcj9`55!G|wCc=_Vh%a4EbM?e1f6$m)z8a^Q-OECDcs?8oBBJOWalbO4jdb+Jia}&SASh32(B>b9Gwt`EPoqh(4(A(1gvsWipetLZM96Uw_0w~RJ_)S zpYL7JZW*~@GMt=9rK->dp6izVi`usNSt2LSsELsj77;UQ|Bps}g9xA6{*_=E0RfY% z4(@i_gOtDiDzcR)rGVG6v4}FLt*Wl%fxo}M7nSHPN+Ew<&0D6Rs zd%z~An=d-gz#N8DDOFB%dE{Bf;)qBF2UKvxD#2T7lm7*Mp3C2LDE=(5GbG!!`<}x7oUIk zd!O~*FURp)zxCUneebgmKm5QS9!11Ns47Dr7jUg*!&1&7B2=$*&(kbW&2r-q@#u5o za*{XN+{g#Hs^>igYTH_-P{+u5$p=cLaR5F82p$;C8P$}}dz@tfq?8$v>ni(ix1rRZ z`15VTaH2~kYvL(10L2a$KM*`X&*K2i3WO!qj7&DJ;~0z7LXXJ%eR z$azdKav(;5h+$-{FBK8@ju9P{CCpPne%Jc^;M;rh!L9@{fjp@Zefhk~cV&@4UI*%z zxL$1A^G_%vZ+^}pxIKa%+qRLsTrRD(m#c|^ z@^0H=37$COt$t~ns1TzgmL2d?FP z`s2ou$%uH(FJVMt$zYc(^C)>`)oTX`o@GrEC(je(5kqNBftd6jI%?6~@Y#V0O`3UY zz;CrtJYekcX<43hCyNnTp!txOnTI{XhgQ6VqY%Q=t$Sbblk;$mEtr@v1|}9G@{HuH zm!Brc95{!+I~acPiM^7i!Ey8>4=I4-xTKHdj|QKeVCWRcIdvNt>x!1D>TwiHx}{(a zYiDUJaXWMY9UNik9Hv>l%}JV89?M#iu?WF~WNgM+3~Z{3LmNG*t(Px;aT&EFZq;FL4iHywCCHofFSYA$lRt%VbN`aIq1xP940Z3NY zmv(}QH9`r(=LVH(Fm|!xKXM`^Bh0pO(`o_JrS+MZiRM*{!BY@m+;%rTkrBb5ZFTol z<_7}BAe&iMKJ3Tg-2t?%-R*a&)@E6ZsOzc%q=`UBpcO})h{w_U>xVZlU%e8M`@6el z?bVByLiwHF`kfCycsbNqNT!JbP;oz2f}9ZlT>mL_P(nAUvLcJ;!cN8~i&2c^T$AZm zNJ3%)k){}iRX2z*5(tk`i@M^@uWQ{+$`p~-uFGi>OK|QxTT*v!F)Aix;&Lk!OrRbF zLLe$c6@8~Wd+u%e!3wmM_b}SGnExc^e;NxF2Q(scr-JQ zNY)uApUhA%c|4A!^BAzBX8vxR@e)(}STBQF4op&>Pj6M;N;L8NWCUr$CQRub$slsd z3JJM7AsETK^Qd3R_N%2}%<`{82cBdUK?RHW-1C68t;qlZqn}~O>H0WTl`8uJ!zmY$6URVE(C`qp5W}Y2ssV&jAUrmYTsL{L@$># zO(Ft$h3%S80Z`et*7gm=ix)4Bhs%YJukK&8)-<9Ym6DWj%b+KYEUL4xLkXKe3i(!CBuAcF+b!N(pRbX_i~oo|nbcQINU;X}9%cg0(5WO+s- zymy~w)A~lN5|L0H5eN{`E99iL=H4%dXUV{Q-%)PPuS$DQ{A|aP%wEh85`HB7k?fP> zc!)@Abxm91S{!!@fJ_8x2v-atT5V8No(?85Cavw;cDWo64-Z-2t8Hx}t@GT9NIxDY zY&r+rT4SfMZVBYDHRg88`c@GLcH6OBZq6~<3Yfa8;jZuU#<}_;{ofsgQ ztZFa;0vVJTAj4fmD2l9Thni%56T@TM*+E)str;L7eE~NBG)U&|kOiWU4DSMI%T5xQE9_GRB1w7z-udGX@sT+O}=U zS-N+LOknFZ8kHuEL1%a#=H$UyZZCv{sl9&v`s-i+`orrtufO=BsnY#xAAarO@l7p# z06u`&k$@oS#+(5sBBoaYZ^Xf%ZF~A)=K;=Li<{CpRRI7QN+Z; z!?Tc`HiWD+%#3LndMl>BoSPppDh&@fd<;8ppt(7=nMfE~iR@b8U`#-Gx-?R^HI%lV&VmP#-*x>ryvY07Qjs_0QTyWr?rawnL?=htUy2Hhj(08Tq+-OrPU%Gn;bV} zo7vs{)_XrL2R7{cUM9%*yP)g`+1?%3RblyM%VU@rDzujM4-XI`MDVygT57U!sjv`W zl*A0qdu4FC0w4gDB)#{8M9C`vV3=w6aU2hcmLe2_hs(ph@5wYDA0Gki`@Zjc_%S)= zwDNlIh6>}oTrP87Gj@baS(!WxJ-Xz@4I>gTf=vs!MB4!P(UEm^A&fB5=;JC-RoTi; zPZ6EcH37{0@21)FOv{lbBBJ|tU&H7GT+1R=PK>FC2=27lv|rq-u(aH1E93g{=qg$% zNtAh!n*sutEGU&+@Z=iiVSwaCc0pm*1Rw($I%%p~GgYPg(O-Y?@zmtYP|8Rlyj! zDxhW{Ea)EI1CY9`*BPCvS>CAhTmcNCYEY9HL7=UfS|)4UwJoLsBITQ9^l)zbJ<_#7{k^KrdeH8X zMS}Ky&$z(jILs`8{)|p(+m?N(>b`Hi_ifvfGn}r=uaG+X-uknXQu2dbL^Une>th2{ znrOnQZ+D}3E5M?*zLdBj^olu3g==Y<5;o9Ml}5JK)GWdi*4ehLZA~7YSkWZ#CzpCs z!>UsNRla2E8fEnlT=nT!M2z^*$lM!igD;O)%$JH?UC)lOyf=YHYzMj#LTI-WUTgWU`x+vDS7_YMv_aa;){(^a(20u?Zq6~0pt zP7fWK*J`Y#bCN?=ut9_)#OVosW+xFcpq0W##IBMu(^X;?+hz(VH6-$9;u~2@sM1xS zI%@TkU99pMM5-ct>5!ZkJa8;I*Oh#dJZ^r;U5lX;aBX-O^ttYR?VS`RR%cX3*`0L} zX23y0x32S9f*+fsR2!b?XOv}`on%YTY+;vqLX(DrHfkH=8cH{a5bREdrk)XuqqpIU zKke+?y)%#YYQ=SlubP|=K&Et&BY!NXX7A*)vo{f8(8B>3O-$|D+a?30jefFSEJXH1 ztY0PXoS;?xl5nVwvVnQ#%Z~^ORt4paeaKH&t7P&|>;lWkhAng)-G9Mxit48ADR#filDrqg0S)z!P!aEBB6V zD$*VMu2~D>B+=T10A;BcA)_K=g_V`nu)IR9-f^?D>j38R%E;bc|3p?1`nN~!zSQU) zFICl1(r!kkoS^MohJnnMxuy_Nb@x{`d225Y`L^Q9dmUt0?H zoQFrGZJT$W6~QqAY@6Ov_NgP_>I~26tRt+kod44-xHY)I6Q0dEda2_qTtUd$j&CX8pub#X$3}-&LqWZqv3k0UzT{{xi{o zk$u}Cw^{<$`F{o4|L?1JeH_c_QUuOodhcl*nNgFB5{)I95r5?|AChf77{&7TEj11d z5S>6os9Fa6A>CZ4ydnsB6Oj(!Hk3jt0$L?Jyq^I*946S?J)pihqa%wx^05=wTOtjz zt8L8)NX05|=EaM)M0eynCNIN0 zCyV(u562uv^oVc}2<0r@q-nhC1ma8d&e$oz1gs-^Ff=ezO6x`^h(HkZ@UkLFn6@gd zK&P|PoyF8DR@Z~q#jDO09yu4l)lc^@RcppzA2{rQK?Y%;!WvMDC~^Ci@vgB2*Gxp- zt>wMlZd8Hw^ZBB4ze}iIr=?wu4eRG3XsSv*-1mL=%kjnK*zR|^UaqXf@e3%ky4{be2h`r#T{hgIOQEYI=$l%NP!se2Ki%W)h47|~j*dK802 zq@|Qa*}lr{z4z8UWlp+>RQlir<7I^QAHBf4Kosv z`R=RtN)<=G;mabDAz7Mt3l`Q{Sy8FS4`yG%6-l(RB*GyB59%gn7;x$R;=b*hiEO}! zAHFj3@y!D-kER+C$HN;08&5Zhk(1t3@oP<3Y_-4xAcK>UJu! zE$*)vyf(9zuSZy<^wnwKhtJ|Epf+ta;4HNI1cR83>v!|(WtJw(#@sNba(b4n6dkZ; z1j!U@)$3bnIXA~!hC1{1*yfWu3~gq0A{0#Irm#X+Z^qx zP}heGJ1zJnSBjOJbTjy|NvQi>26jPGLCXwfW~OWbb0sx{7>H+W-?%kA|C?q3D!2?J zR76L88xp#iyRb}(^1+z3h)gj)Px?d=*R6RwS^G_!UmpZ0BQ=X;W;fP2Wsv##sE7!n+zcoJix9w%F2H8(c)WD? z&9-=RF|(b7G!2jA_;9;_^}(y(|NIZ1B>OqG^_M4~S;=)hP@^c9WWl=|LvZcE%uMxB zZH9$RWL8A{$jA-j5;Oj;F@L%3`}0{`v)VK((;*K)MALorBsdGek3K_CXA_Zr^y6}v zO*2*qx(5=6b)N?#M(m;KsgcD<0Wh_SKe|PNPBZIf4^qvMMOn_K6@bFo+uYG7_b&&Q z=?wY1P;9dk_`5DGHkW9nIh5LR1?f)jMjHh>S6yH_zZ5dBI3p^Yi*jCRkwlqkS}Pi} zviN*vj`LmnI8T&{My88)X6UqvS_|q)Fu*i$WwVwACnLh6d!Qq)5+P3X(-|OutMtr$kvWJK`jzdJO+1n%esCGAuy*mWf42;L)0pzxA`-{8Wq@&Z!?qBWUa-Kr~WQ?F_GgGtV zOu@X}q|C8=VB0n`BjCN~6$mr)t;|^Oh`8IT@GJ$M{o%N%>b~#$ z%a`3B;1Z;3ko0hnN`oJXFi_Yd6af`e>-{3&-JV$t;eH|63}&dp8^E|7*m+4jgb|T( z9w`*lhP^yInre{IyP7qtl166Yy=R`WC4duTgo&3Kzz}CE=8aK_K>`zm7KoU(Ogn}^ zRiKT4M`(npscqCu*Q@_X2HB1j8vr8Wq>Ao)18`@?{^0TW%IM<$=F_Gk9t=N1L}0J( zNxp{f`wLzpp(Ft7{SnuiWB#scDESkJNYP4U0WI51Y3fyL)Jdqc-PGOva^yhMj#Egp ztsz~u+TE?SZQGjZ#QODqP`k@BOlAUc*<0@CceDz|5JNrdAS}shWyM1T%{vw5Y2oYEl5|HpX0En=z zO&NN9Zi}jA@}R1+E})npA0GVxpulblQ-bt<@ndV2jxJ`&n_lF{(pYf-E$QNZ%o@&!ac*zmqkmSv-lO$u*t6t_oAxG$eA8Ga$!40@keCQF!BoU0lRQ8V_Ykut zDtVh>u&G#HRKe_uc@;p4kYG?k>P8DSQQE1?Ow-=XcsZ<@sitaN#$bgEBSYeoC^C*C zt4B3af*u~DN{gw*C~*Y{I34}M@VeDEc@F_(k@Bipk?<_Ro=&!{WrA}CV^|e9)=CUX zH{jxpNoezGD@7!W5Jr`Km?mvXeZdH7;JAXu$3>RF%rcnl(^MeMn3X)??tze0uCD`2 z@|SCrf%Rhs)lU3(j5mT934iOM<+yA#2R0?jZ~%zNNM#mO5XH*$^Y!FNEzwzXZhXvU zSC#zcL`K}*JmNCv#Y#ZGnPr~A+K~~YH8H?609++YfQR>sz{#nQkqjnoD^uVN#coM? z|0=Zi;j@zq;ELbXd6QA{Cm|t$jR~IHmhvZm!O$GD2G*HfGmkP)7sOzL96+%^>J(vd zGK^6zmDmU5>h8L@M8-r;$=v%f;{-5BVG`)%!o@!M_DjW7)vDw|G8N?gm85KqS!-@V z=yO!9wQbv8ynG>$*RNmaS$cT$+C3s%GpB0=ub?hT%z4jOBXO9yI|D;jAvFSmW~$}E zAsGrbfim*&h5(gRPCu9kKvN5g2xpJOFPm-#VJ0bv1VbT8+^Gpv^Zr=Ty0jvx9~nr( zdDgV>{Bkb=b@`%_rf8y_mD3@JyziS}8t?i4DCZGWL`{z#ad`J0u4dL$Y`0OwwsZp_ z(tOTJ#c54vVxLEZ=h>{g)QX}2QIQblmu2B~G8cJl%GeA5S^IGsagn(p7z}ahxfr*3 zi(pCnp0qJ@&nozMkYiTpnRFk6gQXn8!s+H|n$$j_b{S%0Dw=ZoC}lEWE&#ELXxnD5 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 job.skip then + table.insert(lines, line) + end + if (last_line + line_height) >= job.skip + max_lines then + last_line = job.skip + max_lines + break + end + last_line = last_line + line_height + end + end + end + local mediainfo_height = math.min(max_lines, last_line) + + if (job.skip > 0 and #lines == 0) and (not is_video or (is_video and job.skip >= 90)) then + ya.manager_emit("peek", { math.max(0, job.skip - max_lines), only_if = job.file.url, upper_bound = false }) + return + end + local rendered_img_rect = cache_img_url + and ya.image_show( + cache_img_url, + ui.Rect({ + x = job.area.x, + y = job.area.y, + w = job.area.w, + h = job.area.h - mediainfo_height, + }) + ) + or nil + local image_height = rendered_img_rect and rendered_img_rect.h or 0 + + ya.preview_widgets(job, { + ui.Text(lines) + :area(ui.Rect({ + x = job.area.x, + y = job.area.y + image_height, + w = job.area.w, + h = job.area.h - image_height, + })) + :wrap(is_wrap and ui.Text.WRAP or ui.Text.WRAP_NO), + }) +end + +function M:seek(job) + local h = cx.active.current.hovered + if h and h.url == job.file.url then + local step = ya.clamp(-10, job.units, 10) + ya.manager_emit("peek", { + math.max(0, cx.active.preview.skip + job.units), + only_if = job.file.url, + }) + end +end + +function M:preload(job) + local cache_img_url_no_skip = ya.file_cache({ file = job.file, skip = 0 }) + local cache_img_url_no_skip_cha = cache_img_url_no_skip and fs.cha(cache_img_url_no_skip) + if not cache_img_url_no_skip then + return true + end + local cache_mediainfo_url = Url(tostring(cache_img_url_no_skip) .. suffix) + local err_msg = "" + -- seekable mimetype + if job.mime and string.find(job.mime, "^video/") then + local video = require("video") + local cache_img_status, video_preload_err = video:preload({ file = job.file, skip = math.min(90, job.skip) }) + if not cache_img_status and video_preload_err then + err_msg = err_msg + .. string.format("Failed to start `%s`, Do you have `%s` installed?\n", "ffmpeg", "ffmpeg") + end + end + -- none-seekable mimetype + if cache_img_url_no_skip and (not cache_img_url_no_skip_cha or cache_img_url_no_skip_cha.len <= 0) then + -- audio + if job.mime and string.find(job.mime, "^audio/") then + local qv = 31 - math.floor((rt and rt.preview or PREVIEW).image_quality * 0.3) + local status, _ = Command("ffmpeg"):args({ + "-v", + "quiet", + "-threads", + 1, + "-hwaccel", + "auto", + "-skip_frame", + "nokey", + "-an", + "-sn", + "-dn", + "-i", + tostring(job.file.url), + "-vframes", + 1, + "-q:v", + qv, + "-vf", + string.format( + "scale=-1:'min(%d,ih)':flags=fast_bilinear", + (rt and rt.preview or PREVIEW).max_height / 2 + ), + "-f", + "image2", + "-y", + tostring(cache_img_url_no_skip), + }):status() + + -- NOTE: Ignore this err msg because some audio types doesn't have cover image + -- + -- if not status or not status.success then + -- err_msg = err_msg + -- .. string.format("Failed to start `%s`, Do you have `%s` installed?\n", "ffmpeg", "ffmpeg") + -- end + + -- image + elseif job.mime and string.find(job.mime, "^image/") then + local svg_plugin_ok, svg_plugin = pcall(require, "svg") + local mime = job.mime:match(".*/(.*)$") + + local image = magick_image_mimes[mime] + and ((mime == "svg+xml" and svg_plugin_ok) and svg_plugin or require("magick")) + or require("image") + local no_skip_job = { skip = 0, file = job.file } + -- image = ya.dict_merge(image, no_skip_job) + local cache_img_status, image_preload_err = image:preload(no_skip_job) + if not cache_img_status and image_preload_err then + err_msg = err_msg .. "Failed to cache image , check cache folder permissions\n" + end + end + end + + local cache_mediainfo_cha = fs.cha(cache_mediainfo_url) + if cache_mediainfo_cha and not job.args.force_reload_mediainfo then + return true + end + local cmd = "mediainfo" + local output, err = Command(cmd):args({ tostring(job.file.url) }):stdout(Command.PIPED):output() + if err then + err_msg = err_msg .. string.format("Failed to start `%s`, Do you have `%s` installed?\n", cmd, cmd) + end + return fs.write( + cache_mediainfo_url, + (err_msg ~= "" and "Error: " .. err_msg or "") .. (output and output.stdout or "") + ) +end + +return M diff --git a/config/yazi/plugins/mime-ext.yazi/LICENSE b/config/yazi/plugins/mime-ext.yazi/LICENSE new file mode 100644 index 00000000..fb5b1d62 --- /dev/null +++ b/config/yazi/plugins/mime-ext.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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/config/yazi/plugins/mime-ext.yazi/README.md b/config/yazi/plugins/mime-ext.yazi/README.md new file mode 100644 index 00000000..e7715765 --- /dev/null +++ b/config/yazi/plugins/mime-ext.yazi/README.md @@ -0,0 +1,56 @@ +# mime-ext.yazi + +A mime-type provider based on a file extension database, replacing the [builtin `file(1)`](https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/plugins/mime.lua) to speed up mime-type retrieval at the expense of accuracy. + +See https://yazi-rs.github.io/docs/tips#make-yazi-even-faster for more information. + +## Installation + +```sh +ya pack -a yazi-rs/plugins:mime-ext +``` + +## Usage + +Add this to your `~/.config/yazi/yazi.toml`: + +```toml +[[plugin.prepend_fetchers]] +id = "mime" +name = "*" +run = "mime-ext" +prio = "high" +``` + +## Advanced + +You can also customize it in your `~/.config/yazi/init.lua` with: + +```lua +require("mime-ext"):setup { + -- Expand the existing filename database (lowercase), for example: + with_files = { + makefile = "text/makefile", + -- ... + }, + + -- Expand the existing extension database (lowercase), for example: + with_exts = { + mk = "text/makefile", + -- ... + }, + + -- If the mime-type is not in both filename and extension databases, + -- then fallback to Yazi's preset `mime` plugin, which uses `file(1)` + fallback_file1 = false, +} +``` + +## TODO + +- Add more file types (PRs welcome!). +- Compress mime-type tables. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/config/yazi/plugins/mime-ext.yazi/main.lua b/config/yazi/plugins/mime-ext.yazi/main.lua new file mode 100644 index 00000000..c3e06388 --- /dev/null +++ b/config/yazi/plugins/mime-ext.yazi/main.lua @@ -0,0 +1,1126 @@ +--- @since 25.4.4 + +local FILES = { + [".envrc"] = "text/plain", + [".gitconfig"] = "text/plain", + [".gitignore"] = "text/plain", + [".luacheckrc"] = "text/lua", + [".npmrc"] = "text/plain", + [".styluaignore"] = "text/plain", + [".zshenv"] = "text/plain", + [".zshrc"] = "text/plain", + ["cargo.lock"] = "application/json", + ["flake.lock"] = "application/json", + license = "text/plain", +} + +local EXTS = { + ["123"] = "application/lotus-1-2-3", + ["3dml"] = "text/in3d.3dml", + ["3ds"] = "image/3ds", + ["3g2"] = "video/3gpp2", + ["3gp"] = "video/3gpp", + ["7z"] = "application/7z-compressed", + ["for"] = "text/fortran", + ["in"] = "text/plain", + ["n-gage"] = "application/nokia.n-gage.symbian.install", + ["sfd-hdstx"] = "application/hydrostatix.sof-data", + aab = "application/authorware-bin", + aac = "audio/aac", + aam = "application/authorware-map", + aas = "application/authorware-seg", + abw = "application/abiword", + ac = "application/pkix-attr-cert", + acc = "application/americandynamics.acc", + ace = "application/ace-compressed", + acu = "application/acucobol", + acutc = "application/acucorp", + adp = "audio/adpcm", + aep = "application/audiograph", + afm = "application/font-type1", + afp = "application/ibm.modcap", + ahead = "application/ahead.space", + ai = "application/postscript", + aif = "audio/aiff", + aifc = "audio/aiff", + aiff = "audio/aiff", + air = "application/adobe.air-application-installer-package+zip", + ait = "application/dvb.ait", + ami = "application/amiga.ami", + apk = "application/android.package-archive", + appcache = "text/cache-manifest", + application = "application/ms-application", + apr = "application/lotus-approach", + arc = "application/freearc", + asc = "application/pgp-signature", + asf = "video/ms-asf", + asm = "text/asm", + aso = "application/accpac.simply.aso", + ass = "text/ass", + asx = "video/ms-asf", + atc = "application/acucorp", + atom = "application/atom+xml", + atomcat = "application/atomcat+xml", + atomsvc = "application/atomsvc+xml", + atx = "application/antix.game-component", + au = "audio/basic", + avi = "video/msvideo", + avif = "image/avif", + aw = "application/applixware", + azf = "application/airzip.filesecure.azf", + azs = "application/airzip.filesecure.azs", + azw = "application/amazon.ebook", + bash = "text/shellscript", + bat = "application/msdownload", + bcpio = "application/bcpio", + bdf = "application/font-bdf", + bdm = "application/syncml.dm+wbxml", + bean = "text/plain", + beancount = "text/plain", + bed = "application/realvnc.bed", + bh2 = "application/fujitsu.oasysprs", + bin = "application/octet-stream", + blb = "application/blorb", + blorb = "application/blorb", + bmi = "application/bmi", + bmp = "image/bmp", + book = "application/framemaker", + box = "application/previewsystems.box", + boz = "application/bzip2", + bpk = "application/octet-stream", + btif = "image/prs.btif", + bz = "application/bzip", + bz2 = "application/bzip2", + c = "text/c", + c11amc = "application/cluetrust.cartomobile-config", + c11amz = "application/cluetrust.cartomobile-config-pkg", + c4d = "application/clonk.c4group", + c4f = "application/clonk.c4group", + c4g = "application/clonk.c4group", + c4p = "application/clonk.c4group", + c4u = "application/clonk.c4group", + cab = "application/ms-cab-compressed", + caf = "audio/caf", + cap = "application/tcpdump.pcap", + car = "application/curl.car", + cat = "application/ms-pki.seccat", + cb7 = "application/cbr", + cba = "application/cbr", + cbr = "application/cbr", + cbt = "application/cbr", + cbz = "application/cbr", + cc = "text/c", + cct = "application/director", + ccxml = "application/ccxml+xml", + cdbcmsg = "application/contact.cmsg", + cdf = "application/netcdf", + cdkey = "application/mediastation.cdkey", + cdmia = "application/cdmi-capability", + cdmic = "application/cdmi-container", + cdmid = "application/cdmi-domain", + cdmio = "application/cdmi-object", + cdmiq = "application/cdmi-queue", + cdx = "chemical/cdx", + cdxml = "application/chemdraw+xml", + cdy = "application/cinderella", + cer = "application/pkix-cert", + cfg = "text/plain", + cfs = "application/cfs-compressed", + cgm = "image/cgm", + chat = "application/chat", + chm = "application/ms-htmlhelp", + chrt = "application/kde.kchart", + cif = "chemical/cif", + cii = "application/anser-web-certificate-issue-initiation", + cil = "application/ms-artgalry", + cla = "application/claymore", + class = "application/java-vm", + clkk = "application/crick.clicker.keyboard", + clkp = "application/crick.clicker.palette", + clkt = "application/crick.clicker.template", + clkw = "application/crick.clicker.wordbank", + clkx = "application/crick.clicker", + clp = "application/msclip", + cmc = "application/cosmocaller", + cmdf = "chemical/cmdf", + cml = "chemical/cml", + cmp = "application/yellowriver-custom-menu", + cmx = "image/cmx", + cod = "application/rim.cod", + com = "application/msdownload", + conf = "text/plain", + cpio = "application/cpio", + cpp = "text/c", + cpt = "application/mac-compactpro", + crd = "application/mscardfile", + crl = "application/pkix-crl", + crt = "application/x509-ca-cert", + cryptonote = "application/rig.cryptonote", + csh = "application/csh", + csml = "chemical/csml", + csp = "application/commonspace", + css = "text/css", + cst = "application/director", + csv = "text/csv", + cu = "application/cu-seeme", + curl = "text/curl", + cww = "application/prs.cww", + cxt = "application/director", + cxx = "text/c", + dae = "model/collada+xml", + daf = "application/mobius.daf", + dart = "application/dart", + dataless = "application/fdsn.seed", + davmount = "application/davmount+xml", + dbk = "application/docbook+xml", + dcr = "application/director", + dcurl = "text/curl.dcurl", + dd2 = "application/oma.dd2+xml", + ddd = "application/fujixerox.ddd", + deb = "application/debian-package", + def = "text/plain", + deploy = "application/octet-stream", + der = "application/x509-ca-cert", + dfac = "application/dreamfactory", + dgc = "application/dgc-compressed", + dic = "text/c", + dir = "application/director", + dis = "application/mobius.dis", + dist = "application/octet-stream", + distz = "application/octet-stream", + djv = "image/djvu", + djvu = "image/djvu", + dll = "application/msdownload", + dmg = "application/apple-diskimage", + dmp = "application/tcpdump.pcap", + dms = "application/octet-stream", + dna = "application/dna", + doc = "application/msword", + docm = "application/ms-word.document.macroenabled.12", + docx = "application/openxmlformats-officedocument.wordprocessingml.document", + dot = "application/msword", + dotm = "application/ms-word.template.macroenabled.12", + dotx = "application/openxmlformats-officedocument.wordprocessingml.template", + dp = "application/osgi.dp", + dpg = "application/dpgraph", + dra = "audio/dra", + dsc = "text/prs.lines.tag", + dssc = "application/dssc+der", + dtb = "application/dtbook+xml", + dtd = "application/xml-dtd", + dts = "audio/dts", + dtshd = "audio/dts.hd", + dump = "application/octet-stream", + dvb = "video/dvb.file", + dvi = "application/dvi", + dwf = "model/dwf", + dwg = "image/dwg", + dxf = "image/dxf", + dxp = "application/spotfire.dxp", + dxr = "application/director", + ebuild = "application/gentoo.ebuild", + ecelp4800 = "audio/nuera.ecelp4800", + ecelp7470 = "audio/nuera.ecelp7470", + ecelp9600 = "audio/nuera.ecelp9600", + eclass = "application/gentoo.eclass", + ecma = "application/ecmascript", + edm = "application/novadigm.edm", + edx = "application/novadigm.edx", + efif = "application/picsel", + ei6 = "application/pg.osasli", + elc = "application/octet-stream", + emf = "application/msmetafile", + eml = "message/rfc822", + emma = "application/emma+xml", + emz = "application/msmetafile", + env = "text/plain", + eol = "audio/digital-winds", + eot = "application/ms-fontobject", + eps = "application/postscript", + epub = "application/epub+zip", + es3 = "application/eszigno3+xml", + esa = "application/osgi.subsystem", + esf = "application/epson.esf", + et3 = "application/eszigno3+xml", + etx = "text/setext", + eva = "application/eva", + evy = "application/envoy", + exe = "application/msdownload", + exi = "application/exi", + ext = "application/novadigm.ext", + ez = "application/andrew-inset", + ez2 = "application/ezpix-album", + ez3 = "application/ezpix-package", + f = "text/fortran", + f4v = "video/f4v", + f77 = "text/fortran", + f90 = "text/fortran", + fbs = "image/fastbidsheet", + fcdt = "application/adobe.formscentral.fcdt", + fcs = "application/isac.fcs", + fdf = "application/fdf", + fe_launch = "application/denovo.fcselayout-link", + fg5 = "application/fujitsu.oasysgp", + fgd = "application/director", + fh = "image/freehand", + fh4 = "image/freehand", + fh5 = "image/freehand", + fh7 = "image/freehand", + fhc = "image/freehand", + fig = "application/xfig", + fish = "text/shellscript", + flac = "audio/flac", + fli = "video/fli", + flo = "application/micrografx.flo", + flv = "video/flv", + flw = "application/kde.kivio", + flx = "text/fmi.flexstor", + fly = "text/fly", + fm = "application/framemaker", + fnc = "application/frogans.fnc", + fpx = "image/fpx", + frame = "application/framemaker", + fsc = "application/fsc.weblaunch", + fst = "image/fst", + ftc = "application/fluxtime.clip", + fti = "application/anser-web-funds-transfer-initiation", + fvt = "video/fvt", + fxp = "application/adobe.fxp", + fxpl = "application/adobe.fxp", + fzs = "application/fuzzysheet", + g2w = "application/geoplan", + g3 = "image/g3fax", + g3w = "application/geospace", + gac = "application/groove-account", + gam = "application/tads", + gbr = "application/rpki-ghostbusters", + gca = "application/gca-compressed", + gdl = "model/gdl", + geo = "application/dynageo", + gex = "application/geometry-explorer", + ggb = "application/geogebra.file", + ggs = "application/geogebra.slides", + ggt = "application/geogebra.tool", + ghf = "application/groove-help", + gif = "image/gif", + gim = "application/groove-identity-message", + gml = "application/gml+xml", + gmx = "application/gmx", + gnumeric = "application/gnumeric", + go = "text/go", + gph = "application/flographit", + gpx = "application/gpx+xml", + gqf = "application/grafeq", + gqs = "application/grafeq", + gram = "application/srgs", + gramps = "application/gramps-xml", + gre = "application/geometry-explorer", + grv = "application/groove-injector", + grxml = "application/srgs+xml", + gsf = "application/font-ghostscript", + gtar = "application/gtar", + gtm = "application/groove-tool-message", + gtw = "model/gtw", + gv = "text/graphviz", + gxf = "application/gxf", + gxt = "application/geonext", + h = "text/c", + h261 = "video/h261", + h263 = "video/h263", + h264 = "video/h264", + hal = "application/hal+xml", + hbci = "application/hbci", + hcl = "text/hcl", + hdf = "application/hdf", + hh = "text/c", + hlp = "application/winhlp", + hpgl = "application/hp-hpgl", + hpid = "application/hp-hpid", + hpp = "text/c", + hps = "application/hp-hps", + hqx = "application/mac-binhex40", + htke = "application/kenameaapp", + htm = "text/html", + html = "text/html", + hvd = "application/yamaha.hv-dic", + hvp = "application/yamaha.hv-voice", + hvs = "application/yamaha.hv-script", + i2g = "application/intergeo", + icc = "application/iccprofile", + ice = "conference/cooltalk", + icm = "application/iccprofile", + ico = "image/icon", + ics = "text/calendar", + ief = "image/ief", + ifb = "text/calendar", + ifm = "application/shana.informed.formdata", + iges = "model/iges", + igl = "application/igloader", + igm = "application/insors.igm", + igs = "model/iges", + igx = "application/micrografx.igx", + iif = "application/shana.informed.interchange", + imp = "application/accpac.simply.imp", + ims = "application/ms-ims", + ini = "text/plain", + ink = "application/inkml+xml", + inkml = "application/inkml+xml", + install = "application/install-instructions", + iota = "application/astraea-software.iota", + ipfix = "application/ipfix", + ipk = "application/shana.informed.package", + irm = "application/ibm.rights-management", + irp = "application/irepository.package+xml", + iso = "application/iso9660-image", + itp = "application/shana.informed.formtemplate", + ivp = "application/immervision-ivp", + ivu = "application/immervision-ivu", + jad = "text/sun.j2me.app-descriptor", + jam = "application/jam", + jar = "application/java-archive", + java = "text/java-source", + jisp = "application/jisp", + jlt = "application/hp-jlyt", + jnlp = "application/java-jnlp-file", + joda = "application/joost.joda-archive", + jpe = "image/jpeg", + jpeg = "image/jpeg", + jpg = "image/jpeg", + jpgm = "video/jpm", + jpgv = "video/jpeg", + jpm = "video/jpm", + js = "text/javascript", + json = "application/json", + jsonc = "application/json", + jsonml = "application/jsonml+json", + jsx = "text/jsx", + jxl = "image/jxl", + kar = "audio/midi", + karbon = "application/kde.karbon", + kfo = "application/kde.kformula", + kia = "application/kidspiration", + kml = "application/google-earth.kml+xml", + kmz = "application/google-earth.kmz", + kne = "application/kinar", + knp = "application/kinar", + kon = "application/kde.kontour", + kpr = "application/kde.kpresenter", + kpt = "application/kde.kpresenter", + kpxx = "application/ds-keypoint", + ksp = "application/kde.kspread", + ktr = "application/kahootz", + ktx = "image/ktx", + ktz = "application/kahootz", + kwd = "application/kde.kword", + kwt = "application/kde.kword", + lasxml = "application/las.las+xml", + latex = "application/latex", + lbd = "application/llamagraphics.life-balance.desktop", + lbe = "application/llamagraphics.life-balance.exchange+xml", + les = "application/hhe.lesson-player", + lha = "application/lzh-compressed", + link66 = "application/route66.link66+xml", + list = "text/plain", + list3820 = "application/ibm.modcap", + listafp = "application/ibm.modcap", + lnk = "application/ms-shortcut", + log = "text/plain", + lostxml = "application/lost+xml", + lrf = "application/octet-stream", + lrm = "application/ms-lrm", + ltf = "application/frogans.ltf", + lua = "text/lua", + lvp = "audio/lucent.voice", + lwp = "application/lotus-wordpro", + lzh = "application/lzh-compressed", + m13 = "application/msmediaview", + m14 = "application/msmediaview", + m1v = "video/mpeg", + m21 = "application/mp21", + m2a = "audio/mpeg", + m2t = "video/mp2t", + m2ts = "video/mp2t", + m2v = "video/mpeg", + m3a = "audio/mpeg", + m3u = "audio/mpegurl", + m3u8 = "application/apple.mpegurl", + m4a = "audio/mp4", + m4u = "video/mpegurl", + m4v = "video/m4v", + ma = "application/mathematica", + mads = "application/mads+xml", + mag = "application/ecowin.chart", + maker = "application/framemaker", + man = "text/troff", + mar = "application/octet-stream", + mathml = "application/mathml+xml", + mb = "application/mathematica", + mbk = "application/mobius.mbk", + mbox = "application/mbox", + mc1 = "application/medcalcdata", + mcd = "application/mcd", + mcurl = "text/curl.mcurl", + md = "text/markdown", + mdb = "application/msaccess", + mdi = "image/ms-modi", + me = "text/troff", + mesh = "model/mesh", + meta4 = "application/metalink4+xml", + metalink = "application/metalink+xml", + mets = "application/mets+xml", + mfm = "application/mfmp", + mft = "application/rpki-manifest", + mgp = "application/osgeo.mapguide.package", + mgz = "application/proteus.magazine", + mid = "audio/midi", + midi = "audio/midi", + mie = "application/mie", + mif = "application/mif", + mime = "message/rfc822", + mj2 = "video/mj2", + mjp2 = "video/mj2", + mjs = "text/javascript", + mk3d = "video/matroska", + mka = "audio/matroska", + mks = "video/matroska", + mkv = "video/matroska", + mlp = "application/dolby.mlp", + mmd = "application/chipnuts.karaoke-mmd", + mmf = "application/smaf", + mmr = "image/fujixerox.edmics-mmr", + mng = "video/mng", + mny = "application/msmoney", + mobi = "application/mobipocket-ebook", + mods = "application/mods+xml", + mov = "video/quicktime", + movie = "video/sgi-movie", + mp2 = "audio/mpeg", + mp21 = "application/mp21", + mp2a = "audio/mpeg", + mp3 = "audio/mpeg", + mp4 = "video/mp4", + mp4a = "audio/mp4", + mp4s = "application/mp4", + mp4v = "video/mp4", + mpc = "application/mophun.certificate", + mpe = "video/mpeg", + mpeg = "video/mpeg", + mpg = "video/mpeg", + mpg4 = "video/mp4", + mpga = "audio/mpeg", + mpkg = "application/apple.installer+xml", + mpm = "application/blueice.multipass", + mpn = "application/mophun.application", + mpp = "application/ms-project", + mpt = "application/ms-project", + mpy = "application/ibm.minipay", + mqy = "application/mobius.mqy", + mrc = "application/marc", + mrcx = "application/marcxml+xml", + ms = "text/troff", + mscml = "application/mediaservercontrol+xml", + mseed = "application/fdsn.mseed", + mseq = "application/mseq", + msf = "application/epson.msf", + msh = "model/mesh", + msi = "application/msdownload", + msl = "application/mobius.msl", + msty = "application/muvee.style", + mts = "video/mp2t", + mus = "application/musician", + musicxml = "application/recordare.musicxml+xml", + mvb = "application/msmediaview", + mwf = "application/mfer", + mxf = "application/mxf", + mxl = "application/recordare.musicxml", + mxml = "application/xv+xml", + mxs = "application/triscape.mxs", + mxu = "video/mpegurl", + n3 = "text/n3", + nb = "application/mathematica", + nbp = "application/wolfram.player", + nc = "application/netcdf", + ncx = "application/dtbncx+xml", + nfo = "text/nfo", + ngdat = "application/nokia.n-gage.data", + nitf = "application/nitf", + nix = "text/nix", + nlu = "application/neurolanguage.nlu", + nml = "application/enliven", + nnd = "application/noblenet-directory", + nns = "application/noblenet-sealer", + nnw = "application/noblenet-web", + npx = "image/net-fpx", + nsc = "application/conference", + nsf = "application/lotus-notes", + ntf = "application/nitf", + nzb = "application/nzb", + oa2 = "application/fujitsu.oasys2", + oa3 = "application/fujitsu.oasys3", + oas = "application/fujitsu.oasys", + obd = "application/msbinder", + obj = "application/tgif", + oda = "application/oda", + odb = "application/oasis.opendocument.database", + odc = "application/oasis.opendocument.chart", + odf = "application/oasis.opendocument.formula", + odft = "application/oasis.opendocument.formula-template", + odg = "application/oasis.opendocument.graphics", + odi = "application/oasis.opendocument.image", + odm = "application/oasis.opendocument.text-master", + odp = "application/oasis.opendocument.presentation", + ods = "application/oasis.opendocument.spreadsheet", + odt = "application/oasis.opendocument.text", + oga = "audio/ogg", + ogg = "audio/ogg", + ogv = "video/ogg", + ogx = "application/ogg", + omdoc = "application/omdoc+xml", + onepkg = "application/onenote", + onetmp = "application/onenote", + onetoc = "application/onenote", + onetoc2 = "application/onenote", + opf = "application/oebps-package+xml", + opml = "text/opml", + oprc = "application/palm", + opus = "audio/ogg", + org = "application/lotus-organizer", + osf = "application/yamaha.openscoreformat", + osfpvg = "application/yamaha.openscoreformat.osfpvg+xml", + otc = "application/oasis.opendocument.chart-template", + otf = "font/otf", + otg = "application/oasis.opendocument.graphics-template", + oth = "application/oasis.opendocument.text-web", + oti = "application/oasis.opendocument.image-template", + otp = "application/oasis.opendocument.presentation-template", + ots = "application/oasis.opendocument.spreadsheet-template", + ott = "application/oasis.opendocument.text-template", + oxps = "application/oxps", + oxt = "application/openofficeorg.extension", + p = "text/pascal", + p10 = "application/pkcs10", + p12 = "application/pkcs12", + p7b = "application/pkcs7-certificates", + p7c = "application/pkcs7-mime", + p7m = "application/pkcs7-mime", + p7r = "application/pkcs7-certreqresp", + p7s = "application/pkcs7-signature", + p8 = "application/pkcs8", + pas = "text/pascal", + patch = "text/diff", + paw = "application/pawaafile", + pbd = "application/powerbuilder6", + pbm = "image/portable-bitmap", + pcap = "application/tcpdump.pcap", + pcf = "application/font-pcf", + pcl = "application/hp-pcl", + pclxl = "application/hp-pclxl", + pct = "image/pict", + pcurl = "application/curl.pcurl", + pcx = "image/pcx", + pdb = "application/palm", + pdf = "application/pdf", + pfa = "application/font-type1", + pfb = "application/font-type1", + pfm = "application/font-type1", + pfr = "application/font-tdpfr", + pfx = "application/pkcs12", + pgm = "image/portable-graymap", + pgn = "application/chess-pgn", + pgp = "application/pgp-encrypted", + php = "text/php", + pic = "image/pict", + pkg = "application/octet-stream", + pki = "application/pkixcmp", + pkipath = "application/pkix-pkipath", + plb = "application/3gpp.pic-bw-large", + plc = "application/mobius.plc", + plf = "application/pocketlearn", + pls = "application/pls+xml", + pml = "application/ctc-posml", + png = "image/png", + pnm = "image/portable-anymap", + portpkg = "application/macports.portpkg", + pot = "application/ms-powerpoint", + potm = "application/ms-powerpoint.template.macroenabled.12", + potx = "application/openxmlformats-officedocument.presentationml.template", + ppam = "application/ms-powerpoint.addin.macroenabled.12", + ppd = "application/cups-ppd", + ppm = "image/portable-pixmap", + pps = "application/ms-powerpoint", + ppsm = "application/ms-powerpoint.slideshow.macroenabled.12", + ppsx = "application/openxmlformats-officedocument.presentationml.slideshow", + ppt = "application/ms-powerpoint", + pptm = "application/ms-powerpoint.presentation.macroenabled.12", + pptx = "application/openxmlformats-officedocument.presentationml.presentation", + pqa = "application/palm", + prc = "application/mobipocket-ebook", + pre = "application/lotus-freelance", + prf = "application/pics-rules", + ps = "application/postscript", + psb = "application/3gpp.pic-bw-small", + psd = "image/adobe.photoshop", + psf = "application/font-linux-psf", + pskcxml = "application/pskc+xml", + ptid = "application/pvi.ptid1", + pub = "application/mspublisher", + pvb = "application/3gpp.pic-bw-var", + pwn = "application/3m.post-it-notes", + py = "text/python", + pya = "audio/ms-playready.media.pya", + pyv = "video/ms-playready.media.pyv", + qam = "application/epson.quickanime", + qbo = "application/intu.qbo", + qfx = "application/intu.qfx", + qml = "text/qml", + qps = "application/publishare-delta-tree", + qt = "video/quicktime", + qwd = "application/quark.quarkxpress", + qwt = "application/quark.quarkxpress", + qxb = "application/quark.quarkxpress", + qxd = "application/quark.quarkxpress", + qxl = "application/quark.quarkxpress", + qxt = "application/quark.quarkxpress", + r = "text/r", + ra = "audio/pn-realaudio", + ram = "audio/pn-realaudio", + rar = "application/rar", + ras = "image/cmu-raster", + rb = "text/ruby", + rcprofile = "application/ipunplugged.rcprofile", + rdf = "application/rdf+xml", + rdz = "application/data-vision.rdz", + rep = "application/businessobjects", + res = "application/dtbresource+xml", + rgb = "image/rgb", + rif = "application/reginfo+xml", + rip = "audio/rip", + ris = "application/research-info-systems", + rl = "application/resource-lists+xml", + rlc = "image/fujixerox.edmics-rlc", + rld = "application/resource-lists-diff+xml", + rm = "application/rn-realmedia", + rmi = "audio/midi", + rmp = "audio/pn-realaudio-plugin", + rms = "application/jcp.javame.midlet-rms", + rmvb = "application/rn-realmedia-vbr", + rnc = "application/relax-ng-compact-syntax", + roa = "application/rpki-roa", + roff = "text/troff", + rp9 = "application/cloanto.rp9", + rpm = "application/rpm", + rpss = "application/nokia.radio-presets", + rpst = "application/nokia.radio-preset", + rq = "application/sparql-query", + rs = "text/rust", + rsd = "application/rsd+xml", + rss = "application/rss+xml", + rtf = "application/rtf", + rtx = "text/richtext", + s = "text/asm", + s3m = "audio/s3m", + saf = "application/yamaha.smaf-audio", + sbml = "application/sbml+xml", + sc = "application/ibm.secure-container", + scd = "application/msschedule", + scm = "application/lotus-screencam", + scq = "application/scvp-cv-request", + scs = "application/scvp-cv-response", + scss = "text/scss", + scurl = "text/curl.scurl", + sda = "application/stardivision.draw", + sdc = "application/stardivision.calc", + sdd = "application/stardivision.impress", + sdkd = "application/solent.sdkm+xml", + sdkm = "application/solent.sdkm+xml", + sdp = "application/sdp", + sdw = "application/stardivision.writer", + see = "application/seemail", + seed = "application/fdsn.seed", + sema = "application/sema", + semd = "application/semd", + semf = "application/semf", + ser = "application/java-serialized-object", + setpay = "application/set-payment-initiation", + setreg = "application/set-registration-initiation", + sfs = "application/spotfire.sfs", + sfv = "text/sfv", + sgi = "image/sgi", + sgl = "application/stardivision.writer-global", + sgm = "text/sgml", + sgml = "text/sgml", + sh = "text/shellscript", + shar = "application/shar", + shf = "application/shf+xml", + sid = "image/mrsid-image", + sig = "application/pgp-signature", + sil = "audio/silk", + silo = "model/mesh", + sis = "application/symbian.install", + sisx = "application/symbian.install", + sit = "application/stuffit", + sitx = "application/stuffitx", + skd = "application/koan", + skm = "application/koan", + skp = "application/koan", + skt = "application/koan", + sldm = "application/ms-powerpoint.slide.macroenabled.12", + sldx = "application/openxmlformats-officedocument.presentationml.slide", + slt = "application/epson.salt", + sm = "application/stepmania.stepchart", + smf = "application/stardivision.math", + smi = "application/smil+xml", + smil = "application/smil+xml", + smv = "video/smv", + smzip = "application/stepmania.package", + snd = "audio/basic", + snf = "application/font-snf", + so = "application/octet-stream", + spc = "application/pkcs7-certificates", + spf = "application/yamaha.smaf-phrase", + spl = "application/futuresplash", + spot = "text/in3d.spot", + spp = "application/scvp-vp-response", + spq = "application/scvp-vp-request", + spx = "audio/ogg", + sql = "application/sql", + src = "application/wais-source", + srt = "application/subrip", + sru = "application/sru+xml", + srx = "application/sparql-results+xml", + ssdl = "application/ssdl+xml", + sse = "application/kodak-descriptor", + ssf = "application/epson.ssf", + ssml = "application/ssml+xml", + st = "application/sailingtracker.track", + stc = "application/sun.xml.calc.template", + std = "application/sun.xml.draw.template", + stf = "application/wt.stf", + sti = "application/sun.xml.impress.template", + stk = "application/hyperstudio", + stl = "application/ms-pki.stl", + str = "application/pg.format", + stw = "application/sun.xml.writer.template", + sub = "text/dvb.subtitle", + sus = "application/sus-calendar", + susp = "application/sus-calendar", + sv4cpio = "application/sv4cpio", + sv4crc = "application/sv4crc", + svc = "application/dvb.service", + svd = "application/svd", + svg = "image/svg+xml", + svgz = "image/svg+xml", + swa = "application/director", + swf = "application/shockwave-flash", + swi = "application/aristanetworks.swi", + sxc = "application/sun.xml.calc", + sxd = "application/sun.xml.draw", + sxg = "application/sun.xml.writer.global", + sxi = "application/sun.xml.impress", + sxm = "application/sun.xml.math", + sxw = "application/sun.xml.writer", + t = "text/troff", + t3 = "application/t3vm-image", + taglet = "application/mynfc", + tao = "application/tao.intent-module-archive", + tar = "application/tar", + tcap = "application/3gpp2.tcap", + tcl = "application/tcl", + teacher = "application/smart.teacher", + tei = "application/tei+xml", + teicorpus = "application/tei+xml", + tex = "application/tex", + texi = "application/texinfo", + texinfo = "application/texinfo", + text = "text/plain", + tf = "text/hcl", + tfi = "application/thraud+xml", + tfm = "application/tex-tfm", + tfrc = "text/hcl", + tfstate = "application/json", + tfvars = "text/hcl", + tga = "image/tga", + thmx = "application/ms-officetheme", + tif = "image/tiff", + tiff = "image/tiff", + tmo = "application/tmobile-livetv", + toml = "text/toml", + torrent = "application/bittorrent", + tpl = "application/groove-tool-template", + tpt = "application/trid.tpt", + tr = "text/troff", + tra = "application/trueapp", + trm = "application/msterminal", + ts = "text/typescript", + tsd = "application/timestamped-data", + tsv = "text/tab-separated-values", + tsx = "text/tsx", + ttc = "font/collection", + ttf = "font/ttf", + ttl = "text/turtle", + twd = "application/simtech-mindmapper", + twds = "application/simtech-mindmapper", + txd = "application/genomatix.tuxedo", + txf = "application/mobius.txf", + txt = "text/plain", + u32 = "application/authorware-bin", + udeb = "application/debian-package", + ufd = "application/ufdl", + ufdl = "application/ufdl", + ulx = "application/glulx", + umj = "application/umajin", + unityweb = "application/unity", + uoml = "application/uoml+xml", + uri = "text/uri-list", + uris = "text/uri-list", + urls = "text/uri-list", + ustar = "application/ustar", + utz = "application/uiq.theme", + uu = "text/uuencode", + uva = "audio/dece.audio", + uvd = "application/dece.data", + uvf = "application/dece.data", + uvg = "image/dece.graphic", + uvh = "video/dece.hd", + uvi = "image/dece.graphic", + uvm = "video/dece.mobile", + uvp = "video/dece.pd", + uvs = "video/dece.sd", + uvt = "application/dece.ttml+xml", + uvu = "video/uvvu.mp4", + uvv = "video/dece.video", + uvva = "audio/dece.audio", + uvvd = "application/dece.data", + uvvf = "application/dece.data", + uvvg = "image/dece.graphic", + uvvh = "video/dece.hd", + uvvi = "image/dece.graphic", + uvvm = "video/dece.mobile", + uvvp = "video/dece.pd", + uvvs = "video/dece.sd", + uvvt = "application/dece.ttml+xml", + uvvu = "video/uvvu.mp4", + uvvv = "video/dece.video", + uvvx = "application/dece.unspecified", + uvvz = "application/dece.zip", + uvx = "application/dece.unspecified", + uvz = "application/dece.zip", + vcard = "text/vcard", + vcd = "application/cdlink", + vcf = "text/vcard", + vcg = "application/groove-vcard", + vcs = "text/vcalendar", + vcx = "application/vcx", + vis = "application/visionary", + viv = "video/vivo", + vob = "video/ms-vob", + vor = "application/stardivision.writer", + vox = "application/authorware-bin", + vrml = "model/vrml", + vsd = "application/visio", + vsf = "application/vsf", + vss = "application/visio", + vst = "application/visio", + vsw = "application/visio", + vtu = "model/vtu", + vxml = "application/voicexml+xml", + w3d = "application/director", + wad = "application/doom", + wasm = "application/wasm", + wav = "audio/wav", + wax = "audio/ms-wax", + wbmp = "image/wap.wbmp", + wbs = "application/criticaltools.wbs+xml", + wbxml = "application/wap.wbxml", + wcm = "application/ms-works", + wdb = "application/ms-works", + wdp = "image/ms-photo", + weba = "audio/webm", + webm = "video/webm", + webp = "image/webp", + wg = "application/pmi.widget", + wgt = "application/widget", + wks = "application/ms-works", + wm = "video/ms-wm", + wma = "audio/ms-wma", + wmd = "application/ms-wmd", + wmf = "application/msmetafile", + wml = "text/wap.wml", + wmlc = "application/wap.wmlc", + wmls = "text/wap.wmlscript", + wmlsc = "application/wap.wmlscriptc", + wmv = "video/ms-wmv", + wmx = "video/ms-wmx", + wmz = "application/ms-wmz", + woff = "font/woff", + woff2 = "font/woff2", + wpd = "application/wordperfect", + wpl = "application/ms-wpl", + wps = "application/ms-works", + wqd = "application/wqd", + wri = "application/mswrite", + wrl = "model/vrml", + wsdl = "application/wsdl+xml", + wspolicy = "application/wspolicy+xml", + wtb = "application/webturbo", + wvx = "video/ms-wvx", + x32 = "application/authorware-bin", + x3d = "model/x3d+xml", + x3db = "model/x3d+binary", + x3dbz = "model/x3d+binary", + x3dv = "model/x3d+vrml", + x3dvz = "model/x3d+vrml", + x3dz = "model/x3d+xml", + xaml = "application/xaml+xml", + xap = "application/silverlight-app", + xar = "application/xara", + xbap = "application/ms-xbap", + xbd = "application/fujixerox.docuworks.binder", + xbm = "image/xbitmap", + xdf = "application/xcap-diff+xml", + xdm = "application/syncml.dm+xml", + xdp = "application/adobe.xdp+xml", + xdssc = "application/dssc+xml", + xdw = "application/fujixerox.docuworks", + xenc = "application/xenc+xml", + xer = "application/patch-ops-error+xml", + xfdf = "application/adobe.xfdf", + xfdl = "application/xfdl", + xht = "application/xhtml+xml", + xhtml = "application/xhtml+xml", + xhvml = "application/xv+xml", + xif = "image/xiff", + xla = "application/ms-excel", + xlam = "application/ms-excel.addin.macroenabled.12", + xlc = "application/ms-excel", + xlf = "application/xliff+xml", + xlm = "application/ms-excel", + xls = "application/ms-excel", + xlsb = "application/ms-excel.sheet.binary.macroenabled.12", + xlsm = "application/ms-excel.sheet.macroenabled.12", + xlsx = "application/openxmlformats-officedocument.spreadsheetml.sheet", + xlt = "application/ms-excel", + xltm = "application/ms-excel.template.macroenabled.12", + xltx = "application/openxmlformats-officedocument.spreadsheetml.template", + xlw = "application/ms-excel", + xm = "audio/xm", + xml = "application/xml", + xo = "application/olpc-sugar", + xop = "application/xop+xml", + xpak = "application/gentoo.xpak", + xpi = "application/xpinstall", + xpl = "application/xproc+xml", + xpm = "image/xpixmap", + xpr = "application/is-xpr", + xps = "application/ms-xpsdocument", + xpw = "application/intercon.formnet", + xpx = "application/intercon.formnet", + xsl = "application/xml", + xslt = "application/xslt+xml", + xsm = "application/syncml+xml", + xspf = "application/xspf+xml", + xul = "application/mozilla.xul+xml", + xvm = "application/xv+xml", + xvml = "application/xv+xml", + xwd = "image/xwindowdump", + xyz = "chemical/xyz", + xz = "application/xz", + yaml = "text/yaml", + yang = "application/yang", + yin = "application/yin+xml", + yml = "text/yaml", + z1 = "application/zmachine", + z2 = "application/zmachine", + z3 = "application/zmachine", + z4 = "application/zmachine", + z5 = "application/zmachine", + z6 = "application/zmachine", + z7 = "application/zmachine", + z8 = "application/zmachine", + zaz = "application/zzazz.deck+xml", + zip = "application/zip", + zir = "application/zul", + zirz = "application/zul", + zmm = "application/handheld-entertainment+xml", + zsh = "text/shellscript", +} + +local options = ya.sync( + function(st) + return { + with_files = st.with_files, + with_exts = st.with_exts, + fallback_file1 = st.fallback_file1, + } + end +) + +local M = {} + +function M:setup(opts) + opts = opts or {} + + self.with_files = opts.with_files + self.with_exts = opts.with_exts + self.fallback_file1 = opts.fallback_file1 +end + +function M:fetch(job) + local opts = options() + local merged_files = ya.dict_merge(FILES, opts.with_files or {}) + local merged_exts = ya.dict_merge(EXTS, opts.with_exts or {}) + + local updates, unknown, state = {}, {}, {} + for i, file in ipairs(job.files) do + if file.cha.is_dummy then + state[i] = false + goto continue + end + + local mime + if file.cha.len == 0 then + mime = "inode/empty" + else + mime = merged_files[(file.url.name or ""):lower()] + mime = mime or merged_exts[(file.url.ext or ""):lower()] + end + + if mime then + updates[tostring(file.url)], state[i] = mime, true + elseif opts.fallback_file1 then + unknown[#unknown + 1] = file + else + updates[tostring(file.url)], state[i] = "application/octet-stream", true + end + ::continue:: + end + + if next(updates) then + ya.mgr_emit("update_mimes", { updates = updates }) + end + + if #unknown > 0 then + return self.fallback_builtin(job, unknown, state) + end + + return state +end + +function M.fallback_builtin(job, unknown, state) + local indices = {} + for i, f in ipairs(job.files) do + indices[f:hash()] = i + end + + local result = require("mime"):fetch(ya.dict_merge(job, { files = unknown })) + for i, f in ipairs(unknown) do + if type(result) == "table" then + state[indices[f:hash()]] = result[i] + else + state[indices[f:hash()]] = result + end + end + return state +end + +return M diff --git a/config/yazi/plugins/mount.yazi/LICENSE b/config/yazi/plugins/mount.yazi/LICENSE new file mode 100644 index 00000000..fb5b1d62 --- /dev/null +++ b/config/yazi/plugins/mount.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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/config/yazi/plugins/mount.yazi/README.md b/config/yazi/plugins/mount.yazi/README.md new file mode 100644 index 00000000..6853be77 --- /dev/null +++ b/config/yazi/plugins/mount.yazi/README.md @@ -0,0 +1,51 @@ +# mount.yazi + +> [!NOTE] +> Yazi v25.2.7 or later is required for this plugin to work. + +A mount manager for Yazi, providing disk mount, unmount, and eject functionality. + +Supported platforms: + +- Linux with [`udisksctl`](https://github.com/storaged-project/udisks) and [`lsblk`](https://github.com/util-linux/util-linux) +- macOS with `diskutil` + +https://github.com/user-attachments/assets/c6f780ab-458b-420f-85cf-2fc45fcfe3a2 + +## Installation + +```sh +ya pack -a yazi-rs/plugins:mount +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[manager.prepend_keymap]] +on = "M" +run = "plugin mount" +``` + +Available keybindings: + +| Key binding | Alternate key | Action | +| ------------ | ------------- | --------------------- | +| q | - | Quit the plugin | +| k | | Move up | +| j | | Move down | +| l | | Enter the mount point | +| m | - | Mount the partition | +| u | - | Unmount the partition | +| e | - | Eject the disk | + +## TODO + +- Custom keybindings +- Windows support (I don't have an Windows machine for testing, PRs welcome!) +- Support mount, unmount, and eject the entire disk + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/config/yazi/plugins/mount.yazi/main.lua b/config/yazi/plugins/mount.yazi/main.lua new file mode 100644 index 00000000..962eeefd --- /dev/null +++ b/config/yazi/plugins/mount.yazi/main.lua @@ -0,0 +1,285 @@ +--- @since 25.2.26 + +local toggle_ui = ya.sync(function(self) + if self.children then + Modal:children_remove(self.children) + self.children = nil + else + self.children = Modal:children_add(self, 10) + end + ya.render() +end) + +local subscribe = ya.sync(function(self) + ps.unsub("mount") + ps.sub("mount", function() ya.mgr_emit("plugin", { self._id, "refresh" }) end) +end) + +local update_partitions = ya.sync(function(self, partitions) + self.partitions = partitions + self.cursor = math.max(0, math.min(self.cursor or 0, #self.partitions - 1)) + ya.render() +end) + +local active_partition = ya.sync(function(self) return self.partitions[self.cursor + 1] end) + +local update_cursor = ya.sync(function(self, cursor) + if #self.partitions == 0 then + self.cursor = 0 + else + self.cursor = ya.clamp(0, self.cursor + cursor, #self.partitions - 1) + end + ya.render() +end) + +local M = { + keys = { + { on = "q", run = "quit" }, + + { on = "k", run = "up" }, + { on = "j", run = "down" }, + { on = "l", run = { "enter", "quit" } }, + + { on = "", run = "up" }, + { on = "", run = "down" }, + { on = "", run = { "enter", "quit" } }, + + { on = "m", run = "mount" }, + { on = "u", run = "unmount" }, + { on = "e", run = "eject" }, + }, +} + +function M:new(area) + self:layout(area) + return self +end + +function M:layout(area) + local chunks = ui.Layout() + :constraints({ + ui.Constraint.Percentage(10), + ui.Constraint.Percentage(80), + ui.Constraint.Percentage(10), + }) + :split(area) + + local chunks = ui.Layout() + :direction(ui.Layout.HORIZONTAL) + :constraints({ + ui.Constraint.Percentage(10), + ui.Constraint.Percentage(80), + ui.Constraint.Percentage(10), + }) + :split(chunks[2]) + + self._area = chunks[2] +end + +function M:entry(job) + if job.args[1] == "refresh" then + return update_partitions(self.obtain()) + end + + toggle_ui() + update_partitions(self.obtain()) + subscribe() + + local tx1, rx1 = ya.chan("mpsc") + local tx2, rx2 = ya.chan("mpsc") + function producer() + while true do + local cand = self.keys[ya.which { cands = self.keys, silent = true }] or { run = {} } + for _, r in ipairs(type(cand.run) == "table" and cand.run or { cand.run }) do + tx1:send(r) + if r == "quit" then + toggle_ui() + return + end + end + end + end + + function consumer1() + repeat + local run = rx1:recv() + if run == "quit" then + tx2:send(run) + break + elseif run == "up" then + update_cursor(-1) + elseif run == "down" then + update_cursor(1) + elseif run == "enter" then + local active = active_partition() + if active and active.dist then + ya.mgr_emit("cd", { active.dist }) + end + else + tx2:send(run) + end + until not run + end + + function consumer2() + repeat + local run = rx2:recv() + if run == "quit" then + break + elseif run == "mount" then + self.operate("mount") + elseif run == "unmount" then + self.operate("unmount") + elseif run == "eject" then + self.operate("eject") + end + until not run + end + + ya.join(producer, consumer1, consumer2) +end + +function M:reflow() return { self } end + +function M:redraw() + local rows = {} + for _, p in ipairs(self.partitions or {}) do + if not p.sub then + rows[#rows + 1] = ui.Row { p.main } + elseif p.sub == "" then + rows[#rows + 1] = ui.Row { p.main, p.label or "", p.dist or "", p.fstype or "" } + else + rows[#rows + 1] = ui.Row { " " .. p.sub, p.label or "", p.dist or "", p.fstype or "" } + end + end + + return { + ui.Clear(self._area), + ui.Border(ui.Border.ALL) + :area(self._area) + :type(ui.Border.ROUNDED) + :style(ui.Style():fg("blue")) + :title(ui.Line("Mount"):align(ui.Line.CENTER)), + ui.Table(rows) + :area(self._area:pad(ui.Pad(1, 2, 1, 2))) + :header(ui.Row({ "Src", "Label", "Dist", "FSType" }):style(ui.Style():bold())) + :row(self.cursor) + :row_style(ui.Style():fg("blue"):underline()) + :widths { + ui.Constraint.Length(20), + ui.Constraint.Length(20), + ui.Constraint.Percentage(70), + ui.Constraint.Length(10), + }, + } +end + +function M.obtain() + local tbl = {} + local last + for _, p in ipairs(fs.partitions()) do + local main, sub = M.split(p.src) + if main and last ~= main then + if p.src == main then + last, p.main, p.sub, tbl[#tbl + 1] = p.src, p.src, "", p + else + last, tbl[#tbl + 1] = main, { src = main, main = main, sub = "" } + end + end + if sub then + if tbl[#tbl].sub == "" and tbl[#tbl].main == main then + tbl[#tbl].sub = nil + end + p.main, p.sub, tbl[#tbl + 1] = main, sub, p + end + end + table.sort(M.fillin(tbl), function(a, b) + if a.main == b.main then + return (a.sub or "") < (b.sub or "") + else + return a.main > b.main + end + end) + return tbl +end + +function M.split(src) + local pats = { + { "^/dev/sd[a-z]", "%d+$" }, -- /dev/sda1 + { "^/dev/nvme%d+n%d+", "p%d+$" }, -- /dev/nvme0n1p1 + { "^/dev/mmcblk%d+", "p%d+$" }, -- /dev/mmcblk0p1 + { "^/dev/disk%d+", ".+$" }, -- /dev/disk1s1 + } + for _, p in ipairs(pats) do + local main = src:match(p[1]) + if main then + return main, src:sub(#main + 1):match(p[2]) + end + end +end + +function M.fillin(tbl) + if ya.target_os() ~= "linux" then + return tbl + end + + local sources, indices = {}, {} + for i, p in ipairs(tbl) do + if p.sub and not p.fstype then + sources[#sources + 1], indices[p.src] = p.src, i + end + end + if #sources == 0 then + return tbl + end + + local output, err = Command("lsblk"):args({ "-p", "-o", "name,fstype", "-J" }):args(sources):output() + if err then + ya.dbg("Failed to fetch filesystem types for unmounted partitions: " .. err) + return tbl + end + + local t = ya.json_decode(output and output.stdout or "") + for _, p in ipairs(t and t.blockdevices or {}) do + tbl[indices[p.name]].fstype = p.fstype + end + return tbl +end + +function M.operate(type) + local active = active_partition() + if not active then + return + elseif not active.sub then + return -- TODO: mount/unmount main disk + end + + local output, err + if ya.target_os() == "macos" then + output, err = Command("diskutil"):args({ type, active.src }):output() + end + if ya.target_os() == "linux" then + if type == "eject" then + Command("udisksctl"):args({ "unmount", "-b", active.src }):status() + output, err = Command("udisksctl"):args({ "power-off", "-b", active.src }):output() + else + output, err = Command("udisksctl"):args({ type, "-b", active.src }):output() + end + end + + if not output then + M.fail("Failed to %s `%s`: %s", type, active.src, err) + elseif not output.status.success then + M.fail("Failed to %s `%s`: %s", type, active.src, output.stderr) + end +end + +function M.fail(s, ...) ya.notify { title = "Mount", content = string.format(s, ...), timeout = 10, level = "error" } end + +function M:click() end + +function M:scroll() end + +function M:touch() end + +return M diff --git a/config/yazi/plugins/nbpreview.yazi/README.md b/config/yazi/plugins/nbpreview.yazi/README.md deleted file mode 100644 index d1b65640..00000000 --- a/config/yazi/plugins/nbpreview.yazi/README.md +++ /dev/null @@ -1,91 +0,0 @@ -# nbpreview.yazi - -View your Jupyter notebooks beautifully in the preview in Yazi. - -## Requirements - -- [Yazi](https://github.com/sxyazi/yazi) version >=25.4.8 -- [nbpreview](https://github.com/paw-lu/nbpreview) - -## Previews - -image - -## Installation - -```bash -ya pack -a AnirudhG07/nbpreview - -## For linux and MacOS -git clone https://github.com/AnirudhG07/nbpreview.yazi.git ~/.config/yazi/plugins/nbpreview.yazi - -## For Windows -git clone https://github.com/AnirudhG07/nbpreview.yazi.git %AppData%\yazi\config\plugins\nbpreview.yazi -``` - -## Usage - -After installing the plugin, add this to your `yazi.toml` file inside the plugin's section previously present. - -```toml -[plugin] -prepend_previewers = [ - { name = "*.ipynb", run = "nbpreview" }, -] -``` - -## Configurations - -You can configure your preview by editing the `init.lua` file present in the plugin directory. -image - -All the configurations provided using `nbpreview --help`. -By default we have give you some of the flags which you can change according to your needs in the `init.lua` file. - -Please DONOT change the below options(unless you know what you are doing) - - -- `--nerd-font` - Yazi uses nerd-font. -- \*`--decorated` - This enables the decorations you see in the preview. -- `--no-paging` - To avoid errors. - -The `OPTIONAL CHANGES` flags are by default(recommended) given. You can add more or change as you wish. - -## CUSTOMIZATION - -You can Color customize your previews from the Color schemes and themes provided by `nbpreview`. These are - - -```bash -# COLOR SCHEMES ---color-system, --cs [standard|256|truecolor|windows|none|auto] - The type of color system to use. [env var: NBPREVIEW_COLOR_SYSTEM] - -# THEMES - -t, --theme [abap|algol|algol_nu|arduino|autumn|bw|borland|coffee|colorful|default| - dracula|emacs|friendly_grayscale|friendly|fruity|github-dark|gruvbox-dark| - gruvbox-light|igor|inkpot|lightbulb|lilypond|lovelace|manni|material|monokai| - murphy|native|nord-darker|nord|one-dark|paraiso-dark|paraiso-light|pastie| - perldoc|rainbow_dash|rrt|sas|solarized-dark|solarized-light|staroffice|stata-dark| - stata-light|tango|trac|vim|vs|xcode|zenburn|light|dark|ansi_light|ansi_dark] -``` - -You can change the default give color scheme and theme to any you like. - -> [!Note] -> -> The loading of `ipynb` might appear slow. This is due to the lag created by the command itself and not because of the plugin or yazi - -## Using piper.yazi - -[piper.yazi](https://github.com/yazi-rs/plugins/tree/main/piper.yazi) is a general-purpose previewer - you can pass any shell command to piper and it will use the command's output as the preview content. - -To use `nbpreview` with piper, you can add this in your `yazi.toml` file: - -```toml -[[plugin.prepend_previewers]] -name = "*.ipynb" -run = 'piper -- nbpreview --no-paging --nerd-font --decorated --no-files --unicode --color --images --color-system=standard --theme=ansi_dark "$1"' -``` - -## Explore Yazi - -Yazi is an amazing, blazing fast terminal file manager, with a variety of plugins, flavors and themes. Check them out at [awesome-yazi](https://github.com/AnirudhG07/awesome-yazi) and the official [yazi webpage](https://yazi-rs.github.io/). diff --git a/config/yazi/plugins/office.yazi/LICENSE b/config/yazi/plugins/office.yazi/LICENSE new file mode 100644 index 00000000..fb5b1d62 --- /dev/null +++ b/config/yazi/plugins/office.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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/config/yazi/plugins/office.yazi/README.md b/config/yazi/plugins/office.yazi/README.md new file mode 100644 index 00000000..b6893cd5 --- /dev/null +++ b/config/yazi/plugins/office.yazi/README.md @@ -0,0 +1,76 @@ +

+ +## Installation +> [!TIP] +> Installing this plugin with `ya` will conveniently clone the plugin from GitHub, +> copy it to your plugins directory, and update the `package.toml` to lock its version [^1]. +> +> To install it with `ya` run: +> ```sh +> ya pack -a macydnah/office +> ``` + +> Or if you prefer a manual approach: +> ```sh +> ## For linux and MacOS +> git clone https://github.com/macydnah/office.yazi.git ~/.config/yazi/plugins/office.yazi +> +> ## For Windows +> git clone https://github.com/macydnah/office.yazi.git %AppData%\yazi\config\plugins\office.yazi +> ``` + +## Usage +In your `yazi.toml` add rules to preloaders[^2] and previewers[^3] to run `office` plugin with office documents. + +> [!NOTE] +> Your config may be different depending if you're *appending*, *prepending* or *overriding* default rules. +> If unsure, take a look at [Configuration](https://yazi-rs.github.io/docs/configuration/overview)[^4] +> and [Configuration mixing](https://yazi-rs.github.io/docs/configuration/overview#mixing)[^5] + +For a general usecase, you may use the following rules +```toml +[plugin] + +prepend_preloaders = [ + # Office Documents + { mime = "application/openxmlformats-officedocument.*", run = "office" }, + { mime = "application/oasis.opendocument.*", run = "office" }, + { mime = "application/ms-*", run = "office" }, + { mime = "application/msword", run = "office" }, + { name = "*.docx", run = "office" }, +] + +prepend_previewers = [ + # Office Documents + { mime = "application/openxmlformats-officedocument.*", run = "office" }, + { mime = "application/oasis.opendocument.*", run = "office" }, + { mime = "application/ms-*", run = "office" }, + { mime = "application/msword", run = "office" }, + { name = "*.docx", run = "office" }, +] +``` + +## Dependencies +> [!IMPORTANT] +> Make sure that these commands are installed in your system and can be found in `PATH`: +> +> - `libreoffice` +> - `pdftoppm` + +## License +office.yazi is licensed under the terms of the [MIT License](LICENSE) + +[^1]: [The official package manager for Yazi](https://yazi-rs.github.io/docs/cli) +[^2]: [Preloaders rules](https://yazi-rs.github.io/docs/configuration/yazi#plugin.preloaders) +[^3]: [Previewers rules](https://yazi-rs.github.io/docs/configuration/yazi#plugin.previewers) +[^4]: [Configuration](https://yazi-rs.github.io/docs/configuration/overview) +[^5]: [Configuration mixing](https://yazi-rs.github.io/docs/configuration/overview#mixing) diff --git a/config/yazi/plugins/office.yazi/main.lua b/config/yazi/plugins/office.yazi/main.lua new file mode 100644 index 00000000..2fa02249 --- /dev/null +++ b/config/yazi/plugins/office.yazi/main.lua @@ -0,0 +1,114 @@ +--- @since 25.2.7 + +local M = {} + +function M:peek(job) + local start, cache = os.clock(), ya.file_cache(job) + if not cache then + return + end + + local ok, err = self:preload(job) + if not ok or err then + return + end + + ya.sleep(math.max(0, rt.preview.image_delay / 1000 + start - os.clock())) + ya.image_show(cache, job.area) + ya.preview_widgets(job, {}) +end + +function M:seek(job) + local h = cx.active.current.hovered + if h and h.url == job.file.url then + local step = ya.clamp(-1, job.units, 1) + ya.manager_emit("peek", { math.max(0, cx.active.preview.skip + step), only_if = job.file.url }) + end +end + +function M:doc2pdf(job) + local tmp = "/tmp/yazi-" .. ya.uid() .. "/" .. ya.hash("office.yazi") .. "/" + +--[[ For Future Reference: Regarding `libreoffice` as preconverter + 1. It prints errors to stdout (always, doesn't matter if it succeeded or it failed) + 2. Always writes the converted files to the filesystem, so no "Mario|Bros|Piping|Magic" for the data stream (https://ask.libreoffice.org/t/using-convert-to-output-to-stdout/38753) + 3. The `pdf:draw_pdf_Export` filter needs literal double quotes when defining its options (https://help.libreoffice.org/latest/en-US/text/shared/guide/pdf_params.html?&DbPAR=SHARED&System=UNIX#generaltext/shared/guide/pdf_params.xhp) + 3.1 Regarding double quotes and Lua strings, see https://www.lua.org/manual/5.1/manual.html#2.1 --]] + local libreoffice = Command("libreoffice") + :args({ + "--headless", + "--convert-to", + "pdf:draw_pdf_Export:{" .. + "\"PageRange\":{" .. + "\"type\":\"string\"," .. + "\"value\":" .. "\"" .. job.skip + 1 .. "\"" .. + "}" .. + "}", + "--outdir", + tmp, + tostring(job.file.url) + }) + :stdin(Command.NULL) + :stdout(Command.PIPED) + :stderr(Command.NULL) + :output() + + if not libreoffice.status.success then + ya.err(libreoffice.stdout:match("LibreOffice .+"):gsub("%\n.*", "") .. " " .. libreoffice.stdout:match("Error .+"):gsub("%\n.*", "")) + return nil, Err("Failed to preconvert `%s` to a temporary PDF", job.file.name) + end + + local tmp = tmp .. job.file.name:gsub("%.[^%.]+$", ".pdf") + local read_permission = io.open(tmp, "r") + if not read_permission then + return nil, Err("Failed to read `%s`: make sure file exists and have read access", tmp) + end + read_permission:close() + + return tmp +end + +function M:preload(job) + local cache = ya.file_cache(job) + if not cache or fs.cha(cache) then + return true + end + + local tmp_pdf, err = self:doc2pdf(job) + if not tmp_pdf then + return true, Err(" " .. "%s", err) + end + + local output, err = Command("pdftoppm") + :args({ + "-singlefile", + "-jpeg", + "-jpegopt", + "quality=" .. rt.preview.image_quality, + "-f", + 1, + tostring(tmp_pdf), + }) + :stdout(Command.PIPED) + :stderr(Command.PIPED) + :output() + + local rm_tmp_pdf, rm_err = fs.remove("file", Url(tmp_pdf)) + if not rm_tmp_pdf then + return true, Err("Failed to remove %s, error: %s", tmp_pdf, rm_err) + end + + if not output then + return true, Err("Failed to start `pdftoppm`, error: %s", err) + elseif not output.status.success then + local pages = tonumber(output.stderr:match("the last page %((%d+)%)")) or 0 + if job.skip > 0 and pages > 0 then + ya.mgr_emit("peek", { math.max(0, pages - 1), only_if = job.file.url, upper_bound = true }) + end + return true, Err("Failed to convert %s to image, stderr: %s", tmp_pdf, output.stderr) + end + + return fs.write(cache, output.stdout) +end + +return M diff --git a/config/yazi/plugins/nbpreview.yazi/LICENSE b/config/yazi/plugins/rich-preview.yazi/LICENSE similarity index 100% rename from config/yazi/plugins/nbpreview.yazi/LICENSE rename to config/yazi/plugins/rich-preview.yazi/LICENSE diff --git a/config/yazi/plugins/rich-preview.yazi/README.md b/config/yazi/plugins/rich-preview.yazi/README.md new file mode 100644 index 00000000..afacc0b6 --- /dev/null +++ b/config/yazi/plugins/rich-preview.yazi/README.md @@ -0,0 +1,89 @@ +# rich-preview.yazi + +Preview file types using `rich` command in Yazi. This plugin allows preview for various filetypes including - + +- Markdown +- Jupyter notebook +- JSON +- CSV +- RestructuredText + +## Previews/Screenshots + +[rich-preview1.webm](https://github.com/user-attachments/assets/580e36a8-249f-48a8-95fc-8c3d60e6a7d7) + +## Requirements + +- [Yazi](https://github.com/sxyazi/yazi) v0.4 or higher. +- [rich-cli](https://github.com/Textualize/rich) v13.7.1 or higher. + +## Installation + +To install this plugin, simply run- + +```bash +ya pack -a AnirudhG07/rich-preview +## For linux and MacOS +git clone https://github.com/AnirudhG07/rich-preview.yazi.git ~/.config/yazi/plugins/rich-preview.yazi + +## For Windows +git clone https://github.com/AnirudhG07/rich-preview.yazi.git %AppData%\yazi\config\plugins\rich-preview.yazi +``` + +## Usages + +The `rich` commands automatically detects if the file is markdown, csv, json, etc. files and accordingly the preview is viewed. + +Add the below to your `yazi.toml` file to allow the respective file to previewed using `rich`. + +```toml +[plugin] + +prepend_previewers = [ + { name = "*.csv", run = "rich-preview"}, # for csv files + { name = "*.md", run = "rich-preview" }, # for markdown (.md) files + { name = "*.rst", run = "rich-preview"}, # for restructured text (.rst) files + { name = "*.ipynb", run = "rich-preview"}, # for jupyter notebooks (.ipynb) + { name = "*.json", run = "rich-preview"}, # for json (.json) files +# { name = "*.lang_type", run = "rich-preview"} # for particular language files eg. .py, .go., .lua, etc. +] +``` + +## Configurations + +If you would like to use `rich` with more configurations, you can go to `init.lua` and edit the arguments in the code with your preferences. You can view the options using `rich --help`. + +```lua +-- init.lua +"-j", +"--left", +"--line-numbers", +"--force-terminal", +"--panel=rounded", +"--guides", +"--max-width" -- to area of preview +``` + +You can add more, remove and choose themes as you wish. You can set styles or Themes(as mentioned in `rich --help`) by `--theme=your_theme` and similarly for style. + +## Notes + +Currently the colors maynot be uniformly present, along with weird lines here and there. This is due to `"--force-terminal"` option. You can disable it if you find it annoying. Work is in progress to possibly fix the issue. + +## Using piper.yazi + +[piper.yazi](https://github.com/yazi-rs/plugins/tree/main/piper.yazi) is a general-purpose previewer - you can pass any shell command to piper and it will use the command's output as the preview content. + +To use `rich` with piper, you can add this in your `yazi.toml` file: + +```toml +[[plugin.prepend_previewers]] +name = "*.md" +run = 'piper -- rich -j --left --panel=rounded --guides --line-numbers --force-terminal "$1"' +``` + +Note you can also add other filetypes as mentioned above in the same format. + +# Explore Yazi + +Yazi is an amazing, blazing fast terminal file manager, with a variety of plugins, flavors and themes. Check them out at [awesome-yazi](https://github.com/AnirudhG07/awesome-yazi) and the official [yazi webpage](https://yazi-rs.github.io/). diff --git a/config/yazi/plugins/nbpreview.yazi/main.lua b/config/yazi/plugins/rich-preview.yazi/main.lua similarity index 76% rename from config/yazi/plugins/nbpreview.yazi/main.lua rename to config/yazi/plugins/rich-preview.yazi/main.lua index 79b9b3b5..7c621d08 100644 --- a/config/yazi/plugins/nbpreview.yazi/main.lua +++ b/config/yazi/plugins/rich-preview.yazi/main.lua @@ -1,22 +1,16 @@ local M = {} function M:peek(job) - local child = Command("nbpreview") + local child = Command("rich") :args({ - -- DO NOT CHANGE -- - "--no-paging", - "--nerd-font", - "--decorated", - - -- OPTIONAL CHANGES -- - "--no-files", - "--unicode", - "--color", - "--images", - - -- SPECIAL CUSTOMIZATIONS -- - "--color-system=standard", - "--theme=ansi_dark", + "-j", + "--left", + "--line-numbers", + "--force-terminal", + "--panel=rounded", + "--guides", + "--max-width", + tostring(job.area.w), tostring(job.file.url), }) :stdout(Command.PIPED) diff --git a/config/yazi/plugins/smart-filter.yazi/LICENSE b/config/yazi/plugins/smart-filter.yazi/LICENSE new file mode 100644 index 00000000..fb5b1d62 --- /dev/null +++ b/config/yazi/plugins/smart-filter.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +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/config/yazi/plugins/smart-filter.yazi/README.md b/config/yazi/plugins/smart-filter.yazi/README.md new file mode 100644 index 00000000..8ac4c095 --- /dev/null +++ b/config/yazi/plugins/smart-filter.yazi/README.md @@ -0,0 +1,28 @@ +# smart-filter.yazi + +A Yazi plugin that makes filters smarter: continuous filtering, automatically enter unique directory, open file on submitting. + +https://github.com/yazi-rs/plugins/assets/17523360/72aaf117-1378-4f7e-93ba-d425a79deac5 + +## Installation + +```sh +ya pack -a yazi-rs/plugins:smart-filter +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[manager.prepend_keymap]] +on = "F" +run = "plugin smart-filter" +desc = "Smart filter" +``` + +Make sure the F key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/config/yazi/plugins/smart-filter.yazi/main.lua b/config/yazi/plugins/smart-filter.yazi/main.lua new file mode 100644 index 00000000..a47acffb --- /dev/null +++ b/config/yazi/plugins/smart-filter.yazi/main.lua @@ -0,0 +1,49 @@ +--- @since 25.2.26 + +local hovered = ya.sync(function() + local h = cx.active.current.hovered + if not h then + return {} + end + + return { + url = h.url, + is_dir = h.cha.is_dir, + unique = #cx.active.current.files == 1, + } +end) + +local function prompt() + return ya.input { + title = "Smart filter:", + position = { "center", w = 50 }, + realtime = true, + debounce = 0.1, + } +end + +local function entry() + local input = prompt() + + while true do + local value, event = input:recv() + if event ~= 1 and event ~= 3 then + ya.mgr_emit("escape", { filter = true }) + break + end + + ya.mgr_emit("filter_do", { value, smart = true }) + + local h = hovered() + if h.unique and h.is_dir then + ya.mgr_emit("escape", { filter = true }) + ya.mgr_emit("enter", {}) + input = prompt() + elseif event == 1 then + ya.mgr_emit("escape", { filter = true }) + ya.mgr_emit(h.is_dir and "enter" or "open", { h.url }) + end + end +end + +return { entry = entry } diff --git a/config/yazi/plugins/time-travel.yazi/LICENSE b/config/yazi/plugins/time-travel.yazi/LICENSE new file mode 100644 index 00000000..84d96d42 --- /dev/null +++ b/config/yazi/plugins/time-travel.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Xianyi Lin + +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. \ No newline at end of file diff --git a/config/yazi/plugins/time-travel.yazi/README.md b/config/yazi/plugins/time-travel.yazi/README.md new file mode 100644 index 00000000..37a519ef --- /dev/null +++ b/config/yazi/plugins/time-travel.yazi/README.md @@ -0,0 +1,41 @@ +# time-travel.yazi + +A Yazi plugin for browsing backwards and forwards in time via BTRFS / ZFS +snapshots. + +https://github.com/user-attachments/assets/6d2fc9e7-f86e-4444-aab6-4e11e51e8b34 + +## Installation + +```sh +ya pack -a iynaix/time-travel +``` + +> [!NOTE] +> The minimum required yazi version is 25.2.7. + +## Usage + +Add keymaps similar to the following to your `~/.config/yazi/keymap.toml`: + +```toml +[[manager.prepend_keymap]] +on = ["z", "h"] +run = "plugin time-travel --args=prev" +desc = "Go to previous snapshot" + +[[manager.prepend_keymap]] +on = ["z", "l"] +run = "plugin time-travel --args=next" +desc = "Go to next snapshot" + +[[manager.prepend_keymap]] +on = ["z", "e"] +run = "plugin time-travel --args=exit" +desc = "Exit browsing snapshots" +``` + +#### Note for BTRFS + +`sudo` is required to run btrfs commands such as `btrfs subvolume list`, the +plugin will drop into a terminal to prompt for the password. diff --git a/config/yazi/plugins/time-travel.yazi/main.lua b/config/yazi/plugins/time-travel.yazi/main.lua new file mode 100644 index 00000000..f19c261e --- /dev/null +++ b/config/yazi/plugins/time-travel.yazi/main.lua @@ -0,0 +1,386 @@ +---@param msg string +local notify_warn = function(msg) + ya.notify { title = "ZFS", content = msg, level = "warn", timeout = 5 } +end + +---@param msg string +local notify_error = function(msg) + ya.notify { title = "ZFS", content = msg, level = "error", timeout = 5 } +end + +---@param arr table +---@param predicate fun(value: any): boolean +---@return number|nil # index if found, nil if not found +local find_index = function(arr, predicate) + for i, value in ipairs(arr) do + if predicate(value) then + return i + end + end + return nil +end + +--- Verify if `sudo` is already authenticated +--- @return boolean +local function sudo_already() + local status = Command("sudo"):args({ "--validate", "--non-interactive" }):status() + assert(status, "Failed to run `sudo --validate --non-interactive`") + return status.success +end + +--- Run a program with `sudo` privilege +--- @param program string +--- @param args table +--- @return Output|nil output +--- @return integer|nil err +--- nil: no error +--- 1: sudo failed +local function run_with_sudo(program, args) + local cmd = Command("sudo"):args({ program, table.unpack(args) }):stdout(Command.PIPED):stderr(Command.PIPED) + if sudo_already() then + return cmd:output() + end + + local permit = ya.hide() + print(string.format("Sudo password required to run: `%s %s`", program, table.concat(args, " "))) + local output = cmd:output() + permit:drop() + + if output.status.success or sudo_already() then + return output + end + return nil, 1 +end + + +---@return string +local get_cwd = ya.sync(function() + return tostring(cx.active.current.cwd) +end) + +---@param s string +---@return string +local trim = function(s) + return s:match("^%s*(.-)%s*$") +end + +---@param cwd string +---@return string|nil +local get_filesystem_type = function(cwd) + local stat, _ = Command("stat"):args({ "-f", "-c", "%T", cwd }):output() + if not stat.status.success then + return nil + end + return trim(stat.stdout) +end + +---@param cwd string +---@return string|nil +local zfs_dataset = function(cwd) + local df, _ = Command("df"):args({ "--output=source", cwd }):output() + local dataset = nil + for line in df.stdout:gmatch("[^\r\n]+") do + -- dataset is last line in output + dataset = line + end + return dataset +end + +---@param dataset string +---@return string|nil +local zfs_mountpoint = function(dataset) + local zfs, _ = Command("zfs"):args({ "get", "-H", "-o", "value", "mountpoint", dataset }):output() + + -- not a dataset! + if not zfs.status.success then + return nil + end + + -- legacy mountpoint, search for actual mountpoint using df + if zfs.stdout == "legacy\n" then + local df, _ = Command("df"):output() + if not df.status.success then + return nil + end + + for line in df.stdout:gmatch("[^\r\n]+") do + -- match start of line + if string.sub(line, 1, #dataset) == dataset then + local mountpoint = nil + for field in line:gmatch("%S+") do + -- mountpoint is last field in df output + mountpoint = field + end + return mountpoint + end + end + else + return zfs.stdout:gsub("\n$", "") + end + + -- shouldn't be here + return nil +end + +-- returns the path relative to the mountpoint / snapshot +---@param cwd string +---@param mountpoint string +local zfs_relative = function(cwd, mountpoint) + -- relative path to get mountpoint + local relative = (cwd:sub(0, #mountpoint) == mountpoint) and cwd:sub(#mountpoint + 1) or cwd + + -- is a snapshot dir, strip everything after "/snapshot" + if cwd:find(".zfs/snapshot") ~= nil then + local snapshot_pos = cwd:find("/snapshot") + + -- everything after the "/snapshot/" + local after = cwd:sub(snapshot_pos + #"/snapshot" + 1) + local first_slash = after:find("/") + -- root of snapshot? + if first_slash == nil then + return "/" + else + return after:sub(first_slash) + end + end + + return relative +end + +---@class Snapshot +---@field name string +---@field path string + +---@param dataset string +---@param mountpoint string +---@param relative string +---@return Snapshot[] +local zfs_snapshots = function(dataset, mountpoint, relative) + -- -S is for reverse order + local zfs_snapshots, _ = Command("zfs"):args({ "list", "-H", "-t", "snapshot", "-o", "name", "-S", "creation", + dataset }) + :output() + + if not zfs_snapshots.status.success then + return {} + end + + ---@type Snapshot[] + local snapshots = {} + for snapshot in zfs_snapshots.stdout:gmatch("[^\r\n]+") do + -- in the format dataset@snapshot + local sep = snapshot:find("@") + local id = snapshot:sub(sep + 1) + + table.insert(snapshots, { + id = id, + path = mountpoint .. "/.zfs/snapshot/" .. id .. relative, + }) + end + return snapshots +end + +---@param cwd string +---@return string|nil +local function btrfs_mountpoint(cwd) + local cmd, _ = Command("findmnt"):args({ "-no", "TARGET", "-T", cwd }):output() + if not cmd.status.success then + return nil + end + return trim(cmd.stdout) +end + +---Returns the current uuid and the parent uuid +---@param cwd string +---@return string|nil, string|nil +local function btrfs_uuids(cwd) + local cmd, _ = run_with_sudo("btrfs", { "subvolume", "show", cwd }) + if not cmd then + return nil + end + + local parent_uuid = nil + local uuid = nil + for line in cmd.stdout:gmatch("[^\r\n]+") do + local parent_uuid_re = line:match("^%s*Parent UUID:%s*(%S+)") + if parent_uuid_re then + parent_uuid = trim(parent_uuid_re) + end + + local uuid_re = line:match("^%s*UUID:%s*(%S+)") + if uuid_re then + uuid = trim(uuid_re) + end + end + return parent_uuid, uuid +end + +---@param mountpoint string +---@param current_uuid string +---@param current_parent_uuid string|nil +---@return { snapshots: Snapshot[], latest_path: string, current_snapshot_id: string } +local function btrfs_snapshots(mountpoint, current_uuid, current_parent_uuid) + local snapshots_cmd, _ = run_with_sudo("btrfs", { "subvolume", "list", "-q", "-u", mountpoint }) + if not snapshots_cmd then + return {} + end + + local snapshots = {} + local latest_path = "" + local current_snapshot_id = "" + + for line in snapshots_cmd.stdout:gmatch("[^\r\n]+") do + local pattern = "ID (%d+) gen %d+ top level %d+ parent_uuid ([%w-]+)%s+uuid ([%w-]+) path (%S+)" + -- Extract the fields + local subvol_id, parent_uuid, uuid, name = line:match(pattern) + parent_uuid = trim(parent_uuid) + + local path = mountpoint .. "/" .. name + local is_parent = false + + if current_parent_uuid == "-" then + if parent_uuid == "-" and uuid == current_uuid then + is_parent = true + end + else + if uuid == current_parent_uuid then + is_parent = true + end + end + + if is_parent then + latest_path = path + end + + if uuid == current_uuid and not is_parent then + current_snapshot_id = name + end + + if not is_parent then + table.insert(snapshots, { + id = name, + subvol_id = subvol_id, -- used only for sorting + path = path, + }) + end + end + + -- Sort snapshots by time descending + table.sort(snapshots, function(a, b) + return a.subvol_id > b.subvol_id + end) + + return { snapshots = snapshots, latest_path = latest_path, current_snapshot_id = current_snapshot_id } +end + +return { + entry = function(_, job) + local action = job.args[1] + local cwd = get_cwd() + + if action ~= "exit" and action ~= "prev" and action ~= "next" then + return notify_error("Invalid action: " .. action) + end + + local fs_type = get_filesystem_type(cwd) + if fs_type ~= "zfs" and fs_type ~= "btrfs" then + return notify_error("Current directory is not on a BTRFS / ZFS filesystem.") + end + + local current_snapshot_id = "" + local latest_path = "" + local snapshots = {} + + if fs_type == "zfs" then + local dataset = zfs_dataset(cwd) + if dataset == nil then + return notify_error("Current directory is not within a ZFS dataset.") + end + + if cwd:find(".zfs/snapshot") ~= nil then + -- in the format dataset@snapshot + local sep = dataset:find("@") + current_snapshot_id = dataset:sub(sep + 1) + dataset = dataset:sub(1, sep - 1) + end + + local mountpoint = zfs_mountpoint(dataset) + if mountpoint == nil then + return notify_error("Current directory is not within a ZFS dataset.") + end + + -- NOTE: relative already has leading "/" + local relative = zfs_relative(cwd, mountpoint) + + latest_path = mountpoint .. relative + snapshots = zfs_snapshots(dataset, mountpoint, relative) + elseif fs_type == "btrfs" then + local mountpoint = btrfs_mountpoint(cwd) + local parent_uuid, uuid = btrfs_uuids(cwd) + + if mountpoint == nil or uuid == nil then + return notify_error("Current directory is not within a BTRFS subvolume.") + end + + local ret = btrfs_snapshots(mountpoint, uuid, parent_uuid) + snapshots = ret.snapshots + latest_path = ret.latest_path + current_snapshot_id = ret.current_snapshot_id + end + + if action == "exit" then + ya.manager_emit("cd", { latest_path }) + return + end + + if #snapshots == 0 then + return notify_warn("No snapshots found.") + end + + ---@param start_idx integer + ---@param end_idx integer + ---@param step integer + local find_and_goto_snapshot = function(start_idx, end_idx, step) + if start_idx == 0 then + -- going from newest snapshot to current state + return ya.manager_emit("cd", { latest_path }) + elseif start_idx < 0 then + return notify_warn("No earlier snapshots found.") + elseif start_idx > #snapshots then + return notify_warn("No earlier snapshots found.") + end + + for i = start_idx, end_idx, step do + local snapshot_dir = snapshots[i].path + if io.open(snapshot_dir, "r") then + return ya.manager_emit("cd", { snapshot_dir }) + end + end + + local direction = action == "prev" and "earlier" or "later" + return notify_warn("No " .. direction .. " snapshots found.") + end + + -- NOTE: latest snapshot is first in list + if current_snapshot_id == "" then + if action == "prev" then + -- go to latest snapshot + return find_and_goto_snapshot(1, #snapshots, 1) + elseif action == "next" then + return notify_warn("No later snapshots found.") + end + end + + -- has current snapshot + local idx = find_index(snapshots, function(snapshot) return snapshot.id == current_snapshot_id end) + if idx == nil then + return notify_error("Snapshot not found.") + end + + if action == "prev" then + find_and_goto_snapshot(idx + 1, #snapshots, 1) + elseif action == "next" then + find_and_goto_snapshot(idx - 1, 1, -1) + end + end, +} diff --git a/config/yazi/plugins/vidir.yazi/LICENSE b/config/yazi/plugins/vidir.yazi/LICENSE new file mode 100644 index 00000000..34034b42 --- /dev/null +++ b/config/yazi/plugins/vidir.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Kristofers Solo + +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/config/yazi/plugins/vidir.yazi/README.md b/config/yazi/plugins/vidir.yazi/README.md new file mode 100644 index 00000000..e59778b1 --- /dev/null +++ b/config/yazi/plugins/vidir.yazi/README.md @@ -0,0 +1,29 @@ +# vidir.yazi + +This plugin is a bulk-rename plugin using [vidir](https://linux.die.net/man/1/vidir). + +## Requirements + +- [yazi >= v25.2.7](https://github.com/sxyazi/yazi) +- [vidir](https://linux.die.net/man/1/vidir) (sometimes included in [moreutils](https://man.archlinux.org/listing/extra/moreutils/) package) + +## Installation + +```bash +ya pack -a kristoferssolo/vidir +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[manager.prepend_keymap]] +on = "B" +run = [ "escape --visual", "plugin --sync vidir" ] +desc = "Bulk rename with vidir" +``` + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/config/yazi/plugins/vidir.yazi/main.lua b/config/yazi/plugins/vidir.yazi/main.lua new file mode 100644 index 00000000..90ff69c9 --- /dev/null +++ b/config/yazi/plugins/vidir.yazi/main.lua @@ -0,0 +1,9 @@ +--- @sync entry +--- @since 25.2.7 + +return { + entry = function() + -- If no selection, use current directory (.) + ya.manager_emit("shell", { "vidir .", block = true, confirm = true }) + end, +} diff --git a/config/yazi/yazi.toml b/config/yazi/yazi.toml index bfeff9ba..4c2a531b 100644 --- a/config/yazi/yazi.toml +++ b/config/yazi/yazi.toml @@ -56,7 +56,7 @@ play = [ rules = [ {name = "*/", use = [ "edit", "open", "reveal" ]}, {mime = "text/*", use = [ "edit", "reveal" ]}, - {mime = "image/*", use = [ "open", "reveal" ]}, + {mime = "image/*", use = [ "reveal" ]}, {mime = "{audio,video}/*", use = [ "play", "reveal" ]}, {mime = "inode/x-empty", use = [ "edit", "reveal" ]}, {mime = "application/*zip", use = [ "extract", "reveal" ]}, @@ -77,47 +77,65 @@ suppress_preload = false [plugin] preloaders = [ - # Image {mime = "image/*", run = "image"}, - # Video {mime = "video/*", run = "video"}, - # PDF {mime = "application/pdf", run = "pdf"}, ] +prepend_preloaders = [ + # Office Documents + {mime = "application/openxmlformats-officedocument.*", run = "office"}, + {mime = "application/oasis.opendocument.*", run = "office"}, + {mime = "application/ms-*", run = "office"}, + {mime = "application/msword", run = "office"}, + {name = "*.docx", run = "office"}, + {mime = "{audio,video,image}/*", run = "mediainfo"}, + {mime = "application/subrip", run = "mediainfo"}, +] previewers = [ {name = "*/", run = "folder", sync = true}, - # Code {mime = "text/*", run = "code"}, {mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code"}, - # JSON {mime = "application/json", run = "code"}, - # Image {mime = "image/vnd.djvu", run = "noop"}, - # {mime = "image/*", run = "image"}, - # Video - # {mime = "video/*", run = "video"}, - # PDF - # {mime = "application/pdf", run = "pdf"}, + {mime = "application/pdf", run = "pdf"}, # Fallback {name = "*", run = "file"}, ] -prepend_previewers = [ ] - -append_previewers = [ - {name = "*.ipynb", run = "nbpreview"}, - {mime = "application/x-bittorrent", run = "torrent-preview"}, - {mime = "audio/*", run = "exifaudio"}, +prepend_previewers = [ {mime = "text/csv", run = "miller"}, - {name = "*.{md,mdx,markdown}", run = "glow"}, + # mediainfo + {mime = "{audio,video,image}/*", run = "mediainfo"}, + {mime = "application/subrip", run = "mediainfo"}, + # rich preview + {name = "*.csv", run = "rich-preview"}, # for csv files + {name = "*.{md,mdx,markdown}", run = "rich-preview"}, # for markdown (.md) files + {name = "*.rst", run = "rich-preview"}, # for restructured text (.rst) files + {name = "*.ipynb", run = "rich-preview"}, # for jupyter notebooks (.ipynb) + {name = "*.json", run = "rich-preview"}, # for json (.json) files + {mime = "application/bittorrent", run = "torrent-preview"}, # Archive previewer {mime = "application/*zip", run = "ouch"}, - {mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", run = "ouch"}, + {mime = "application/tar", run = "ouch"}, + {mime = "application/bzip2", run = "ouch"}, + {mime = "application/7z-compressed", run = "ouch"}, + {mime = "application/rar", run = "ouch"}, + {mime = "application/xz", run = "ouch"}, + # Office Documents + {mime = "application/openxmlformats-officedocument.*", run = "office"}, + {mime = "application/oasis.opendocument.*", run = "office"}, + {mime = "application/ms-*", run = "office"}, + {mime = "application/msword", run = "office"}, + {name = "*.docx", run = "office"}, +] + +append_previewers = [ {name = "*", run = "hexyl"}, ] prepend_fetchers = [ {id = "git", name = "*", run = "git"}, {id = "git", name = "*/", run = "git"}, + {id = "mime", name = "*", run = "mime-ext", prio = "high"}, ] [input] diff --git a/local/share/applications/file.desktop b/local/share/applications/file.desktop index f96213fd..9d017f5c 100644 --- a/local/share/applications/file.desktop +++ b/local/share/applications/file.desktop @@ -1,4 +1,4 @@ [Desktop Entry] Type=Application Name=File Manager -Exec=/usr/bin/alacritty -e yazi %u +Exec=/usr/bin/{{terminal}} -e yazi %u diff --git a/local/share/applications/text.desktop b/local/share/applications/text.desktop index 812da785..0aff33d9 100644 --- a/local/share/applications/text.desktop +++ b/local/share/applications/text.desktop @@ -1,4 +1,4 @@ [Desktop Entry] Type=Application Name=Text editor -Exec=/usr/bin/alacritty -e nvim %u +Exec=/usr/bin/{{terminal}} -e nvim %u