#!/bin/bash BAR_CFG=$XDG_CONFIG_HOME/polybar/config.ini BOTTOM="bottom = true" TOP="bottom = false" main () { if [ ! -n "$1" ]; then toggle fi while [ -n "$1" ]; do # while loop starts case "$1" in -b) bottom; break ;; -t) top; break ;; -h|--help) help ; break ;; *) usage; echo "error: unrecognized arguments: $1" ; exit 1 ;; esac shift done } usage () { echo "usage: barpos [options]" } help () { usage echo echo "Toggles status bar position, or sets it as specified" echo echo "options:" echo " -h, --help show this help message and exit" echo " -b bottom" echo " -t top" } toggle () { if grep -Eq "^$BOTTOM$" $BAR_CFG; then top else bottom fi } bottom () { sed -ir "s|^bottom = .*$|bottom = true|" $BAR_CFG } top () { sed -ir "s|^bottom = .*$|bottom = false|" $BAR_CFG } main "$@"