Updated polybar & termite & i3 config

lightmode
E. Almqvist 4 years ago
parent 634e77ae72
commit 04230ea1e0
  1. 0
      .vimrc
  2. 8
      i3/config
  3. 32
      polybar/config
  4. 295
      polybar/oldstuff/config
  5. 486
      polybar/oldstuff/config_old
  6. 17
      polybar/oldstuff/launch.sh
  7. 1577
      polybar/oldstuff2/config
  8. 13
      polybar/oldstuff2/launch.sh
  9. 20
      polybar/oldstuff2/scripts/check-all-updates.sh
  10. 194
      polybar/oldstuff2/scripts/pavolume.sh
  11. 5
      termite/config

@ -184,7 +184,7 @@ set $inactive-bg-color #121212
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
set $indicator-color #84939c
set $indicator-color #474747
# window colors
# border background text indicator
@ -194,9 +194,9 @@ client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-col
client.urgent $urgent-bg-color $urgent-bg-color $text-color $indicator-color
# Border
# new_window pixel 3
# new_float pixel 3
# hide_edge_borders both
new_window pixel 3
new_float pixel 3
hide_edge_borders both
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)

@ -1,8 +1,8 @@
[colors]
background = #52272727
background = #c2171717
foreground = #eee
linecolor = #bf616a
bordercolor = #52252525
linecolor = #c2bf616a
bordercolor = #ff252525
accent = #e60053
[settings]
@ -49,15 +49,15 @@ overline-size = 2
;border-size = 5
;border-color = 0
;border-bottom-size = 0
border-bottom-size = 4
border-bottom-size = 2
border-bottom-color = ${colors.bordercolor}
padding-left = 0
padding-left = 1
padding-right = 2
module-margin-left = 1
module-margin-right = 2
module-margin-right = 1
font-0 = dina:pixelsize=10;1
font-0 = Hack:pixelsize=9;1
font-1 = siji:pixelsize=20;1
font-2 = unifont:size=6;1
font-3 = FontAwesome:size=12;0
@ -240,7 +240,7 @@ label-focused-background = #383838
label-focused-foreground = #fff
label-focused-overline = ${root.bspwm-focused-overline}
label-focused-underline = ${root.bspwm-focused-underline}
label-focused-padding = 2
label-focused-padding = 1
label-focused-occupied = %{O-1}⏺%{O-1}
label-focused-occupied-background = ${self.label-focused-background}
@ -251,25 +251,25 @@ label-focused-occupied-padding = ${self.label-focused-padding}
;label-occupied = %icon%
label-occupied = %{O-1}⏺%{O-1}
label-occupied-padding = 2
label-occupied-padding = 1
;label-urgent = %icon%
label-urgent = !
label-urgent-background = #bd2c40
label-urgent-padding = 2
label-urgent-padding = 1
;label-empty = %icon%
label-empty = x
label-empty-foreground = #444
label-empty-padding = 2
label-empty-padding = 1
label-monocle =
label-monocle-padding = 2
label-monocle-padding = 1
label-monocle-background = #171717
label-monocle-foreground = ${colors.accent}
label-floating =
label-floating-padding = 2
label-floating-padding = 1
label-floating-background = #171717
label-floating-foreground = ${colors.accent}
@ -303,7 +303,7 @@ strip-wsnumbers = true
format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 2
label-mode-padding = 1
label-mode-background = ${colors.accent}
label-focused = %name%
@ -327,7 +327,7 @@ label-visible-padding = ${module/bspwm.label-empty-padding}
type = internal/cpu
interval = 2
label = %percentage%%
format-prefix = " cpu: "
format-prefix = " CPU: "
format-prefix-foreground = #666
[module/memory]
@ -494,7 +494,7 @@ toggle-off-foreground = #777
[module/power-menu]
type = custom/menu
label-open =
label-open =
label-close =
label-separator = /
label-separator-margin = 1

