This commit is contained in:
Zoe 2022-04-22 23:16:09 +02:00
parent 0f4c3197c9
commit 836b52e741
7 changed files with 184 additions and 509 deletions

214
\
View file

@ -1,214 +0,0 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
include-file = ./powerline-for-polybar/powerline-for-polybar.config
[colors]
background = #282a36
background-alt = #44475a
foreground = #f8f8f2
primary = #f8f8f2
secondary = #ff79c6
alert = #ff5555
disabled = #6272a4
green = #50fa7b
cyan = #8be9fd
orange = #ffb86c
pink = #ff79c6
purple = #bd93f9
red = #ff5555
yellow = #f1fa8c
white = #f8f8f2
[bar/bar]
width = 100%
height = 16pt
radius = 0
#dpi = 96
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 0pt
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 0
module-margin = 0
separator =
separator-foreground = ${colors.disabled}
font-0 = "CaskaydiaCove Nerd Font:size=11; 3"
modules-left = i3 xwindow
modules-center = player-mpris-tail
modules-right = battery1 battery0 pulseaudio xkeyboard memory cpu date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
; tray-position = left
wm-restack = i3
; override-redirect = true
[module/i3]
type = internal/i3
pin-workspaces = false
show-urgent = true
strip-wsnumbers = true
index-sort = true
enable-click = true
enable-scroll = true
wrapping-scroll = true
reverse-scroll = false
fuzzy-match = true
label-focused-foreground = ${colors.secondary}
label-focused-padding = 0
label-unfocused-padding = 0
label-separator = |
label-separator-padding = 0
label-separator-foreground = ${colors.disabled}
[module/xwindow]
type = internal/xwindow
label = %title:0:24:...%
[module/player-mpris-tail]
type = custom/script
exec = $HOME/.config/polybar/player-mpris-tail.py -f '{icon} {artist} - {title}' --icon-playing "契" --icon-paused ""
tail = true
click-left = $HOME/.config/polybar/player-mpris-tail.py previous &
click-right = $HOME/.config/polybar/player-mpris-tail.py next &
click-middle = $HOME/.config/polybar/player-mpris-tail.py play-pause &
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume>
label-volume =蓼 %percentage%%
label-volume-background = ${colors.yellow}
label-volume-foreground = ${colors.background}
label-volume-padding = 1
label-muted = 遼
label-muted-foreground = ${colors.disabled}
label-muted-background = ${colors.red}
click-right = pavucontrol
label-muted-padding = 1
[module/battery0]
type = internal/battery
full-at = 99
low-at = 5
battery = BAT0
adapter = ADP1
poll-interval = 120
label-discharging-background = ${colors.orange}
label-discharging-foreground = ${colors.background}
label-discharging-padding = 1
label-discharging = %percentage%%
label-charging-background = ${colors.orange}
label-charging-foreground = ${colors.background}
label-charging = %percentage%%
label-charging-padding = 1
label-full = %percentage%%
label-full-background = ${colors.orange}
label-full-foreground = ${colors.background}
label-full-padding = 1
[module/battery1]
type = internal/battery
full-at = 99
low-at = 5
battery = BAT1
adapter = ADP1
poll-interval = 120
label-discharging-background = ${colors.red}
label-discharging-foreground = ${colors.background}
label-discharging-padding = 1
label-discharging = %percentage%%
label-charging-background = ${colors.red}
label-charging-foreground = ${colors.background}
label-charging = %percentage%%
label-charging-padding = 1
label-full = %percentage%%
label-full-background = ${colors.red}
label-full-foreground = ${colors.background}
label-full-padding = 1
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.background}
label-layout-background = ${colors.green}
label-layout-padding = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
label = %percentage_used:2%%
label-background = ${colors.cyan}
label-foreground = ${colors.background}
label-padding = 1
[module/cpu]
type = internal/cpu
interval = 20
label = %percentage:2%%
label-background = ${colors.purple}
label-foreground = ${colors.background}
label-padding = 1
[module/date]
inherit = powerline-templates/right-to-left-item
background = ${colors.pink}
background-next = ${colors.purple}
type = internal/date
interval = 1
date = %H:%M
date-alt = %d %m %Y %H:%M:%S
label =﨟 %date%
label-foreground = ${colors.background}
label-background = ${colors.pink}
label-padding = 1
[settings]
screenchange-reload = true
pseudo-transparency = false
# vim:ft=dosini

