add polybar

This commit is contained in:
Sakooooo 2023-07-03 18:22:49 +04:00
parent 825a50a91f
commit 1001277788
Signed by: sako
GPG key ID: 3FD715D87D7725E0
3 changed files with 248 additions and 0 deletions

212
config/polybar/config.ini Normal file
View file

@ -0,0 +1,212 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #282A2E
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880
[bar/mainbar]
width = 100%
height = 24pt
; radius = 6
; dpi = 79
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3pt
;border-size = 4pt
;border-color = ${colors.background}
padding-left = 0
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = JetBrainsMono ;2
modules-left = xworkspaces xwindow
modules-right = battery pipewire date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = right
; wm-restack = generic
wm-restack = bspwm
; wm-restack = i3
; override-redirect = true
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
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/xwindow]
type = internal/xwindow
label = %title:0:60:...%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
[module/pulseaudio]
type = internal/pulseaudio
; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
; If not, uses default sink
; sink = alsa_output.pci-0000_12_00.3.analog-stereo
; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
; Default: true
use-ui-max = true
; Interval for volume increase/decrease (in percent points)
; Default: 5
interval = 5
[module/pipewire]
type = custom/script
exec = /home/sako/.config/polybar/pipewire-polybar.sh
interval = 3
click-right = exec pavucontrol &
click-left = /home/sako/.config/polybar/pipewire-polybar.sh --mute &
scroll-up = /home/sako/.config/polybar/pipewire-polybar.sh --up &
scroll-down = /home/sako/.config/polybar/pipewire-polybar.sh --down &
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.primary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
[module/wlan]
inherit = network-base
interface-type = wireless
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
[module/date]
type = internal/date
interval = 1
date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = ${colors.primary}
[module/battery]
type = internal/battery
; This is useful in case the battery never reports 100% charge
; Default: 100
full-at = 99
; format-low once this charge percentage is reached
; Default: 10
; New in version 3.6.0
low-at = 5
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT1
adapter = ACAD
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5
[settings]
screenchange-reload = true
pseudo-transparency = true
; vim:ft=dosini

View file

@ -0,0 +1,32 @@
#!/bin/sh
getDefaultSink() {
defaultSink=$(pactl info | awk -F : '/Default Sink:/{print $2}')
description=$(pactl list sinks | sed -n "/${defaultSink}/,/Description/s/^\s*Description: \(.*\)/\1/p")
echo "${description}"
}
getDefaultSource() {
defaultSource=$(pactl info | awk -F : '/Default Source:/{print $2}')
description=$(pactl list sources | sed -n "/${defaultSource}/,/Description/s/^\s*Description: \(.*\)/\1/p")
echo "${description}"
}
VOLUME=$(pamixer --get-volume-human)
SINK=$(getDefaultSink)
SOURCE=$(getDefaultSource)
case $1 in
"--up")
pamixer --increase 10
;;
"--down")
pamixer --decrease 10
;;
"--mute")
pamixer --toggle-mute
;;
*)
#echo "Source: ${SOURCE} | Sink: ${VOLUME} ${SINK}"
echo "VOL: ${VOLUME}"
esac

4
config/polybar/startpolybar Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
killall -q polybar
polybar