From 36a274dbc066068ff25b839e21ce3b82ec292c88 Mon Sep 17 00:00:00 2001 From: Mohammad Reza Karimi Date: Mon, 23 Feb 2026 15:03:10 -0500 Subject: big updates --- lf/dot-config/lf/lfrc | 12 +++++----- lf/dot-config/lf/previewer | 13 ----------- lf/dot-config/lf/scripts/previewer | 13 +++++++++++ lf/dot-config/lf/scripts/safe_extract | 25 +++++++++++++++++++++ .../lf/scripts/seccomp_default_filter.bpf | Bin 0 -> 504 bytes lf/dot-config/lf/shortcutrc | 4 ---- 6 files changed, 44 insertions(+), 23 deletions(-) delete mode 100755 lf/dot-config/lf/previewer create mode 100755 lf/dot-config/lf/scripts/previewer create mode 100755 lf/dot-config/lf/scripts/safe_extract create mode 100644 lf/dot-config/lf/scripts/seccomp_default_filter.bpf delete mode 100644 lf/dot-config/lf/shortcutrc (limited to 'lf/dot-config') diff --git a/lf/dot-config/lf/lfrc b/lf/dot-config/lf/lfrc index ee30df9..137c3ce 100644 --- a/lf/dot-config/lf/lfrc +++ b/lf/dot-config/lf/lfrc @@ -8,17 +8,17 @@ set icons set scrolloff 10 set period 1 # set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml" -set previewer "~/.config/lf/previewer" +set previewer "~/.config/lf/scripts/previewer" cmd open ${{ case $(file --mime-type "$(readlink -f "$f")" -b) in text/* | application/json | inode/x-empty | application/x-subrip) $EDITOR "$fx" ;; - image/*) setsid -f runapp -o -- imv -d $(rotdir "$f" | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$") 2>/dev/null | while read -r file; do + image/*) setsid -f imv -d $(rotdir "$f" | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$") 2>/dev/null | while read -r file; do [ -z "$file" ] && continue lf -remote "send select \"$file\"" done & ;; - audio/* | video/x-ms-asf) setsid -f runapp -o -- mpv --audio-display=no "$f" ;; - video/*) setsid -f runapp -o -- mpv "$f" -quiet >/dev/null 2>&1 ;; + audio/* | video/x-ms-asf) setsid -f mpv --audio-display=no "$f" ;; + video/*) setsid -f mpv "$f" -quiet >/dev/null 2>&1 ;; application/pgp-encrypted) $EDITOR "$fx" ;; *) for f in $fx; do setsid -f xdg-open "$f" >/dev/null 2>&1; done ;; esac @@ -32,7 +32,7 @@ cmd extract ${{ while IFS= read -r filename; do filelist+=" $(basename "$filename")" done <<< "$fx" - if safe_extract "$fx"; then + if ~/.config/lf/scripts/safe_extract "$fx"; then lf -remote "send $id echomsg \"Extracted"$filelist" with ouch.\"" else lf -remote "send $id echoerr \"Cannot extract"$filelist" with ouch.\"" @@ -58,7 +58,7 @@ cmd fzf_jump ${{ }} cmd dragon ${{ - IFS="$(printf '\n\t')"; setsid -f runapp -o -- dragon-drop $fx + IFS="$(printf '\n\t')"; setsid -f dragon-drop $fx }} cmd git_branch ${{ diff --git a/lf/dot-config/lf/previewer b/lf/dot-config/lf/previewer deleted file mode 100755 index 1ce24f3..0000000 --- a/lf/dot-config/lf/previewer +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Arguments sent to this script: -# (1) current filename, (2) width, (3) height, (4) horizontal position, -# (5) vertical position, and (6) mode ("preview" or "preload") - -case "$(file --dereference --brief --mime-type -- "$1")" in - application/*zip) ouch list "$1";; - */pdf) pdftotext "$1" -;; - text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1";; -esac - -exit 1 diff --git a/lf/dot-config/lf/scripts/previewer b/lf/dot-config/lf/scripts/previewer new file mode 100755 index 0000000..1ce24f3 --- /dev/null +++ b/lf/dot-config/lf/scripts/previewer @@ -0,0 +1,13 @@ +#!/bin/sh + +# Arguments sent to this script: +# (1) current filename, (2) width, (3) height, (4) horizontal position, +# (5) vertical position, and (6) mode ("preview" or "preload") + +case "$(file --dereference --brief --mime-type -- "$1")" in + application/*zip) ouch list "$1";; + */pdf) pdftotext "$1" -;; + text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1";; +esac + +exit 1 diff --git a/lf/dot-config/lf/scripts/safe_extract b/lf/dot-config/lf/scripts/safe_extract new file mode 100755 index 0000000..619690a --- /dev/null +++ b/lf/dot-config/lf/scripts/safe_extract @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +( + exec bwrap \ + --ro-bind /usr/bin /usr/bin/ \ + --ro-bind /usr/share /usr/share \ + --ro-bind /usr/lib /usr/lib \ + --ro-bind /usr/lib64 /usr/lib64 \ + --symlink /usr/lib64 /lib64 \ + --symlink /usr/lib /lib \ + --symlink /usr/bin /bin \ + --symlink /usr/bin /sbin \ + --proc /proc \ + --dev /dev \ + --bind "$PWD" "$PWD" \ + --unshare-all \ + --new-session \ + --seccomp 10 \ + 10< "$SCRIPT_DIR"/seccomp_default_filter.bpf \ + /usr/bin/ouch decompress "$@" +) diff --git a/lf/dot-config/lf/scripts/seccomp_default_filter.bpf b/lf/dot-config/lf/scripts/seccomp_default_filter.bpf new file mode 100644 index 0000000..8b23eca Binary files /dev/null and b/lf/dot-config/lf/scripts/seccomp_default_filter.bpf differ diff --git a/lf/dot-config/lf/shortcutrc b/lf/dot-config/lf/shortcutrc deleted file mode 100644 index 09f9ae1..0000000 --- a/lf/dot-config/lf/shortcutrc +++ /dev/null @@ -1,4 +0,0 @@ -map Cmit cd "/home/moreka/mit/18.650-spring-26/" -map Clinatt cd "/home/moreka/mit/linear-attention/" -map Ecala $$EDITOR "/home/moreka/.config/alacritty/alacritty.toml" -map Ecnir $$EDITOR "/home/moreka/.config/niri/config.kdl" -- cgit v1.2.3-71-gdd5e