181
config Normal file
View file

@ -0,0 +1,181 @@
[colors]
bg = #282a36
fg = #f8f8f2
date = #ff5555
cpu = #ffb86c
audio = #8be9fd
power = #f1fa8c
wifi = #50fa7b
keyboard = #bd93f9
[var]
padding = 1
default-font = 2
[bar/top]
modules-left = i3
modules-right = keyboardarrow keyboard audioarrow player-mpris-tail volume wifiarrow wifi powerarrow ac battery0 battery1 arrowcpu cpu temperature ram arrowdate date
background = ${colors.bg}
foreground = ${colors.fg}
module-margin = ${var.margin}
; font
font-0 = "CaskaydiaCove NerdFont Mono:pixelsize=18; 3"
font-1 = "CaskaydiaCove NerdFont Mono:pixelsize=12; 2"
[modules/format]
label-padding = 1
format-font = 2
;wifi
format-connected-font = 2
format-disconnected-font = 2
[arrows/arrowR]
type = custom/text
content = 
[module/i3]
inherit = modules/format
type = internal/i3
[module/date]
inherit = modules/format
type = internal/date
date =  %H:%M:%S
format-background = ${colors.date}
format-foreground = ${colors.bg}
[module/arrowdate]
inherit = arrows/arrowR
content-foreground = ${colors.date}
content-background = ${colors.cpu}
[module/cpu]
inherit = modules/format
type = internal/cpu
interval = 1
label =  %percentage%%
format-background = ${colors.cpu}
format-foreground = ${colors.bg}
[module/ram]
inherit = modules/format
type = internal/memory
format-foreground = ${colors.bg}
format-background = ${colors.cpu}
label =  %gb_used%
[module/temperature]
inherit = modules/format
type = internal/temperature
format-foreground = ${colors.bg}
format-background = ${colors.cpu}
label =  %temperature-c%
[module/arrowcpu]
inherit = arrows/arrowR
content-foreground = ${colors.cpu}
content-background = ${colors.power}
[module/wifi]
inherit = modules/format
type = internal/network
interface-type = wireless
label-connected =  %downspeed% %upspeed%
label-connected-padding = ${var.padding}
label-connected-foreground = ${colors.bg}
label-connected-background = ${colors.wifi}
[module/wifiarrow]
inherit = arrows/arrowR
content-foreground = ${colors.wifi}
content-background = ${colors.audio}
[modules/bat]
type = internal/battery
label-charging-font = ${var.default-font}
label-discharging-font = ${var.default-font}
label-charging-padding = ${var.padding}
label-discharging-padding = ${var.padding}
label-charging-foreground = ${colors.bg}
label-discharging-foreground = ${colors.bg}
label-charging-background = ${colors.power}
label-discharging-background = ${colors.power}
label-full-background = ${colors.power}
label-full-padding = ${var.padding}
label-full-foreground = ${colors.bg}
label-full-font = ${var.default-font}
[module/battery0]
inherit = modules/bat
battery = BAT0
[module/battery1]
inherit = modules/bat
battery = BAT1
[module/ac]
inherit = modules/bat
adapter = AC
label-charging = ﮣ
label-full = ﮣ
label-discharging = ﮤ
[module/powerarrow]
inherit = arrows/arrowR
content-foreground = ${colors.power}
content-background = ${colors.wifi}
[module/volume]
inherit = modules/format
type = internal/pulseaudio
label-volume-font = ${var.default-font}
label-muted-font = ${var.default-font}
label-volume-padding = ${var.padding}
label-muted-padding = ${var.padding}
label-volume-foreground = ${colors.bg}
label-volume-background = ${colors.audio}
label-muted-foreground = ${colors.bg}
label-muted-background = ${colors.audio}
label-volume = 蓼 %percentage%%
label-muted = 遼 %percentage%%
[module/player-mpris-tail]
inherit = modules/format
label-background = ${colors.audio}
label-foreground = ${colors.bg}
type = custom/script
exec = $HOME/.config/polybar/player-mpris-tail.py -f '{icon} {artist} - {title}' --icon-playing "契" --icon-paused ""
tail = true
click-left = $HOME/.config/polybar/player-mpris-tail.py previous &
click-right = $HOME/.config/polybar/player-mpris-tail.py next &
click-middle = $HOME/.config/polybar/player-mpris-tail.py play-pause &
[module/audioarrow]
inherit = arrows/arrowR
content-foreground = ${colors.audio}
content-background = ${colors.keyboard}
[module/keyboard]
inherit = modules/format
type = internal/xkeyboard
format-background = ${colors.keyboard}
label-layout-padding = ${var.padding}
label-layout =  %layout%
label-indicator-on-capslock = בּ
label-indicator-on-capslock-background = ${colors.keyboard}
label-indicator-on-capslock-foreground = ${colors.bg}
label-indicator-on-capslock-padding = ${var.padding}
label-indicator-on-background = ${colors.keyboard}
label-layout-background = ${colors.keyboard}
label-layout-foreground = ${colors.bg}
label-indicator-background = ${colors.keyboard}
[module/keyboardarrow]
inherit = arrows/arrowR
content-foreground = ${colors.keyboard}

