buku-fzf function, dmenu with history
This commit is contained in:
46
dot_config/fish/completions/buku.fish
Normal file
46
dot_config/fish/completions/buku.fish
Normal file
@@ -0,0 +1,46 @@
|
||||
#
|
||||
# Fish completion definition for Buku.
|
||||
#
|
||||
# Author:
|
||||
# Arun Prakash Jana <engineerarun@gmail.com>
|
||||
#
|
||||
complete -c buku -s a -l add -r --description 'add bookmark'
|
||||
complete -c buku -l ai --description 'auto-import bookmarks'
|
||||
complete -c buku -s c -l comment --description 'comment on bookmark'
|
||||
complete -c buku -l cached -r --description 'visit Wayback Machine cached version'
|
||||
complete -c buku -l colors -r --description 'set output colors in 5-letter string'
|
||||
complete -c buku -s d -l delete --description 'delete bookmark'
|
||||
complete -c buku -l deep --description 'search matching substrings'
|
||||
complete -c buku -s e -l export -r --description 'export bookmarks'
|
||||
complete -c buku -l expand -r --description 'expand a tny.im shortened URL'
|
||||
complete -c buku -s f -l format -r --description 'limit fields in print and JSON output'
|
||||
complete -c buku -s h -l help --description 'show help'
|
||||
complete -c buku -s i -l import -r --description 'import bookmarks'
|
||||
complete -c buku -l immutable -r --description 'disable title update from web'
|
||||
complete -c buku -s j -l json --description 'show JSON output for print and search'
|
||||
complete -c buku -s k -l unlock --description 'decrypt database'
|
||||
complete -c buku -s l -l lock --description 'encrypt database'
|
||||
complete -c buku -s n -l count -r --description 'results per page'
|
||||
complete -c buku -l nc --description 'disable color output'
|
||||
complete -c buku -l np --description 'non-interactive mode'
|
||||
complete -c buku -s o -l open --description 'open bookmarks in browser'
|
||||
complete -c buku -l oa --description 'browse all search results immediately'
|
||||
complete -c buku -s p -l print --description 'show bookmark details'
|
||||
complete -c buku -s r -l sreg -r --description 'match a regular expression'
|
||||
complete -c buku -l replace -r --description 'replace a tag'
|
||||
complete -c buku -s s -l sany -r --description 'match any keyword'
|
||||
complete -c buku -s S -l sall -r --description 'match all keywords'
|
||||
complete -c buku -l shorten -r --description 'shorten a URL using tny.im'
|
||||
complete -c buku -l suggest --description 'show a list of similar tags'
|
||||
complete -c buku -s t -l stag --description 'search by tag or show tags'
|
||||
complete -c buku -l tacit --description 'reduce verbosity'
|
||||
complete -c buku -l tag --description 'set tags, use + to append, - to remove'
|
||||
complete -c buku -l threads -r --description 'max connections for full refresh'
|
||||
complete -c buku -l title --description 'set custom title'
|
||||
complete -c buku -s u -l update --description 'update bookmark'
|
||||
complete -c buku -l url -r --description 'set url'
|
||||
complete -c buku -s V --description 'check latest upstream release'
|
||||
complete -c buku -s v -l version --description 'show program version'
|
||||
complete -c buku -s w -l write --description 'open editor'
|
||||
complete -c buku -s x -l exclude -r --description 'exclude keywords'
|
||||
complete -c buku -s z -l debug --description 'enable debugging mode'
|
||||
@@ -77,15 +77,19 @@ end
|
||||
abbr ab "abbr"
|
||||
abbr abe "abbr -e"
|
||||
# abbr rfc "chezmoi apply && source ~/.config/fish/config.fish"
|
||||
abbr xf "fish_config"
|
||||
abbr f. "cd .."
|
||||
abbr f.. "cd ../.."
|
||||
abbr hsm "history merge"
|
||||
abbr xf "fish_config"
|
||||
|
||||
# ]]] fish-specific #
|
||||
|
||||
# fxn abbr's [[[ #
|
||||
|
||||
abbr ! "sudo !!"
|
||||
abbr ag "grep-aliases"
|
||||
abbr bf "buku-fzf"
|
||||
abbr bff "buku-fzf fq"
|
||||
abbr bq "benq-brightness"
|
||||
abbr cpc "copy cat"
|
||||
abbr cpe "copy echo"
|
||||
|
||||
12
dot_config/fish/functions/buku-fzf.fish
Normal file
12
dot_config/fish/functions/buku-fzf.fish
Normal file
@@ -0,0 +1,12 @@
|
||||
function buku-fzf
|
||||
# buku -p -f 5 | awk -F '\t' 'BEGIN { OFS=FS }; { $2=substr($2, 1, 90); print }' | column -t -s (printf '\t') | fzf --multi | awk '{ print $1 }'
|
||||
if test $argv[1] = "fq"
|
||||
set ids (buku -t fq -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 50); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
|
||||
else
|
||||
set ids (buku -p -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 45); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
|
||||
end
|
||||
|
||||
for id in $ids
|
||||
buku -o $id
|
||||
end
|
||||
end
|
||||
7
dot_config/fish/functions/sudo.fish
Normal file
7
dot_config/fish/functions/sudo.fish
Normal file
@@ -0,0 +1,7 @@
|
||||
function sudo
|
||||
if test "$argv" = !!
|
||||
eval command sudo $history[1]
|
||||
else
|
||||
command sudo $argv
|
||||
end
|
||||
end
|
||||
@@ -33,7 +33,8 @@ bindsym Control+Shift+Return exec st -A1
|
||||
bindsym Control+$mod+Return exec $term_alt
|
||||
# bindsym Control+$mod+Return exec st
|
||||
# PROTIP: You can also dynamically set dmenu's colors this way:
|
||||
bindsym Mod4+Return exec dmenu_run -nb "$fg" -nf "$bg" -sb "$bg" -sf "$fg"
|
||||
bindsym Mod4+Return exec /home/kevin/scripts/dmenu-history -nb "$fg" -nf "$bg" -sb "$bg" -sf "$fg"
|
||||
# bindsym Mod4+Return exec dmenu_run -nb "$fg" -nf "$bg" -sb "$bg" -sf "$fg"
|
||||
# bindsym Mod4+Return exec dmenu_run
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
@@ -255,7 +256,7 @@ set $make_st_script "/home/kevin/st/make-st.sh"
|
||||
|
||||
bindsym Control+$mod+q exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/editing") && $make_st_script
|
||||
bindsym Control+$mod+w exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") && $make_st_script
|
||||
bindsym Control+r exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/editing") && $make_st_script
|
||||
bindsym $mod+r exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/editing") && $make_st_script
|
||||
bindsym Control+$mod+y exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/non-editing") && $make_st_script
|
||||
{{ if eq .chezmoi.fullHostname "x1-carbon" }}
|
||||
bindsym Control+$mod+z exec feh --bg-fill ~/Pictures/Backgrounds/dim/black.jpg
|
||||
@@ -295,8 +296,8 @@ workspace $ws5 output $secondary
|
||||
assign [class="Steam"] $ws5
|
||||
bindsym $mod+F5 workspace $ws5; exec $browser
|
||||
# bindsym Mod4+g workspace $ws5; layout stacking; exec urxvt -e steam
|
||||
# bindsym Mod4+g workspace $ws5; layout tabbed; exec gimp
|
||||
bindsym Mod4+g workspace $ws5; exec mgba-qt
|
||||
bindsym Mod4+g workspace $ws5; layout tabbed; exec gimp
|
||||
# bindsym Mod4+g workspace $ws5; exec mgba-qt
|
||||
bindsym Mod4+i workspace $ws5; exec idea
|
||||
bindsym Mod4+m workspace $ws5; layout tabbed; exec urxvt -e ~/.minetest/minetest/bin/minetest
|
||||
bindsym Mod4+t workspace $ws5; exec thunderbird
|
||||
@@ -312,7 +313,8 @@ for_window [class="ada-mario"] move absolute position 640 0
|
||||
set $ws6 "6 "
|
||||
workspace $ws6 output $secondary
|
||||
assign [class="Slack"] $ws6
|
||||
bindsym Mod4+d workspace $ws6; exec discord
|
||||
# bindsym Mod4+d workspace $ws6; exec discord
|
||||
bindsym Mod4+d workspace $ws6; exec riot-desktop
|
||||
# bindsym Mod4+i workspace $ws6; exec firefox -new-window https://riot.im/app/#/home
|
||||
bindsym Mod4+k workspace $ws6; exec slack
|
||||
|
||||
@@ -526,13 +528,17 @@ bindsym Control+d exec ~/linux-config/scripts/change-sink dac
|
||||
bindsym Control+o exec ~/linux-config/scripts/change-sink line-out
|
||||
|
||||
# media
|
||||
# fn key [[[ #
|
||||
|
||||
bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
|
||||
bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks
|
||||
bindsym XF86AudioPlay exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
|
||||
bindsym XF86AudioStop exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"
|
||||
# bindsym XF86AudioStop exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"
|
||||
bindsym XF86AudioPrev exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous"
|
||||
bindsym XF86AudioNext exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next"
|
||||
|
||||
# ]]] fn key #
|
||||
|
||||
# ]]] media keys #
|
||||
|
||||
# vim: fdm=marker ft=i3.go-template
|
||||
|
||||
Reference in New Issue
Block a user