summaryrefslogtreecommitdiff
path: root/desktop-x11/.config/polybar/launch.sh
blob: 0704e2422d32e001f30395e489e8cb5ee4b4cec3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -x polybar >/dev/null; do sleep 1; done

host=$(hostname)

# My monitors:
# DP-2-2
# HDMI-2
# eDP-1
LAPTOP_BUILT_IN_MONITOR="eDP-1"

NETWORK_INTERFACES=`nmcli -t device | grep -v bridge`

ETHERNET_INTERFACES=`echo "$NETWORK_INTERFACES" | grep ":ethernet:"`
ETHERNET_COUNT=`echo "$ETHERNET_INTERFACES" | wc -l`
ETHER_IFACE=
if [[ "$ETHERNET_COUNT" == "1" ]]; then
  ETHER_IFACE=`echo "$ETHERNET_INTERFACES" | cut -d ':' -f1`
else
  ETHER_IFACE=`echo "$ETHERNET_INTERFACES" | grep ":connected" | cut -d ':' -f1`
fi

WIFI_INTERFACES=`echo "$NETWORK_INTERFACES" | grep ":wifi:"`
WIFI_COUNT=`echo "$WIFI_INTERFACES" | wc -l`
WIFI_IFACE=
if [[ "$WIFI_COUNT" == "1" ]]; then
  WIFI_IFACE=`echo "$WIFI_INTERFACES" | cut -d ':' -f1`
else
  WIFI_IFACE=`echo "$WIFI_INTERFACES" | grep ":connected" | cut -d ':' -f1`
fi

# Launch polybar
CONNECTED_MONITORS=`xrandr -q | grep -w connected | cut -d ' ' -f1`
MONITORS_COUNT=`echo "$CONNECTED_MONITORS" | wc -l`
if [[ "$MONITORS_COUNT" == "1" ]]; then
  PRIMARY_MONITOR="$CONNECTED_MONITORS" ETHER_IFACE="$ETHER_IFACE" WIFI_IFACE="$WIFI_IFACE" polybar primary-monitor &
else
  PRIMARY_MONITOR=`echo "$CONNECTED_MONITORS" | grep -v "$LAPTOP_BUILT_IN_MONITOR" | head -n1` ETHER_IFACE="$ETHER_IFACE" WIFI_IFACE="$WIFI_IFACE" polybar primary-monitor &
  SECONDARY_MONITOR="$LAPTOP_BUILT_IN_MONITOR" polybar secondary-monitor &
fi