mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
Update 2025-05-31
Update 2025-05-06 Update 2025-05-09 Update 2025-05-11 Update 2025-05-13 Update 2025-05-18 Update 2025-05-19 Update 2025-05-24 Update 2025-05-27 Update 2025-05-29 Update 2025-05-31
This commit is contained in:
parent
d028d0ad38
commit
1d7d0b7c22
7
.dotter/artix-laptop.toml
Normal file
7
.dotter/artix-laptop.toml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
packages = [ "wayland" ]
|
||||||
|
|
||||||
|
[variables]
|
||||||
|
dpi = "96"
|
||||||
|
font_size = "16"
|
||||||
|
terminal = "ghostty"
|
||||||
|
browser = "floorp"
|
||||||
7
.dotter/artix-machine.toml
Normal file
7
.dotter/artix-machine.toml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
packages = [ "x11" ]
|
||||||
|
|
||||||
|
[variables]
|
||||||
|
dpi = "96"
|
||||||
|
font_size = "10"
|
||||||
|
terminal = "ghostty"
|
||||||
|
browser = "floorp"
|
||||||
@ -32,7 +32,7 @@ depends = [ "base", "awesome_laptop", "picom", "dunst", "rofi" ]
|
|||||||
"config/x11/xresources" = {target = "~/.config/x11/xresources", type = "template"}
|
"config/x11/xresources" = {target = "~/.config/x11/xresources", type = "template"}
|
||||||
|
|
||||||
[wayland]
|
[wayland]
|
||||||
depends = [ "base", "hyprland", "dunst" ]
|
depends = [ "base", "hyprland", "dunst", "rofi" ]
|
||||||
|
|
||||||
[wayland.files]
|
[wayland.files]
|
||||||
"config/zsh/.zprofile-wayland" = "~/.config/zsh/.zprofile"
|
"config/zsh/.zprofile-wayland" = "~/.config/zsh/.zprofile"
|
||||||
@ -48,6 +48,12 @@ depends = [ "shell" ]
|
|||||||
"config/shell/env" = "~/.zshenv"
|
"config/shell/env" = "~/.zshenv"
|
||||||
"config/zsh/" = "~/.config/zsh/"
|
"config/zsh/" = "~/.config/zsh/"
|
||||||
|
|
||||||
|
[fish]
|
||||||
|
depends = [ "shell" ]
|
||||||
|
|
||||||
|
[fish.files]
|
||||||
|
"config/fish/" = "~/.config/fish/"
|
||||||
|
|
||||||
[local.files]
|
[local.files]
|
||||||
"local/bin/" = "~/.local/bin/"
|
"local/bin/" = "~/.local/bin/"
|
||||||
"local/share/" = "~/.local/share/"
|
"local/share/" = "~/.local/share/"
|
||||||
@ -59,7 +65,7 @@ depends = [ "shell" ]
|
|||||||
"config/rofi/config.rasi" = {target = "~/.config/rofi/config.rasi", type = "template"}
|
"config/rofi/config.rasi" = {target = "~/.config/rofi/config.rasi", type = "template"}
|
||||||
|
|
||||||
[misc]
|
[misc]
|
||||||
depends = [ "torrent", "zathura" ]
|
depends = [ "torrent", "zathura", "email" ]
|
||||||
|
|
||||||
[misc.files]
|
[misc.files]
|
||||||
"config/batrc" = "~/.config/bat/config"
|
"config/batrc" = "~/.config/bat/config"
|
||||||
@ -127,8 +133,11 @@ depends = [ "misc", "local", "eww", "lock" ]
|
|||||||
[spotify.files]
|
[spotify.files]
|
||||||
"config/spotify-tui.yml" = "~/.config/spotify-tui/config.yml"
|
"config/spotify-tui.yml" = "~/.config/spotify-tui/config.yml"
|
||||||
|
|
||||||
|
[email.files]
|
||||||
|
"config/neomutt/" = "~/.config/neomutt/"
|
||||||
|
|
||||||
[terminal]
|
[terminal]
|
||||||
depends = [ "zsh", "tmux" ]
|
depends = [ "zsh", "tmux", "fish" ]
|
||||||
|
|
||||||
[terminal.files]
|
[terminal.files]
|
||||||
"config/alacritty/" = "~/.config/alacritty/"
|
"config/alacritty/" = "~/.config/alacritty/"
|
||||||
@ -139,6 +148,7 @@ depends = [ "zsh", "tmux" ]
|
|||||||
|
|
||||||
[tmux.files]
|
[tmux.files]
|
||||||
"config/tmux/" = "~/.config/tmux/"
|
"config/tmux/" = "~/.config/tmux/"
|
||||||
|
"config/sesh/" = "~/.config/sesh/"
|
||||||
|
|
||||||
[xplr.files]
|
[xplr.files]
|
||||||
"config/xplr/" = "~/.config/xplr/"
|
"config/xplr/" = "~/.config/xplr/"
|
||||||
|
|||||||
@ -68,6 +68,7 @@ beautiful.init(gears.filesystem.get_configuration_dir() .. "mytheme.lua")
|
|||||||
|
|
||||||
-- This is used later as the default terminal and editor to run.
|
-- This is used later as the default terminal and editor to run.
|
||||||
local terminal = "{{terminal}}"
|
local terminal = "{{terminal}}"
|
||||||
|
local browser = "{{browser}}"
|
||||||
local editor = os.getenv("EDITOR") or "nvim"
|
local editor = os.getenv("EDITOR") or "nvim"
|
||||||
local editor_cmd = terminal .. " -e " .. editor
|
local editor_cmd = terminal .. " -e " .. editor
|
||||||
|
|
||||||
@ -437,7 +438,7 @@ local globalkeys = gears.table.join(
|
|||||||
-- awful.key({ modkey, "Control" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
|
-- awful.key({ modkey, "Control" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
|
||||||
|
|
||||||
awful.key({ modkey }, "b", function()
|
awful.key({ modkey }, "b", function()
|
||||||
awful.spawn("floorp")
|
awful.spawn(browser)
|
||||||
end, { description = "open browser", group = "launcher" }),
|
end, { description = "open browser", group = "launcher" }),
|
||||||
awful.key({ modkey }, "n", function()
|
awful.key({ modkey }, "n", function()
|
||||||
awful.spawn(terminal .. " -e yazi")
|
awful.spawn(terminal .. " -e yazi")
|
||||||
|
|||||||
@ -67,6 +67,7 @@ beautiful.init(gears.filesystem.get_configuration_dir() .. "mytheme.lua")
|
|||||||
|
|
||||||
-- This is used later as the default terminal and editor to run.
|
-- This is used later as the default terminal and editor to run.
|
||||||
local terminal = "{{terminal}}"
|
local terminal = "{{terminal}}"
|
||||||
|
local browser = "{{browser}}"
|
||||||
local editor = os.getenv("EDITOR") or "nvim"
|
local editor = os.getenv("EDITOR") or "nvim"
|
||||||
local editor_cmd = terminal .. " -e " .. editor
|
local editor_cmd = terminal .. " -e " .. editor
|
||||||
|
|
||||||
@ -430,7 +431,7 @@ local globalkeys = gears.table.join(
|
|||||||
-- awful.key({ modkey, "Control" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
|
-- awful.key({ modkey, "Control" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
|
||||||
|
|
||||||
awful.key({ modkey }, "b", function()
|
awful.key({ modkey }, "b", function()
|
||||||
awful.spawn("floorp")
|
awful.spawn(browser)
|
||||||
end, { description = "open browser", group = "launcher" }),
|
end, { description = "open browser", group = "launcher" }),
|
||||||
awful.key({ modkey }, "n", function()
|
awful.key({ modkey }, "n", function()
|
||||||
awful.spawn(terminal .. " -e yazi")
|
awful.spawn(terminal .. " -e yazi")
|
||||||
@ -485,7 +486,7 @@ local globalkeys = gears.table.join(
|
|||||||
-- Menubar
|
-- Menubar
|
||||||
awful.key({ modkey }, "p", function()
|
awful.key({ modkey }, "p", function()
|
||||||
-- menubar.show()
|
-- menubar.show()
|
||||||
awful.spawn("rofi -show drun -show-icons")
|
awful.spawn("rofi -show combi -show-icons")
|
||||||
end, { description = "show the menubar", group = "launcher" })
|
end, { description = "show the menubar", group = "launcher" })
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
|
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
|
||||||
# for a list of all available themes
|
# for a list of all available themes
|
||||||
--theme="Rosé Pine"
|
--theme="base16"
|
||||||
|
|
||||||
# Enable this to use italic text on the terminal. This is not supported on all
|
# Enable this to use italic text on the terminal. This is not supported on all
|
||||||
# terminal emulators (like tmux, by default):
|
# terminal emulators (like tmux, by default):
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
#? Config file for btop v. 1.4.0
|
#? Config file for btop v. 1.4.3
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
@ -57,7 +57,7 @@ update_ms = 500
|
|||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
proc_sorting = "memory"
|
proc_sorting = "cpu direct"
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
#* Reverse sorting order, True or False.
|
||||||
proc_reversed = False
|
proc_reversed = False
|
||||||
@ -72,7 +72,7 @@ proc_colors = True
|
|||||||
proc_gradient = True
|
proc_gradient = True
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
proc_per_core = False
|
proc_per_core = True
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
#* Show process memory as bytes instead of percent.
|
||||||
proc_mem_bytes = True
|
proc_mem_bytes = True
|
||||||
@ -210,6 +210,9 @@ net_sync = False
|
|||||||
#* Starts with the Network Interface specified here.
|
#* Starts with the Network Interface specified here.
|
||||||
net_iface = ""
|
net_iface = ""
|
||||||
|
|
||||||
|
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||||
|
base_10_bitrate = "Auto"
|
||||||
|
|
||||||
#* Show battery stats in top right if battery is present.
|
#* Show battery stats in top right if battery is present.
|
||||||
show_battery = True
|
show_battery = True
|
||||||
|
|
||||||
@ -226,6 +229,9 @@ log_level = "WARNING"
|
|||||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
nvml_measure_pcie_speeds = True
|
nvml_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||||
|
rsmi_measure_pcie_speeds = True
|
||||||
|
|
||||||
#* Horizontally mirror the GPU graph.
|
#* Horizontally mirror the GPU graph.
|
||||||
gpu_mirror_graph = True
|
gpu_mirror_graph = True
|
||||||
|
|
||||||
|
|||||||
@ -146,6 +146,10 @@ clock_time {
|
|||||||
margin: 0px 10px 0px 10px;
|
margin: 0px 10px 0px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.module-wifi {
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.separ {
|
.separ {
|
||||||
color: $highlight_med;
|
color: $highlight_med;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -472,3 +476,11 @@ calendar:indeterminate {
|
|||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
margin: 0px 0px 20px 0px;
|
margin: 0px 0px 20px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.activate-linux {
|
||||||
|
color: rgba(250, 250, 250, 0.5);
|
||||||
|
|
||||||
|
&.background {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -99,12 +99,12 @@
|
|||||||
:tooltip "Battery on ${EWW_BATTERY.BAT0.capacity}%"
|
:tooltip "Battery on ${EWW_BATTERY.BAT0.capacity}%"
|
||||||
:show_truncated false
|
:show_truncated false
|
||||||
:wrap false
|
:wrap false
|
||||||
"${EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
;; "${EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 90 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 90 ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 70 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 70 ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 40 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 40 ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 20 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 20 ? "" :
|
||||||
""}"
|
;; ""}"
|
||||||
))))
|
))))
|
||||||
|
|
||||||
|
|
||||||
@ -124,7 +124,7 @@
|
|||||||
:tooltip "Using ${memory}% ram"
|
:tooltip "Using ${memory}% ram"
|
||||||
:show_truncated false
|
:show_truncated false
|
||||||
:wrap false
|
:wrap false
|
||||||
""))))
|
))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -311,12 +311,12 @@
|
|||||||
:class "sys_bat"
|
:class "sys_bat"
|
||||||
:thickness 9
|
:thickness 9
|
||||||
(label
|
(label
|
||||||
:text "${EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
;; :text "${EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 90 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 90 ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 70 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 70 ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 40 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 40 ? "" :
|
||||||
EWW_BATTERY.BAT0.capacity > 20 ? "" :
|
;; EWW_BATTERY.BAT0.capacity > 20 ? "" :
|
||||||
""}"
|
;; ""}"
|
||||||
:interval "5m"
|
:interval "5m"
|
||||||
:class "sys_icon_bat ${EWW_BATTERY.BAT0.capacity} syst_icon_bat__${EWW_BATTERY.BAT0.status} ${EWW_BATTERY.BAT0.capacity < 20 ? "sys_icon_bat__low" : ""}"
|
:class "sys_icon_bat ${EWW_BATTERY.BAT0.capacity} syst_icon_bat__${EWW_BATTERY.BAT0.status} ${EWW_BATTERY.BAT0.capacity < 20 ? "sys_icon_bat__low" : ""}"
|
||||||
:limit-width 2
|
:limit-width 2
|
||||||
@ -350,7 +350,7 @@
|
|||||||
:show_truncated false
|
:show_truncated false
|
||||||
:wrap false)))
|
:wrap false)))
|
||||||
(label
|
(label
|
||||||
:text ""
|
:text ""
|
||||||
:class "sys_sep"
|
:class "sys_sep"
|
||||||
:halign "center")
|
:halign "center")
|
||||||
(box
|
(box
|
||||||
@ -363,7 +363,6 @@
|
|||||||
:class "sys_mem"
|
:class "sys_mem"
|
||||||
:thickness 9
|
:thickness 9
|
||||||
(label
|
(label
|
||||||
:text ""
|
|
||||||
:class "sys_icon_mem"
|
:class "sys_icon_mem"
|
||||||
:limit-width 2
|
:limit-width 2
|
||||||
:show_truncated false
|
:show_truncated false
|
||||||
@ -566,3 +565,16 @@
|
|||||||
(box :class "window"
|
(box :class "window"
|
||||||
(label :text "${window}")))
|
(label :text "${window}")))
|
||||||
|
|
||||||
|
(defwidget activate-linux []
|
||||||
|
(box
|
||||||
|
:orientation "v"
|
||||||
|
:halign "start"
|
||||||
|
:valign "start"
|
||||||
|
(label :xalign 0 :markup "<span font_size=\"large\">Activate Linux</span>")
|
||||||
|
(label :xalign 0 :text "Go to Settings to activate Linux")))
|
||||||
|
|
||||||
|
(defwindow activate-linux
|
||||||
|
:monitor 0
|
||||||
|
:stacking "fg"
|
||||||
|
:geometry (geometry :x "8px" :y "64px" :width "420px" :anchor "bottom right")
|
||||||
|
(activate-linux))
|
||||||
|
|||||||
@ -20,4 +20,3 @@ elif [[ "$1" == "--ESSID" ]]; then
|
|||||||
elif [[ "$1" == "--ICON" ]]; then
|
elif [[ "$1" == "--ICON" ]]; then
|
||||||
echo $icon
|
echo $icon
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
17
config/fish/completions/fastanime.fish
Normal file
17
config/fish/completions/fastanime.fish
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
function _fastanime_completion;
|
||||||
|
set -l response (env _FASTANIME_COMPLETE=fish_complete COMP_WORDS=(commandline -cp) COMP_CWORD=(commandline -t) fastanime);
|
||||||
|
|
||||||
|
for completion in $response;
|
||||||
|
set -l metadata (string split "," $completion);
|
||||||
|
|
||||||
|
if test $metadata[1] = "dir";
|
||||||
|
__fish_complete_directories $metadata[2];
|
||||||
|
else if test $metadata[1] = "file";
|
||||||
|
__fish_complete_path $metadata[2];
|
||||||
|
else if test $metadata[1] = "plain";
|
||||||
|
echo $metadata[2];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
complete --no-files --command fastanime --arguments "(_fastanime_completion)";
|
||||||
1
config/fish/completions/fzf.fish
Normal file
1
config/fish/completions/fzf.fish
Normal file
@ -0,0 +1 @@
|
|||||||
|
fzf --fish | source
|
||||||
1
config/fish/completions/uv.fish
Normal file
1
config/fish/completions/uv.fish
Normal file
@ -0,0 +1 @@
|
|||||||
|
uv generate-shell-completion fish | source
|
||||||
1
config/fish/completions/uvx.fish
Normal file
1
config/fish/completions/uvx.fish
Normal file
@ -0,0 +1 @@
|
|||||||
|
uvx --generate-shell-completion fish | source
|
||||||
1
config/fish/completions/zoxide.fish
Normal file
1
config/fish/completions/zoxide.fish
Normal file
@ -0,0 +1 @@
|
|||||||
|
zoxide init fish | source
|
||||||
60
config/fish/conf.d/aliases.fish
Normal file
60
config/fish/conf.d/aliases.fish
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# Use neovim for vim if present
|
||||||
|
if type -q nvim
|
||||||
|
set -g vimdiff "nvim -d"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Verbosity and settings that you pretty much just always are going to wand
|
||||||
|
alias bc="bc -ql"
|
||||||
|
alias cp="cp -vi"
|
||||||
|
alias df="df -h"
|
||||||
|
alias mkdir="mkdir -pv"
|
||||||
|
alias mv="mv -iv"
|
||||||
|
alias nsxiv="nsxiv -a"
|
||||||
|
alias rm="rm -vI"
|
||||||
|
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget-hsts"
|
||||||
|
alias keychain="keychain --dir $XDG_RUNTIME_DIR/keychain"
|
||||||
|
|
||||||
|
# Colorize commands when possible
|
||||||
|
alias diff="diff --color=auto"
|
||||||
|
alias grep="rg --color=auto"
|
||||||
|
alias ip="ip -color=auto"
|
||||||
|
alias less="moar"
|
||||||
|
alias ls="eza -a --icons --group-directories-first"
|
||||||
|
|
||||||
|
# These common commands ate just too long! Abbreviate them
|
||||||
|
alias battery="acpi"
|
||||||
|
alias code="vscodium"
|
||||||
|
alias day="redshift -PO 6500"
|
||||||
|
alias dv="doasedit"
|
||||||
|
alias e="$EDITOR"
|
||||||
|
alias fetch="fastfetch"
|
||||||
|
alias lf="lfub"
|
||||||
|
alias lg="lazygit"
|
||||||
|
alias lock="swaylock"
|
||||||
|
alias lzd="lazydocker"
|
||||||
|
alias night="redshift -PO 4500"
|
||||||
|
alias py="python"
|
||||||
|
alias sv="rsv"
|
||||||
|
alias v="$EDITOR"
|
||||||
|
alias weather="curl wttr.in/"
|
||||||
|
alias wg-down="wg-quick down wg0"
|
||||||
|
alias wg-up="wg-quick up wg0"
|
||||||
|
alias ww="$EDITOR ~/neorg/"
|
||||||
|
alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config"
|
||||||
|
alias yy="yazi"
|
||||||
|
|
||||||
|
# Git aliases
|
||||||
|
alias gP="git push"
|
||||||
|
alias ga="git add"
|
||||||
|
alias gap="git add --patch"
|
||||||
|
alias gc="git commit"
|
||||||
|
alias gd="git diff --output-indicator-new=' ' --output-indicator-old=' '"
|
||||||
|
alias gds="git diff --staged"
|
||||||
|
alias gl="git log --all --graph --pretty=format:'%C(magenta)%h %C(white) %an %ar%C(auto) %D%n%s%n'"
|
||||||
|
alias gp="git pull"
|
||||||
|
alias gs="git status --short"
|
||||||
|
|
||||||
|
# doas alias
|
||||||
|
for command in mount umount rsv sv pacman updatedb su shutdown poweroff reboot zzz systemctl wg wg-quick
|
||||||
|
alias $command="doas $command"
|
||||||
|
end
|
||||||
2
config/fish/conf.d/keybindings.fish
Normal file
2
config/fish/conf.d/keybindings.fish
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Ctrl+O runs yazicd
|
||||||
|
bind -M insert \co 'yazicd'
|
||||||
57
config/fish/config.fish
Normal file
57
config/fish/config.fish
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# Source startup file
|
||||||
|
# if test -f "$XDG_CONFIG_HOME/zsh/startup"
|
||||||
|
# source "$XDG_CONFIG_HOME/zsh/startup"
|
||||||
|
# end
|
||||||
|
|
||||||
|
|
||||||
|
# Starship prompt
|
||||||
|
starship init fish | source
|
||||||
|
|
||||||
|
# Aliases
|
||||||
|
if test -f "$XDG_CONFIG_HOME/fish/alias.fish"
|
||||||
|
source "$XDG_CONFIG_HOME/fish/alias.fish"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
set -x KEYTIMEOUT 1
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
function cd
|
||||||
|
if test (count $argv) -eq 0
|
||||||
|
builtin cd ~
|
||||||
|
else
|
||||||
|
builtin cd $argv
|
||||||
|
end
|
||||||
|
eza -a --icons --group-directories-first
|
||||||
|
end
|
||||||
|
|
||||||
|
function lfcd
|
||||||
|
set tmp (mktemp -uq)
|
||||||
|
lf -last-dir-path="$tmp" $argv
|
||||||
|
if test -f "$tmp"
|
||||||
|
set dir (cat "$tmp")
|
||||||
|
if test -d "$dir" -a "$dir" != (pwd)
|
||||||
|
cd "$dir"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function yazicd
|
||||||
|
set tmp (mktemp -t "yazi-cwd.XXXXXX")
|
||||||
|
yazi $argv --cwd-file="$tmp"
|
||||||
|
set cwd (cat "$tmp")
|
||||||
|
if test -n "$cwd" -a "$cwd" != "$PWD"
|
||||||
|
cd "$cwd"
|
||||||
|
eza -a --icons --group-directories-first
|
||||||
|
end
|
||||||
|
rm -f "$tmp"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Keybindings
|
||||||
|
fish_vi_key_bindings
|
||||||
|
|
||||||
|
|
||||||
|
# Source other files
|
||||||
|
# if test -f "$HOME/.local/share/../bin/env"
|
||||||
|
# source "$HOME/.local/share/../bin/env"
|
||||||
|
# end
|
||||||
@ -22,6 +22,7 @@ window-decoration = false
|
|||||||
scrollback-limit = 10000000
|
scrollback-limit = 10000000
|
||||||
mouse-hide-while-typing = true
|
mouse-hide-while-typing = true
|
||||||
confirm-close-surface = false
|
confirm-close-surface = false
|
||||||
|
mouse-scroll-multiplier = 0.5
|
||||||
|
|
||||||
# Keybinds
|
# Keybinds
|
||||||
keybind = alt+f4=ignore
|
keybind = alt+f4=ignore
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
whitespace = error
|
whitespace = error
|
||||||
preloadindex = true
|
preloadindex = true
|
||||||
|
|
||||||
[url "git@github.com:kristoferssolo"]
|
[url "git@github.com:kristoferssolo:"]
|
||||||
insteadOf = "solo:"
|
insteadOf = "solo:"
|
||||||
[url "git@github.com"]
|
[url "git@github.com"]
|
||||||
insteadOf = "gh:"
|
insteadOf = "gh:"
|
||||||
|
|||||||
@ -16,9 +16,10 @@
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
monitor=eDP-1,prefered,0x0,1
|
monitor=eDP-1,prefered,0x0,1
|
||||||
monitor=DP-1,prefered,180x-1440,1
|
# monitor=DP-1,prefered,180x-1440,1
|
||||||
# monitor=HDMI-A-1,prefered,480x-1080,1
|
# monitor=HDMI-A-1,prefered,480x-1080,1
|
||||||
monitor=HDMI-A-1,prefered,auto,1
|
# monitor=HDMI-A-1,prefered,mirror,eDP-1
|
||||||
|
# monitor=DP-1,prefered,mirror,eDP-1
|
||||||
# monitor=DP-1,disabled
|
# monitor=DP-1,disabled
|
||||||
|
|
||||||
###################
|
###################
|
||||||
@ -30,8 +31,9 @@ monitor=HDMI-A-1,prefered,auto,1
|
|||||||
# Set programs that you use
|
# Set programs that you use
|
||||||
$terminal = {{terminal}}
|
$terminal = {{terminal}}
|
||||||
$fileManager = $terminal -e yazi
|
$fileManager = $terminal -e yazi
|
||||||
$menu = wofi --show drun -ib
|
# $menu = wofi --show drun -ib
|
||||||
$browser = floorp
|
$menu = rofi -show combi -show-icons
|
||||||
|
$browser = {{browser}}
|
||||||
|
|
||||||
#################
|
#################
|
||||||
### AUTOSTART ###
|
### AUTOSTART ###
|
||||||
@ -40,11 +42,11 @@ $browser = floorp
|
|||||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
# Or execute your favorite apps at launch like this:
|
# Or execute your favorite apps at launch like this:
|
||||||
|
|
||||||
exec-once=pipewire & pipewire-pulse & wireplumber & eww daemon & eww open bar #& dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY
|
exec-once=pipewire & pipewire-pulse & wireplumber & eww daemon & eww open bar
|
||||||
# exec-once=eww daemon & eww open bar & dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY
|
exec-once=dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY
|
||||||
exec-once=nextcloud & /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & dunst
|
exec-once=nextcloud & /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & dunst & hyprpaper
|
||||||
exec-once=[workspace 1 silent] $browser
|
exec-once=[workspace 1 silent] $browser
|
||||||
exec-once=[workspace 8 silent] vesktop & kotatogram-desktop
|
exec-once=[workspace 8 silent] kotatogram-desktop & flatpak run dev.vencord.Vesktop
|
||||||
# exec-once=[workspace 9 silent] spotify-launcher
|
# exec-once=[workspace 9 silent] spotify-launcher
|
||||||
|
|
||||||
# Source a file (multi-file configs)
|
# Source a file (multi-file configs)
|
||||||
@ -72,8 +74,8 @@ env = WM,Hyprland
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
general {
|
general {
|
||||||
gaps_in = 5
|
gaps_in = 4
|
||||||
gaps_out = 10
|
gaps_out = 8
|
||||||
|
|
||||||
border_size = 2
|
border_size = 2
|
||||||
|
|
||||||
@ -87,13 +89,13 @@ general {
|
|||||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
allow_tearing = false
|
allow_tearing = false
|
||||||
|
|
||||||
layout = master
|
layout = dwindle
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
decoration {
|
decoration {
|
||||||
rounding = 5
|
rounding = 4
|
||||||
# rounding_power = 2
|
rounding_power = 4
|
||||||
|
|
||||||
# Change transparency of focused and unfocused windows
|
# Change transparency of focused and unfocused windows
|
||||||
active_opacity = 1.0
|
active_opacity = 1.0
|
||||||
@ -110,7 +112,7 @@ decoration {
|
|||||||
blur {
|
blur {
|
||||||
enabled = true
|
enabled = true
|
||||||
size = 3
|
size = 3
|
||||||
passes = 1
|
passes = 3
|
||||||
|
|
||||||
vibrancy = 0.1696
|
vibrancy = 0.1696
|
||||||
}
|
}
|
||||||
@ -159,6 +161,7 @@ animations {
|
|||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
dwindle {
|
dwindle {
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
force_split = 2
|
||||||
preserve_split = true # You probably want this
|
preserve_split = true # You probably want this
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,10 +173,10 @@ master {
|
|||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
misc {
|
misc {
|
||||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
vfr = true # It will lower the amount of sent frames when nothing is happening on-screen.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
### INPUT ###
|
### INPUT ###
|
||||||
#############
|
#############
|
||||||
@ -211,6 +214,9 @@ device {
|
|||||||
sensitivity = -0.5
|
sensitivity = -0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
hide_on_key_press = true
|
||||||
|
}
|
||||||
|
|
||||||
###################
|
###################
|
||||||
### KEYBINDINGS ###
|
### KEYBINDINGS ###
|
||||||
@ -225,6 +231,9 @@ bind = $mainMod SHIFT, Q, killactive
|
|||||||
bind = $mainMod, N, exec, $fileManager
|
bind = $mainMod, N, exec, $fileManager
|
||||||
bind = $mainMod CTRL, SPACE, togglefloating
|
bind = $mainMod CTRL, SPACE, togglefloating
|
||||||
bind = $mainMod, P, exec, $menu
|
bind = $mainMod, P, exec, $menu
|
||||||
|
bind = $mainMod, G, exec, rofi -modi games -show games -theme games-smaller
|
||||||
|
bind = $mainMod, C, exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy"
|
||||||
|
bind = $mainMod, W, exec, networkmanager_dmenu
|
||||||
bind = $mainMod SHIFT, P, exec, cliphist list | wofi -S dmenu | cliphist decode | wl-copy
|
bind = $mainMod SHIFT, P, exec, cliphist list | wofi -S dmenu | cliphist decode | wl-copy
|
||||||
bind = $mainMod, F, fullscreen
|
bind = $mainMod, F, fullscreen
|
||||||
bind = $mainMod, M, bringactivetotop
|
bind = $mainMod, M, bringactivetotop
|
||||||
@ -375,12 +384,12 @@ windowrulev2 = opacity 0.95, class:thunderbird
|
|||||||
windowrulev2 = workspace 8, class:discord
|
windowrulev2 = workspace 8, class:discord
|
||||||
windowrulev2 = opacity 0.95, class:discord
|
windowrulev2 = opacity 0.95, class:discord
|
||||||
windowrulev2 = workspace 8, class:vesktop
|
windowrulev2 = workspace 8, class:vesktop
|
||||||
windowrulev2 = opacity 0.95, class:vesktop
|
windowrulev2 = opacity 0.9, class:vesktop
|
||||||
windowrulev2 = workspace 8, class:Ripcord
|
windowrulev2 = workspace 8, class:Ripcord
|
||||||
windowrulev2 = workspace 8, class:TelegramDesktop
|
windowrulev2 = workspace 8, class:TelegramDesktop
|
||||||
windowrulev2 = opacity 0.95, class:TelegramDesktop
|
windowrulev2 = opacity 0.95, class:TelegramDesktop
|
||||||
windowrulev2 = workspace 8, title:Kotatogram
|
windowrulev2 = workspace 8, title:Kotatogram
|
||||||
windowrulev2 = opacity 0.95, title:Kotatogram
|
windowrulev2 = opacity 0.9, initialTitle:Kotatogram
|
||||||
windowrulev2 = opacity 0.9, class:teams-for-linux
|
windowrulev2 = opacity 0.9, class:teams-for-linux
|
||||||
windowrulev2 = workspace 5, class:Ferdium
|
windowrulev2 = workspace 5, class:Ferdium
|
||||||
windowrulev2 = opacity 0.9, class:Ferdium
|
windowrulev2 = opacity 0.9, class:Ferdium
|
||||||
@ -394,7 +403,6 @@ windowrulev2 = opacity 0.9, class:Spotify
|
|||||||
# chromakey_background = 7,8,17
|
# chromakey_background = 7,8,17
|
||||||
|
|
||||||
windowrulev2 = opacity 0.95, class:qbittorrent
|
windowrulev2 = opacity 0.95, class:qbittorrent
|
||||||
windowrulev2 = opacity 0.95, class:lutris
|
|
||||||
windowrulev2 = opacity 0.95, class:pacfinder
|
windowrulev2 = opacity 0.95, class:pacfinder
|
||||||
windowrulev2 = opacity 0.9, class:Bitwarden
|
windowrulev2 = opacity 0.9, class:Bitwarden
|
||||||
windowrulev2 = opacity 0.9, class:kdeconnect
|
windowrulev2 = opacity 0.9, class:kdeconnect
|
||||||
@ -403,7 +411,3 @@ windowrulev2 = opacity 0.9, class:kdeconnect
|
|||||||
windowrulev2 = move 100%-250 100%-250, class:galculator
|
windowrulev2 = move 100%-250 100%-250, class:galculator
|
||||||
windowrulev2 = size 250 250, class:galculator
|
windowrulev2 = size 250 250, class:galculator
|
||||||
windowrulev2 = float, class:galculator
|
windowrulev2 = float, class:galculator
|
||||||
|
|
||||||
windowrulev2=float,title:^(flameshot)
|
|
||||||
windowrulev2=move 0 0,title:^(flameshot)
|
|
||||||
windowrulev2=suppressevent fullscreen,title:^(flameshot)
|
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
ipc = off
|
ipc = off # save on baterry
|
||||||
splash = true
|
splash = true
|
||||||
preload = ~/Pictures/wallpapers/Linux-Dynamic-Wallpapers/Firewatch2/Firewatch2-1.png
|
preload = ~/Pictures/wallpapers/anime/frieren/frieren-beyond-journeys-end-anime-4k-wallpaper.jpg
|
||||||
preload = ~/Pictures/wallpapers/Linux-Dynamic-Wallpapers/LakesideDeerComplete/LakesideDeer-03.png
|
|
||||||
preload = ~/Pictures/wallpapers/abstract/GDWP-789-4K-No-Logo.jpg
|
|
||||||
|
|
||||||
wallpaper = ,~/Pictures/wallpapers/abstract/GDWP-789-4K-No-Logo.jpg
|
wallpaper = ,~/Pictures/wallpapers/anime/frieren/frieren-beyond-journeys-end-anime-4k-wallpaper.jpg
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
git:
|
||||||
|
overrideGpg: true
|
||||||
67
config/neomutt/muttrc
Normal file
67
config/neomutt/muttrc
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# === Basic Settings ===
|
||||||
|
set realname = "Kristiāns Francis Cagulis"
|
||||||
|
set from = "kristians.cagulis@gmail.com"
|
||||||
|
set use_from = yes
|
||||||
|
set envelope_from = yes # Use 'from' address for envelope
|
||||||
|
set edit_headers = yes # Let you edit headers when composing
|
||||||
|
|
||||||
|
# === Editor ===
|
||||||
|
set editor = "nano" # Or vim, emacs, etc.
|
||||||
|
|
||||||
|
# === Folder Settings ===
|
||||||
|
# This is where NeoMutt will look for mailboxes.
|
||||||
|
# For IMAP, it's usually the remote server.
|
||||||
|
set folder = "imaps://imap.example.com:993" # Your IMAP server and port
|
||||||
|
set spoolfile = "+INBOX" # Your main inbox
|
||||||
|
set postponed = "+Drafts" # Where to save drafts (adjust folder name)
|
||||||
|
set record = "+Sent" # Where to save sent messages (adjust folder name)
|
||||||
|
set trash = "+Trash" # Where to move deleted messages (adjust folder name)
|
||||||
|
|
||||||
|
# === IMAP Settings ===
|
||||||
|
set imap_user = "kristians.cagulis@gmail.com"
|
||||||
|
# set imap_pass = "YOUR_APP_PASSWORD" # We'll source this from another file
|
||||||
|
set imap_check_subscribed = yes
|
||||||
|
set imap_keepalive = 300
|
||||||
|
set mail_check = 60 # Check for new mail every 60 seconds
|
||||||
|
set imap_passive = no # Some servers need this
|
||||||
|
|
||||||
|
# === SMTP Settings (Sending Mail) ===
|
||||||
|
set smtp_url = "smtps://your_email@example.com@smtp.example.com:465" # SMTP server, port, and username
|
||||||
|
# set smtp_pass = "YOUR_APP_PASSWORD" # We'll source this from another file
|
||||||
|
|
||||||
|
# === Sorting ===
|
||||||
|
set sort = threads # Sort by threads
|
||||||
|
set sort_aux = last-date-received # Sort threads by last received date
|
||||||
|
|
||||||
|
# === Header Weeding (Clean up displayed headers) ===
|
||||||
|
ignore *
|
||||||
|
unignore from: to: cc: date: subject:
|
||||||
|
hdr_order from: to: cc: date: subject:
|
||||||
|
|
||||||
|
# === Sidebar (Optional but highly recommended) ===
|
||||||
|
set sidebar_visible = yes
|
||||||
|
set sidebar_width = 25
|
||||||
|
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" # Folder | Unread / Total
|
||||||
|
# Keybindings for sidebar navigation (Ctrl-B, Ctrl-T, Ctrl-O, Ctrl-C)
|
||||||
|
bind index,pager \cb sidebar-prev
|
||||||
|
bind index,pager \ct sidebar-next
|
||||||
|
bind index,pager \co sidebar-open
|
||||||
|
bind index,pager \cc sidebar-toggle-visible
|
||||||
|
|
||||||
|
# === Other useful settings ===
|
||||||
|
set confirmappend = no # Don't ask when appending to mbox
|
||||||
|
set quit = ask-yes # Ask before quitting
|
||||||
|
set pager_context = 3 # Show 3 lines of context in pager
|
||||||
|
set menu_scroll = yes # Scroll menus
|
||||||
|
set tilde = yes # Show tildes for empty lines like in Vim
|
||||||
|
|
||||||
|
# === Source account-specific configurations (like passwords) ===
|
||||||
|
# Make sure the path is correct!
|
||||||
|
source "~/.config/neomutt/accounts/my_email.conf"
|
||||||
|
|
||||||
|
# === GPG Settings (Optional, for encrypted/signed mail) ===
|
||||||
|
# set crypt_autosign = yes
|
||||||
|
# set crypt_autoencrypt = yes
|
||||||
|
# set pgp_sign_as = "0xYOUR_GPG_KEY_ID"
|
||||||
|
# set pgp_timeout = 3600 # Cache GPG passphrase for 1 hour
|
||||||
|
# set pgp_good_sign = "~G Good signature from"
|
||||||
@ -1,7 +1,7 @@
|
|||||||
@theme "rose-pine"
|
@theme "rose-pine"
|
||||||
|
|
||||||
configuration {
|
configuration {
|
||||||
modes: "window,drun,run,ssh,filebrowser";
|
modes: "window,drun,run,ssh,filebrowser,games,calc";
|
||||||
font: "JetBrainsMono NF 12";
|
font: "JetBrainsMono NF 12";
|
||||||
// location: 0;
|
// location: 0;
|
||||||
// yoffset: 0;
|
// yoffset: 0;
|
||||||
@ -34,7 +34,7 @@ configuration {
|
|||||||
// auto-select: false;
|
// auto-select: false;
|
||||||
// parse-hosts: false;
|
// parse-hosts: false;
|
||||||
// parse-known-hosts: true;
|
// parse-known-hosts: true;
|
||||||
// combi-modes: "window,run";
|
combi-modes: "drun,games";
|
||||||
matching: "fuzzy";
|
matching: "fuzzy";
|
||||||
// tokenize: true;
|
// tokenize: true;
|
||||||
// m: "-5";
|
// m: "-5";
|
||||||
|
|||||||
4
config/sesh/sesh.toml
Normal file
4
config/sesh/sesh.toml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[default_session]
|
||||||
|
startup_command = "tmux new-window && tmux select-window -t 1 && clear"
|
||||||
|
preview_command = "eza -a --icons --git --group-directories-first --color=always {}"
|
||||||
|
blacklist = [ "**/SoloVim/*", "**/solorice/**" ]
|
||||||
@ -34,8 +34,8 @@ alias \
|
|||||||
j="joshutoub" \
|
j="joshutoub" \
|
||||||
lf="lfub" \
|
lf="lfub" \
|
||||||
lg="lazygit" \
|
lg="lazygit" \
|
||||||
lzd="lazydocker" \
|
|
||||||
lock="swaylock" \
|
lock="swaylock" \
|
||||||
|
lzd="lazydocker" \
|
||||||
night="redshift -PO 4500" \
|
night="redshift -PO 4500" \
|
||||||
py="python" \
|
py="python" \
|
||||||
sv="rsv" \
|
sv="rsv" \
|
||||||
@ -45,6 +45,7 @@ alias \
|
|||||||
wg-up="wg-quick up wg0" \
|
wg-up="wg-quick up wg0" \
|
||||||
ww="$EDITOR ~/neorg/" \
|
ww="$EDITOR ~/neorg/" \
|
||||||
yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config" \
|
yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config" \
|
||||||
|
va="source .venv/bin/activate" \
|
||||||
yy="yazi"
|
yy="yazi"
|
||||||
|
|
||||||
alias \
|
alias \
|
||||||
|
|||||||
@ -10,11 +10,14 @@ typeset -U PATH path
|
|||||||
export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}"
|
export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}"
|
||||||
export PATH="$PATH:~/.spicetify"
|
export PATH="$PATH:~/.spicetify"
|
||||||
export PATH="$PATH:${$(find ~/.cache/.bun/bin -type d -printf %p:)%%:}"
|
export PATH="$PATH:${$(find ~/.cache/.bun/bin -type d -printf %p:)%%:}"
|
||||||
|
export PATH=$JAVA_HOME/bin:$PATH
|
||||||
|
|
||||||
# Disable files
|
# Disable files
|
||||||
export LESSHISTFILE=-
|
export LESSHISTFILE=-
|
||||||
export $(dbus-launch)
|
export $(dbus-launch)
|
||||||
|
|
||||||
|
export MANPAGER='nvim +Man!'
|
||||||
|
|
||||||
export LIBSEAT_BACKEND=logind
|
export LIBSEAT_BACKEND=logind
|
||||||
|
|
||||||
unsetopt PROMPT_SP
|
unsetopt PROMPT_SP
|
||||||
@ -87,6 +90,7 @@ export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
|
|||||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||||
# export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java - Djavafx.cachedir=${XDG_CACHE_HOME}/openjfx"
|
# export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java - Djavafx.cachedir=${XDG_CACHE_HOME}/openjfx"
|
||||||
# export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java"
|
# export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java"
|
||||||
|
export JAVA_HOME="/usr/lib/jvm/java-21-openjdk"
|
||||||
|
|
||||||
# Other program settings
|
# Other program settings
|
||||||
export AWT_TOOLKIT="MToolkit wmname LG3D" # May have to install wmname
|
export AWT_TOOLKIT="MToolkit wmname LG3D" # May have to install wmname
|
||||||
@ -111,4 +115,3 @@ export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm
|
|||||||
|
|
||||||
. "$XDG_DATA_HOME/cargo/env"
|
. "$XDG_DATA_HOME/cargo/env"
|
||||||
. "$XDG_CACHE_HOME/deno/.deno/env"
|
. "$XDG_CACHE_HOME/deno/.deno/env"
|
||||||
. "/home/kristofers/.local/share/cargo/env"
|
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
|
# Get editor completions based on the config schema
|
||||||
|
"$schema" = 'https://starship.rs/config-schema.json'
|
||||||
|
|
||||||
# Disable the blank line at the start of the prompt
|
# Disable the blank line at the start of the prompt
|
||||||
add_newline = false
|
add_newline = false
|
||||||
command_timeout = 1000
|
command_timeout = 1000
|
||||||
|
|||||||
@ -43,8 +43,23 @@ bind '"' split-window -v -c "#{pane_current_path}"
|
|||||||
bind % split-window -h -c "#{pane_current_path}"
|
bind % split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
bind-key -r i run-shell "tmux neww chtsh"
|
bind-key -r i run-shell "tmux neww chtsh"
|
||||||
bind-key -r f run-shell "tmux neww ~/.local/bin/tmux-sessionizer"
|
# bind-key -r f run-shell "tmux neww ~/.local/bin/tmux-sessionizer"
|
||||||
|
bind-key -r f run-shell "sesh connect \"$(
|
||||||
|
sesh list --icons | fzf-tmux -p 80%,70% \
|
||||||
|
--no-sort --ansi --border-label ' sesh ' --prompt '⚡ ' \
|
||||||
|
--header ' ^a all ^t tmux ^g configs ^x zoxide ^d tmux kill ^f find' \
|
||||||
|
--bind 'tab:down,btab:up' \
|
||||||
|
--bind 'ctrl-a:change-prompt(⚡ )+reload(sesh list --icons)' \
|
||||||
|
--bind 'ctrl-t:change-prompt(🪟 )+reload(sesh list -t --icons)' \
|
||||||
|
--bind 'ctrl-g:change-prompt(⚙️ )+reload(sesh list -c --icons)' \
|
||||||
|
--bind 'ctrl-x:change-prompt(📁 )+reload(sesh list -z --icons)' \
|
||||||
|
--bind 'ctrl-f:change-prompt(🔎 )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
|
||||||
|
--bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡ )+reload(sesh list --icons)' \
|
||||||
|
--preview-window 'right:55%' \
|
||||||
|
--preview 'sesh preview {}'
|
||||||
|
)\""
|
||||||
|
|
||||||
|
bind-key x kill-pane
|
||||||
|
|
||||||
set -g @plugin "tmux-plugins/tpm"
|
set -g @plugin "tmux-plugins/tpm"
|
||||||
set -g @plugin "tmux-plugins/tmux-sensible"
|
set -g @plugin "tmux-plugins/tmux-sensible"
|
||||||
@ -56,6 +71,7 @@ set -g @plugin "rose-pine/tmux"
|
|||||||
|
|
||||||
set -ga update-environment TERM
|
set -ga update-environment TERM
|
||||||
set -ga update-environment TERM_PROGRAM
|
set -ga update-environment TERM_PROGRAM
|
||||||
|
set -g detach-on-destroy off # don't exit from tmux when closing a session
|
||||||
|
|
||||||
# set vi-mode
|
# set vi-mode
|
||||||
set-window-option -g mode-keys vi
|
set-window-option -g mode-keys vi
|
||||||
@ -63,6 +79,7 @@ set-window-option -g mode-keys vi
|
|||||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||||
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||||
bind-key -T copy-mode-vi y send-keys -X copy-selectet-and-cancel
|
bind-key -T copy-mode-vi y send-keys -X copy-selectet-and-cancel
|
||||||
|
bind -N "last-session (via sesh) " L run-shell "sesh last"
|
||||||
|
|
||||||
|
|
||||||
# Rose pine
|
# Rose pine
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||||
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
|
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
|
||||||
|
|
||||||
[manager]
|
[mgr]
|
||||||
keymap = [
|
keymap = [
|
||||||
{on = [ "<Esc>" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search"},
|
{on = [ "<Esc>" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search"},
|
||||||
{on = [ "<C-[>" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search"},
|
{on = [ "<C-[>" ], run = "escape", desc = "Exit visual mode, clear selected, or cancel search"},
|
||||||
|
|||||||
@ -10,8 +10,8 @@ hash = "23915860e59348bf4166778bb0e606f7"
|
|||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "hankertrix/augment-command"
|
use = "hankertrix/augment-command"
|
||||||
rev = "04cda98"
|
rev = "ac4a651"
|
||||||
hash = "3ec6486539188b1e1932ac27f3582917"
|
hash = "7b6b0b8c260c9c5e557287bf9b370f7c"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "kirasok/torrent-preview"
|
use = "kirasok/torrent-preview"
|
||||||
@ -25,43 +25,43 @@ hash = "5b9dea47776a30946cfbf83232d18fb1"
|
|||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "pirafrank/what-size"
|
use = "pirafrank/what-size"
|
||||||
rev = "f1c6b69"
|
rev = "0a4904c"
|
||||||
hash = "6e789212eb41d937bab04877ca361099"
|
hash = "fca231a128488a554823374f8f6d5241"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "yazi-rs/plugins:git"
|
use = "yazi-rs/plugins:git"
|
||||||
rev = "864a021"
|
rev = "c0ad8a3"
|
||||||
hash = "e0ada736ea676c2bbb3ec705a49526ef"
|
hash = "bf6f074cd41ee33c3360341d168f9733"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "yazi-rs/plugins:chmod"
|
use = "yazi-rs/plugins:chmod"
|
||||||
rev = "864a021"
|
rev = "c0ad8a3"
|
||||||
hash = "2f1053f89d1a301a648ab181d0948e38"
|
hash = "d0ad0c1946b46a30c8489735fe8de41c"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "yazi-rs/plugins:full-border"
|
use = "yazi-rs/plugins:full-border"
|
||||||
rev = "864a021"
|
rev = "c0ad8a3"
|
||||||
hash = "1f3dad061209081a6b04dd6ff2cb06c7"
|
hash = "3996fc74044bc44144b323686f887e1"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "yazi-rs/plugins:mount"
|
use = "yazi-rs/plugins:mount"
|
||||||
rev = "864a021"
|
rev = "c0ad8a3"
|
||||||
hash = "dd97eede8e20e59cd2604e8006e470e2"
|
hash = "c0b6cd7dc830b96e77e5c8a71eec7926"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "yazi-rs/plugins:smart-filter"
|
use = "yazi-rs/plugins:smart-filter"
|
||||||
rev = "864a021"
|
rev = "c0ad8a3"
|
||||||
hash = "f0c4b41b5d19a3144958383333eff6e7"
|
hash = "4d82cd9e7534d976f000edf9c0f68d8f"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "yazi-rs/plugins:diff"
|
use = "yazi-rs/plugins:diff"
|
||||||
rev = "864a021"
|
rev = "c0ad8a3"
|
||||||
hash = "7a08e303167d5b655c06da6d570f0333"
|
hash = "47865a70cade14a0b9b6bc6a54f16bdb"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "AnirudhG07/rich-preview"
|
use = "AnirudhG07/rich-preview"
|
||||||
rev = "fdcf373"
|
rev = "de28f50"
|
||||||
hash = "bd1737dd44b202f412122e6a3b378d4c"
|
hash = "b9cd4027db110b4228889be32462f363"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "macydnah/office"
|
use = "macydnah/office"
|
||||||
@ -70,8 +70,8 @@ hash = "35241f7d85abc5a0d2441020bc597ceb"
|
|||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "boydaihungst/mediainfo"
|
use = "boydaihungst/mediainfo"
|
||||||
rev = "9629b1e"
|
rev = "c6d0de7"
|
||||||
hash = "5204b4e2bd238c40fa66cf0a0191f084"
|
hash = "7b024fc14b462235068400207cbe7bf0"
|
||||||
|
|
||||||
[[plugin.deps]]
|
[[plugin.deps]]
|
||||||
use = "iynaix/time-travel"
|
use = "iynaix/time-travel"
|
||||||
|
|||||||
@ -21,6 +21,7 @@ plugin.
|
|||||||
- [Leave (`leave`)](#leave-leave)
|
- [Leave (`leave`)](#leave-leave)
|
||||||
- [Rename (`rename`)](#rename-rename)
|
- [Rename (`rename`)](#rename-rename)
|
||||||
- [Remove (`remove`)](#remove-remove)
|
- [Remove (`remove`)](#remove-remove)
|
||||||
|
- [Copy (`copy`)](#copy-copy)
|
||||||
- [Create (`create`)](#create-create)
|
- [Create (`create`)](#create-create)
|
||||||
- [Shell (`shell`)](#shell-shell)
|
- [Shell (`shell`)](#shell-shell)
|
||||||
- [Passing arguments to the `shell` command](#passing-arguments-to-the-shell-command)
|
- [Passing arguments to the `shell` command](#passing-arguments-to-the-shell-command)
|
||||||
@ -32,16 +33,20 @@ plugin.
|
|||||||
- [New commands](#new-commands)
|
- [New commands](#new-commands)
|
||||||
- [Parent arrow (`parent_arrow`)](#parent-arrow-parent_arrow)
|
- [Parent arrow (`parent_arrow`)](#parent-arrow-parent_arrow)
|
||||||
- [Archive (`archive`)](#archive-archive)
|
- [Archive (`archive`)](#archive-archive)
|
||||||
|
- [Emit (`emit`)](#emit-emit)
|
||||||
- [Editor (`editor`)](#editor-editor)
|
- [Editor (`editor`)](#editor-editor)
|
||||||
- [Pager (`pager`)](#pager-pager)
|
- [Pager (`pager`)](#pager-pager)
|
||||||
- [Usage](#usage)
|
- [Usage](#usage)
|
||||||
- [Using the `extract` command as an opener](#using-the-extract-command-as-an-opener)
|
- [Using the `extract` command as an opener](#using-the-extract-command-as-an-opener)
|
||||||
|
- [Configuring the plugin's prompts](#configuring-the-plugins-prompts)
|
||||||
|
- [Input prompts](#input-prompts)
|
||||||
|
- [Confirmation prompts](#confirmation-prompts)
|
||||||
- [Full configuration example](#full-configuration-example)
|
- [Full configuration example](#full-configuration-example)
|
||||||
- [Licence](#licence)
|
- [Licence]
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- [Yazi][yazi-link] v25.4.8+
|
- [Yazi][yazi-link] v25.5.28+
|
||||||
- [`7z` or `7zz` command][7z-link]
|
- [`7z` or `7zz` command][7z-link]
|
||||||
- [`file` command][file-command-link]
|
- [`file` command][file-command-link]
|
||||||
|
|
||||||
@ -53,13 +58,13 @@ plugin.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Add the plugin
|
# Add the plugin
|
||||||
ya pack -a hankertrix/augment-command
|
ya pkg add hankertrix/augment-command
|
||||||
|
|
||||||
# Install plugin
|
# Install plugin
|
||||||
ya pack -i
|
ya pkg install
|
||||||
|
|
||||||
# Update plugin
|
# Update plugin
|
||||||
ya pack -u
|
ya pkg upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
@ -498,6 +503,29 @@ then it will operate on the selected items.
|
|||||||
|
|
||||||
[remove-behaviour-video]
|
[remove-behaviour-video]
|
||||||
|
|
||||||
|
### Copy (`copy`)
|
||||||
|
|
||||||
|
- The `copy` command is augmented as stated in
|
||||||
|
[this section above][augment-section].
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
|
- When `must_have_hovered_item` is `true`:
|
||||||
|
|
||||||
|
[copy-must-have-hovered-item-video]
|
||||||
|
|
||||||
|
- When `must_have_hovered_item` is `false`:
|
||||||
|
|
||||||
|
[copy-hovered-item-optional-video]
|
||||||
|
|
||||||
|
- When `prompt` is set to `true`:
|
||||||
|
|
||||||
|
[copy-prompt-video]
|
||||||
|
|
||||||
|
- When `prompt` is set to `false`:
|
||||||
|
|
||||||
|
[copy-behaviour-video]
|
||||||
|
|
||||||
### Create (`create`)
|
### Create (`create`)
|
||||||
|
|
||||||
- You should use Yazi's default `create` command instead
|
- You should use Yazi's default `create` command instead
|
||||||
@ -616,7 +644,7 @@ then it will operate on the selected items.
|
|||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "i"
|
on = "i"
|
||||||
run = "plugin augment-command -- shell '$PAGER $@' --block --exit-if-dir"
|
run = "plugin augment-command -- shell '$PAGER $@' --block --exit-if-dir"
|
||||||
desc = "Open the pager"
|
desc = "Open the pager"
|
||||||
@ -633,7 +661,7 @@ then it will operate on the selected items.
|
|||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "o"
|
on = "o"
|
||||||
run = "plugin augment-command -- shell '$EDITOR $@' --block --exit-if-dir"
|
run = "plugin augment-command -- shell '$EDITOR $@' --block --exit-if-dir"
|
||||||
desc = "Open the editor"
|
desc = "Open the editor"
|
||||||
@ -658,7 +686,7 @@ the shell command arguments, so here are a few ways to do it:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "i"
|
on = "i"
|
||||||
run = "plugin augment-command -- shell --block 'bat -p --pager less $@'"
|
run = "plugin augment-command -- shell --block 'bat -p --pager less $@'"
|
||||||
desc = "Open with bat"
|
desc = "Open with bat"
|
||||||
@ -682,7 +710,7 @@ the shell command arguments, so here are a few ways to do it:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "<C-s>"
|
on = "<C-s>"
|
||||||
run = 'plugin augment-command -- shell --block -- sh -c "$SHELL"'
|
run = 'plugin augment-command -- shell --block -- sh -c "$SHELL"'
|
||||||
desc = "Open a shell inside of a shell here"
|
desc = "Open a shell inside of a shell here"
|
||||||
@ -691,7 +719,7 @@ the shell command arguments, so here are a few ways to do it:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "<C-s>"
|
on = "<C-s>"
|
||||||
run = "plugin augment-command -- shell --block -- sh -c 'echo hello'"
|
run = "plugin augment-command -- shell --block -- sh -c 'echo hello'"
|
||||||
desc = "Open a shell and say hello inside the opened shell"
|
desc = "Open a shell and say hello inside the opened shell"
|
||||||
@ -706,7 +734,7 @@ the shell command arguments, so here are a few ways to do it:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "<C-s>"
|
on = "<C-s>"
|
||||||
run = '''plugin augment-command -- shell --block -- sh -c 'sh -c "$SHELL"''''
|
run = '''plugin augment-command -- shell --block -- sh -c 'sh -c "$SHELL"''''
|
||||||
desc = "Open a shell inside of a shell inside of a shell here"
|
desc = "Open a shell inside of a shell inside of a shell here"
|
||||||
@ -715,7 +743,7 @@ the shell command arguments, so here are a few ways to do it:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "<C-s>"
|
on = "<C-s>"
|
||||||
run = '''plugin augment-command --
|
run = '''plugin augment-command --
|
||||||
shell --block -- sh -c "$SHELL -c 'echo hello'"
|
shell --block -- sh -c "$SHELL -c 'echo hello'"
|
||||||
@ -729,7 +757,7 @@ the shell command arguments, so here are a few ways to do it:
|
|||||||
```toml
|
```toml
|
||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "<C-e>"
|
on = "<C-e>"
|
||||||
run = '''plugin augment-command --
|
run = '''plugin augment-command --
|
||||||
shell --
|
shell --
|
||||||
@ -947,14 +975,14 @@ in your `keymap.toml` file.
|
|||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
|
|
||||||
# Use K to move up in the parent directory
|
# Use K to move up in the parent directory
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "K"
|
on = "K"
|
||||||
run = ["leave", "arrow -1", "enter"]
|
run = ["leave", "arrow -1", "enter"]
|
||||||
desc = "Move up in the parent directory"
|
desc = "Move up in the parent directory"
|
||||||
|
|
||||||
|
|
||||||
# Use J to move down in the parent directory
|
# Use J to move down in the parent directory
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "J"
|
on = "J"
|
||||||
run = ["leave", "arrow 1", "enter"]
|
run = ["leave", "arrow 1", "enter"]
|
||||||
desc = "Move down in the parent directory"
|
desc = "Move down in the parent directory"
|
||||||
@ -970,6 +998,16 @@ in your `keymap.toml` file.
|
|||||||
to an archive, with the plugin prompting for an archive name.
|
to an archive, with the plugin prompting for an archive name.
|
||||||
The archive file extension given will be used to determine
|
The archive file extension given will be used to determine
|
||||||
the type of archive to create.
|
the type of archive to create.
|
||||||
|
- When the archive name given has no file extension, the `.zip`
|
||||||
|
file extension will be automatically added by default
|
||||||
|
to create a `zip` archive.
|
||||||
|
- When the item group is determined to be the hovered item,
|
||||||
|
the `archive` command will create a `.zip` archive with the
|
||||||
|
name of the hovered item if no archive name is given
|
||||||
|
and the input is confirmed by using the `<Enter>` key.
|
||||||
|
- The `archive` command will also prompt for an overwrite confirmation,
|
||||||
|
if the archive being created already exists,
|
||||||
|
just like the `create` command.
|
||||||
- This command is also augmented as stated in
|
- This command is also augmented as stated in
|
||||||
[this section above][augment-section].
|
[this section above][augment-section].
|
||||||
|
|
||||||
@ -991,6 +1029,8 @@ in your `keymap.toml` file.
|
|||||||
|
|
||||||
[archive-behaviour-video]
|
[archive-behaviour-video]
|
||||||
|
|
||||||
|
- `--force` flag to always overwrite the existing archive
|
||||||
|
without showing the confirmation prompt.
|
||||||
- `--encrypt` flag to encrypt the archive with the given password,
|
- `--encrypt` flag to encrypt the archive with the given password,
|
||||||
which applies even when `encrypt_archives` is set to `false`.
|
which applies even when `encrypt_archives` is set to `false`.
|
||||||
- `--encrypt-headers` flag to encrypt the archive headers,
|
- `--encrypt-headers` flag to encrypt the archive headers,
|
||||||
@ -1025,10 +1065,55 @@ in your `keymap.toml` file.
|
|||||||
|
|
||||||
[archive-remove-archived-files-video]
|
[archive-remove-archived-files-video]
|
||||||
|
|
||||||
|
### Emit (`emit`)
|
||||||
|
|
||||||
|
- The `emit` command allows you to emit any Yazi command
|
||||||
|
by typing the command into an input prompt.
|
||||||
|
The syntax of the command is exactly the same as
|
||||||
|
the commands in the `keymap.toml` file.
|
||||||
|
For example, if the input is `arrow next`,
|
||||||
|
then that will be the command that is emitted by the plugin.
|
||||||
|
|
||||||
|
Video:
|
||||||
|
|
||||||
|
[emit-yazi-command-video]
|
||||||
|
|
||||||
|
- `--plugin` flag to emit a plugin command.
|
||||||
|
This flag essentially just emits Yazi's `plugin` command
|
||||||
|
with the input passed as the first argument.
|
||||||
|
For example, if the input is `augment-command -- parent_arrow 1`,
|
||||||
|
then the full command being emitted by the plugin is
|
||||||
|
`plugin augment-command -- parent_arrow 1`.
|
||||||
|
|
||||||
|
Video:
|
||||||
|
|
||||||
|
[emit-plugin-command-video]
|
||||||
|
|
||||||
|
- `--augmented` flag to emit an augmented command.
|
||||||
|
This flag is a shortcut for emitting a command from this plugin.
|
||||||
|
For example, if the command given is `parent_arrow 1`,
|
||||||
|
the full command emitted by the plugin is
|
||||||
|
`plugin augment-command -- parent_arrow 1`.
|
||||||
|
|
||||||
|
Video:
|
||||||
|
|
||||||
|
[emit-augmented-command-video]
|
||||||
|
|
||||||
|
- If `--augmented` flag is passed together with the `--plugin` flag,
|
||||||
|
the `--augmented` flag will take precedence over the `--plugin` flag,
|
||||||
|
and the command emitted will be from this plugin
|
||||||
|
instead of being a `plugin` command.
|
||||||
|
In any case, you should not be passing
|
||||||
|
both the `--plugin` and `--augmented` flags.
|
||||||
|
|
||||||
### Editor (`editor`)
|
### Editor (`editor`)
|
||||||
|
|
||||||
- The `editor` command opens the default editor set by the
|
- The `editor` command opens the default editor set by the
|
||||||
`$EDITOR` environment variable.
|
`$EDITOR` environment variable.
|
||||||
|
- When the file being edited is owned by the root user on Unix systems,
|
||||||
|
like Linux and macOS, the `editor` command will automatically call
|
||||||
|
`sudo -e` to edit the file instead of using the `$EDITOR`
|
||||||
|
environment variable.
|
||||||
- The command is also augmented as stated in
|
- The command is also augmented as stated in
|
||||||
[this section above][augment-section].
|
[this section above][augment-section].
|
||||||
|
|
||||||
@ -1093,7 +1178,7 @@ on Windows, in this format:
|
|||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "key"
|
on = "key"
|
||||||
run = "plugin augment-command -- command arguments --flags --options=42"
|
run = "plugin augment-command -- command arguments --flags --options=42"
|
||||||
desc = "Description"
|
desc = "Description"
|
||||||
@ -1105,7 +1190,7 @@ For example, to use the augmented `enter` command:
|
|||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "l"
|
on = "l"
|
||||||
run = "plugin augment-command -- enter"
|
run = "plugin augment-command -- enter"
|
||||||
desc = "Enter a directory and skip directories with only a single subdirectory"
|
desc = "Enter a directory and skip directories with only a single subdirectory"
|
||||||
@ -1118,22 +1203,22 @@ are also supported, for example:
|
|||||||
# ~/.config/yazi/keymap.toml on Linux and macOS
|
# ~/.config/yazi/keymap.toml on Linux and macOS
|
||||||
# %AppData%\yazi\config\keymap.toml on Windows
|
# %AppData%\yazi\config\keymap.toml on Windows
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "k"
|
on = "k"
|
||||||
run = "plugin augment-command -- arrow -1"
|
run = "plugin augment-command -- arrow -1"
|
||||||
desc = "Move cursor up"
|
desc = "Move cursor up"
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "r"
|
on = "r"
|
||||||
run = "plugin augment-command -- rename --cursor=before_ext"
|
run = "plugin augment-command -- rename --cursor=before_ext"
|
||||||
desc = "Rename a file or directory"
|
desc = "Rename a file or directory"
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "D"
|
on = "D"
|
||||||
run = "plugin augment-command -- remove --permanently"
|
run = "plugin augment-command -- remove --permanently"
|
||||||
desc = "Permanently delete the files"
|
desc = "Permanently delete the files"
|
||||||
|
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = ["g", "j"]
|
on = ["g", "j"]
|
||||||
run = "plugin augment-command -- parent_arrow 1"
|
run = "plugin augment-command -- parent_arrow 1"
|
||||||
```
|
```
|
||||||
@ -1153,6 +1238,166 @@ the `extract` command to a key in your `keymap.toml` file.
|
|||||||
Look at the [`extract` command section](#extract-extract)
|
Look at the [`extract` command section](#extract-extract)
|
||||||
for details on how to do so.
|
for details on how to do so.
|
||||||
|
|
||||||
|
### Configuring the plugin's prompts
|
||||||
|
|
||||||
|
If you would like to use the plugin's default prompts,
|
||||||
|
you can skip this section entirely. Otherwise, read on.
|
||||||
|
|
||||||
|
The plugin's prompts can be configured using the `th`
|
||||||
|
object for built-in commands like `create`.
|
||||||
|
|
||||||
|
New commands, or new features in existing commands introduced by the plugin,
|
||||||
|
like `archive` or `quit`, can be configured
|
||||||
|
using the `th.augment_command` object instead.
|
||||||
|
|
||||||
|
You **must** call the plugin's `setup` function after
|
||||||
|
configuring the plugin's prompts, otherwise,
|
||||||
|
the prompts will remain as the default prompts.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Prompt configurations for the plugin
|
||||||
|
th.create_title = { "Create:", "Create (dir):" }
|
||||||
|
th.augment_command = th.augment_command or {}
|
||||||
|
th.augment_command.archive_title = "Archive name:"
|
||||||
|
th.augment_command.quit_title = "Quit?"
|
||||||
|
|
||||||
|
-- Call the plugin's setup function
|
||||||
|
require("augment-command"):setup()
|
||||||
|
```
|
||||||
|
|
||||||
|
This method of configuration is to be forward compatible
|
||||||
|
with future versions of Yazi, as mentioned
|
||||||
|
[here](https://github.com/yazi-rs/plugins/issues/44).
|
||||||
|
|
||||||
|
#### Input prompts
|
||||||
|
|
||||||
|
For `input` prompts, like the prompt for the `archive` command,
|
||||||
|
there are 3 configuration options:
|
||||||
|
|
||||||
|
- `title`
|
||||||
|
- `origin`
|
||||||
|
- `offset`
|
||||||
|
|
||||||
|
These options are documented in [Yazi's documentation][input-configuration].
|
||||||
|
|
||||||
|
For example, to configure the `create` command, which is built-in:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
th.create_title = { "Create:", "Create (dir):" }
|
||||||
|
th.create_origin = "top-center"
|
||||||
|
th.create_offset = {
|
||||||
|
x = 0,
|
||||||
|
y = 2,
|
||||||
|
w = 50,
|
||||||
|
h = 3,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This way of configuring the `input` prompt applies to the following:
|
||||||
|
|
||||||
|
- `create`
|
||||||
|
|
||||||
|
Below is an example of configuring the `archive` command,
|
||||||
|
which is provided by the plugin:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
th.augment_command = th.augment_command or {}
|
||||||
|
th.augment_command.archive_title = "Archive name:"
|
||||||
|
th.augment_command.archive_origin = "top-center"
|
||||||
|
th.augment_command.archive_offset = {
|
||||||
|
x = 0,
|
||||||
|
y = 2,
|
||||||
|
w = 50,
|
||||||
|
h = 3,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This way of configuring the `input` prompt applies to the following:
|
||||||
|
|
||||||
|
- `item_group`: The prompt to select an item group.
|
||||||
|
|
||||||
|
- `extract_password`:
|
||||||
|
The prompt to enter the password when extracting an encrypted archive.
|
||||||
|
|
||||||
|
- `archive`: The prompt for the archive name.
|
||||||
|
|
||||||
|
- `archive_password`:
|
||||||
|
The prompts to enter the archive password when
|
||||||
|
creating an encrypted archive.
|
||||||
|
Note that the title for this prompt, `archive_password_title`,
|
||||||
|
should be a list of two strings, like this:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
th.augment_command = th.augment_command or {}
|
||||||
|
th.archive_password_title = {
|
||||||
|
"Archive password:",
|
||||||
|
"Confirm archive password:",
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Confirmation prompts
|
||||||
|
|
||||||
|
For `confirm` prompts, like the prompt for the `quit` command,
|
||||||
|
there are 4 configuration options:
|
||||||
|
|
||||||
|
- `title`
|
||||||
|
- `content`
|
||||||
|
- `origin`
|
||||||
|
- `offset`
|
||||||
|
|
||||||
|
These options are documented in [Yazi's documentation][confirm-configuration].
|
||||||
|
|
||||||
|
The configuration for the `confirm` prompt is very
|
||||||
|
similar to that of the `input` prompt,
|
||||||
|
just with one more option called `content`.
|
||||||
|
The `content` option can take either a `string`, or a list of `strings`.
|
||||||
|
|
||||||
|
For example, to configure the `overwrite` part
|
||||||
|
of the `create` and `archive` commands, which is built-in:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
th.overwrite_title = "Overwrite file?"
|
||||||
|
th.overwrite_content = "Will overwrite the following file:"
|
||||||
|
th.overwrite_origin = "center"
|
||||||
|
th.overwrite_offset = {
|
||||||
|
x = 0,
|
||||||
|
y = 0,
|
||||||
|
w = 50,
|
||||||
|
h = 15,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This way of configuring the `confirm` prompt applies to the following:
|
||||||
|
|
||||||
|
- `overwrite`:
|
||||||
|
The overwrite prompt when creating a file with
|
||||||
|
the same name as an existing file.
|
||||||
|
|
||||||
|
Below is an example of configuring the `quit` command,
|
||||||
|
which is provided by the plugin:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
th.augment_command = th.augment_command or {}
|
||||||
|
th.augment_command.quit_title = "Quit?"
|
||||||
|
th.augment_command.quit_content = {
|
||||||
|
"There are multiple tabs open.",
|
||||||
|
"Are you sure you want to quit?",
|
||||||
|
}
|
||||||
|
th.augment_command.quit_origin = "center"
|
||||||
|
th.augment_command.quit_offset = {
|
||||||
|
x = 0,
|
||||||
|
y = 0,
|
||||||
|
w = 50,
|
||||||
|
h = 15,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This way of configuring the `confirm` prompt applies to the following:
|
||||||
|
|
||||||
|
- `quit`: The quit prompt when quitting with multiple tabs open.
|
||||||
|
|
||||||
### Full configuration example
|
### Full configuration example
|
||||||
|
|
||||||
For a full configuration example,
|
For a full configuration example,
|
||||||
@ -1181,6 +1426,8 @@ You can view the full licence in the [`LICENSE`][Licence] file.
|
|||||||
[yazi-yazi-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml
|
[yazi-yazi-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml
|
||||||
[yazi-shell-variables]: https://yazi-rs.github.io/docs/configuration/keymap/#manager.shell
|
[yazi-shell-variables]: https://yazi-rs.github.io/docs/configuration/keymap/#manager.shell
|
||||||
[thunderbird-tip]: https://yazi-rs.github.io/docs/tips#email-selected-files-using-thunderbird
|
[thunderbird-tip]: https://yazi-rs.github.io/docs/tips#email-selected-files-using-thunderbird
|
||||||
|
[input-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#input
|
||||||
|
[confirm-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#confirm
|
||||||
[yazi-keymap-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap-default.toml
|
[yazi-keymap-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap-default.toml
|
||||||
[my-keymap-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/keymap.toml
|
[my-keymap-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/keymap.toml
|
||||||
[my-yazi-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/yazi.toml
|
[my-yazi-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/yazi.toml
|
||||||
@ -1190,110 +1437,123 @@ You can view the full licence in the [`LICENSE`][Licence] file.
|
|||||||
|
|
||||||
<!-- Open command -->
|
<!-- Open command -->
|
||||||
|
|
||||||
[open-prompt-video]: https://github.com/user-attachments/assets/624da7a1-99cc-428d-acbb-d4ce684f92cb
|
[open-prompt-video]: https://github.com/user-attachments/assets/a792f9d9-97f3-4fab-95cc-03b33c58dd47
|
||||||
[open-behaviour-video]: https://github.com/user-attachments/assets/202f1c07-2001-49d7-a9d7-7a4e7b102c41
|
[open-behaviour-video]: https://github.com/user-attachments/assets/b2e56c10-91cd-4556-9f64-355aa8948832
|
||||||
[open-auto-extract-archives-video]: https://github.com/user-attachments/assets/dad0572e-15d7-4dfd-bf48-00851af66b6e
|
[open-auto-extract-archives-video]: https://github.com/user-attachments/assets/a406391a-b31d-4b45-afa1-b982ddd89eaf
|
||||||
[open-recursively-extract-archives-video]: https://github.com/user-attachments/assets/b8e929ce-32cd-4f7e-ad97-ffe94bdacd71
|
[open-recursively-extract-archives-video]: https://github.com/user-attachments/assets/a960f152-4391-4d55-bd0e-0a08efb42729
|
||||||
|
|
||||||
<!-- Extract command -->
|
<!-- Extract command -->
|
||||||
|
|
||||||
[extract-must-have-hovered-item-video]: https://github.com/user-attachments/assets/6b9f347f-34ce-4ca1-8e3a-24dbeb297dc7
|
[extract-must-have-hovered-item-video]: https://github.com/user-attachments/assets/ed310a81-c482-4eed-9d54-5f50a7cc7637
|
||||||
[extract-hovered-item-optional-video]: https://github.com/user-attachments/assets/1596f9f8-e0f5-49e3-964c-6f94b1c24055
|
[extract-hovered-item-optional-video]: https://github.com/user-attachments/assets/85d5a6bf-ed35-4f9a-b782-faea119da7c5
|
||||||
[extract-prompt-video]: https://github.com/user-attachments/assets/568aef53-dc90-420e-ada9-171f56388ee1
|
[extract-prompt-video]: https://github.com/user-attachments/assets/40f41727-7e55-44d8-816c-e706d09e27b8
|
||||||
[extract-behaviour-video]: https://github.com/user-attachments/assets/d6ebf5fb-45d3-4ae0-adab-3e89b1ec2f4e
|
[extract-behaviour-video]: https://github.com/user-attachments/assets/6f4f68d4-d43c-4de6-8d85-7e22c0cc0cc6
|
||||||
[extract-recursively-extract-archives-video]: https://github.com/user-attachments/assets/d8978671-9149-45b7-9a92-21c1697baa7d
|
[extract-recursively-extract-archives-video]: https://github.com/user-attachments/assets/d9e7030c-9491-4dfa-a1f4-baf3a45eed64
|
||||||
[extract-encrypted-archive-video]: https://github.com/user-attachments/assets/24701662-0c19-4478-b576-75d9284cd695
|
[extract-encrypted-archive-video]: https://github.com/user-attachments/assets/48acd16d-f285-4d58-94c3-b402d7784d94
|
||||||
[extract-reveal-extracted-item-video]: https://github.com/user-attachments/assets/170bf187-dc2a-4310-aa86-5dc9a864aced
|
[extract-reveal-extracted-item-video]: https://github.com/user-attachments/assets/96d7fe43-024a-4b1e-b961-9ab9c708db83
|
||||||
[extract-remove-extracted-archive-video]: https://github.com/user-attachments/assets/9b2e625a-a7f8-4678-8a26-265a7d3b8e0c
|
[extract-remove-extracted-archive-video]: https://github.com/user-attachments/assets/7b700ffc-3ce6-4185-a8b0-8ecfd09c2519
|
||||||
|
|
||||||
<!-- Enter command -->
|
<!-- Enter command -->
|
||||||
|
|
||||||
[smart-enter-video]: https://github.com/user-attachments/assets/be950544-a58f-495a-a7e8-e37e99011070
|
[smart-enter-video]: https://github.com/user-attachments/assets/9fc60a42-8692-4ac8-8250-652958582b98
|
||||||
[enter-skip-single-subdirectory-video]: https://github.com/user-attachments/assets/1bd30cb0-611a-44f2-9839-968287af4455
|
[enter-skip-single-subdirectory-video]: https://github.com/user-attachments/assets/8069e828-d2dd-4c69-a0b8-fe13074de715
|
||||||
|
|
||||||
<!-- Leave command -->
|
<!-- Leave command -->
|
||||||
|
|
||||||
[leave-skip-single-subdirectory-video]: https://github.com/user-attachments/assets/735de8f7-6abb-4929-8e3d-bba470fc6063
|
[leave-skip-single-subdirectory-video]: https://github.com/user-attachments/assets/01330321-b9f9-4dad-b339-8923509e759c
|
||||||
|
|
||||||
<!-- Rename command -->
|
<!-- Rename command -->
|
||||||
|
|
||||||
[rename-must-have-hovered-item-video]: https://github.com/user-attachments/assets/b0f608df-7e8d-4e5f-958f-b3df9d0a92fa
|
[rename-must-have-hovered-item-video]: https://github.com/user-attachments/assets/b6ec96f9-c8a2-490c-9003-8c361e83e336
|
||||||
[rename-hovered-item-optional-video]: https://github.com/user-attachments/assets/9613d238-d8e3-4e6f-b073-f847a4f331a1
|
[rename-hovered-item-optional-video]: https://github.com/user-attachments/assets/8bf0001d-6d39-4c4f-a364-b399e65208e8
|
||||||
[rename-prompt-video]: https://github.com/user-attachments/assets/6ad26e1b-dab1-4e8e-92af-bfcbf6c5232c
|
[rename-prompt-video]: https://github.com/user-attachments/assets/a3926488-f127-4d35-b9ab-7943f01abcb3
|
||||||
[rename-behaviour-video]: https://github.com/user-attachments/assets/fdd70919-f164-4676-9046-6a4b95cd86ed
|
[rename-behaviour-video]: https://github.com/user-attachments/assets/e3d65d76-34d5-45a4-918d-0b28e662840a
|
||||||
|
|
||||||
<!-- Remove command -->
|
<!-- Remove command -->
|
||||||
|
|
||||||
[remove-must-have-hovered-item-video]: https://github.com/user-attachments/assets/fa0aeb4e-ee6a-4e34-9c6f-4d4bc0afd111
|
[remove-must-have-hovered-item-video]: https://github.com/user-attachments/assets/3366c9fa-1a4c-4c3c-a37d-70814d23828d
|
||||||
[remove-hovered-item-optional-video]: https://github.com/user-attachments/assets/f42167dc-df59-451d-b26b-16e75be93fad
|
[remove-hovered-item-optional-video]: https://github.com/user-attachments/assets/01a3fc57-cc90-47f5-b744-d3eed00ac237
|
||||||
[remove-prompt-video]: https://github.com/user-attachments/assets/dd901db3-1ab4-4cb7-bb3f-8aec335c7b94
|
[remove-prompt-video]: https://github.com/user-attachments/assets/18940b9f-4f04-4ab3-a6a9-b35ee8084bd8
|
||||||
[remove-behaviour-video]: https://github.com/user-attachments/assets/d4087826-3480-486d-98ff-708bca548270
|
[remove-behaviour-video]: https://github.com/user-attachments/assets/e524ecdb-f94b-4e6e-b5b2-967470ac3f87
|
||||||
|
|
||||||
|
<!-- Copy command -->
|
||||||
|
|
||||||
|
[copy-must-have-hovered-item-video]: https://github.com/user-attachments/assets/d4ffa133-16d3-44f7-923d-bdd743fa4a77
|
||||||
|
[copy-hovered-item-optional-video]: https://github.com/user-attachments/assets/d2a7f5cd-ab09-45fd-8865-068bb1c269f8
|
||||||
|
[copy-prompt-video]: https://github.com/user-attachments/assets/41d372c5-2992-410c-97ae-aca2c6fea4ee
|
||||||
|
[copy-behaviour-video]: https://github.com/user-attachments/assets/57658664-1a89-46c4-bb4b-3551b0061436
|
||||||
|
|
||||||
<!-- Create command -->
|
<!-- Create command -->
|
||||||
|
|
||||||
[create-and-enter-directories-video]: https://github.com/user-attachments/assets/0604e9a3-7c23-4e9c-963a-6e83955fe7ae
|
[create-and-enter-directories-video]: https://github.com/user-attachments/assets/b27756db-f6ed-4598-b54f-214b7ccbe208
|
||||||
[create-and-open-files-video]: https://github.com/user-attachments/assets/2feee5e5-1d56-4150-8f08-101338392950
|
[create-and-open-files-video]: https://github.com/user-attachments/assets/b7ff1e6c-4c70-4598-a5f6-a88e1559f5d9
|
||||||
[create-and-open-files-and-directories-video]: https://github.com/user-attachments/assets/629a6923-6fa5-4b85-93b7-3b5495c8bbbb
|
[create-and-open-files-and-directories-video]: https://github.com/user-attachments/assets/90dc6dd2-c39d-4ed5-a8b1-e17a18f0219f
|
||||||
[create-behaviour-video]: https://github.com/user-attachments/assets/55b485ea-e49e-4629-b077-4f2a81031f38
|
[create-behaviour-video]: https://github.com/user-attachments/assets/44bdc556-cde7-4ab9-b3c0-05c4f1fa3120
|
||||||
[create-default-behaviour-video]: https://github.com/user-attachments/assets/acf04af0-107f-4ebb-9ed2-2a03847071a5
|
[create-default-behaviour-video]: https://github.com/user-attachments/assets/4948fd32-27a9-4546-83f9-ad6fa9c6afa8
|
||||||
|
|
||||||
<!-- Shell command -->
|
<!-- Shell command -->
|
||||||
|
|
||||||
[shell-must-have-hovered-item-video]: https://github.com/user-attachments/assets/d9a49cb7-67fd-40fe-8f68-130561de0cca
|
[shell-must-have-hovered-item-video]: https://github.com/user-attachments/assets/b68c51db-ccb7-447b-897e-fd99048c47c0
|
||||||
[shell-hovered-item-optional-video]: https://github.com/user-attachments/assets/f7fdfa7c-d7cc-4157-bb5f-63c37f82ea5b
|
[shell-hovered-item-optional-video]: https://github.com/user-attachments/assets/4643b23e-a2df-465f-8f62-3501747038b8
|
||||||
[shell-prompt-video]: https://github.com/user-attachments/assets/6648ad92-320f-457d-9f3e-b5da6f1c07bc
|
[shell-prompt-video]: https://github.com/user-attachments/assets/929e6a68-7e3f-4614-8344-c0a482d471ad
|
||||||
[shell-behaviour-video]: https://github.com/user-attachments/assets/4727658f-e27c-4fbe-acd7-acfeac54cd17
|
[shell-behaviour-video]: https://github.com/user-attachments/assets/3afd995a-225a-4cc1-8189-0241555a6345
|
||||||
[shell-exit-if-directory-video]: https://github.com/user-attachments/assets/ef0e9818-cc81-45fc-9126-6903314ed6b3
|
[shell-exit-if-directory-video]: https://github.com/user-attachments/assets/f7cef7a0-027b-462f-8fe0-b107e5844736
|
||||||
|
|
||||||
<!-- Paste command -->
|
<!-- Paste command -->
|
||||||
|
|
||||||
[smart-paste-video]: https://github.com/user-attachments/assets/59800de2-8445-4f68-834b-10a0e394c400
|
[smart-paste-video]: https://github.com/user-attachments/assets/946a8211-41a8-43a0-b56e-9c13f5a00f4d
|
||||||
|
|
||||||
<!-- Tab create command -->
|
<!-- Tab create command -->
|
||||||
|
|
||||||
[smart-tab-create-video]: https://github.com/user-attachments/assets/bf48e411-b7ed-4624-abd9-084dcdc25ab5
|
[smart-tab-create-video]: https://github.com/user-attachments/assets/4ea25adc-53d0-4086-b8b3-73dcea6d5932
|
||||||
|
|
||||||
<!-- Tab switch command -->
|
<!-- Tab switch command -->
|
||||||
|
|
||||||
[smart-tab-switch-video]: https://github.com/user-attachments/assets/5b94ff0f-f77c-4250-96ac-4fea67eebc46
|
[smart-tab-switch-video]: https://github.com/user-attachments/assets/9e2190ad-1b4d-425e-90de-1eb41a445584
|
||||||
|
|
||||||
<!-- Quit command -->
|
<!-- Quit command -->
|
||||||
|
|
||||||
[quit-with-confirmation-video]: https://github.com/user-attachments/assets/9e212a32-c7c3-470f-895e-bb1cba03292d
|
[quit-with-confirmation-video]: https://github.com/user-attachments/assets/d3c71ae0-7024-4f06-9398-457cad0f5c1d
|
||||||
|
|
||||||
<!-- Arrow command -->
|
<!-- Arrow command -->
|
||||||
|
|
||||||
[smooth-arrow-video]: https://github.com/user-attachments/assets/990935f5-ce6e-4536-9ddc-d8a32da69803
|
[smooth-arrow-video]: https://github.com/user-attachments/assets/04683520-6028-4246-b529-eac6d3a936cf
|
||||||
[wraparound-arrow-video]: https://github.com/user-attachments/assets/b8233e26-06b7-436d-bafa-1639ed12aa53
|
[wraparound-arrow-video]: https://github.com/user-attachments/assets/f2555189-4628-4745-89f4-9ecb4ef070ab
|
||||||
[smooth-wraparound-arrow-video]: https://github.com/user-attachments/assets/59d3618a-59cd-448d-b552-e3cc796d109e
|
[smooth-wraparound-arrow-video]: https://github.com/user-attachments/assets/5d603738-a527-4e19-80fd-db41ae76e42b
|
||||||
|
|
||||||
<!-- Parent arrow command -->
|
<!-- Parent arrow command -->
|
||||||
|
|
||||||
[parent-arrow-video]: https://github.com/user-attachments/assets/c412ed7b-a6ee-44e7-bf68-f9f2e5214a50
|
[parent-arrow-video]: https://github.com/user-attachments/assets/166a83d6-c7ef-4269-b725-62dde60f078f
|
||||||
[smooth-parent-arrow-video]: https://github.com/user-attachments/assets/45fdfa5f-86ef-453c-89a8-1c58d6318e93
|
[smooth-parent-arrow-video]: https://github.com/user-attachments/assets/02a7090b-3373-43db-95ed-2b3a6fe683d3
|
||||||
[wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/3a429a57-2dc6-47c6-be4e-fab5844bafde
|
[wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/229e11f8-a5e4-4237-93f3-d6c8875c9e78
|
||||||
[smooth-wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/7d3d58ea-4b00-4cb2-9aea-950940b1ad1a
|
[smooth-wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/7739afe5-e34d-466e-adf2-3e8a8732f04d
|
||||||
|
|
||||||
<!-- Archive command -->
|
<!-- Archive command -->
|
||||||
|
|
||||||
[archive-must-have-hovered-item-video]: https://github.com/user-attachments/assets/a8d667c8-a8a5-44ed-9220-aa55345c98ed
|
[archive-must-have-hovered-item-video]: https://github.com/user-attachments/assets/6dac06c1-a69c-4b21-86f6-63f6cc693f22
|
||||||
[archive-hovered-item-optional-video]: https://github.com/user-attachments/assets/213f82d2-fe70-4c42-8f24-b09c7d7d7dfe
|
[archive-hovered-item-optional-video]: https://github.com/user-attachments/assets/b33fbcdf-1e00-49db-aede-99c2c3a26171
|
||||||
[archive-prompt-video]: https://github.com/user-attachments/assets/20366432-f195-4531-bb08-9b3f0e8f848e
|
[archive-prompt-video]: https://github.com/user-attachments/assets/ddc0a2e7-9b90-416f-97e3-57af5ad5f355
|
||||||
[archive-behaviour-video]: https://github.com/user-attachments/assets/dcbe9909-db40-4f96-8591-c1a104b63381
|
[archive-behaviour-video]: https://github.com/user-attachments/assets/437254d2-4746-41e7-9500-13cef60764b7
|
||||||
[archive-encrypt-files-video]: https://github.com/user-attachments/assets/08b98e01-2cc2-486e-bd4d-bfbe9da792db
|
[archive-encrypt-files-video]: https://github.com/user-attachments/assets/d4269378-58ce-4b58-a420-13455576c58f
|
||||||
[archive-reveal-created-archive-video]: https://github.com/user-attachments/assets/e908afb8-c431-4e6d-8834-c02216461076
|
[archive-reveal-created-archive-video]: https://github.com/user-attachments/assets/86f01452-42a4-4a97-9d31-ce6f9bc10407
|
||||||
[archive-remove-archived-files-video]: https://github.com/user-attachments/assets/d0495292-6508-4417-b378-033e6acc0c4d
|
[archive-remove-archived-files-video]: https://github.com/user-attachments/assets/012ed8b5-57ae-4cb3-8bf7-4e0af6bdb0d2
|
||||||
|
|
||||||
|
<!-- Emit command -->
|
||||||
|
|
||||||
|
[emit-yazi-command-video]: https://github.com/user-attachments/assets/d2fadf6b-1877-479f-9ac3-734cf227693f
|
||||||
|
[emit-plugin-command-video]: https://github.com/user-attachments/assets/af28c33a-b915-413a-91b2-fc812c1d4d90
|
||||||
|
[emit-augmented-command-video]: https://github.com/user-attachments/assets/08c2d3d6-8ae6-48e2-a045-9c9dc5d81bfd
|
||||||
|
|
||||||
<!-- Editor command -->
|
<!-- Editor command -->
|
||||||
|
|
||||||
[editor-must-have-hovered-item-video]: https://github.com/user-attachments/assets/a0e4500d-7bfe-4fb1-9289-8c39c5c6f323
|
[editor-must-have-hovered-item-video]: https://github.com/user-attachments/assets/ca6d4bac-57be-487e-98e7-805b396fb3d3
|
||||||
[editor-hovered-item-optional-video]: https://github.com/user-attachments/assets/96798f1f-2ddc-464a-b6ae-48cc20f88b3c
|
[editor-hovered-item-optional-video]: https://github.com/user-attachments/assets/3481a3be-d91c-4903-b7a1-80d3048fcf6b
|
||||||
[editor-prompt-video]: https://github.com/user-attachments/assets/5453cc87-3721-4b80-8cc2-b730ddff5da8
|
[editor-prompt-video]: https://github.com/user-attachments/assets/7cdb942f-0ad3-453c-93a5-ab89df5cd644
|
||||||
[editor-behaviour-video]: https://github.com/user-attachments/assets/f479ef38-5b78-43f1-83d4-045bef6f5f20
|
[editor-behaviour-video]: https://github.com/user-attachments/assets/e7537e2e-56a0-4681-9820-5b48cd583bc8
|
||||||
|
|
||||||
<!-- Pager command -->
|
<!-- Pager command -->
|
||||||
|
|
||||||
[pager-must-have-hovered-item-video]: https://github.com/user-attachments/assets/7daa8e81-bc83-4ff3-9462-d71293565e67
|
[pager-must-have-hovered-item-video]: https://github.com/user-attachments/assets/292f503e-c7b0-45ad-97b3-75325f8bb0e7
|
||||||
[pager-hovered-item-optional-video]: https://github.com/user-attachments/assets/e123fb58-d49e-46b6-bc33-c41eb01cf9aa
|
[pager-hovered-item-optional-video]: https://github.com/user-attachments/assets/ca5f1126-4761-4289-a441-4b44c7234e57
|
||||||
[pager-prompt-video]: https://github.com/user-attachments/assets/cfba76a1-116e-4caf-b25a-57d631d115a0
|
[pager-prompt-video]: https://github.com/user-attachments/assets/45d758e0-f95c-4e2e-92b2-094c2f475c00
|
||||||
[pager-behaviour-video]: https://github.com/user-attachments/assets/d036f865-2909-414b-80d9-80e550b6b3dd
|
[pager-behaviour-video]: https://github.com/user-attachments/assets/547ebf9c-ab85-4e72-85c0-e130739b9e68
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ https://github.com/yazi-rs/plugins/assets/17523360/7aa3abc2-d057-498c-8473-a6282
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ya pack -a yazi-rs/plugins:chmod
|
ya pkg add yazi-rs/plugins:chmod
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -15,7 +15,7 @@ ya pack -a yazi-rs/plugins:chmod
|
|||||||
Add this to your `~/.config/yazi/keymap.toml`:
|
Add this to your `~/.config/yazi/keymap.toml`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = [ "c", "m" ]
|
on = [ "c", "m" ]
|
||||||
run = "plugin chmod"
|
run = "plugin chmod"
|
||||||
desc = "Chmod on selected files"
|
desc = "Chmod on selected files"
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- @since 25.2.26
|
--- @since 25.5.28
|
||||||
|
|
||||||
local selected_or_hovered = ya.sync(function()
|
local selected_or_hovered = ya.sync(function()
|
||||||
local tab, paths = cx.active, {}
|
local tab, paths = cx.active, {}
|
||||||
@ -13,7 +13,7 @@ end)
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
entry = function()
|
entry = function()
|
||||||
ya.mgr_emit("escape", { visual = true })
|
ya.emit("escape", { visual = true })
|
||||||
|
|
||||||
local urls = selected_or_hovered()
|
local urls = selected_or_hovered()
|
||||||
if #urls == 0 then
|
if #urls == 0 then
|
||||||
@ -28,7 +28,7 @@ return {
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local status, err = Command("chmod"):arg(value):args(urls):spawn():wait()
|
local status, err = Command("chmod"):arg(value):arg(urls):spawn():wait()
|
||||||
if not status or not status.success then
|
if not status or not status.success then
|
||||||
ya.notify {
|
ya.notify {
|
||||||
title = "Chmod",
|
title = "Chmod",
|
||||||
|
|||||||
@ -7,7 +7,7 @@ https://github.com/yazi-rs/plugins/assets/17523360/eff5e949-386a-44ea-82f9-4cb4a
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ya pack -a yazi-rs/plugins:diff
|
ya pkg add yazi-rs/plugins:diff
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -15,7 +15,7 @@ ya pack -a yazi-rs/plugins:diff
|
|||||||
Add this to your `~/.config/yazi/keymap.toml`:
|
Add this to your `~/.config/yazi/keymap.toml`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "<C-d>"
|
on = "<C-d>"
|
||||||
run = "plugin diff"
|
run = "plugin diff"
|
||||||
desc = "Diff the selected with the hovered file"
|
desc = "Diff the selected with the hovered file"
|
||||||
|
|||||||
@ -7,7 +7,7 @@ Add a full border to Yazi to make it look fancier.
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ya pack -a yazi-rs/plugins:full-border
|
ya pkg add yazi-rs/plugins:full-border
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|||||||
@ -7,10 +7,10 @@ local function setup(_, opts)
|
|||||||
Tab.build = function(self, ...)
|
Tab.build = function(self, ...)
|
||||||
local bar = function(c, x, y)
|
local bar = function(c, x, y)
|
||||||
if x <= 0 or x == self._area.w - 1 or th.mgr.border_symbol ~= "│" then
|
if x <= 0 or x == self._area.w - 1 or th.mgr.border_symbol ~= "│" then
|
||||||
return ui.Bar(ui.Bar.TOP)
|
return ui.Bar(ui.Edge.TOP)
|
||||||
end
|
end
|
||||||
|
|
||||||
return ui.Bar(ui.Bar.TOP)
|
return ui.Bar(ui.Edge.TOP)
|
||||||
:area(
|
:area(
|
||||||
ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) }
|
ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) }
|
||||||
)
|
)
|
||||||
@ -26,9 +26,9 @@ local function setup(_, opts)
|
|||||||
|
|
||||||
local style = th.mgr.border_style
|
local style = th.mgr.border_style
|
||||||
self._base = ya.list_merge(self._base or {}, {
|
self._base = ya.list_merge(self._base or {}, {
|
||||||
ui.Border(ui.Border.ALL):area(self._area):type(type):style(style),
|
ui.Border(ui.Edge.ALL):area(self._area):type(type):style(style),
|
||||||
ui.Bar(ui.Bar.RIGHT):area(self._chunks[1]):style(style),
|
ui.Bar(ui.Edge.RIGHT):area(self._chunks[1]):style(style),
|
||||||
ui.Bar(ui.Bar.LEFT):area(self._chunks[3]):style(style),
|
ui.Bar(ui.Edge.LEFT):area(self._chunks[3]):style(style),
|
||||||
|
|
||||||
bar("┬", c[1].right - 1, c[1].y),
|
bar("┬", c[1].right - 1, c[1].y),
|
||||||
bar("┴", c[1].right - 1, c[1].bottom - 1),
|
bar("┴", c[1].right - 1, c[1].bottom - 1),
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
# git.yazi
|
# git.yazi
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> Yazi v25.2.26 or later is required for this plugin to work.
|
|
||||||
|
|
||||||
Show the status of Git file changes as linemode in the file list.
|
Show the status of Git file changes as linemode in the file list.
|
||||||
|
|
||||||
https://github.com/user-attachments/assets/34976be9-a871-4ffe-9d5a-c4cdd0bf4576
|
https://github.com/user-attachments/assets/34976be9-a871-4ffe-9d5a-c4cdd0bf4576
|
||||||
@ -10,7 +7,7 @@ https://github.com/user-attachments/assets/34976be9-a871-4ffe-9d5a-c4cdd0bf4576
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ya pack -a yazi-rs/plugins:git
|
ya pkg add yazi-rs/plugins:git
|
||||||
```
|
```
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- @since 25.4.4
|
--- @since 25.5.28
|
||||||
|
|
||||||
local WINDOWS = ya.target_family() == "windows"
|
local WINDOWS = ya.target_family() == "windows"
|
||||||
|
|
||||||
@ -190,8 +190,8 @@ local function fetch(_, job)
|
|||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
local output, err = Command("git")
|
local output, err = Command("git")
|
||||||
:cwd(tostring(cwd))
|
:cwd(tostring(cwd))
|
||||||
:args({ "--no-optional-locks", "-c", "core.quotePath=", "status", "--porcelain", "-unormal", "--no-renames", "--ignored=matching" })
|
:arg({ "--no-optional-locks", "-c", "core.quotePath=", "status", "--porcelain", "-unormal", "--no-renames", "--ignored=matching" })
|
||||||
:args(paths)
|
:arg(paths)
|
||||||
:stdout(Command.PIPED)
|
:stdout(Command.PIPED)
|
||||||
:output()
|
:output()
|
||||||
if not output then
|
if not output then
|
||||||
|
|||||||
@ -10,7 +10,7 @@ This is a Yazi plugin for previewing media files. The preview shows thumbnail
|
|||||||
using `ffmpeg` if available and media metadata using `mediainfo`.
|
using `ffmpeg` if available and media metadata using `mediainfo`.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Minimum version: yazi v25.2.7.
|
> Minimum version: yazi v25.5.28.
|
||||||
|
|
||||||
## Preview
|
## Preview
|
||||||
|
|
||||||
@ -48,13 +48,14 @@ Install mediainfo CLI:
|
|||||||
|
|
||||||
Install + config this plugin:
|
Install + config this plugin:
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT] > `mediainfo` use video, image, svg, magick built-in plugins behind the scene to render preview image, song cover.
|
||||||
> `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`.
|
> 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`
|
If you have cache problem, run this cmd, and follow the tips: `yazi --clear-cache`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
ya pkg add boydaihungst/mediainfo
|
||||||
|
# or
|
||||||
ya pack -a boydaihungst/mediainfo
|
ya pack -a boydaihungst/mediainfo
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- @since 25.2.7
|
--- @since 25.5.28
|
||||||
|
|
||||||
local skip_labels = {
|
local skip_labels = {
|
||||||
["Complete name"] = true,
|
["Complete name"] = true,
|
||||||
@ -56,13 +56,13 @@ function M:peek(job)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local cache_mediainfo_path = tostring(cache_img_url_no_skip) .. suffix
|
local cache_mediainfo_path = tostring(cache_img_url_no_skip) .. suffix
|
||||||
ya.sleep(math.max(0, (rt and rt.preview or PREVIEW).image_delay / 1000 + start - os.clock()))
|
ya.sleep(math.max(0, rt.preview.image_delay / 1000 + start - os.clock()))
|
||||||
local output = read_mediainfo_cached_file(cache_mediainfo_path)
|
local output = read_mediainfo_cached_file(cache_mediainfo_path)
|
||||||
|
|
||||||
local lines = {}
|
local lines = {}
|
||||||
local max_lines = math.floor(job.area.h / 2)
|
local max_lines = math.floor(job.area.h / 2)
|
||||||
local last_line = 0
|
local last_line = 0
|
||||||
local is_wrap = rt and rt.preview and rt.preview.wrap == "yes"
|
local is_wrap = rt.preview.wrap == "yes"
|
||||||
|
|
||||||
if output then
|
if output then
|
||||||
local max_width = math.max(1, job.area.w)
|
local max_width = math.max(1, job.area.w)
|
||||||
@ -82,11 +82,11 @@ function M:peek(job)
|
|||||||
if not skip_labels[label] then
|
if not skip_labels[label] then
|
||||||
line = ui.Line({
|
line = ui.Line({
|
||||||
ui.Span(label .. ": "):style(ui.Style():fg("reset"):bold()),
|
ui.Span(label .. ": "):style(ui.Style():fg("reset"):bold()),
|
||||||
ui.Span(value):style((th and th.spot and th.spot.tbl_col) or ui.Style():fg("blue")),
|
ui.Span(value):style(th.spot.tbl_col or ui.Style():fg("blue")),
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
elseif str ~= "General" then
|
elseif str ~= "General" then
|
||||||
line = ui.Line({ ui.Span(str):style((th and th.spot and th.spot.title) or ui.Style():fg("green")) })
|
line = ui.Line({ ui.Span(str):style(th.spot.title or ui.Style():fg("green")) })
|
||||||
end
|
end
|
||||||
|
|
||||||
if line then
|
if line then
|
||||||
@ -105,7 +105,7 @@ function M:peek(job)
|
|||||||
local mediainfo_height = math.min(max_lines, last_line)
|
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
|
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 })
|
ya.emit("peek", { math.max(0, job.skip - max_lines), only_if = job.file.url, upper_bound = false })
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local rendered_img_rect = cache_img_url
|
local rendered_img_rect = cache_img_url
|
||||||
@ -121,7 +121,7 @@ function M:peek(job)
|
|||||||
or nil
|
or nil
|
||||||
local image_height = rendered_img_rect and rendered_img_rect.h or 0
|
local image_height = rendered_img_rect and rendered_img_rect.h or 0
|
||||||
|
|
||||||
ya.preview_widgets(job, {
|
ya.preview_widget(job, {
|
||||||
ui.Text(lines)
|
ui.Text(lines)
|
||||||
:area(ui.Rect({
|
:area(ui.Rect({
|
||||||
x = job.area.x,
|
x = job.area.x,
|
||||||
@ -136,8 +136,7 @@ end
|
|||||||
function M:seek(job)
|
function M:seek(job)
|
||||||
local h = cx.active.current.hovered
|
local h = cx.active.current.hovered
|
||||||
if h and h.url == job.file.url then
|
if h and h.url == job.file.url then
|
||||||
local step = ya.clamp(-10, job.units, 10)
|
ya.emit("peek", {
|
||||||
ya.manager_emit("peek", {
|
|
||||||
math.max(0, cx.active.preview.skip + job.units),
|
math.max(0, cx.active.preview.skip + job.units),
|
||||||
only_if = job.file.url,
|
only_if = job.file.url,
|
||||||
})
|
})
|
||||||
@ -165,8 +164,8 @@ function M:preload(job)
|
|||||||
if cache_img_url_no_skip and (not cache_img_url_no_skip_cha or cache_img_url_no_skip_cha.len <= 0) then
|
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
|
-- audio
|
||||||
if job.mime and string.find(job.mime, "^audio/") then
|
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 qv = 31 - math.floor(rt.preview.image_quality * 0.3)
|
||||||
local status, _ = Command("ffmpeg"):args({
|
local status, _ = Command("ffmpeg"):arg({
|
||||||
"-v",
|
"-v",
|
||||||
"quiet",
|
"quiet",
|
||||||
"-threads",
|
"-threads",
|
||||||
@ -185,10 +184,7 @@ function M:preload(job)
|
|||||||
"-q:v",
|
"-q:v",
|
||||||
qv,
|
qv,
|
||||||
"-vf",
|
"-vf",
|
||||||
string.format(
|
string.format("scale=-1:'min(%d,ih)':flags=fast_bilinear", rt.preview.max_height / 2),
|
||||||
"scale=-1:'min(%d,ih)':flags=fast_bilinear",
|
|
||||||
(rt and rt.preview or PREVIEW).max_height / 2
|
|
||||||
),
|
|
||||||
"-f",
|
"-f",
|
||||||
"image2",
|
"image2",
|
||||||
"-y",
|
"-y",
|
||||||
@ -224,7 +220,7 @@ function M:preload(job)
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
local cmd = "mediainfo"
|
local cmd = "mediainfo"
|
||||||
local output, err = Command(cmd):args({ tostring(job.file.url) }):stdout(Command.PIPED):output()
|
local output, err = Command(cmd):arg({ tostring(job.file.url) }):stdout(Command.PIPED):output()
|
||||||
if err then
|
if err then
|
||||||
err_msg = err_msg .. string.format("Failed to start `%s`, Do you have `%s` installed?\n", cmd, cmd)
|
err_msg = err_msg .. string.format("Failed to start `%s`, Do you have `%s` installed?\n", cmd, cmd)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
# mount.yazi
|
# 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.
|
A mount manager for Yazi, providing disk mount, unmount, and eject functionality.
|
||||||
|
|
||||||
Supported platforms:
|
Supported platforms:
|
||||||
@ -15,7 +12,7 @@ https://github.com/user-attachments/assets/c6f780ab-458b-420f-85cf-2fc45fcfe3a2
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ya pack -a yazi-rs/plugins:mount
|
ya pkg add yazi-rs/plugins:mount
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -23,7 +20,7 @@ ya pack -a yazi-rs/plugins:mount
|
|||||||
Add this to your `~/.config/yazi/keymap.toml`:
|
Add this to your `~/.config/yazi/keymap.toml`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "M"
|
on = "M"
|
||||||
run = "plugin mount"
|
run = "plugin mount"
|
||||||
```
|
```
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- @since 25.2.26
|
--- @since 25.5.28
|
||||||
|
|
||||||
local toggle_ui = ya.sync(function(self)
|
local toggle_ui = ya.sync(function(self)
|
||||||
if self.children then
|
if self.children then
|
||||||
@ -12,7 +12,7 @@ end)
|
|||||||
|
|
||||||
local subscribe = ya.sync(function(self)
|
local subscribe = ya.sync(function(self)
|
||||||
ps.unsub("mount")
|
ps.unsub("mount")
|
||||||
ps.sub("mount", function() ya.mgr_emit("plugin", { self._id, "refresh" }) end)
|
ps.sub("mount", function() ya.emit("plugin", { self._id, "refresh" }) end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
local update_partitions = ya.sync(function(self, partitions)
|
local update_partitions = ya.sync(function(self, partitions)
|
||||||
@ -113,7 +113,7 @@ function M:entry(job)
|
|||||||
elseif run == "enter" then
|
elseif run == "enter" then
|
||||||
local active = active_partition()
|
local active = active_partition()
|
||||||
if active and active.dist then
|
if active and active.dist then
|
||||||
ya.mgr_emit("cd", { active.dist })
|
ya.emit("cd", { active.dist })
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
tx2:send(run)
|
tx2:send(run)
|
||||||
@ -155,11 +155,11 @@ function M:redraw()
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
ui.Clear(self._area),
|
ui.Clear(self._area),
|
||||||
ui.Border(ui.Border.ALL)
|
ui.Border(ui.Edge.ALL)
|
||||||
:area(self._area)
|
:area(self._area)
|
||||||
:type(ui.Border.ROUNDED)
|
:type(ui.Border.ROUNDED)
|
||||||
:style(ui.Style():fg("blue"))
|
:style(ui.Style():fg("blue"))
|
||||||
:title(ui.Line("Mount"):align(ui.Line.CENTER)),
|
:title(ui.Line("Mount"):align(ui.Align.CENTER)),
|
||||||
ui.Table(rows)
|
ui.Table(rows)
|
||||||
:area(self._area:pad(ui.Pad(1, 2, 1, 2)))
|
:area(self._area:pad(ui.Pad(1, 2, 1, 2)))
|
||||||
:header(ui.Row({ "Src", "Label", "Dist", "FSType" }):style(ui.Style():bold()))
|
:header(ui.Row({ "Src", "Label", "Dist", "FSType" }):style(ui.Style():bold()))
|
||||||
@ -233,7 +233,7 @@ function M.fillin(tbl)
|
|||||||
return tbl
|
return tbl
|
||||||
end
|
end
|
||||||
|
|
||||||
local output, err = Command("lsblk"):args({ "-p", "-o", "name,fstype", "-J" }):args(sources):output()
|
local output, err = Command("lsblk"):arg({ "-p", "-o", "name,fstype", "-J" }):arg(sources):output()
|
||||||
if err then
|
if err then
|
||||||
ya.dbg("Failed to fetch filesystem types for unmounted partitions: " .. err)
|
ya.dbg("Failed to fetch filesystem types for unmounted partitions: " .. err)
|
||||||
return tbl
|
return tbl
|
||||||
@ -256,14 +256,14 @@ function M.operate(type)
|
|||||||
|
|
||||||
local output, err
|
local output, err
|
||||||
if ya.target_os() == "macos" then
|
if ya.target_os() == "macos" then
|
||||||
output, err = Command("diskutil"):args({ type, active.src }):output()
|
output, err = Command("diskutil"):arg({ type, active.src }):output()
|
||||||
end
|
end
|
||||||
if ya.target_os() == "linux" then
|
if ya.target_os() == "linux" then
|
||||||
if type == "eject" then
|
if type == "eject" then
|
||||||
Command("udisksctl"):args({ "unmount", "-b", active.src }):status()
|
Command("udisksctl"):arg({ "unmount", "-b", active.src }):status()
|
||||||
output, err = Command("udisksctl"):args({ "power-off", "-b", active.src }):output()
|
output, err = Command("udisksctl"):arg({ "power-off", "-b", active.src }):output()
|
||||||
else
|
else
|
||||||
output, err = Command("udisksctl"):args({ type, "-b", active.src }):output()
|
output, err = Command("udisksctl"):arg({ type, "-b", active.src }):output()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Preview file types using `rich` command in Yazi. This plugin allows preview for
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- [Yazi](https://github.com/sxyazi/yazi) v0.4 or higher.
|
- [Yazi](https://github.com/sxyazi/yazi) v25.4.8 or higher.
|
||||||
- [rich-cli](https://github.com/Textualize/rich) v13.7.1 or higher.
|
- [rich-cli](https://github.com/Textualize/rich) v13.7.1 or higher.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@ -22,7 +22,7 @@ Preview file types using `rich` command in Yazi. This plugin allows preview for
|
|||||||
To install this plugin, simply run-
|
To install this plugin, simply run-
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ya pack -a AnirudhG07/rich-preview
|
ya pkg add AnirudhG07/rich-preview
|
||||||
## For linux and MacOS
|
## For linux and MacOS
|
||||||
git clone https://github.com/AnirudhG07/rich-preview.yazi.git ~/.config/yazi/plugins/rich-preview.yazi
|
git clone https://github.com/AnirudhG07/rich-preview.yazi.git ~/.config/yazi/plugins/rich-preview.yazi
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ https://github.com/yazi-rs/plugins/assets/17523360/72aaf117-1378-4f7e-93ba-d425a
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ya pack -a yazi-rs/plugins:smart-filter
|
ya pkg add yazi-rs/plugins:smart-filter
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -15,7 +15,7 @@ ya pack -a yazi-rs/plugins:smart-filter
|
|||||||
Add this to your `~/.config/yazi/keymap.toml`:
|
Add this to your `~/.config/yazi/keymap.toml`:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[[manager.prepend_keymap]]
|
[[mgr.prepend_keymap]]
|
||||||
on = "F"
|
on = "F"
|
||||||
run = "plugin smart-filter"
|
run = "plugin smart-filter"
|
||||||
desc = "Smart filter"
|
desc = "Smart filter"
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
--- @since 25.2.26
|
--- @since 25.5.28
|
||||||
|
|
||||||
local hovered = ya.sync(function()
|
local hovered = ya.sync(function()
|
||||||
local h = cx.active.current.hovered
|
local h = cx.active.current.hovered
|
||||||
@ -28,20 +28,20 @@ local function entry()
|
|||||||
while true do
|
while true do
|
||||||
local value, event = input:recv()
|
local value, event = input:recv()
|
||||||
if event ~= 1 and event ~= 3 then
|
if event ~= 1 and event ~= 3 then
|
||||||
ya.mgr_emit("escape", { filter = true })
|
ya.emit("escape", { filter = true })
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
ya.mgr_emit("filter_do", { value, smart = true })
|
ya.emit("filter_do", { value, smart = true })
|
||||||
|
|
||||||
local h = hovered()
|
local h = hovered()
|
||||||
if h.unique and h.is_dir then
|
if h.unique and h.is_dir then
|
||||||
ya.mgr_emit("escape", { filter = true })
|
ya.emit("escape", { filter = true })
|
||||||
ya.mgr_emit("enter", {})
|
ya.emit("enter", {})
|
||||||
input = prompt()
|
input = prompt()
|
||||||
elseif event == 1 then
|
elseif event == 1 then
|
||||||
ya.mgr_emit("escape", { filter = true })
|
ya.emit("escape", { filter = true })
|
||||||
ya.mgr_emit(h.is_dir and "enter" or "open", { h.url })
|
ya.emit(h.is_dir and "enter" or "open", { h.url })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -9,14 +9,15 @@ what-size supports Yazi on Linux, macOS, and Windows.
|
|||||||
### OS
|
### OS
|
||||||
|
|
||||||
- Linux since first commit
|
- Linux since first commit
|
||||||
- macOS since commit `42c6a0efb7245badb16781da5380be1a1705f3f2` ([link](https://github.com/pirafrank/what-size.yazi/commit/42c6a0efb7245badb16781da5380be1a1705f3f2))
|
- macOS since commit `42c6a0e` ([link](https://github.com/pirafrank/what-size.yazi/commit/42c6a0efb7245badb16781da5380be1a1705f3f2))
|
||||||
- Windows since commit `4a56ead2a84c5969791fb17416e0b451ab906c5d` ([link](https://github.com/pirafrank/what-size.yazi/commit/4a56ead2a84c5969791fb17416e0b451ab906c5d))
|
- Windows since commit `4a56ead` ([link](https://github.com/pirafrank/what-size.yazi/commit/4a56ead2a84c5969791fb17416e0b451ab906c5d))
|
||||||
|
|
||||||
### Yazi
|
### Yazi
|
||||||
|
|
||||||
- yazi `25.x` since commit `fce1778d911621dc57796cdfdf11dcda3c2e28de` ([link](https://github.com/pirafrank/what-size.yazi/commit/fce1778d911621dc57796cdfdf11dcda3c2e28de)).
|
- yazi `25.5.28` and onwards since commit `c5c939b` ([link](https://github.com/pirafrank/what-size.yazi/commit/c5c939bb37ec1d132c942cf5724d4e847acc2977))
|
||||||
- yazi `0.4.x` since commit `2780de5aeef1ed16d1973dd6e0cd4d630c900d56` ([link](https://github.com/pirafrank/what-size.yazi/commit/2780de5aeef1ed16d1973dd6e0cd4d630c900d56)).
|
- yazi `25.x`-`25.4.8` since commit `fce1778` ([link](https://github.com/pirafrank/what-size.yazi/commit/fce1778d911621dc57796cdfdf11dcda3c2e28de))
|
||||||
- yazi `0.3.x` up to commit `f08f7f2d5c94958ac4cb66c51a7c24b4319c6c93` ([link](https://github.com/pirafrank/what-size.yazi/commit/f08f7f2d5c94958ac4cb66c51a7c24b4319c6c93)).
|
- yazi `0.4.x` since commit `2780de5` ([link](https://github.com/pirafrank/what-size.yazi/commit/2780de5aeef1ed16d1973dd6e0cd4d630c900d56))
|
||||||
|
- yazi `0.3.x` up to commit `f08f7f2` ([link](https://github.com/pirafrank/what-size.yazi/commit/f08f7f2d5c94958ac4cb66c51a7c24b4319c6c93))
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
|||||||
@ -46,7 +46,7 @@ local function get_total_size(items)
|
|||||||
return total
|
return total
|
||||||
else
|
else
|
||||||
local arg = ya.target_os() == "macos" and "-scA" or "-scb"
|
local arg = ya.target_os() == "macos" and "-scA" or "-scb"
|
||||||
local output, err = Command("du"):arg(arg):args(items):output()
|
local output, err = Command("du"):arg(arg):arg(items):output()
|
||||||
if not output then
|
if not output then
|
||||||
ya.err("Failed to run du: " .. err)
|
ya.err("Failed to run du: " .. err)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||||
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
||||||
|
|
||||||
[manager]
|
[mgr]
|
||||||
ratio = [ 1, 2, 3 ]
|
ratio = [ 1, 2, 3 ]
|
||||||
sort_by = "alphabetical"
|
sort_by = "alphabetical"
|
||||||
sort_sensitive = false
|
sort_sensitive = false
|
||||||
|
|||||||
@ -77,7 +77,7 @@ function cd {
|
|||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
new_directory=${HOME}
|
new_directory=${HOME}
|
||||||
fi
|
fi
|
||||||
builtin cd "${new_directory}" && eza -a --icons --group-directories-first
|
z "${new_directory}" && eza -a --icons --group-directories-first
|
||||||
}
|
}
|
||||||
|
|
||||||
# Use lf to switch directories and bind it to ctrl-o
|
# Use lf to switch directories and bind it to ctrl-o
|
||||||
@ -87,7 +87,7 @@ lfcd() {
|
|||||||
lf -last-dir-path="$tmp" "$@"
|
lf -last-dir-path="$tmp" "$@"
|
||||||
if [ -f "$tmp" ]; then
|
if [ -f "$tmp" ]; then
|
||||||
dir="$(cat "$tmp")"
|
dir="$(cat "$tmp")"
|
||||||
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" || return
|
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && z "$dir" || return
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,16 +95,41 @@ function yazicd() {
|
|||||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||||
yazi "$@" --cwd-file="$tmp"
|
yazi "$@" --cwd-file="$tmp"
|
||||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
builtin cd -- "$cwd" && eza -a --icons --group-directories-first
|
z -- "$cwd" && eza -a --icons --group-directories-first
|
||||||
fi
|
fi
|
||||||
rm -f -- "$tmp" >/dev/null 2>&1
|
rm -f -- "$tmp" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
tmux-window-name() {
|
|
||||||
|
function tmux-window-name() {
|
||||||
($TMUX_PLUGIN_MANAGER_PATH/tmux-window-name/scripts/rename_session_windows.py &)
|
($TMUX_PLUGIN_MANAGER_PATH/tmux-window-name/scripts/rename_session_windows.py &)
|
||||||
}
|
}
|
||||||
|
|
||||||
# add-zsh-hook chpwd tmux-window-name
|
function fzf_sesh_connect_widget() {
|
||||||
|
local session
|
||||||
|
session=$(
|
||||||
|
sesh list --icons | fzf-tmux -p 80%,70% \
|
||||||
|
--no-sort --ansi \
|
||||||
|
--border-label ' sesh ' \
|
||||||
|
--prompt '⚡ ' \
|
||||||
|
--header ' ^a all ^t tmux ^g configs ^x zoxide ^d tmux kill ^f find' \
|
||||||
|
--bind 'tab:down,btab:up' \
|
||||||
|
--bind 'ctrl-a:change-prompt(⚡ )+reload(sesh list --icons)' \
|
||||||
|
--bind 'ctrl-t:change-prompt(🪟 )+reload(sesh list -t --icons)' \
|
||||||
|
--bind 'ctrl-g:change-prompt(⚙️ )+reload(sesh list -c --icons)' \
|
||||||
|
--bind 'ctrl-x:change-prompt(📁 )+reload(sesh list -z --icons)' \
|
||||||
|
--bind 'ctrl-f:change-prompt(🔎 )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
|
||||||
|
--bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡ )+reload(sesh list --icons)' \
|
||||||
|
--preview-window 'right:55%' \
|
||||||
|
--preview 'sesh preview {}'
|
||||||
|
)
|
||||||
|
|
||||||
|
# if the user picked something, build & run the command
|
||||||
|
if [[ -n $session ]]; then
|
||||||
|
BUFFER="sesh connect \"$session\""
|
||||||
|
zle accept-line
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
zle -N fzf_sesh_connect_widget
|
||||||
|
|
||||||
# Navigate words with CTRL+ARROW keys
|
# Navigate words with CTRL+ARROW keys
|
||||||
bindkey '^H' backward-kill-word # delete previous word with CTRL+BACKSPACE
|
bindkey '^H' backward-kill-word # delete previous word with CTRL+BACKSPACE
|
||||||
@ -138,8 +163,8 @@ bindkey -M vicmd '^e' edit-command-line
|
|||||||
bindkey -M visual '^[[P' vi-delete
|
bindkey -M visual '^[[P' vi-delete
|
||||||
|
|
||||||
bindkey -s '^n' '^uv .\n'
|
bindkey -s '^n' '^uv .\n'
|
||||||
bindkey -s '^f' '^utmux neww tmux-sessionizer\n'
|
# bindkey -s '^f' '^utmux neww tmux-sessionizer\n'
|
||||||
|
bindkey '^F' fzf_sesh_connect_widget
|
||||||
|
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
eval "$(fzf --zsh)"
|
eval "$(fzf --zsh)"
|
||||||
|
|||||||
@ -1,37 +1,32 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [[ $# -eq 1 ]]; then
|
if [[ $# -eq 1 ]]; then
|
||||||
selected=$1
|
selected="$1"
|
||||||
else
|
else
|
||||||
selected=$(project-finder ~/repos/ ~/Nextcloud/ ~/Obsidian/ | sk --height 16)
|
selected=$(project-finder ~/repos/ ~/Nextcloud/ ~/Obsidian/ | sk --height 16)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z $selected ]]; then
|
if [[ -z "$selected" ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
selected_name=$(basename "$selected" | tr . _)
|
selected_name=$(basename "$selected" | tr . _)
|
||||||
tmux_running=$(pgrep tmux)
|
|
||||||
|
|
||||||
if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then
|
|
||||||
# Create new session with nvim in first window, detached
|
|
||||||
tmux new-session -ds "$selected_name" -c "$selected" "${EDITOR:-vim} ."
|
|
||||||
# Create second window as plain terminal
|
|
||||||
tmux new-window -t "$selected_name:" -c "$selected"
|
|
||||||
# Select the first window (index 0)
|
|
||||||
tmux select-window -t "$selected_name:1"
|
|
||||||
# Attach to the session
|
|
||||||
tmux attach-session -t "$selected_name"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# Check if the session exists
|
||||||
if ! tmux has-session -t="$selected_name" 2>/dev/null; then
|
if ! tmux has-session -t="$selected_name" 2>/dev/null; then
|
||||||
# Create new session with nvim in first window, detached
|
# Create a new session, detached, with window 0 in the selected directory
|
||||||
tmux new-session -ds "$selected_name" -c "$selected" "${EDITOR:-vim} ."
|
tmux new-session -d -s "$selected_name" -c "$selected"
|
||||||
# Create second window as plain terminal
|
# Create a second window (index 1) in the same directory
|
||||||
tmux new-window -t "$selected_name:" -c "$selected"
|
tmux new-window -t "$selected_name:" -c "$selected"
|
||||||
# Select the first window (index 0)
|
|
||||||
tmux select-window -t "$selected_name:1"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Always select window 0
|
||||||
|
tmux select-window -t "$selected_name:1"
|
||||||
|
|
||||||
|
if [[ -z "$TMUX" ]]; then
|
||||||
|
# Not inside tmux, attach to the session
|
||||||
|
tmux attach-session -t "$selected_name"
|
||||||
|
else
|
||||||
|
# Inside tmux, switch client to the session
|
||||||
tmux switch-client -t "$selected_name"
|
tmux switch-client -t "$selected_name"
|
||||||
|
fi
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user