adding polybar setup

This commit is contained in:
2023-03-09 10:21:15 +01:00
parent c2ae3d5fa0
commit 6f35662f0c
15 changed files with 427 additions and 30 deletions

35
config/autorandr/postswitch Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash -x
move_workspace() {
workspace="$1"
output="$2"
i3-msg "[workspace=\"$workspace\"]" move workspace to output "$output"
}
export -f move_workspace
# get primary
primary=$(xrandr | awk '/ primary / {print $1}')
declare -a movers=(
"1: "
"2: "
"3: "
"4: "
"5: "
"6: "
"7: "
"8: "
"9: "
"10: "
# "11:  "
"12: "
"13: "
)
for workspace in "${movers[@]}"; do
move_workspace "$workspace" "$primary" &
done
# restart i3.
i3-msg restart

View File

@@ -1,7 +1,7 @@
[Settings]
gtk-theme-name=Adwaita-dark
gtk-icon-theme-name=Adwaita
gtk-font-name=Cantarell 11
gtk-icon-theme-name="Papirus-Dark"
gtk-font-name="Ubuntu 12"
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH

26
config/polybar/config.ini Normal file
View File

@@ -0,0 +1,26 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[settings]
screenchange-reload = true
pseudo-transparency = true
; theme
include-file = ~/.config/polybar/themes/main/modules.ini
include-file = ~/.config/polybar/themes/main/colors.ini
include-file = ~/.config/polybar/themes/main/bars.ini

25
config/polybar/launch.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
killall -q polybar
# Launch Polybar, using default config location ~/.config/polybar/config.ini
PRIMARY=$(xrandr --query | grep -i "connected primary" | cut -d" " -f1)
export MONITOR=$PRIMARY
polybar -r 2>&1 | tee -a /tmp/polybar.log &
# show-bar on all monitors
# idk whether I like this at the moment, I don't really use external displays unless they are the primary or they are duplicated
# if type "xrandr"; then
# PRIMARY=$(xrandr --query | grep -i "connected primary" | cut -d" " -f1)
# for m in $(xrandr --query | grep -i " connected" | cut -d" " -f1); do
# export TRAY_POSITION=none
# if [[ $m == "$PRIMARY" ]]; then
# TRAY_POSITION=right
# fi
# export MONITOR=$m
# polybar -r 2>&1 | tee -a /tmp/polybar.log &
# done
# else
# polybar -r 2>&1 | tee -a /tmp/polybar.log &
# fi
disown
echo "Polybar launched..."

View File

@@ -0,0 +1,59 @@
#!/bin/sh
status() {
MUTED=$(pacmd list-sources | awk '/\*/,EOF {print}' | awk '/muted/ {print $2; exit}')
if [ "$MUTED" = "yes" ]; then
echo "🙊 muted"
else
OUTPUT=$(pacmd list-sources | grep "\* index:" -A 7 | grep volume | awk -F/ '{print $2}' | awk -F, '{ print $1 }' | tr -d ' ')
echo "🎙️ $OUTPUT"
fi
}
listen() {
status
LANG=EN
pactl subscribe | while read -r event; do
if echo "$event" | grep -q "source" || echo "$event" | grep -q "server"; then
status
fi
done
}
toggle() {
MUTED=$(pacmd list-sources | awk '/\*/,EOF {print}' | awk '/muted/ {print $2; exit}')
DEFAULT_SOURCE=$(pacmd list-sources | awk '/\*/,EOF {print $3; exit}')
if [ "$MUTED" = "yes" ]; then
pactl set-source-mute "$DEFAULT_SOURCE" 0
else
pactl set-source-mute "$DEFAULT_SOURCE" 1
fi
}
increase() {
DEFAULT_SOURCE=$(pacmd list-sources | awk '/\*/,EOF {print $3; exit}')
pactl set-source-volume "$DEFAULT_SOURCE" +5%
}
decrease() {
DEFAULT_SOURCE=$(pacmd list-sources | awk '/\*/,EOF {print $3; exit}')
pactl set-source-volume "$DEFAULT_SOURCE" -5%
}
case "$1" in
--toggle)
toggle
;;
--increase)
increase
;;
--decrease)
decrease
;;
*)
listen
;;
esac

View File

@@ -0,0 +1,36 @@
[bar/main]
monitor = ${env:MONITOR:}
width = 100%
height = 18pt
radius = 0
padding-right = 0
padding-left = 0
module-margin = 1
separator = |
; colors
background = ${colors.background}
foreground = ${colors.foreground}
border-color = #00000000
separator-foreground = ${colors.disabled}
; modules
modules-left = xworkspaces i3
modules-center = tidal
modules-right = pulseaudio pulseaudio-microphone weather temperature updates ping battery date
; fonts (fc-list)
; offset = height - size / 2 (for vertical center, icons are weird and need to be even numbers)
font-0 = Ubuntu regular:style=regular:size=12;3
font-1 = FontAwesome:style=Regular;2
font-2 = Noto Color Emoji:style=Regular:scale=10;2
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = ${env:TRAY_POSITION:right}
wm-restack = i3
tray-reparent = true
; override-redirect = true

