#! /usr/bin/env bash # # Simple wmstartup service # Copyright (C) 2018 salt # # Distributed under terms of the MIT license. # service_name="Polybar" service_process="polybar" function start() { # Set some variables, if necessary if [[ "$PB_BAR_BORDER_SIZE" == "" ]] && pgrep bspwm > /dev/null 2>&1; then if ! [[ "$BSPWM_WINDOW_GAP" == "" ]]; then svc_log "Inferring bar size from BSPWM_WINDOW_GAP" export PB_BAR_BORDER_SIZE="$BSPWM_WINDOW_GAP" fi fi # Spawn bars on the primary monitor export PB_MONITOR=$(xrandr -q | awk '/primary/{print $1}') svc_log "Starting primary on monitor $PB_MONITOR" polybar -r primary& > /dev/null 2>&1 polybar -r primary-2& > /dev/null 2>&1 # Spawn more for each secondary export secondary_monitors=$(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}') if [[ "$secondary_monitors" == "" ]]; then return 0 fi for monitor in $secondary_monitors; do svc_log "Starting secondary on monitor $monitor" PB_MONITOR=$monitor polybar -r secondary& > /dev/null 2>&1 polybar -r secondary-2& > /dev/null 2>&1 done return 0 }