diff --git a/.config/custom_scripts/osx/set_wallpaper.sh b/.config/custom_scripts/osx/set_wallpaper.sh new file mode 100755 index 0000000..fdc2c82 --- /dev/null +++ b/.config/custom_scripts/osx/set_wallpaper.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -eaou pipefail + +osascript -e 'tell application "System Events" to set picture of every desktop to "'"$1"'"' diff --git a/.config/yazi/init.lua b/.config/yazi/init.lua index 4965767..ef1af55 100644 --- a/.config/yazi/init.lua +++ b/.config/yazi/init.lua @@ -15,3 +15,26 @@ require("bookmarks"):setup({ }, }, }) + +require("projects"):setup({ + save = { + method = "yazi", -- yazi | lua + lua_save_path = "", -- comment out to get the default value + -- windows: "%APPDATA%/yazi/state/projects.json" + -- unix: "~/.local/state/yazi/projects.json" + }, + last = { + update_after_save = true, + update_after_load = true, + load_after_start = false, + }, + merge = { + quit_after_merge = false, + }, + notify = { + enable = true, + title = "Projects", + timeout = 3, + level = "info", + }, +}) diff --git a/.config/yazi/keymap.toml b/.config/yazi/keymap.toml index f3fdfba..9338634 100644 --- a/.config/yazi/keymap.toml +++ b/.config/yazi/keymap.toml @@ -17,3 +17,43 @@ desc = "Delete a bookmark" on = [ "b", "D" ] run = "plugin bookmarks delete_all" desc = "Delete all bookmarks" + +[[manager.prepend_keymap]] +on = [ "P", "s" ] +run = "plugin projects save" +desc = "Save current project" + +[[manager.prepend_keymap]] +on = [ "P", "l" ] +run = "plugin projects load" +desc = "Load project" + +[[manager.prepend_keymap]] +on = [ "P", "P" ] +run = "plugin projects load_last" +desc = "Load last project" + +[[manager.prepend_keymap]] +on = [ "P", "d" ] +run = "plugin projects delete" +desc = "Delete project" + +[[manager.prepend_keymap]] +on = [ "P", "D" ] +run = "plugin projects delete_all" +desc = "Delete all projects" + +[[manager.prepend_keymap]] +on = [ "P", "m" ] +run = "plugin projects 'merge current'" +desc = "Merge current tab to other projects" + +[[manager.prepend_keymap]] +on = [ "P", "M" ] +run = "plugin projects 'merge all'" +desc = "Merge current project to other projects" + +[[manager.prepend_keymap]] +on = ["C", "w"] +run = 'shell -- ${HOME}/.config/custom_scripts/osx/set_wallpaper.sh "$1"' +desc = "Set wallpaper" diff --git a/.config/yazi/package.toml b/.config/yazi/package.toml index 39902f7..4f6117a 100644 --- a/.config/yazi/package.toml +++ b/.config/yazi/package.toml @@ -3,6 +3,16 @@ use = "dedukun/bookmarks" rev = "95b2c58" hash = "17a094653b7d0db4ac68ed531d2e1412" +[[plugin.deps]] +use = "Reledia/glow" +rev = "c76bf4f" +hash = "a6b78bf9af5390e3a85a6951fbb7b93" + +[[plugin.deps]] +use = "MasouShizuka/projects" +rev = "4f11ecc" +hash = "17fa17295d27864f62875f06a77f72e7" + [[flavor.deps]] use = "BennyOe/tokyo-night" rev = "695dac6" diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml index 8400bce..841ab00 100644 --- a/.config/yazi/yazi.toml +++ b/.config/yazi/yazi.toml @@ -10,5 +10,10 @@ show_hidden = true show_symlink = true scrolloff = 5 mouse_events = ["click", "scroll"] -# title_format = "Yazi: {cwd}" +#title_format = "Yazi: {cwd}" + +[plugin] +prepend_previewers = [ + { name = "*.md", run = "glow" }, +] diff --git a/.zshrc b/.zshrc index 9ac4d80..bd6a253 100644 --- a/.zshrc +++ b/.zshrc @@ -98,12 +98,21 @@ source $ZSH/oh-my-zsh.sh autoload bashcompinit bashcompinit +# yazi cwd wrapper +function y() { + local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd + yazi "$@" --cwd-file="$tmp" + if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then + builtin cd -- "$cwd" + fi + rm -f -- "$tmp" +} + # Default aliases alias vim="nvim" alias j="jump" alias b="bookmark" alias ls="lsd" -alias y="yazi" eval "$(/opt/homebrew/bin/brew shellenv)"