View file

@ -1,216 +0,0 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
include-file = ./powerline-for-polybar/powerline-for-polybar.config
[colors]
background = #282a36
background-alt = #44475a
foreground = #f8f8f2
primary = #f8f8f2
secondary = #ff79c6
alert = #ff5555
disabled = #6272a4
green = #50fa7b
cyan = #8be9fd
orange = #ffb86c
pink = #ff79c6
purple = #bd93f9
red = #ff5555
yellow = #f1fa8c
white = #f8f8f2
[bar/bar]
width = 100%
height = 20
radius = 0
#dpi = 96
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 0pt
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 0
module-margin = 0
separator =
separator-foreground = ${colors.disabled}
font-0 = "CaskaydiaCove Nerd Font:size=11; 2"
modules-left = i3 xwindow
modules-center = player-mpris-tail battery1 battery0
modules-right = pulseaudio xkeyboard memory cpu date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
; tray-position = left
wm-restack = i3
; override-redirect = true
[module/i3]
type = internal/i3
pin-workspaces = false
show-urgent = true
strip-wsnumbers = true
index-sort = true
enable-click = true
enable-scroll = true
wrapping-scroll = true
reverse-scroll = false
fuzzy-match = true
label-focused-foreground = ${colors.secondary}
label-focused-padding = 0
label-unfocused-padding = 0
label-separator-padding = 0
label-separator-foreground = ${colors.disabled}
[module/xwindow]
type = internal/xwindow
label = %title:0:24:...%
[module/player-mpris-tail]
type = custom/script
exec = $HOME/.config/polybar/player-mpris-tail.py -f '{icon} {artist} - {title}' --icon-playing "契" --icon-paused ""
tail = true
click-left = $HOME/.config/polybar/player-mpris-tail.py previous &
click-right = $HOME/.config/polybar/player-mpris-tail.py next &
click-middle = $HOME/.config/polybar/player-mpris-tail.py play-pause &
[module/pulseaudio]
inherit = powerline-templates/right-to-left-item
background = ${colors.yellow}
background-next = ${colors.background}
type = internal/pulseaudio
format-volume = <label-volume>
label-volume =蓼 %percentage%%
label-volume-background = ${colors.yellow}
label-volume-foreground = ${colors.background}
label-volume-padding = 1
label-muted =
label-muted-foreground = ${colors.background}
label-muted-background = ${colors.yellow}
click-right = pavucontrol
label-muted-padding = 1
[module/battery0]
inherit = powerline-templates/right-to-left-item
type = internal/battery
full-at = 99
low-at = 5
battery = BAT0
adapter = ADP1
poll-interval = 120
label-discharging-padding = 1
label-discharging = %percentage%%
label-charging = %percentage%%
label-charging-padding = 1
label-full = %percentage%%
label-full-padding = 1
[module/battery1]
type = internal/battery
full-at = 99
low-at = 5
battery = BAT1
adapter = ADP1
poll-interval = 120
label-discharging-padding = 1
label-discharging = %percentage%%
label-charging = %percentage%%
label-charging-padding = 1
label-full = %percentage%%
label-full-padding = 1
[module/xkeyboard]
inherit = powerline-templates/right-to-left-item
background = ${colors.green}
background-next = ${colors.yellow}
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.background}
label-layout-background = ${colors.green}
label-layout-padding = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
inherit = powerline-templates/right-to-left-item
background = ${colors.cyan}
background-next = ${colors.green}
type = internal/memory
interval = 2
label = %percentage_used:2%%
label-background = ${colors.cyan}
label-foreground = ${colors.background}
label-padding = 1
[module/cpu]
inherit = powerline-templates/right-to-left-item
background = ${colors.purple}
background-next = ${colors.cyan}
type = internal/cpu
interval = 20
label = %percentage:2%%
label-background = ${colors.purple}
label-foreground = ${colors.background}
label-padding = 1
[module/date]
inherit = powerline-templates/right-to-left-item
background = ${colors.pink}
background-next = ${colors.purple}
type = internal/date
interval = 1
date = %H:%M
date-alt = %d %m %Y %H:%M:%S
label =﨟 %date%
label-foreground = ${colors.background}
label-background = ${colors.pink}
label-padding = 1
[settings]
screenchange-reload = true
pseudo-transparency = false
# vim:ft=dosini

