fix: yazi keymap arguments

This commit is contained in:
danny 2025-11-26 14:47:19 +08:00
parent c540e9cc73
commit 4b6183f0ec
7 changed files with 143 additions and 147 deletions

View file

@ -3,6 +3,11 @@ let
mkWall = import ./mkWall.nix { inherit pkgs config; };
rofiWall = pkgs.writeShellScript "rofiWall" ''
url=$(rofi -i -dmenu -config ~/.config/rofi/config.rasi -p "URL")
if [ -z "$url" ]; then
exit 0
fi
${mkWall}/bin/setWall "$url"
'';
in

View file

@ -1,4 +1,8 @@
{ lib, config, ... }:
{
lib,
config,
...
}:
let
configDir = ../config;
browser = "zen.desktop";

View file

@ -63,14 +63,12 @@ let
"match:class error"
"match:class splash"
"match:class confirmreset"
"match:class pavucontrol-qt"
"match:class pavucontrol"
"match:class file-roller"
"match:class ^(it.mijorus.smile)"
"match:class ^(xdg-desktop-portal-gtk)$"
"match:class ^(vesktop)$, match:title ^(Discord Popout)$"
"match:class ^(steam)$, match:title ^(Friends List)$"
"match:title Open File"
"match:title (Open File)"
"match:title branchdialog"
"match:title wlogout"
"match:title ^(Media viewer)$"

View file

