summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/fzy-bookmark14
-rw-r--r--.config/fzy-tmux-project1
-rwxr-xr-x.local/bin/fzy-bookmark7
-rwxr-xr-x.local/bin/fzy-tmux-project15
-rwxr-xr-x.local/bin/notify-battery8
-rwxr-xr-x.local/bin/notify-loadavg6
-rwxr-xr-x.local/bin/notify-volume16
-rwxr-xr-x.local/bin/screenshot36
-rwxr-xr-x.local/bin/start-sway10
9 files changed, 113 insertions, 0 deletions
diff --git a/.config/fzy-bookmark b/.config/fzy-bookmark
new file mode 100644
index 0000000..91b1477
--- /dev/null
+++ b/.config/fzy-bookmark
@@ -0,0 +1,14 @@
+~/.bashrc
+~/.bash_profile
+~/.config/nvim/init.vim
+~/.config/tmux/tmux.conf
+~/.config/sway/config
+~/.config/lf/lfrc
+~/.config/foot/foot.ini
+~/.config/fuzzel/fuzzel.ini
+~/.config/mako/config
+~/.config/user-dirs.dirs
+~/.config/ncmpcpp/config
+~/.config/ncmpcpp/bindings
+~/.config/mpd/mpd.conf
+~/.config/git/config
diff --git a/.config/fzy-tmux-project b/.config/fzy-tmux-project
new file mode 100644
index 0000000..8ce383e
--- /dev/null
+++ b/.config/fzy-tmux-project
@@ -0,0 +1 @@
+~/repos
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