View File

@@ -0,0 +1,11 @@
[colors]
background = #1e1e1e
background-alt = #252526
foreground = #848484
primary = #f6f6f7
secondary = #f6f6f7
alert = #ef5350
disabled = #707880
accent = #fff
yellow = #ebc034
tidal = #00ffff

View File

@@ -0,0 +1,180 @@
[module/xworkspaces]
type = internal/xworkspaces
pin-workspaces = true
label-active = %name%
label-active-background = ${colors.background-alt}
; label-active-underline= ${colors.primary}
label-active-foreground= ${colors.accent}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = "🔊 "
; format-volume-prefix = " "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>
label-volume = %percentage%%
; label-muted = 🔇 muted
label-muted = 🙉 muted
label-muted-foreground = ${colors.disabled}
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[module/date]
type = internal/date
interval = 1
date = %Y-%m-%d %H:%M:%S
format-prefix = "📅 "
; format-prefix = " "
format-prefix-foreground = ${colors.primary}
label =%date%
[module/temperature]
type = internal/temperature
base-temperature = 40
warn-temperature = 80
# format-prefix = " "
# format-warn-prefix = " "
format-prefix = "🌡️"
format-warn-prefix = "🌡️"
format-prefix-foreground = ${colors.accent}
label = %temperature-c%
format-warn = <label>
format-warn-foreground = ${colors.alert}
[module/battery]
type = internal/battery
full-at = 98
time-format = %H:%M
format-charging = <animation-charging> <label-charging>
label-charging = %percentage%% (%time%)
format-discharging = <ramp-capacity> <label-discharging>
label-discharging = %percentage%% (%time%)
format-full = <label-full>
format-full-prefix = "⚡ "
; format-full-prefix = " "
format-full-prefix-foreground = #666
ramp-capacity-0 = ""
ramp-capacity-1 = ""
ramp-capacity-2 = ""
ramp-capacity-3 = ""
ramp-capacity-4 = ""
ramp-capacity-foreground = ${colors.accent}
animation-charging-0 = ""
animation-charging-1 = ""
animation-charging-2 = ""
animation-charging-3 = ""
animation-charging-4 = ""
animation-charging-foreground = ${colors.yellow}
animation-charging-framerate = 750
[module/xwindow]
type = internal/xwindow
format = <label>
label-maxlen = 75
[module/updates]
type = custom/script
interval = 300
exec = "checkupdates 2>/dev/null | wc -l"
format = "<label>"
format-prefix = "📥 "
; format-prefix = " "
format-prefix-foreground = ${colors.accent}
label = %output%
[module/ping]
type = custom/script
interval = 60
exec = "ping -c 3 8.8.8.8 2>/dev/null | tail -1 | awk '{print $4}' | cut -d '/' -f 2 | cut -f1 -d'.'"
format = "<label>"
format-prefix = "📡 "
; format-prefix = " "
format-prefix-foreground = ${colors.accent}
label = %output%
click-left = firefox https://speedtest.net
[module/weather]
type = custom/script
interval = 900
exec = "curl -s wttr.in?format=1"
format = "<label>"
format-prefix-foreground = ${colors.accent}
label = %output%
click-left = xfce4-terminal -H -e "curl wttr.in"
[module/i3]
type = internal/i3
index-sort = true
format = <label-mode>
label-mode = %mode%
format-foreground = ${colors.alert}
[module/tidal]
type=custom/script
interval = 5
; format-prefix="🎵 "
format-prefix=" "
format-prefix-foreground = ${colors.tidal}
format-foreground = ${colors.tidal}
format = "<label>"
label = %output:0:45:...%
exec = "~/.config/i3/scripts/tidal-cli.sh info"
click-left = "~/.config/i3/scripts/tidal-cli.sh playpause"
scroll-up = "~/.config/i3/scripts/tidal-cli.sh next"
scrolldown = "~/.config/i3/scripts/tidal-cli.sh previous"
click-right = "~/.config/i3/scripts/tidal-cli.sh songwhip | xclip -selection clipboard"
[module/pulseaudio-microphone]
type = custom/script
exec = ~/.config/polybar/scripts/pulse-microphone.sh
tail = true
click-left = ~/.config/polybar/scripts/pulse-microphone.sh --toggle &
scroll-up = ~/.config/polybar/scripts/pulse-microphone.sh --increase &
scroll-down = ~/.config/polybar/scripts/pulse-microphone.sh --decrease &