diff --git a/yazi-config/preset/yazi.toml b/yazi-config/preset/yazi.toml index c6bfec44..e9d46403 100644 --- a/yazi-config/preset/yazi.toml +++ b/yazi-config/preset/yazi.toml @@ -26,27 +26,27 @@ ueberzug_offset = [ 0, 0, 0, 0 ] [opener] edit = [ - { exec = '${EDITOR:=vi} "$0"', desc = "$EDITOR", block = true, for = "unix" }, + { exec = '${EDITOR:=vi} "$@"', desc = "$EDITOR", block = true, for = "unix" }, { exec = 'code "%*"', orphan = true, for = "windows" }, ] open = [ - { exec = 'xdg-open "$0"', desc = "Open", for = "linux" }, - { exec = 'open "$0"', desc = "Open", for = "macos" }, - { exec = 'start "" "%0"', orphan = true, desc = "Open", for = "windows" } + { exec = 'xdg-open "$@"', desc = "Open", for = "linux" }, + { exec = 'open "$@"', desc = "Open", for = "macos" }, + { exec = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" } ] reveal = [ - { exec = 'open -R "$0"', desc = "Reveal", for = "macos" }, - { exec = 'explorer /select, "%0"', orphan = true, desc = "Reveal", for = "windows" }, - { exec = '''exiftool "$0"; echo "Press enter to exit"; read''', block = true, desc = "Show EXIF", for = "unix" }, + { exec = 'open -R "$1"', desc = "Reveal", for = "macos" }, + { exec = 'explorer /select, "%1"', orphan = true, desc = "Reveal", for = "windows" }, + { exec = '''exiftool "$1"; echo "Press enter to exit"; read''', block = true, desc = "Show EXIF", for = "unix" }, ] extract = [ - { exec = 'unar "$0"', desc = "Extract here", for = "unix" }, - { exec = 'unar "%0"', desc = "Extract here", for = "windows" }, + { exec = 'unar "$1"', desc = "Extract here", for = "unix" }, + { exec = 'unar "%1"', desc = "Extract here", for = "windows" }, ] play = [ - { exec = 'mpv "$0"', orphan = true, for = "unix" }, - { exec = 'mpv "%0"', orphan = true, for = "windows" }, - { exec = '''mediainfo "$0"; echo "Press enter to exit"; read''', block = true, desc = "Show media info", for = "unix" }, + { exec = 'mpv "$@"', orphan = true, for = "unix" }, + { exec = 'mpv "%1"', orphan = true, for = "windows" }, + { exec = '''mediainfo "$1"; echo "Press enter to exit"; read''', block = true, desc = "Show media info", for = "unix" }, ] [open] diff --git a/yazi-core/src/tab/tab.rs b/yazi-core/src/tab/tab.rs index 503cee01..b8119004 100644 --- a/yazi-core/src/tab/tab.rs +++ b/yazi-core/src/tab/tab.rs @@ -60,7 +60,11 @@ impl Tab { pub fn hovered_and_selected(&self) -> Vec<&Url> { let mut a = self.current.hovered().map(|h| vec![&h.url]).unwrap_or_default(); - a.extend(self.selected.iter()); + if self.selected.is_empty() { + a.extend(a.clone()); + } else { + a.extend(self.selected.iter()); + } a }