@ -0,0 +1,295 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
;background = #fff
;foreground = #000
foreground = ${xrdb:color7:#fff}
background = ${xrdb:color0:#000}
; _
; | |__ __ _ _ __ ___
; | '_ \ / _` | '__/ __|
; | |_) | (_| | | \__ \
; |_.__/ \__,_|_| |___/
[bar/bar]
monitor = ${env:MONITOR:}
enable-ipc=true
height = 20
width = 100%
padding = 4
;bottom = true
radius-bottom = 15
background = ${colors.background}
;background = ${colors.primary}
foreground = ${colors.foreground}
border-size = 10
border-top-size = 0
border-bottom-size = 0
border-color = #0000
line-size = 2
font-0=SF Compact Display:style=Regular:size=11;3
font-1=SF Compact Display:style=Semibold:size=11;3
font-2=Material Icons:size=13;5
font-3=font\-logos:size=10;3
font-4=FontAwesome5Brands:size=11;2
font-5=IPAGothic:size=11;4
modules-right = mpd pulseaudio time powermenu
; i3
; modules-left = launcher i3 xwindow
; scroll-up = i3wm-wsnext
; scroll-down = i3wm-wsprev
; wm-restack = i3
; bspwm
modules-left = launcher bspwm xwindow
scroll-up = bspwm-wsnext
scroll-down = bspwm-wsprev
wm-restack = bspwm
override-redirect = false
; _ _
; _ __ ___ ___ __| |_ _| | ___ ___
; | '_ ` _ \ / _ \ / _` | | | | |/ _ \/ __|
; | | | | | | (_) | (_| | |_| | | __/\__ \
; |_| |_| |_|\___/ \__,_|\__,_|_|\___||___/
[module/launcher]
type=custom/text
content =
content-margin = 4
click-left=launcher
;The script above is to be found here : https://github.com/ngynLk/scripts
[module/updates]
type=custom/script
exec = yay -Qu | wc -l
exec-if = [[ $(yay -Qu | wc -l) != 0 ]]
format = <label> update(s) available.
format-margin = 8
tail = true
interval = 30
click-left = urxvt -e yay -Syu
[module/xwindow]
type = internal/xwindow
label = %title:0:75:...%
label-empty = Empty
label-empty-font = 2
label-font = 2
format-margin = 4
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
format-margin = 4
index-sort = true
enable-click = true
reverse-scroll = false
label-focused = %index%
label-focused-underline = ${colors.foreground}
label-focused-padding = 4
label-focused-font = 2
label-unfocused = %index%
label-unfocused-padding = 4
label-urgent = !
label-urgent-padding = 5
label-urgent-underline = ${colors.background}
label-urgent-font = 2
;ws-icon-0 = 1;
;ws-icon-1 = 2;
;ws-icon-2 = 3;
;ws-icon-9 = 10;
;ws-icon-default =
[module/bspwm]
type = internal/bspwm
format = <label-state>
format-margin = 4
index-sort = true
enable-click = true
reverse-scroll = false
enable-scroll = true
label-focused = %index%
label-focused-underline = ${colors.foreground}
label-focused-padding = 4
label-focused-font = 2
label-empty =
label-occupied = %index%
label-occupied-padding = 4
label-urgent = !
label-urgent-padding = 5
label-urgent-underline = ${colors.background}
label-urgent-font = 2
;ws-icon-0 = 1;
;ws-icon-1 = 2;
;ws-icon-2 = 3;
;ws-icon-9 = 10;
;ws-icon-default =
[module/wlan]
type = internal/network
interface = wlx0013eff2094e
interval = 3.0
format-connected = <label-connected>
label-connected = %essid%
label-connected-color1 = ${colors.color1}
format-disconnected = <label-disconnected>
label-disconnected = %ifname% disconnected
label-disconnected-color1 = ${colors.color1}
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-color1 = ${colors.color1}
[module/time]
type = internal/date
interval = 10
format-margin = 4
time = "%H:%M"
date = "%d %b"
label = %time% | %date%
label-background = ${colors.background}
label-padding = 2
[module/pulseaudio]
type = internal/pulseaudio
format-volume-margin = 4
format-volume = <ramp-volume><label-volume>
label-volume = %percentage:4:4%%
format-volume-background = ${colors.background}
format-volume-padding = 2
use-ui-max = false
interval = 5
ramp-volume-0 = ""
ramp-volume-1 = ""
ramp-volume-2 = ""
label-muted = " muted"
label-muted-background = ${colors.background}
label-muted-padding = 2
[module/mpd]
type = custom/script
exec = mpc | head -n1
format-margin = 4
format = <label>
tail = true
interval = 1
click-left = mpc toggle
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <label>
format-warn = <ramp> <label-warn>
label = %temperature-c%
label-warn = %temperature-c%
label-warn-color1 = ${colors.secondary}
ramp-0 =
ramp-1 =
ramp-2 =
[module/powermenu]
type = custom/menu
expand-right = false
format-margin = 2
format-spacing = 2
label-open =
label-close =
label-separator = |
; reboot
menu-0-1 =
menu-0-1-exec = menu-open-2
; poweroff
menu-0-2 =
menu-0-2-exec = menu-open-3
; logout
menu-0-0 =
menu-0-0-exec = menu-open-1
menu-2-0 =
menu-2-0-exec = reboot
menu-3-0 =
menu-3-0-exec = poweroff
menu-1-0 =
menu-1-0-exec = i3-msg exit || openbox --exit
[module/spotify]
type = custom/script
format-margin = 4
format = <label>
exec = playerctl metadata --format '{{artist}}: {{title}}'
tail = true
interval = 1
click-left = "playerctl play-pause"
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
pseudo-transparency = false
[global/wm]
margin-top = 0
margin-bottom = 0
; vim:ft=dosini

@ -0,0 +1,486 @@
[colors]
background = #222
foreground = #eee
linecolor = #fba922
bordercolor = #333
accent = #e60053
[settings]
screenchange-reload = true
;throttle-output-for = 10
;throttle-output = 5
;throttle-input-for = 40
;compositing-background = over
;compositing-background = screen
;compositing-foreground = xor
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 0
margin-bottom = 0
[bar/top]
enable-ipc = true
monitor = ${env:MONITOR:}
width = 100%
height = 20
;radius = 5.0
;fixed-center = false
;override-redirect = true
background = ${colors.background}
foreground = ${colors.foreground}
;background-0 = #333
;background-1 = #222
;background-2 = ${self.background-1}
;background-3 = ${self.background-1}
;background-4 = ${self.background-1}
;background-5 = ${self.background-1}
;background-6 = ${self.background-1}
;background-7 = #111
line-color = ${colors.linecolor}
underline-size = 1
overline-size = 2
;border-size = 5
;border-color = 0
;border-bottom-size = 0
border-bottom-size = 2
border-bottom-color = ${colors.bordercolor}
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = dina:pixelsize=9;1
font-1 = siji:pixelsize=10;1
font-2 = unifont:size=6;1
modules-left = bspwm i3
;modules-center = mpd
modules-center = xwindow
modules-right = xkeyboard volume wifi memory cpu date
tray-position = right
tray-padding = 4
tray-maxsize = 16
;tray-transparent = true
;tray-detached = true
;tray-offset-x = 50
wm-restack = bspwm
;dim-value = 0.2
;click-left =
;click-middle =
;click-right =
scroll-up = bspwm-deskprev
scroll-down = bspwm-desknext
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
;double-click-left = notify-send -u low doubleclick
;double-click-right = notify-send -u low doubleclick2
# bar/module specific vars
bspwm-focused-overline = ${colors.linecolor}
bspwm-focused-underline = #cc333333
[bar/bottom]
inherit = bar/top
enable-ipc = true
monitor = ${env:MONITOR:HDMI1}
;monitor-fallback = eDP-1
bottom = true
;override-redirect = true
underline-size = ${bar/top.overline-size}
overline-size = ${bar/top.underline-size}
;border-top-size = 2
;border-top-color = ${colors.bordercolor}
;border-bottom-size = 0
modules-left = bspwm i3
;modules-left =
;modules-left = xwindow
;modules-center = xwindow
modules-center =
modules-right = github fs-root date power-menu
wm-restack = ${bar/top.wm-restack}
tray-position = none
# bar/module specific vars
bspwm-focused-overline = #cc333333
bspwm-focused-underline = ${colors.linecolor}
[module/github]
type = internal/github
token = ${file:/home/jaagr/.git-token}
;empty-notifications = true
label = %{A1:web --new-window https\://github.com/notifications&:}%notifications%%{A}
label-padding = 2
label-background = #f0c209
label-foreground = #000
[module/fs-root]
type = internal/fs
mount-0 = /
label-mounted = %{F#e60053}%percentage_used%%%{F-} used of %mountpoint%
[module/bspwm]
type = internal/bspwm
enable-scroll = false
format = <label-state> <label-mode>
;format = <label-monitor> <label-state> <label-mode>
;pin-workspaces = false
;ws-icon-0 = term;
;ws-icon-1 = web;
;ws-icon-2 = code;
;ws-icon-3 = music;
;ws-icon-4 = irssi;
;ws-icon-default =
ws-icon-default = x
inline-mode = true
;label-focused = %icon%
label-focused = o
label-focused-background = #383838
label-focused-foreground = #fff
label-focused-overline = ${root.bspwm-focused-overline}
label-focused-underline = ${root.bspwm-focused-underline}
label-focused-padding = 2
label-focused-occupied = %{O-1}⏺%{O-1}
label-focused-occupied-background = ${self.label-focused-background}
label-focused-occupied-foreground = ${self.label-focused-foreground}
label-focused-occupied-overline = ${self.label-focused-overline}
label-focused-occupied-underline = ${self.label-focused-underline}
label-focused-occupied-padding = ${self.label-focused-padding}
;label-occupied = %icon%
label-occupied = %{O-1}⏺%{O-1}
label-occupied-padding = 2
;label-urgent = %icon%
label-urgent = !
label-urgent-background = #bd2c40
label-urgent-padding = 2
;label-empty = %icon%
label-empty = x
label-empty-foreground = #444
label-empty-padding = 2
label-monocle =
label-monocle-padding = 2
label-monocle-background = #171717
label-monocle-foreground = ${colors.accent}
label-floating =
label-floating-padding = 2
label-floating-background = #171717
label-floating-foreground = ${colors.accent}
label-locked = locked
label-locked-padding = 1
label-sticky = sticky
label-sticky-padding = 1
label-private = private
label-private-padding = 1
;label-pseudotiled = pseudo
;label-pseudotiled-padding = 2
;label-pseudotiled-background = #f09
;label-tiled = tiled
;label-tiled-padding = 2
;label-tiled-background = #f90
label-dimmed-background = ${root.background}
label-dimmed-overline = ${root.background}
label-dimmed-underline = ${root.background}
label-dimmed-active-foreground = #f00
[module/i3]
type = internal/i3
index-sort = true
pin-workspaces = true
wrapping-scroll = true
;reverse-scroll = false
;enable-scroll = false
format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 2
label-mode-background = ${colors.accent}
label-focused = %index%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-foreground = ${module/bspwm.label-focused-foreground}
label-focused-overline= ${module/bspwm.label-focused-overline}
label-focused-underline= ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
label-urgent = %index%!
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
label-visible = %index%
label-visible-padding = ${module/bspwm.label-empty-padding}
[module/cpu]
type = internal/cpu
interval = 2
label = %percentage%%
format-prefix = " "
format-prefix-foreground = #666
[module/memory]
type = internal/memory
interval = 2
label = %percentage_used%%
format-prefix = " "
format-prefix-foreground = #666
[module/wifi]
type = internal/network
interface = net1
interval = 3.0
;udspeed-minwidth = 0
format-connected = <ramp-signal> <label-connected>
format-connected-prefix = " "
format-connected-prefix-foreground = #666
format-connected-prefix-offset = -6
label-connected = %downspeed:8%
;format-disconnected = <label-disconnected>
;format-disconnected-prefix = " "
;format-disconnected-prefix-foreground = #666
;label-disconnected = not connected
;label-disconnected-foreground = #999
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-foreground = #666
[module/wired]
type = internal/network
interface = net0
interval = 3.0
format-connected-prefix = " "
format-connected-prefix-foreground = #666
label-connected = %local_ip%
;format-disconnected = <label-disconnected>
;format-disconnected-prefix = " "
;format-disconnected-prefix-foreground = #666
;label-disconnected = not connected
;label-disconnected-foreground = #999
[module/date]
type = internal/date
label = %{F#666}%{F-} %date% %{F#e60053}%{F-} %time%
date = %Y-%m-%d
time = %H:%M
interval = 5
[module/xbacklight]
type = internal/xbacklight
format = <ramp> <label>
ramp-0 =
ramp-1 =
ramp-2 =
ramp-foreground = #666
label-foreground = ${root.foreground}
[module/volume]
type = internal/volume
speaker-mixer = Speaker
headphone-mixer = Headphone
headphone-id = 9
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = #777
label-muted = sound muted
ramp-volume-0 =
ramp-volume-1 =
ramp-volume-2 =
ramp-volume-3 =
ramp-volume-foreground = #666
ramp-headphones-0 =
ramp-headphones-1 =
ramp-headphones-foreground = #666
[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-foreground = #666
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-foreground = #666
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-foreground = #666
animation-charging-framerate = 750
;[module/battery-multi]
;type = custom/script
;exec = "count=$(acpi -b | wc -l); sum=$(acpi -b | egrep -o '[0-9]{1,3}%' | tr -d '%' | xargs -I% echo -n '+%'); echo $(date +%s) Avg capacity: $(( sum / count ))%"
;exec-if = pgrep -x watch
;interval = 3
[module/mpd]
type = internal/mpd
;format-online = <label-time> <bar-progress> <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> <icon-repeat> <icon-random>
format-online = <label-time> %{F#88}|%{F-} <label-song> <icon-prev><icon-stop><toggle><icon-next> <icon-repeat><icon-random>
format-online-spacing = 0
format-online-background = #ee333333
format-online-underline = #cc333333
format-online-padding = 3
format-offline = <label-offline>
format-offline-foreground = #777
label-offline = mpd is off
label-song-maxlen = 45
label-song-ellipsis = true
label-time-foreground = #777
icon-prev =
icon-stop =
icon-play =
icon-pause =
icon-next =
icon-random =
icon-repeat =
toggle-on-foreground = ${colors.accent}
toggle-off-foreground = #777
;bar-progress-width = 10
;bar-progress-indicator =
;bar-progress-indicator-foreground = #bb
;bar-progress-fill = ─
;bar-progress-fill-foreground = #bb
;bar-progress-fill-font = 3
;bar-progress-empty = ─
;bar-progress-empty-foreground = #44
;bar-progress-empty-font = 3
[module/power-menu]
type = custom/menu
label-open =
label-close =
label-separator = /
label-separator-margin = 1
menu-0-0 = Terminate WM
menu-0-0-foreground = ${colors.accent}
menu-0-0-exec = bspc quit -1
menu-0-1 = Reboot
menu-0-1-foreground = ${colors.accent}
menu-0-1-exec = menu-open-1
menu-0-2 = Power off
menu-0-2-foreground = ${colors.accent}
menu-0-2-exec = menu-open-2
menu-0-3 = Lock
menu-0-3-foreground = ${colors.accent}
menu-0-3-exec = lockscreen
menu-1-0 = Cancel
menu-1-0-foreground = ${colors.accent}
menu-1-0-exec = menu-open-0
menu-1-1 = Reboot
menu-1-1-foreground = ${colors.accent}
menu-1-1-exec = sudo reboot
menu-2-0 = Power off
menu-2-0-foreground = ${colors.accent}
menu-2-0-exec = sudo poweroff
menu-2-1 = Cancel
menu-2-1-foreground = ${colors.accent}
menu-2-1-exec = menu-open-0
[module/app-menu]
type = custom/menu
label-open =
label-close =
menu-0-0 = Vimperator
menu-0-0-exec = web
menu-0-1 = Termite
menu-0-1-exec = termite
menu-0-2 = Pcmanfm
menu-0-2-exec = pcmanfm
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = #666
label-layout = %layout%
label-indicator-padding = 2
label-indicator-background = ${colors.accent}
[module/xwindow]
type = internal/xwindow
format = <label>
label-maxlen = 75
[module/counter]
type = internal/counter
format = <counter>
interval = 0.1
; vim:ft=dosini

@ -0,0 +1,17 @@
#!/bin/bash
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# polybar top >>/tmp/polybar-main.log -c $HOME/.config/polybar/config &
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload bar &
done
else
polybar --reload bar &
fi

File diff suppressed because it is too large Load Diff

@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
for m in $(polybar --list-monitors | cut -d":" -f1); do
WIRELESS=$(ls /sys/class/net/ | grep ^wl | awk 'NR==1{print $1}') MONITOR=$m polybar --reload mainbar-i3 &
done
echo "Bars launched..."

@ -0,0 +1,20 @@
#!/bin/sh
#source https://github.com/x70b1/polybar-scripts
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
updates_arch=0
fi
# if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
updates_aur=0
fi
updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then
echo " $updates"
else
echo "0"
fi

@ -0,0 +1,194 @@
#!/usr/bin/env bash
# finds the active sink for pulse audio and increments the volume. useful when you have multiple audio outputs and have a key bound to vol-up and down
osd='no'
inc='2'
capvol='no'
maxvol='200'
autosync='yes'
# Muted status
# yes: muted
# no : not muted
curStatus="no"
active_sink=""
limit=$((100 - inc))
maxlimit=$((maxvol - inc))
reloadSink() {
active_sink=$(pacmd list-sinks | awk '/* index:/{print $3}')
}
function volUp {
getCurVol
if [ "$capvol" = 'yes' ]
then
if [ "$curVol" -le 100 ] && [ "$curVol" -ge "$limit" ]
then
pactl set-sink-volume "$active_sink" -- 100%
elif [ "$curVol" -lt "$limit" ]
then
pactl set-sink-volume "$active_sink" -- "+$inc%"
fi
elif [ "$curVol" -le "$maxvol" ] && [ "$curVol" -ge "$maxlimit" ]
then
pactl set-sink-volume "$active_sink" "$maxvol%"
elif [ "$curVol" -lt "$maxlimit" ]
then
pactl set-sink-volume "$active_sink" "+$inc%"
fi
getCurVol
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume "$curVol" 0
fi
if [ ${autosync} = 'yes' ]
then
volSync
fi
}
function volDown {
pactl set-sink-volume "$active_sink" "-$inc%"
getCurVol
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume "$curVol" 0
fi
if [ ${autosync} = 'yes' ]
then
volSync
fi
}
function getSinkInputs {
input_array=$(pacmd list-sink-inputs | grep -B 4 "sink: $1 " | awk '/index:/{print $2}')
}
function volSync {
getSinkInputs "$active_sink"
getCurVol
for each in $input_array
do
pactl set-sink-input-volume "$each" "$curVol%"
done
}
function getCurVol {
curVol=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | grep 'volume:' | grep -E -v 'base volume:' | awk -F : '{print $3}' | grep -o -P '.{0,3}%'| sed s/.$// | tr -d ' ')
}
function volMute {
case "$1" in
mute)
pactl set-sink-mute "$active_sink" 1
curVol=0
status=1
;;
unmute)
pactl set-sink-mute "$active_sink" 0
getCurVol
status=0
;;
esac
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume ${curVol} ${status}
fi
}
function volMuteStatus {
curStatus=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | awk '/muted/{ print $2}')
}
# Prints output for bar
# Listens for events for fast update speed
function listen {
firstrun=0
pactl subscribe 2>/dev/null | {
while true; do
{
# If this is the first time just continue
# and print the current state
# Otherwise wait for events
# This is to prevent the module being empty until
# an event occurs
if [ $firstrun -eq 0 ]
then
firstrun=1
else
read -r event || break
if ! echo "$event" | grep -e "on card" -e "on sink"
then
# Avoid double events
continue
fi
fi
} &>/dev/null
output
done
}
}
function output() {
reloadSink
getCurVol
volMuteStatus
if [ "${curStatus}" = 'yes' ]
then
echo " $curVol%"
else
echo " $curVol%"
fi
} #}}}
reloadSink
case "$1" in
--up)
volUp
;;
--down)
volDown
;;
--togmute)
volMuteStatus
if [ "$curStatus" = 'yes' ]
then
volMute unmute
else
volMute mute
fi
;;
--mute)
volMute mute
;;
--unmute)
volMute unmute
;;
--sync)
volSync
;;
--listen)
# Listen for changes and immediately create new output for the bar
# This is faster than having the script on an interval
listen
;;
*)
# By default print output for bar
output
;;
esac

@ -4,8 +4,9 @@
# Project: Nord Termite
# Repository: https://github.com/arcticicestudio/nord-termite
# License: MIT
[options]
font = Source Code Pro Light 10
font = Source Code Pro 9
[colors]
cursor = #d8dee9
@ -13,7 +14,7 @@ cursor_foreground = #2e3440
foreground = #d8dee9
foreground_bold = #d8dee9
background = rgba(21, 21, 21, 0.92)
background = rgba(21, 21, 21, 0.94)
highlight = #4c566a

Loading…
Cancel
Save