From a479092a592bc1f97f849410593f8a06a8688cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaroslav=20de=20la=20Pe=C3=B1a=20Smirnov?= Date: Fri, 17 Sep 2021 23:59:38 +0300 Subject: Some changes/improvements * New menuman mode to search with apropos * Dragon drag-and-drop marked images in sxiv * Other changes. --- dotfiles/.config/sway/config | 1 + dotfiles/.config/sxiv/exec/key-handler | 76 +++++++++++++++++++--------------- dotfiles/.config/vimb/config | 2 - dotfiles/.config/zsh/shortcuts | 5 +++ dotfiles/.local/bin/menuman | 60 ++++++++++++++++++++++++--- 5 files changed, 102 insertions(+), 42 deletions(-) (limited to 'dotfiles') diff --git a/dotfiles/.config/sway/config b/dotfiles/.config/sway/config index 8127c5f..dc8eec2 100644 --- a/dotfiles/.config/sway/config +++ b/dotfiles/.config/sway/config @@ -170,6 +170,7 @@ bindsym --to-code { $mod+Shift+w exec menuwebsurf $mod+Ctrl+w exec menuwebsurf paste $mod+F1 exec menuman + $mod+Shift+F1 exec menuman -s $mod+F2 exec menumako $mod+F3 exec menudisplay $mod+F4 exec menublk diff --git a/dotfiles/.config/sxiv/exec/key-handler b/dotfiles/.config/sxiv/exec/key-handler index 17abf60..f20a143 100755 --- a/dotfiles/.config/sxiv/exec/key-handler +++ b/dotfiles/.config/sxiv/exec/key-handler @@ -9,39 +9,47 @@ rotate() { esac } +if [ "$1" = "t" ]; then + while read file; do + files="$(printf "%s\n%s" "$files" "$file")" + done + dragon-drag-and-drop -a $files + exit 0 +fi + while read file; do - case "$1" in - "C-a" | "C-1") - setbg "$file" - exit ;; - "C-2") - setbg "$file" "2" - exit ;; - "C-s") - setbglblur "$file" - exit ;; - "C-d") - setbglsimple "$file" - exit ;; - "C-c") - wl-copy < "$file" - exit ;; - "C-f") - wl-copy "$file" - exit ;; - "C-r") - # Move file to 'trash' directory, if the current directory's name is - # JPEG, remove the NEF file as well - dir="$(dirname "$file")" - name="$(basename "$file")" - base="${name%.*}" - mv "$file" ~/.local/trash/ - if [ "JPEG" = "$(basename $dir)" ]; then - mv $(dirname "$dir")/"$base".NEF ~/.local/trash/ - fi - exit ;; - "C-comma") rotate 270 $file ;; - "C-period") rotate 90 $file ;; - "C-slash") rotate 180 $file ;; - esac + case "$1" in + "C-a" | "C-1") + setbg "$file" + exit ;; + "C-2") + setbg "$file" "2" + exit ;; + "C-s") + setbglblur "$file" + exit ;; + "C-d") + setbglsimple "$file" + exit ;; + "C-c") + wl-copy < "$file" + exit ;; + "C-f") + wl-copy "$file" + exit ;; + "C-r") + # Move file to 'trash' directory, if the current directory's name is + # JPEG, remove the NEF file as well + dir="$(dirname "$file")" + name="$(basename "$file")" + base="${name%.*}" + mv "$file" ~/.local/trash/ + if [ "JPEG" = "$(basename $dir)" ]; then + mv $(dirname "$dir")/"$base".NEF ~/.local/trash/ + fi + exit ;; + "C-comma") rotate 270 $file ;; + "C-period") rotate 90 $file ;; + "C-slash") rotate 180 $file ;; + esac done diff --git a/dotfiles/.config/vimb/config b/dotfiles/.config/vimb/config index 1bdce52..29f07e2 100644 --- a/dotfiles/.config/vimb/config +++ b/dotfiles/.config/vimb/config @@ -35,8 +35,6 @@ set x-hint-command=:sh! xdg-open ; set geolocation=never -set prevent-newwindow=true - set cookie-accept=origin # GUI color settings diff --git a/dotfiles/.config/zsh/shortcuts b/dotfiles/.config/zsh/shortcuts index 9ec350c..e203a26 100644 --- a/dotfiles/.config/zsh/shortcuts +++ b/dotfiles/.config/zsh/shortcuts @@ -68,6 +68,11 @@ alias yta="youtube-dl --add-metadata -xic" # Download only audio alias YT="youtube-viewer" alias starwars="telnet towel.blinkenlights.nl" +# git +gitcc () { + git clone "$(wl-paste --no-newline)" +} + # Audio and Music alias mute="lmc mute" alias vu="lmc up" diff --git a/dotfiles/.local/bin/menuman b/dotfiles/.local/bin/menuman index acad4c4..30a5424 100755 --- a/dotfiles/.local/bin/menuman +++ b/dotfiles/.local/bin/menuman @@ -1,19 +1,67 @@ #!/bin/sh # Search and open man page +# Options: +# -t use in terminal with fzf otherwise launch bemenu. +# -s search with apropos. -list="$(man -k . | awk '{ print $1$2 }')" +# Source settings from .bemenurc +. ~/.config/bemenurc -if [ "$1" = "-t" ]; then - chosen=$(printf "$list" | fzf) +issearch= +isterminal= + +printusage() { + echo "Options:" >2 + echo " -t use in terminal with fzf otherwise launch bemenu." >2 + echo " -s search with apropos." >2 +} + +while getopts "st" curopt "$@"; do + case "$curopt" in + "s") + issearch=1 + continue;; + "t") + isterminal=1 + continue;; + "?") + printusage + exit 1;; + esac +done + +if [ ! -z "$issearch" ]; then + if [ ! -z "$isterminal" ]; then + printf "Enter query:\t" + read query + else + query="$(echo "" | bemenu -p "Enter apropos query:" -i --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB" --monitor="$BEMENU_MONITOR")" + fi + if [ -z "$query" ]; then + echo "Empty query" >2 + exit 1 + fi + list="$(apropos "$query")" else - # Source settings from .bemenurc - . ~/.config/bemenurc + list="$(man -k . | awk '{ print $1$2 }')" +fi - chosen=$(printf "$list" | bemenu -p "Select man page:" -i -l 25 --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB" --monitor="$BEMENU_MONITOR") +if [ ! -z "$isterminal" ]; then + chosen=$(printf "$list" | fzf) +else + chosen=$(printf "$list" | bemenu -p "Select man page:" -i -l 25 --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB" --monitor="$BEMENU_MONITOR") fi if [ -z "$chosen" ]; then exit 0 fi +if [ ! -z "$issearch" ]; then + chosen="$(printf "$chosen" | sed "s/\(.* ([a-zA-Z0-9]*)\)\s*-.*/\1/")" +fi + +if [ ! -z "$isterminal" ]; then + man "$chosen" && exit +fi + $TERMINAL -T "man $chosen" man $chosen -- cgit v1.2.3