add yazi keymap

This commit is contained in:
thek4n 2026-07-22 16:39:23 +03:00
parent 2afb9dc04e
commit ac14c91477
3 changed files with 47 additions and 1 deletions

View File

@ -25,7 +25,7 @@ ipython:.ipython/profile_default/ipython_config.py
gdb:.config/gdb gdb:.config/gdb
sandbox: sandbox:
chromium:.local/bin/pchromium .local/share/applications/pchromium.desktop chromium:.local/bin/pchromium .local/share/applications/pchromium.desktop
scripts:.local/bin/httpstatus .local/bin/apco .local/bin/bb .local/bin/emoji .local/bin/mksh .local/bin/nato .local/bin/pastas .local/bin/timer .local/bin/tryna .local/bin/trynafail .local/bin/bak .local/bin/cleanup-directory .local/bin/cleanup-directory-log .local/bin/gobuild .local/bin/json .local/bin/open .local/bin/py .local/bin/sha .local/bin/showtips .local/bin/weather .local/bin/rmt .local/bin/scratch .local/bin/wake .local/bin/myip .local/bin/genpass .local/bin/gensalt .local/bin/django-create-project .local/bin/mirror-site .local/bin/split-file .local/bin/extract .local/bin/destroy .local/bin/serveit .local/bin/highlight-logs %copypasta scripts:.local/bin/httpstatus .local/bin/apco .local/bin/bb .local/bin/emoji .local/bin/mksh .local/bin/nato .local/bin/pastas .local/bin/timer .local/bin/tryna .local/bin/trynafail .local/bin/bak .local/bin/cleanup-directory .local/bin/cleanup-directory-log .local/bin/gobuild .local/bin/json .local/bin/open .local/bin/py .local/bin/sha .local/bin/showtips .local/bin/weather .local/bin/rmt .local/bin/scratch .local/bin/wake .local/bin/myip .local/bin/genpass .local/bin/gensalt .local/bin/django-create-project .local/bin/mirror-site .local/bin/split-file .local/bin/extract .local/bin/destroy .local/bin/serveit .local/bin/highlight-logs .local/bin/flipbit %copypasta
music:.local/bin/mpv-service.sh .config/systemd/user/mpv.service .local/bin/player music:.local/bin/mpv-service.sh .config/systemd/user/mpv.service .local/bin/player
copypasta:.local/bin/copy .local/bin/pasta copypasta:.local/bin/copy .local/bin/pasta
starsector:.java/.userPrefs/com/fs/starfarer/prefs.xml .local/share/applications/starsector.desktop .local/bin/starsector starsector:.java/.userPrefs/com/fs/starfarer/prefs.xml .local/share/applications/starsector.desktop .local/bin/starsector

View File

@ -0,0 +1,4 @@
[[mgr.append_keymap]]
on = [ "c", "e" ]
run = "shell -- flipbit x %h"
desc = "Toggle execution mode on file"

42
home/user/.local/bin/flipbit Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh -eu
# flipbit - Toggle (flips) bit on file for owner only
if [ "${#}" -ne 2 ]; then
echo "Usage: ${0} [rwx] file"
exit 1
fi
mode="${1}"
file="${2}"
if [ ! -e "${file}" ]; then
echo "File not found"
exit 1
fi
# Get current permissions in octal format (3 digits: owner, group, other)
perms=$(stat -c "%a" "${file}")
# Extract owner permissions (first digit)
owner_perm=$(echo "${perms}" | cut -c1)
# Convert to decimal for bit manipulation
owner_dec=$((owner_perm))
# Toggle bits for owner only
for char in $(echo "${mode}" | sed 's/./& /g'); do
case ${char} in
r) owner_dec=$((owner_dec ^ 4)) ;;
w) owner_dec=$((owner_dec ^ 2)) ;;
x) owner_dec=$((owner_dec ^ 1)) ;;
esac
done
# Keep group and other permissions unchanged
group_perm=$(echo "${perms}" | cut -c2)
other_perm=$(echo "${perms}" | cut -c3)
# Construct new permissions
new_perms="${owner_dec}${group_perm}${other_perm}"
chmod "${new_perms}" "${file}"