View file

@ -1,75 +0,0 @@
#!/bin/env python3
import argparse
import os
import signal
import subprocess
import sys
import tempfile
if len(sys.argv) > 1 and sys.argv[1] == '--subproc':
ramp_list = [' ', '', '', '', '', '', '', '', '']
ramp_list.extend(
f'%{{F#{color.strip(" #")}}}█%{{F-}}'
for color in sys.argv[2].split(',')
if color
)
while True:
cava_input = input().strip().split()
cava_input = [int(i) for i in cava_input]
output = ''
for bar in cava_input:
if bar < len(ramp_list):
output += ramp_list[bar]
else:
output += ramp_list[-1]
print(output)
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--framerate', type=int, default=60,
help='Framerate to be used by cava, default is 60')
parser.add_argument('-b', '--bars', type=int, default=8,
help='Amount of bars, default is 8')
parser.add_argument('-e', '--extra_colors', default='fdd,fcc,fbb,faa',
help='Color gradient used on higher values, separated by commas, default is')
parser.add_argument('-c', '--channels', choices=['stereo', 'left', 'right', 'average'],
help='Audio channels to be used, defaults to stereo')
opts = parser.parse_args()
conf_channels = ''
if opts.channels != 'stereo':
conf_channels = (
'channels=mono\n'
f'mono_option={opts.channels}'
)
conf_ascii_max_range = 12 + len([i for i in opts.extra_colors.split(',') if i])
cava_conf = tempfile.mkstemp('','polybar-cava-conf.')[1]
with open(cava_conf, 'w') as cava_conf_file:
cava_conf_file.write(
'[general]\n'
f'framerate={opts.framerate}\n'
f'bars={opts.bars}\n'
'[output]\n'
'method=raw\n'
'data_format=ascii\n'
f'ascii_max_range={conf_ascii_max_range}\n'
'bar_delimiter=32'
+ conf_channels
)
cava_proc = subprocess.Popen(['cava', '-p', cava_conf], stdout=subprocess.PIPE)
self_proc = subprocess.Popen(['python3', __file__, '--subproc', opts.extra_colors], stdin=cava_proc.stdout)
def cleanup(sig, frame):
os.remove(cava_conf)
cava_proc.kill()
self_proc.kill()
sys.exit(0)
signal.signal(signal.SIGTERM, cleanup)
signal.signal(signal.SIGINT, cleanup)
self_proc.wait()

View file

@ -1,13 +1,12 @@
#!/usr/bin/env bash
# Terminate already running bar instances
# If all your bars have ipc enabled, you can use
polybar-msg cmd quit
# Otherwise you can use the nuclear option:
# killall -q polybar
killall -q polybar
# Launch bar1 and bar2
echo "---" | tee -a /tmp/bar.log
polybar bar 2>&1 | tee -a /tmp/bar.log & disown
polybar top 2>&1 | tee -a /tmp/bar.log & disown
echo "Bar launched..."

View file

@ -552,3 +552,4 @@ else:
print(_dbusValueToPython(current_player._metadata))
elif args.command == 'raise' and current_player:
current_player.raisePlayer()

@ -1 +0,0 @@
Subproject commit fb48d19f5d5acf23586d3803e12c9538832d8789