@ -26,6 +26,10 @@ let
-dPDFFitPage "$path"
done
'';
pdfCombine = pkgs.writeShellScriptBin "combine-pdf" ''
${lib.getExe pkgs.pdftk} "$@" cat output combined_$(date +%Y%m%d_%H%M%S).pdf
'';
in
{
programs = {
@ -50,11 +54,6 @@ in
name = "*";
run = "git";
}
{
id = "git";
name = "*/";
run = "git";
}
];
input = {
@ -62,32 +61,25 @@ in
};
opener = {
set-wallpaper = [
{
run = ''${config.services.swww.package}/bin/awww img "$1" --transition-fps 45 --transition-duration 1 --transition-type random'';
for = "linux";
desc = "Set as wallpaper";
}
];
edit = [
{
run = ''''\${EDITOR:=nvim} "$@"'';
run = ''''\${EDITOR:=nvim} "$0"'';
desc = "$EDITOR";
block = true;
}
{
run = ''code "$@"'';
run = ''code "$0"'';
orphan = true;
}
];
player = [
{ run = ''mpv --force-window "$@"''; }
{ run = ''mpv --force-window "$0"''; }
];
open = [
{
run = ''xdg-open "$@"'';
run = ''xdg-open "$0"'';
desc = "Open";
}
];
@ -104,126 +96,123 @@ in
};
keymap = {
mgr = {
prepend_keymap = [
# Set Wallpaper
{
on = [
"g"
"w"
];
run = ''shell -- ${config.services.swww.package}/bin/awww img "$1" --transition-fps 45 --transition-duration 1 --transition-type random'';
desc = "Set as wallpaper";
}
# Git Changes
{
on = [
"g"
"c"
];
run = "plugin vcs-files";
desc = "Show Git file changes";
}
# Image zoom
{
on = "+";
run = "plugin zoom 1";
desc = "Zoom in hovered file";
}
{
on = "-";
run = "plugin zoom -1";
desc = "Zoom out hovered file";
}
# Mount Manager
{
on = "M";
run = "plugin mount";
desc = "Launch mount manager";
# Usage
# Key binding Alternate key Action
# q - Quit the plugin
# k ↑ Move up
# j ↓ Move down
# l → Enter the mount point
# m - Mount the partition
# u - Unmount the partition
# e - Eject the disk
}
# Toggle Maximize Preview
{
on = "T";
run = "plugin toggle-pane max-preview";
desc = "Show or hide the preview panel";
}
# Copy selected files to the system clipboard while yanking
{
on = "y";
run = [
''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list''
"yank"
];
}
# cd back to the root of the current Git repository
{
on = [
"g"
"r"
];
run = ''shell -- ya emit cd "$(git rev-parse --show-toplevel)"'';
desc = "Go to git root";
}
# Drag and Drop
{
on = [
"c"
"D"
];
run = ''shell 'ripdrag "$0" "$@" -x 2>/dev/null &' --confirm'';
desc = "Drag the file";
}
# Start terminal
{
on = [ "!" ];
for = "unix";
run = ''shell "$SHELL" --block'';
desc = "Open $SHELL here";
}
# Combine PDF
{
on = [
"F" # file
"p" # pdf
"c" # combine
];
for = "unix";
run = ''shell '${lib.getExe pkgs.pdftk} "$@" cat output combined_$(date +%Y%m%d_%H%M%S).pdf 2>/dev/null &' '';
desc = "Combine selected pdf";
}
{
on = [
"F" # file
"p" # pdf
"n" # normalize
];
for = "unix";
run = ''shell -- ${lib.getExe pdfNormalize} "$@" 2>/dev/null & '';
desc = "Normalize PDF to A4 size";
}
{
on = [
"F" # file
"M" # markdown
"H" # html
];
for = "unix";
run = [
''shell -- for path in "$@"; do ${lib.getExe md2html} "$path"; done''
];
desc = "Convert Markdown to HTML";
}
];
};
mgr.prepend_keymap = [
# Set Wallpaper
{
on = [
"g"
"w"
];
run = ''shell -- ${config.services.swww.package}/bin/awww img "$0" --transition-fps 45 --transition-duration 1 --transition-type random'';
desc = "Set as wallpaper";
}
# Git Changes
{
on = [
"g"
"c"
];
run = "plugin vcs-files";
desc = "Show Git file changes";
}
# Image zoom
{
on = "+";
run = "plugin zoom 1";
desc = "Zoom in hovered file";
}
{
on = "-";
run = "plugin zoom -1";
desc = "Zoom out hovered file";
}
# Mount Manager
{
on = "M";
run = "plugin mount";
desc = "Launch mount manager";
# Usage
# Key binding Alternate key Action
# q - Quit the plugin
# k ↑ Move up
# j ↓ Move down
# l → Enter the mount point
# m - Mount the partition
# u - Unmount the partition
# e - Eject the disk
}
# Toggle Maximize Preview
{
on = "T";
run = "plugin toggle-pane max-preview";
desc = "Show or hide the preview panel";
}
# Copy selected files to the system clipboard while yanking
{
on = "y";
run = [
''shell -- for path in "$0" "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list''
"yank"
];
}
# cd back to the root of the current Git repository
{
on = [
"g"
"r"
];
run = ''shell -- ya emit cd "$(git rev-parse --show-toplevel)"'';
desc = "Go to git root";
}
# Drag and Drop
{
on = [
"c"
"D"
];
run = ''shell 'ripdrag "$0" "$@" -x 2>/dev/null &' --confirm'';
desc = "Drag the file";
}
# Start terminal
{
on = [ "!" ];
for = "unix";
run = ''shell "$SHELL" --block'';
desc = "Open $SHELL here";
}
# Combine PDF
{
on = [
"F" # file
"p" # pdf
"c" # combine
];
for = "unix";
run = ''shell -- ${lib.getExe pdfCombine} "$0" "$@"'';
desc = "Combine selected pdf";
}
{
on = [
"F" # file
"p" # pdf
"n" # normalize
];
for = "unix";
run = ''shell -- ${lib.getExe pdfNormalize} "$0" "$@" 2>/dev/null'';
desc = "Normalize PDF to A4 size";
}
{
on = [
"F" # file
"H" # html
];
for = "unix";
run = [
''shell -- for path in "$0" "$@"; do ${lib.getExe md2html} "$path"; done''
];
desc = "Convert Markdown to HTML";
}
];
};
initLua =

View file

@ -54,7 +54,7 @@ in
pane_frames = false;
show_startup_tips = false;
session_serialization = false;
default_layout = "default";
default_layout = "default-com";
};
extraConfig = ''
@ -269,7 +269,7 @@ in
}
'';
layouts = {
default = {
default-com = {
layout = {
_children = [
{