68 lines
1.5 KiB
Bash
68 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
calc() {
|
|
tp="$*"
|
|
python -c "print(${tp})"
|
|
}
|
|
export -f calc
|
|
|
|
stopbar() {
|
|
# TODO: get the proper monitor!
|
|
BAR_MONITOR="$(polybar --list-monitors | tail -n 1 | sed -n 's/^\s*\(.*\):.*$/\1/p')"
|
|
bspc config -m "${BAR_MONITOR}" bottom_padding "0"
|
|
bspc config -m "${BAR_MONITOR}" top_padding "0"
|
|
killall -q polybar
|
|
while pgrep -x polybar >/dev/null; do sleep 1; done
|
|
}
|
|
export -f stopbar
|
|
|
|
# wm aliases
|
|
startbar() {
|
|
bash "${DOTFILES_PATH}/de/bar/bar.bash" &
|
|
bg
|
|
disown
|
|
}
|
|
export -f startbar
|
|
|
|
# save the current directory for later retrieval
|
|
scwd() {
|
|
addon=""
|
|
if [[ -n $1 ]]; then
|
|
addon="-${1}"
|
|
fi
|
|
echo "${PWD}" > "${DOTFILES_PATH}/.cwd${addon}.tmp"
|
|
}
|
|
export -f scwd
|
|
# bind '"\C-s"':"\"scwd\C-m\""
|
|
|
|
# go to the saved current directory
|
|
gcwd() {
|
|
addon=""
|
|
if [[ -n $1 ]]; then
|
|
addon="-${1}"
|
|
fi
|
|
cd "$(cat "${DOTFILES_PATH}/.cwd${addon}.tmp")" || return
|
|
}
|
|
export -f gcwd
|
|
# bind '"\C-g"':"\"gcwd\C-m\""
|
|
|
|
fsw() {
|
|
SHELL_COMMAND="${1}"
|
|
shift
|
|
inotifywait -q -m -e close_write "${@}" | while read -r _ _; do
|
|
eval "${SHELL_COMMAND}"
|
|
done
|
|
}
|
|
export -f fsw
|
|
|
|
# tmux session switcher with fzf from https://github.com/junegunn/fzf/issues/997
|
|
tmuxswitcher() {
|
|
local -r fmt='#{session_id}:|#S|(#{session_attached} attached)'
|
|
{ tmux display-message -p -F "$fmt" && tmux list-sessions -F "$fmt"; } \
|
|
| awk '!seen[$1]++' \
|
|
| column -t -s'|' \
|
|
| fzf -q '$' --reverse --prompt 'switch session: ' -1 \
|
|
| cut -d':' -f1 \
|
|
| xargs tmux switch-client -t
|
|
}
|
|
export -f tmuxswitcher
|