aboutsummaryrefslogtreecommitdiffstats
path: root/polybar
diff options
context:
space:
mode:
Diffstat (limited to 'polybar')
-rw-r--r--polybar/config.ini1587
-rwxr-xr-xpolybar/scripts/check-all-updates.sh21
-rwxr-xr-xpolybar/scripts/pavolume.sh201
3 files changed, 1809 insertions, 0 deletions
diff --git a/polybar/config.ini b/polybar/config.ini
new file mode 100644
index 0000000..4f50609
--- /dev/null
+++ b/polybar/config.ini
@@ -0,0 +1,1587 @@
+# ____ _____
+# | _ \_ _| Derek Taylor (DistroTube)
+# | | | || | http://www.youtube.com/c/DistroTube
+# | |_| || | http://www.gitlab.com/dwt1/
+# |____/ |_|
+
+[global/wm]
+;https://github.com/jaagr/polybar/wiki/Configuration#global-wm-settings
+margin-top = 0
+margin-bottom = 0
+
+[settings]
+;https://github.com/jaagr/polybar/wiki/Configuration#application-settings
+throttle-output = 5
+throttle-output-for = 10
+screenchange-reload = true
+compositing-background = over
+compositing-foreground = over
+compositing-overline = over
+compositing-underline = over
+compositing-border = over
+
+; Define fallback values used by all module formats
+format-foreground = #FF0000
+format-background = #00FF00
+format-underline =
+format-overline =
+format-spacing =
+format-padding =
+format-margin =
+format-offset =
+
+[colors]
+; To change color scheme, change the value inside ${color-scheme.colorXX}.
+; The following color schemes can be used:
+; 1. DoomOne
+; 2. Dracula
+; 3. GruvboxDark
+; 4. MonokaiPro
+; 5. Nord
+; 6. OceanicNext
+; 7. Palenight
+; 8. SolarizedDark
+; 9. SolarizedLight
+; 10. TomorrowNight
+
+background = ${Nord.background}
+foreground = ${Nord.foreground}
+color0 = ${Nord.color0}
+color1 = ${Nord.color1}
+color2 = ${Nord.color2}
+color3 = ${Nord.color3}
+color4 = ${Nord.color4}
+color5 = ${Nord.color5}
+color6 = ${Nord.color6}
+color7 = ${Nord.color7}
+color8 = ${Nord.color8}
+color9 = ${Nord.color9}
+color10 = ${Nord.color10}
+color11 = ${Nord.color11}
+color12 = ${Nord.color12}
+color13 = ${Nord.color13}
+color14 = ${Nord.color14}
+color15 = ${Nord.color15}
+alert = ${Nord.color1}
+
+[DoomOne]
+background = #dd282c34
+foreground = #bbc2cf
+color0 = #1c1f24
+color1 = #ff6c6b
+color2 = #98be65
+color3 = #da8548
+color4 = #51afef
+color5 = #c678dd
+color6 = #5699af
+color7 = #abb2bf
+color8 = #5b6268
+color9 = #da8548
+color10 = #4db5bd
+color11 = #ecbe7b
+color12 = #3071db
+color13 = #a9a1e1
+color14 = #46d9ff
+color15 = #dfdfdf
+
+[Dracula]
+background = #282a36
+foreground = #f8f8f2
+color0 = #000000
+color1 = #ff5555
+color2 = #50fa7b
+color3 = #f1fa8c
+color4 = #bd93f9
+color5 = #ff79c6
+color6 = #8be9fd
+color7 = #bfbfbf
+color8 = #4d4d4d
+color9 = #ff6e67
+color10 = #5af78e
+color11 = #f4f99d
+color12 = #caa9fa
+color13 = #ff92d0
+color14 = #9aedfe
+color15 = #e6e6e6
+
+[GruvboxDark]
+background = #282828
+foreground = #ebdbb2
+color0 = #282828
+color1 = #cc241d
+color2 = #98971a
+color3 = #d79921
+color4 = #458588
+color5 = #b16286
+color6 = #689d6a
+color7 = #a89984
+color8 = #928374
+color9 = #fb4934
+color10 = #b8bb26
+color11 = #fabd2f
+color12 = #83a598
+color13 = #d3869b
+color14 = #8ec07c
+color15 = #ebdbb2
+
+[MonokaiPro]
+background = #2D2A2E
+foreground = #FCFCFA
+color0 = #403E41
+color1 = #FF6188
+color2 = #A9DC76
+color3 = #FFD866
+color4 = #FC9867
+color5 = #AB9DF2
+color6 = #78DCE8
+color7 = #FCFCFA
+color8 = #727072
+color9 = #FF6188
+color10 = #A9DC76
+color11 = #FFD866
+color12 = #FC9867
+color13 = #AB9DF2
+color14 = #78DCE8
+color15 = #FCFCFA
+
+[Nord]
+background = #101010
+foreground = #cccccc
+color0 = #2a2a2a
+color8 = #4a4a4a
+color1 = #deeeed
+color9 = #708090
+color2 = #1bfd9c
+color10 = #a6ffc9
+color3 = #b4b4b4
+color11 = #dddddd
+color4 = #7a7a7a
+color12 = #aaaaaa
+color5 = #66b2b2
+color13 = #49c4c4
+color6 = #cccccc
+color14 = #d3d3d3
+color7 = #f1f1f1
+color15 = #ffffff
+
+[OceanicNext]
+background = #1b2b34
+foreground = #d8dee9
+color0 = #29414f
+color1 = #ec5f67
+color2 = #99c794
+color3 = #fac863
+color4 = #6699cc
+color5 = #c594c5
+color6 = #5fb3b3
+color7 = #65737e
+color8 = #405860
+color9 = #ec5f67
+color10 = #99c794
+color11 = #fac863
+color12 = #6699cc
+color13 = #c594c5
+color14 = #5fb3b3
+color15 = #adb5c0
+
+[Palenight]
+background = #292d3e
+foreground = #d0d0d0
+color0 = #292d3e
+color1 = #f07178
+color2 = #c3e88d
+color3 = #ffcb6b
+color4 = #82aaff
+color5 = #c792ea
+color6 = #89ddff
+color7 = #d0d0d0
+color8 = #434758
+color9 = #ff8b92
+color10 = #ddffa7
+color11 = #ffe585
+color12 = #9cc4ff
+color13 = #e1acff
+color14 = #a3f7ff
+color15 = #ffffff
+
+[SolarizedDark]
+background = #002b36
+foreground = #839496
+color0 = #073642
+color1 = #dc322f
+color2 = #859900
+color3 = #b58900
+color4 = #268bd2
+color5 = #d33682
+color6 = #2aa198
+color7 = #eee8d5
+color8 = #002b36
+color9 = #cb4b16
+color10 = #586e75
+color11 = #657b83
+color12 = #839496
+color13 = #6c71c4
+color14 = #93a1a1
+color15 = #fdf6e3
+
+[SolarizedLight]
+background = #fdf6e3
+foreground = #657b83
+color0 = #073642
+color1 = #dc322f
+color2 = #859900
+color3 = #b58900
+color4 = #268bd2
+color5 = #d33682
+color6 = #2aa198
+color7 = #eee8d5
+color8 = #002b36
+color9 = #cb4b16
+color10 = #586e75
+color11 = #657b83
+color12 = #839496
+color13 = #fdf6e3
+color14 = #93a1a1
+color15 = #6c71c4
+
+[TomorrowNight]
+background = #1d1f21
+foreground = #c5c8c6
+color0 = #1d1f21
+color1 = #cc6666
+color2 = #b5bd68
+color3 = #e6c547
+color4 = #81a2be
+color5 = #b294bb
+color6 = #70c0ba
+color7 = #373b41
+color8 = #666666
+color9 = #ff3334
+color10 = #9ec400
+color11 = #f0c674
+color12 = #81a2be
+color13 = #b77ee0
+color14 = #54ced6
+color15 = #282a2e
+
+################################################################################
+############ MAINBAR-BSPWM ############
+################################################################################
+
+[bar/mainbar-bspwm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 20
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator =
+
+background = ${Nord.background}
+foreground = ${Nord.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 0
+module-margin-right = 0
+
+font-0 = "Ubuntu:style=Bold:size=9;2"
+font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
+font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
+font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
+font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
+
+modules-left = bspwm xwindow
+modules-center =
+modules-right = kernel cpu2 memory2 filesystem uptime arch-aur-updates volume date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-position = right
+tray-padding = 4
+tray-maxsize = 20
+tray-scale = 1.0
+tray-background = ${colors.background}
+
+scroll-up = bspwm-desknext
+scroll-down = bspwm-deskprev
+
+################################################################################
+############ MAINBAR-I3 ############
+################################################################################
+
+[bar/mainbar-i3]
+;https://github.com/jaagr/polybar/wiki/Configuration
+
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+bottom = false
+fixed-center = true
+width = 100%
+height = 20
+;offset-x = 1%
+;offset-y = 1%
+
+background = ${Nord.background}
+foreground = ${Nord.foreground}
+
+; Background gradient (vertical steps)
+; background-[0-9]+ = #aarrggbb
+;background-0 =
+
+radius = 0.0
+line-size = 2
+line-color = #000000
+
+border-size = 0
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 0
+module-margin-right = 0
+
+font-0 = "Ubuntu:style=Bold:size=9;2"
+font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
+font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
+font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
+font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
+
+modules-left = i3 xwindow
+modules-center =
+modules-right = arrow1 networkspeedup networkspeeddown arrow2 memory2 arrow3 cpu2 arrow2 volume arrow3 arch-aur-updates arrow2 date
+
+separator =
+;dim-value = 1.0
+
+tray-position = right
+tray-detached = false
+tray-maxsize = 20
+tray-background = ${colors.background}
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 4
+tray-scale = 1.0
+
+#i3: Make the bar appear below windows
+;wm-restack = i3
+;override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+; Fallback click handlers that will be called if
+; there's no matching module handler found.
+click-left =
+click-middle =
+click-right =
+scroll-up = i3wm-wsnext
+scroll-down = i3wm-wsprev
+double-click-left =
+double-click-middle =
+double-click-right =
+
+; Requires polybar to be built with xcursor support (xcb-util-cursor)
+; Possible values are:
+; - default : The default pointer as before, can also be an empty string (default)
+; - pointer : Typically in the form of a hand
+; - ns-resize : Up and down arrows, can be used to indicate scrolling
+cursor-click =
+cursor-scroll =
+
+################################################################################
+############ MAINBAR-HERBST ############
+################################################################################
+
+[bar/mainbar-herbst]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 20
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator =
+
+background = ${DoomOne.background}
+foreground = ${DoomOne.foreground}
+
+line-size = 2
+line-color = #f00
+
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 0
+module-margin-right = 0
+
+font-0 = "Ubuntu:style=Bold:size=9;2"
+font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
+font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
+font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
+font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
+
+modules-left = xmenu ewmh xwindow
+modules-center =
+modules-right = arrow1 networkspeedup networkspeeddown arrow2 memory2 arrow3 cpu2 arrow2 volume arrow3 arch-aur-updates arrow2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-position = right
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-background = ${colors.background}
+
+scroll-up = bspwm-desknext
+scroll-down = bspwm-deskprev
+
+################################################################################
+############ MAINBAR-XMONAD ############
+################################################################################
+
+[bar/mainbar-xmonad]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+wm-restack = generic
+width = 100%
+height = 22
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator =
+
+background = ${Nord.background}
+foreground = ${Nord.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+; padding-right adds padding between 'date' and the edge of screen and/or systray.
+padding-right = 1
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+font-0 = "Ubuntu:style=Bold:size=9;2"
+font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
+font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
+font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
+font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
+
+modules-left = ewmh xwindow
+modules-center =
+modules-right = kernel cpu2 memory2 filesystem uptime battery arch-aur-updates volume date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+################################################################################
+############ MODULE I3 ############
+################################################################################
+
+[module/i3]
+;https://github.com/jaagr/polybar/wiki/Module:-i3
+type = internal/i3
+
+; Only show workspaces defined on the same output as the bar
+; Useful if you want to show monitor specific workspaces
+; on different bars. Default: false
+pin-workspaces = true
+
+; This will split the workspace name on ':'
+; Default: false
+strip-wsnumbers = false
+
+; Sort the workspaces by index instead of the default
+; sorting that groups the workspaces by output
+; Default: false
+index-sort = false
+
+; Create click handler used to focus workspace
+; Default: true
+enable-click = true
+
+; Create scroll handlers used to cycle workspaces
+; Default: true
+enable-scroll = true
+
+; Wrap around when reaching the first/last workspace
+; Default: true
+wrapping-scroll = false
+
+; Set the scroll cycle direction
+; Default: true
+reverse-scroll = false
+
+; Use fuzzy (partial) matching on labels when assigning
+; icons to workspaces
+; Example: code;♚ will apply the icon to all workspaces
+; containing 'code' in the label
+; Default: false
+fuzzy-match = false
+
+;extra icons to choose from
+;http://fontawesome.io/cheatsheet/
+;       v    
+
+ws-icon-0 = 1;
+ws-icon-1 = 2;
+ws-icon-2 = 3;
+ws-icon-3 = 4;
+ws-icon-4 = 5;
+ws-icon-5 = 6;
+ws-icon-6 = 7;
+ws-icon-7 = 8;
+ws-icon-8 = 9;
+ws-icon-9 = 10;
+ws-icon-default = " "
+
+; Available tags:
+; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)>
+; <label-mode> (default)
+format = <label-state> <label-mode>
+
+label-mode = %mode%
+label-mode-padding = 2
+label-mode-foreground = #000000
+label-mode-background = #FFBB00
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; %output%
+; Default: %icon% %name%
+; focused = Active workspace on focused monitor
+label-focused = %icon% %name%
+label-focused-background = ${colors.background}
+label-focused-foreground = ${colors.foreground}
+label-focused-underline = #AD69AF
+label-focused-padding = 2
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; Default: %icon% %name%
+; unfocused = Inactive workspace on any monitor
+label-unfocused = %icon% %name%
+label-unfocused-padding = 2
+label-unfocused-background = ${colors.background}
+label-unfocused-foreground = ${colors.foreground}
+label-unfocused-underline =
+
+; visible = Active workspace on unfocused monitor
+label-visible = %icon% %name%
+label-visible-background = ${self.label-focused-background}
+label-visible-underline = ${self.label-focused-underline}
+label-visible-padding = 2
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; Default: %icon% %name%
+; urgent = Workspace with urgency hint set
+label-urgent = %icon% %name%
+label-urgent-background = ${self.label-focused-background}
+label-urgent-foreground = #db104e
+label-urgent-padding = 2
+
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+################################################################################
+############ MODULE BSPWM ############
+################################################################################
+
+[module/bspwm]
+type = internal/bspwm
+enable-click = true
+enable-scroll = true
+reverse-scroll = true
+pin-workspaces = true
+
+ws-icon-0 = 1;1: dev
+ws-icon-1 = 2;2: www
+ws-icon-2 = 3;3: sys
+ws-icon-3 = 4;4: doc
+ws-icon-4 = 5;5: vbox
+ws-icon-5 = 6;6: chat
+ws-icon-6 = 7;7: mus
+ws-icon-7 = 8;8: vid
+ws-icon-8 = 9;9: gfx
+ws-icon-9 = 10;
+; ws-icon-0 = 1;
+; ws-icon-1 = 2;
+; ws-icon-2 = 3;
+; ws-icon-3 = 4;
+; ws-icon-4 = 5;
+; ws-icon-5 = 6;
+; ws-icon-6 = 7;
+; ws-icon-7 = 8;
+; ws-icon-8 = 9;
+; ws-icon-9 = 10;
+ws-icon-default = " "
+
+format = <label-state> <label-mode>
+
+label-focused = %icon%
+label-focused-foreground = ${colors.foreground}
+label-focused-background = ${colors.background}
+label-focused-underline= ${colors.color5}
+label-focused-padding = 1
+label-focused-margin = 2
+
+label-occupied = %icon%
+label-occupied-foreground = ${colors.foreground}
+label-occupied-background = ${colors.background}
+label-occupied-underline= ${colors.color2}
+label-occupied-padding = 1
+label-occupied-margin = 2
+
+label-urgent = %icon%
+label-urgent-foreground = ${colors.foreground}
+label-urgent-background = ${colors.alert}
+label-urgent-underline = ${colors.alert}
+label-urgent-padding = 1
+label-urgent-margin = 2
+
+label-empty = %icon%
+label-empty-foreground = ${colors.foreground}
+label-empty-background = ${colors.background}
+label-empty-padding = 1
+label-empty-margin = 2
+
+label-monocle = " [MONOCLE] "
+label-monocle-foreground = ${colors.color3}
+label-tiled = " [TILED] "
+label-tiled-foreground = ${colors.color3}
+label-fullscreen = " [FULLSCREEN] "
+label-fullscreen-foreground = ${colors.color3}
+label-floating = " (FLOATING) "
+label-floating-foreground = ${colors.color4}
+label-pseudotiled = " [PSEUDOTILED] "
+label-pseudotiled-foreground = ${colors.color3}
+label-locked = "  "
+label-locked-foreground = ${colors.foreground}
+label-sticky = "  "
+label-sticky-foreground = ${colors.foreground}
+label-private = "  "
+label-private-foreground = ${colors.foreground}
+
+; Separator in between workspaces
+;label-separator = |
+;label-separator-padding = 10
+;label-separator-foreground = #ffb52a
+
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+
+###############################################################################
+############ MODULES ARROWS ############
+###############################################################################
+
+[module/arrow1]
+; grey to Blue
+type = custom/text
+content = "%{T2} %{T-}"
+content-font = 2
+content-foreground = #8d62a9
+content-background = #292d3e
+
+[module/arrow2]
+; grey to Blue
+type = custom/text
+content = "%{T2} %{T-}"
+content-font = 2
+content-foreground = #668bd7
+content-background = #8d62a9
+
+[module/arrow3]
+; grey to Blue
+type = custom/text
+content = "%{T2} %{T-}"
+content-font = 2
+content-foreground = #8b62a9
+content-background = #668bd7
+
+[module/arch-aur-updates]
+type = custom/script
+exec = ~/.config/polybar/scripts/check-all-updates.sh
+interval = 1000
+label = Updates: %output%
+format-prefix = "🗘 "
+format-prefix-foreground = ${colors.color2}
+format-foreground = ${colors.color2}
+format-background = ${colors.background}
+format-underline = ${colors.color2}
+format-margin = 2
+format-padding = 0
+
+[module/aur-updates]
+type = custom/script
+exec = cower -u | wc -l
+interval = 1000
+label = Aur: %output%
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix = "🗘 "
+format-prefix-foreground = #FFBB00
+format-underline = #FFBB00
+
+[module/backlight-acpi]
+inherit = module/xbacklight
+type = internal/backlight
+card = intel_backlight
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix-foreground = #7D49B6
+format-prefix-underline = #7D49B6
+format-underline = #7D49B6
+
+[module/backlight]
+;https://github.com/jaagr/polybar/wiki/Module:-backlight
+type = internal/backlight
+
+; Use the following command to list available cards:
+; $ ls -1 /sys/class/backlight/
+card = intel_backlight
+
+; Available tags:
+; <label> (default)
+; <ramp>
+; <bar>
+format = <label>
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+; Available tokens:
+; %percentage% (default)
+label = %percentage%%
+
+; Only applies if <ramp> is used
+ramp-0 = 🌕
+ramp-1 = 🌔
+ramp-2 = 🌓
+ramp-3 = 🌒
+ramp-4 = 🌑
+
+; Only applies if <bar> is used
+bar-width = 10
+bar-indicator = |
+bar-fill = ─
+bar-empty = ─
+
+[module/battery]
+;https://github.com/jaagr/polybar/wiki/Module:-battery
+type = internal/battery
+battery = BAT0
+adapter = AC0
+full-at = 100
+
+format-charging = <animation-charging> <label-charging>
+label-charging =  %percentage%%
+format-charging-foreground = ${colors.foreground}
+format-charging-background = ${colors.background}
+format-chaging-underline = #a3c725
+
+format-discharging = <ramp-capacity> <label-discharging>
+label-discharging =  %percentage%%
+format-discharging-underline = #c7ae25
+format-discharging-foreground = ${colors.foreground}
+format-discharging-background = ${colors.background}
+
+format-full-prefix = " "
+format-full-prefix-foreground = #a3c725
+format-full-underline = #a3c725
+format-full-foreground = ${colors.foreground}
+format-full-background = ${colors.background}
+
+ramp-capacity-0 = 
+ramp-capacity-1 = 
+ramp-capacity-2 = 
+ramp-capacity-3 = 
+ramp-capacity-4 = 
+ramp-capacity-foreground = #c7ae25
+
+animation-charging-0 = 
+animation-charging-1 = 
+animation-charging-2 = 
+animation-charging-3 = 
+animation-charging-4 = 
+animation-charging-foreground = #a3c725
+animation-charging-framerate = 750
+
+[module/compton]
+;https://github.com/jaagr/polybar/wiki/User-contributed-modules#compton
+type = custom/script
+exec = ~/.config/polybar/scripts/compton.sh
+click-left = ~/.config/polybar/scripts/compton-toggle.sh
+interval = 5
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+;format-underline = #00AF02
+
+[module/cpu1]
+;https://github.com/jaagr/polybar/wiki/Module:-cpu
+type = internal/cpu
+; Seconds to sleep between updates
+; Default: 1
+interval = 1
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+;   
+format-prefix = " "
+format-prefix-foreground = #cd1f3f
+format-underline = #645377
+
+; Available tags:
+; <label> (default)
+; <bar-load>
+; <ramp-load>
+; <ramp-coreload>
+format = <label> <ramp-coreload>
+
+format-padding = 2
+
+; Available tokens:
+; %percentage% (default) - total cpu load
+; %percentage-cores% - load percentage for each core
+; %percentage-core[1-9]% - load percentage for specific core
+label-font = 3
+label = CPU: %percentage%%
+ramp-coreload-0 = ▁
+ramp-coreload-0-font = 3
+ramp-coreload-0-foreground = #aaff77
+ramp-coreload-1 = ▂
+ramp-coreload-1-font = 3
+ramp-coreload-1-foreground = #aaff77
+ramp-coreload-2 = ▃
+ramp-coreload-2-font = 3
+ramp-coreload-2-foreground = #aaff77
+ramp-coreload-3 = ▄
+ramp-coreload-3-font = 3
+ramp-coreload-3-foreground = #aaff77
+ramp-coreload-4 = ▅
+ramp-coreload-4-font = 3
+ramp-coreload-4-foreground = #fba922
+ramp-coreload-5 = ▆
+ramp-coreload-5-font = 3
+ramp-coreload-5-foreground = #fba922
+ramp-coreload-6 = ▇
+ramp-coreload-6-font = 3
+ramp-coreload-6-foreground = #ff5555
+ramp-coreload-7 = █
+ramp-coreload-7-font = 3
+ramp-coreload-7-foreground = #ff5555
+
+[module/cpu2]
+;https://github.com/jaagr/polybar/wiki/Module:-cpu
+type = internal/cpu
+; Seconds to sleep between updates
+; Default: 1
+interval = 1
+format-prefix = "💻 "
+format-prefix-foreground = ${colors.color4}
+
+; Available tags:
+; <label> (default)
+; <bar-load>
+; <ramp-load>
+; <ramp-coreload>
+format = <label>
+format-foreground = ${colors.color4}
+format-background = ${colors.background}
+format-underline = ${colors.color4}
+format-margin = 2
+format-padding = 0
+label-font = 1
+
+
+; Available tokens:
+; %percentage% (default) - total cpu load
+; %percentage-cores% - load percentage for each core
+; %percentage-core[1-9]% - load percentage for specific core
+label = Cpu %percentage:3%%
+
+[module/date]
+;https://github.com/jaagr/polybar/wiki/Module:-date
+type = internal/date
+; Seconds to sleep between updates
+interval = 5
+; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string
+; NOTE: if you want to use syntax tags here you need to use %%{...}
+date = " %a %b %d, %Y"
+date-alt = " %a %b %d, %Y"
+time = %l:%M%p
+time-alt = %l:%M%p
+format-prefix = "📅 "
+format-prefix-foreground = ${colors.color4}
+format-foreground = ${colors.color4}
+format-background = ${colors.background}
+format-underline = ${colors.color4}
+format-margin = 2
+format-padding = 0
+label = "%date% %time% "
+
+[module/ewmh]
+type = internal/xworkspaces
+
+pin-workspaces = true
+enable-click = true
+enable-scroll = false
+reverse-scroll = true
+
+;extra icons to choose from
+;http://fontawesome.io/cheatsheet/
+;       v    
+
+icon-0 = 1;
+icon-1 = 2;
+icon-2 = 3;
+icon-3 = 4;
+icon-4 = 5;
+icon-5 = 6;
+icon-6 = 7;
+icon-7 = 8;
+#icon-8 = 9;
+#icon-9 = 10;
+#icon-default = " "
+format = <label-state>
+label-monitor = %name%
+
+label-active = %name%
+label-active-foreground = ${colors.foreground}
+label-active-background = ${colors.background}
+label-active-padding = 1
+label-active-underline = ${colors.color5}
+label-active-margin = 2
+
+label-occupied = %name%
+label-occupied-background = ${colors.background}
+label-occupied-padding = 1
+label-occupied-underline = ${colors.color12}
+label-occupied-margin = 2
+
+label-urgent = %name%
+label-urgent-foreground = ${colors.foreground}
+label-urgent-background = ${colors.alert}
+label-urgent-underline = ${colors.alert}
+label-urgent-padding = 1
+label-urgent-margin = 2
+
+label-empty = %name%
+label-empty-foreground = ${colors.foreground}
+label-empty-padding = 1
+label-empty-margin = 2
+
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+[module/filesystem]
+;https://github.com/jaagr/polybar/wiki/Module:-filesystem
+type = internal/fs
+; Mountpoints to display
+mount-0 = /
+;mount-1 = /home
+;mount-2 = /var
+;
+; Seconds to sleep between updates. Default: 30
+interval = 30
+; Display fixed precision values. Default: false
+fixed-values = false
+; Spacing between entries. Default: 2
+spacing = 4
+
+; Available tags:
+; <label-mounted> (default)
+; <bar-free>
+; <bar-used>
+; <ramp-capacity>
+format-mounted = <label-mounted>
+format-mounted-foreground = ${colors.color1}
+format-mounted-background = ${colors.background}
+format-mounted-underline = ${colors.color1}
+format-mounted-margin = 2
+format-mounted-padding = 0
+
+; Available tokens:
+; %mountpoint%
+; %type%
+; %fsname%
+; %percentage_free%
+; %percentage_used%
+; %total%
+; %free%
+; %used%
+; Default: %mountpoint% %percentage_free%%
+label-mounted = hdd: %free% free
+
+; Available tokens:
+; %mountpoint%
+; Default: %mountpoint% is not mounted
+label-unmounted = %mountpoint% not mounted
+format-unmounted-foreground = ${colors.foreground}
+format-unmounted-background = ${colors.background}
+;format-unmounted-underline = ${colors.alert}
+
+[module/kernel]
+type = custom/script
+exec = uname -r
+tail = false
+interval = 1024
+format-prefix = " 🤖 "
+format-prefix-foreground = ${colors.color2}
+format-foreground = ${colors.color2}
+format-background = ${colors.background}
+format-underline = ${colors.color2}
+format-margin = 2
+format-padding = 0
+
+[module/jgmenu]
+type = custom/script
+interval = 120
+exec = echo "ArcoLinux"
+click-left = "jgmenu_run >/dev/null 2>&1 &"
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+[module/load-average]
+type = custom/script
+exec = uptime | grep -ohe 'load average[s:][: ].*' | awk '{ print $3" "$4" "$5"," }' | sed 's/,//g'
+interval = 100
+
+;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS
+;label = %output%
+label = %output:10%
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix = "  "
+format-prefix-foreground = #62FF00
+format-underline = #62FF00
+
+[module/memory1]
+;https://github.com/jaagr/polybar/wiki/Module:-memory
+type = internal/memory
+interval = 1
+; Available tokens:
+; %percentage_used% (default)
+; %percentage_free%
+; %gb_used%
+; %gb_free%
+; %gb_total%
+; %mb_used%
+; %mb_free%
+; %mb_total%
+label = %percentage_used%%
+label-active-font = 2
+bar-used-indicator =
+bar-used-width = 10
+bar-used-foreground-0 = #3384d0
+bar-used-fill = 
+bar-used-empty = 
+bar-used-empty-foreground = #ffffff
+
+format = <label> <bar-used>
+format-prefix = "  "
+format-prefix-foreground = #3384d0
+format-underline = #4B5665
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+[module/memory2]
+;https://github.com/jaagr/polybar/wiki/Module:-memory
+type = internal/memory
+interval = 1
+; Available tokens:
+; %percentage_used% (default)
+; %percentage_free%
+; %gb_used%
+; %gb_free%
+; %gb_total%
+; %mb_used%
+; %mb_free%
+; %mb_total%
+label = %percentage_used%%
+label-active-font = 2
+
+format = Mem <label>
+format-prefix = "💾 "
+format-prefix-foreground = ${colors.color11}
+format-foreground = ${colors.color11}
+format-background = ${colors.background}
+format-underline = ${colors.color11}
+format-margin = 2
+format-padding = 0
+
+[module/mpd]
+;https://github.com/jaagr/polybar/wiki/Module:-mpd
+type = internal/mpd
+;format-online = "<label-song> <icon-prev> <icon-stop> <toggle> <icon-next>"
+format-online = "<label-song> <bar-progress>"
+;format-online = "<label-song> <bar-progress> <icon-prev> <icon-stop> <toggle> <icon-next>"
+icon-prev = 
+icon-stop = 
+icon-play = 
+icon-pause = 
+icon-next = 
+label-song-maxlen = 40
+label-song-ellipsis = true
+bar-progress-width = 10
+bar-progress-indicator = 
+bar-progress-fill = 
+bar-progress-empty = 
+bar-progress-fill-foreground = #ff0
+bar-progress-fill-background = ${colors.background}
+bar-progress-indicator-foreground = ${colors.foreground}
+format-online-foreground = ${colors.foreground}
+format-online-background = ${colors.background}
+
+[module/networkspeed]
+;https://github.com/jaagr/polybar/wiki/Module:-network
+type = internal/network
+;interface = wlp3s0
+;interface = enp14s0
+;interface = enp0s31f6
+interface = enp6s0
+label-connected = "%upspeed:7% ↓ %downspeed:7%"
+format-connected = <label-connected>
+format-connected-prefix = "↑ "
+format-connected-prefix-foreground = ${colors.color2}
+format-connected-foreground = ${colors.color2}
+format-connected-background = ${colors.background}
+format-connected-underline = ${colors.color2}
+format-connected-margin = 2
+format-connected-padding = 0
+
+[module/networkspeedup]
+;https://github.com/jaagr/polybar/wiki/Module:-network
+type = internal/network
+;interface = wlp3s0
+;interface = enp14s0
+;interface = enp0s31f6
+interface = enp6s0
+label-connected = "%upspeed:7%"
+format-connected = <label-connected>
+format-connected-prefix = "↑ "
+format-connected-prefix-foreground = ${colors.color6}
+format-connected-foreground = ${colors.color6}
+format-connected-background = ${colors.background}
+
+[module/networkspeeddown]
+;https://github.com/jaagr/polybar/wiki/Module:-network
+type = internal/network
+;interface = wlp3s0
+;interface = enp14s0
+;interface = enp0s31f6
+interface = enp6s0
+label-connected = "%downspeed:7%"
+format-connected = <label-connected>
+format-connected-prefix = " ↓ "
+format-connected-prefix-foreground = ${colors.color6}
+format-connected-foreground = ${colors.color6}
+format-connected-background = ${colors.background}
+format-connected-margin = 6
+
+[module/pacman-updates]
+type = custom/script
+;exec = pacman -Qu | wc -l
+exec = checkupdates | wc -l
+interval = 1000
+label = Repo: %output%
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix = "🗘 "
+format-prefix-foreground = ${colors.color2}
+format-underline = ${colors.color2}
+format-margin = 2
+format-padding = 0
+
+[module/pavolume]
+type = custom/script
+tail = true
+label = %output%
+format-prefix = " 🔊 "
+format-prefix-foreground = ${colors.color5}
+exec = ~/.config/polybar/scripts/pavolume.sh --listen
+click-right = exec pavucontrol
+click-left = ~/.config/polybar/scripts/pavolume.sh --togmute
+scroll-up = ~/.config/polybar/scripts/pavolume.sh --up
+scroll-down = ~/.config/polybar/scripts/pavolume.sh --down
+format-foreground = ${colors.color5}
+format-background = ${colors.background}
+format-underline = ${colors.color5}
+format-margin = 2
+format-padding = 0
+
+[module/pub-ip]
+;https://linuxconfig.org/polybar-a-better-wm-panel-for-your-linux-system
+type = custom/script
+exec = ~/.config/polybar/scripts/pub-ip.sh
+interval = 100
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-underline = #FFBB00
+label = %output%
+format-prefix = "  "
+format-prefix-foreground = #FFBB00
+
+[module/release]
+type = custom/script
+exec = "(lsb_release -d | awk '{print \$2}' ; echo ' ' ; lsb_release -r | awk '{print \$2}') | tr -d '\\n'"
+interval = 6000
+
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix = "  "
+format-prefix-foreground = #62FF00
+format-underline = #62FF00
+
+[module/sep]
+; alternative separator
+type = custom/text
+content = 
+content-foreground = ${colors.foreground}
+content-background = ${colors.background}
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+[module/spotify]
+;https://github.com/NicholasFeldman/dotfiles/blob/master/polybar/.config/polybar/spotify.sh
+type = custom/script
+exec = ~/.config/polybar/scripts/spotify1.sh
+interval = 1
+
+;format = <label>
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-padding = 2
+format-underline = #0f0
+format-prefix = " "
+format-prefix-foreground = #0f0
+label = %output:0:150%
+
+[module/temperature1]
+;https://github.com/jaagr/polybar/wiki/Module:-temperature
+type = internal/temperature
+; Thermal zone to use
+; To list all the zone types, run
+; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
+; Default: 0
+thermal-zone = 0
+
+; Full path of temperature sysfs path
+; Use `sensors` to find preferred temperature source, then run
+; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
+; to find path to desired file
+; Default reverts to thermal zone setting
+hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input
+
+warn-temperature = 70
+format = <ramp> <label>
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-underline = #c72581
+format-warn = <ramp> <label-warn>
+format-warn-underline = #c7254f
+label = %temperature%
+label-warn =  %temperature%
+label-warn-foreground = #c7254f
+
+ramp-0 = 
+ramp-1 = 
+ramp-2 = 
+ramp-3 = 
+ramp-4 = 
+ramp-foreground =${colors.foreground}
+
+[module/temperature2]
+type = custom/script
+exec = ~/.config/polybar/scripts/tempcores.sh
+interval = 2
+format-padding = 1
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-underline = #C1B93E
+format-prefix-foreground = #C1B93E
+label =  %output:0:150:%
+
+[module/xmonad]
+type = custom/script
+exec = xmonad-log
+tail = true
+format-background = ${colors.background}
+format-foreground = ${colors.foreground}
+
+[module/uptime]
+;https://github.com/jaagr/polybar/wiki/User-contributed-modules#uptime
+type = custom/script
+exec = uptime | awk -F, '{sub(".*up ",x,$1);print $1}'
+interval = 100
+label = Uptime : %output%
+
+format-foreground = ${colors.color13}
+format-background = ${colors.background}
+format-prefix = "💻 "
+format-prefix-foreground = ${colors.color13}
+format-underline = ${colors.color13}
+format-margin = 2
+format-padding = 0
+
+[module/volume]
+;https://github.com/jaagr/polybar/wiki/Module:-volume
+type = internal/volume
+format-volume = "<label-volume> <bar-volume>"
+
+label-volume = " "
+label-volume-foreground = #40ad4b
+label-muted = muted
+
+bar-volume-width = 10
+bar-volume-foreground-0 = #40ad4b
+bar-volume-foreground-1 = #40ad4b
+bar-volume-foreground-2 = #40ad4b
+bar-volume-foreground-3 = #40ad4b
+bar-volume-foreground-4 = #40ad4b
+bar-volume-foreground-5 = #40ad4b
+bar-volume-foreground-6 = #40ad4b
+bar-volume-gradient = false
+bar-volume-indicator = 
+bar-volume-indicator-font = 2
+bar-volume-fill = 
+bar-volume-fill-font = 2
+bar-volume-empty = 
+bar-volume-empty-font = 2
+bar-volume-empty-foreground = ${colors.foreground}
+format-volume-foreground = ${colors.foreground}
+format-volume-background = ${colors.background}
+format-muted-prefix = "  "
+format-muted-prefix-foreground = "#ff0000"
+format-muted-foreground = ${colors.foreground}
+format-muted-background = ${colors.background}
+
+[module/weather]
+type = custom/script
+interval = 10
+format = <label>
+format-prefix = " "
+format-prefix-foreground = #3EC13F
+format-underline = #3EC13F
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+exec = python -u ~/.config/polybar/scripts/weather.py
+tail = true
+
+[module/wired-network]
+;https://github.com/jaagr/polybar/wiki/Module:-network
+type = internal/network
+interface = enp4s0
+;interface = enp14s0
+interval = 3.0
+
+; Available tokens:
+; %ifname% [wireless+wired]
+; %local_ip% [wireless+wired]
+; %essid% [wireless]
+; %signal% [wireless]
+; %upspeed% [wireless+wired]
+; %downspeed% [wireless+wired]
+; %linkspeed% [wired]
+; Default: %ifname% %local_ip%
+label-connected = %ifname%
+label-disconnected = %ifname% disconnected
+
+format-connected-foreground = ${colors.foreground}
+format-connected-background = ${colors.background}
+format-connected-underline = #55aa55
+format-connected-prefix = " "
+format-connected-prefix-foreground = #55aa55
+format-connected-prefix-background = ${colors.background}
+
+format-disconnected = <label-disconnected>
+format-disconnected-underline = ${colors.alert}
+label-disconnected-foreground = ${colors.foreground}
+
+[module/wireless-network]
+;https://github.com/jaagr/polybar/wiki/Module:-network
+type = internal/network
+interface = ${env:WIRELESS}
+interval = 3.0
+label-connected = %essid%
+
+format-connected = <label-connected>
+;format-connected = <ramp-signal> <label-connected>
+format-connected-foreground = ${colors.foreground}
+format-connected-background = ${colors.background}
+format-connected-prefix = "  "
+format-connected-prefix-foreground = #7e52c6
+format-connected-prefix-background = ${colors.background}
+format-connected-underline = #7e52c6
+
+label-disconnected = %ifname% disconnected
+label-disconnected-foreground = ${colors.alert}
+label-disconnected-background = ${colors.background}
+
+format-disconnected = <label-disconnected>
+format-disconnected-foreground = ${colors.alert}
+format-disconnected-background = ${colors.background}
+format-disconnected-prefix = "  "
+format-disconnected-prefix-foreground = ${colors.alert}
+format-disconnected-prefix-background = ${colors.background}
+format-disconnected-underline =${colors.alert}
+
+ramp-signal-0 = ▁
+ramp-signal-1 = ▂
+ramp-signal-2 = ▃
+ramp-signal-3 = ▄
+ramp-signal-4 = ▅
+ramp-signal-5 = ▆
+ramp-signal-6 = ▇
+ramp-signal-7 = █
+ramp-signal-foreground = #7e52c6
+
+[module/workspaces-xmonad]
+type = custom/script
+exec = tail -F /tmp/.xmonad-workspace-log
+exec-if = [ -p /tmp/.xmonad-workspace-log ]
+tail = true
+
+[module/xbacklight]
+;https://github.com/jaagr/polybar/wiki/Module:-xbacklight
+type = internal/xbacklight
+format = <label> <bar>
+format-prefix = "  "
+format-prefix-foreground = ${colors.foreground}
+format-prefix-background = ${colors.background}
+format-prefix-underline = #9f78e1
+format-underline = #9f78e1
+label = %percentage%%
+bar-width = 10
+bar-indicator = 
+bar-indicator-foreground = #fff
+bar-indicator-font = 2
+bar-fill = 
+bar-fill-font = 2
+bar-fill-foreground = #9f78e1
+bar-empty = 
+bar-empty-font = 2
+bar-empty-foreground = #fff
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+[module/xkeyboard]
+;https://github.com/jaagr/polybar/wiki/Module:-xkeyboard
+type = internal/xkeyboard
+blacklist-0 = num lock
+
+format-prefix = " "
+format-prefix-foreground = ${colors.foreground}
+format-prefix-background = ${colors.background}
+format-prefix-underline = #3ecfb2
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+label-layout = %layout%
+label-layout-underline = #3ecfb2
+label-indicator-padding = 2
+label-indicator-margin = 1
+label-indicator-background = ${colors.background}
+label-indicator-underline = ${colors.foreground}
+
+
+[module/xmenu]
+type = custom/script
+interval = 1200
+exec = echo "  "
+click-left = "sh ~/xmenu/xmenu.sh"
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+[module/xwindow]
+;https://github.com/jaagr/polybar/wiki/Module:-xwindow
+type = internal/xwindow
+
+; Available tokens:
+; %title%
+; Default: %title%
+label = %title%
+label-maxlen = 50
+
+format-prefix = "* "
+format-suffix = " *"
+format-foreground = ${colors.color10}
+format-background = ${colors.background}
+format-margin = 2
+format-padding = 0
+
+##### For vim users
+# vim:ft=dosini
+
diff --git a/polybar/scripts/check-all-updates.sh b/polybar/scripts/check-all-updates.sh
new file mode 100755
index 0000000..dda6212
--- /dev/null
+++ b/polybar/scripts/check-all-updates.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#source https://github.com/x70b1/polybar-scripts
+
+# Count official repo updates
+if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
+ updates_arch=0
+fi
+
+# Count AUR updates using yay
+if ! updates_aur=$(yay -Qu --quiet 2> /dev/null | wc -l ); then
+ updates_aur=0
+fi
+
+# Total updates
+updates=$(("$updates_arch" + "$updates_aur"))
+
+if [ "$updates" -gt 0 ]; then
+ echo " $updates"
+else
+ echo "0"
+fi
diff --git a/polybar/scripts/pavolume.sh b/polybar/scripts/pavolume.sh
new file mode 100755
index 0000000..0fd4df5
--- /dev/null
+++ b/polybar/scripts/pavolume.sh
@@ -0,0 +1,201 @@
+#!/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 "ﱝ mute"
+ else
+ if [ $curVol -gt 70 ]; then
+ echo "$curVol%"
+ elif [ $curVol -gt 30 ]; then
+ echo "$curVol%"
+ else
+ echo "$curVol%"
+ fi
+ 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
+