add yazi keymap
This commit is contained in:
parent
2afb9dc04e
commit
ac14c91477
@ -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
|
||||||
|
|||||||
@ -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
42
home/user/.local/bin/flipbit
Executable 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}"
|
||||||
Loading…
x
Reference in New Issue
Block a user