diff options
Diffstat (limited to '.local/bin')
-rwxr-xr-x | .local/bin/fzy-bookmark | 7 | ||||
-rwxr-xr-x | .local/bin/fzy-tmux-project | 15 | ||||
-rwxr-xr-x | .local/bin/notify-battery | 8 | ||||
-rwxr-xr-x | .local/bin/notify-loadavg | 6 | ||||
-rwxr-xr-x | .local/bin/notify-volume | 16 | ||||
-rwxr-xr-x | .local/bin/screenshot | 36 | ||||
-rwxr-xr-x | .local/bin/start-sway | 10 |
7 files changed, 98 insertions, 0 deletions
diff --git a/.local/bin/fzy-bookmark b/.local/bin/fzy-bookmark new file mode 100755 index 0000000..ea02b8a --- /dev/null +++ b/.local/bin/fzy-bookmark @@ -0,0 +1,7 @@ +#!/bin/sh + +set -eu + +CONFIG_PATH="$XDG_CONFIG_HOME/fzy-bookmark" + +exec cat "$CONFIG_PATH" | sed -e "s|~|$HOME|g" | fzy | xargs -r nvim diff --git a/.local/bin/fzy-tmux-project b/.local/bin/fzy-tmux-project new file mode 100755 index 0000000..b4cd23e --- /dev/null +++ b/.local/bin/fzy-tmux-project @@ -0,0 +1,15 @@ +#!/bin/sh + +set -eu + +CONFIG_PATH="$XDG_CONFIG_HOME/fzy-tmux-project" + +search_dirs=$(cat "$CONFIG_PATH" | sed "s|~|$HOME|g") +dir=$(find "$search_dirs" -mindepth 1 -maxdepth 1 -type d | fzy) || exit 0 +[ ! -d "$dir" ] && exit 1 +name=$(basename "$dir" | tr . _) + +[ -z "$TMUX" ] && ! pgrep tmux >/dev/null && exec tmux new -s "$name" -c "$dir" + +! tmux has -t "$name" 2>/dev/null && tmux new -ds "$name" -c "$dir" +tmux switchc -t "$name" diff --git a/.local/bin/notify-battery b/.local/bin/notify-battery new file mode 100755 index 0000000..f50e356 --- /dev/null +++ b/.local/bin/notify-battery @@ -0,0 +1,8 @@ +#!/bin/sh + +set -eu + +for bat in /sys/class/power_supply/BAT*; do + read -r capacity <"$bat"/capacity + notify-send -c osd -h int:value:"$capacity" -h string:x-dunst-stack-tag:"$0_$bat" "Battery (${bat##*/})" "$capacity%" +done diff --git a/.local/bin/notify-loadavg b/.local/bin/notify-loadavg new file mode 100755 index 0000000..7d0129f --- /dev/null +++ b/.local/bin/notify-loadavg @@ -0,0 +1,6 @@ +#!/bin/sh + +set -eu + +read -r load1 load5 load15 _ </proc/loadavg +notify-send -c osd "Load Average" -h string:x-dunst-stack-tag:"$0" "$load1 $load5 $load15" diff --git a/.local/bin/notify-volume b/.local/bin/notify-volume new file mode 100755 index 0000000..4c9b753 --- /dev/null +++ b/.local/bin/notify-volume @@ -0,0 +1,16 @@ +#!/bin/sh + +set -eu + +AUDIO_SINK="@DEFAULT_AUDIO_SINK@" + +volume=$(wpctl get-volume "$AUDIO_SINK") +case "$volume" in *MUTED*) muted=1; volume=${volume% \[MUTED\]} ;; *) muted=0 ;; esac +volume=${volume#Volume: } +volume=${volume%.*}${volume#*.} +volume=${volume#0} +volume=${volume#0} +display="$volume%" +[ "$muted" -eq 1 ] && display="$display (Muted)" + +notify-send -c osd -h int:value:"$volume" -h string:x-dunst-stack-tag:"$0_$AUDIO_SINK" "Volume" "$display" diff --git a/.local/bin/screenshot b/.local/bin/screenshot new file mode 100755 index 0000000..419e70f --- /dev/null +++ b/.local/bin/screenshot @@ -0,0 +1,36 @@ +#!/bin/sh + +set -eu + +[ -f "$XDG_CONFIG_HOME/user-dirs.dirs" ] && + . "$XDG_CONFIG_HOME/user-dirs.dirs" + +OUTPUT_PATH="${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}/$(date +'%Y%m%d_%H%M%S').png" + +SELECT=0 +GEOM= + +while [ "$#" -ne 0 ]; do case "$1" in + -s | --select) SELECT=1; shift ;; + *) exit 1 ;; +esac; done + +if [ "$SELECT" -eq 1 ]; then + GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp -o) + [ -z "$GEOM" ] && exit 1 +fi + +set -- grim +[ -n "$GEOM" ] && set -- "$@" -g "$GEOM" +set -- "$@" "$OUTPUT_PATH" + +makoctl mode -a dnd >/dev/null +"$@" +makoctl mode -r dnd >/dev/null +wl-copy -t image/png <"$OUTPUT_PATH" + +case "$(notify-send \ + -A upload="Upload to image host" \ + "screenshot" "Screenshot taken and saved to <b>${OUTPUT_PATH##*/}</b>.")" in +*) ;; +esac diff --git a/.local/bin/start-sway b/.local/bin/start-sway new file mode 100755 index 0000000..31bedd8 --- /dev/null +++ b/.local/bin/start-sway @@ -0,0 +1,10 @@ +#!/bin/sh + +export TERMINAL="footclient" +export BROWSER="firefox" + +export XDG_SESSION_TYPE="wayland" +export XDG_CURRENT_DESKTOP="sway" + +[ ! -d "$XDG_STATE_HOME/sway" ] && mkdir -p "$XDG_STATE_HOME/sway" +exec sway >"$XDG_STATE_HOME/sway/sway.$(date +'%F_%H-%M-%S').log" 2>&1 |