Restructure files
This commit is contained in:
0
legacy/polybar/.notifs
Normal file
0
legacy/polybar/.notifs
Normal file
246
legacy/polybar/config
Normal file
246
legacy/polybar/config
Normal file
@@ -0,0 +1,246 @@
|
||||
# _ _
|
||||
# | | | |
|
||||
# _ __ ___ | |_ _| |__ __ _ _ __
|
||||
# | '_ \ / _ \| | | | | '_ \ / _` | '__|
|
||||
# | |_) | (_) | | |_| | |_) | (_| | |
|
||||
# | .__/ \___/|_|\__, |_.__/ \__,_|_|
|
||||
# | | __/ |
|
||||
# |_| |___/
|
||||
#
|
||||
# ~ M. Thomas
|
||||
|
||||
# vim:ft=dosini
|
||||
|
||||
# ======================================== COLORS
|
||||
[colors]
|
||||
background = #1C1B1D
|
||||
foreground = #ffffff
|
||||
foreground-alt = #999999
|
||||
|
||||
black = "#24272a"
|
||||
red = "#E06C75"
|
||||
green ="#98C379"
|
||||
yellow = "#E5C07B"
|
||||
blue = "#61AFEF"
|
||||
magenta = "#C678DD"
|
||||
cyan = "#56B6C2"
|
||||
white = "#D8D8D8"
|
||||
|
||||
clear = "#00000000"
|
||||
|
||||
urgent = ${colors.red}
|
||||
accent = ${colors.green}
|
||||
|
||||
# ======================================== BARS
|
||||
[bar/main]
|
||||
monitor = ${env:MONITOR}
|
||||
|
||||
height = 30
|
||||
width = 100%
|
||||
|
||||
padding-left = 3
|
||||
padding-right = 3
|
||||
|
||||
|
||||
module-margin-left = 5
|
||||
module-margin-center = 5
|
||||
|
||||
foreground = ${colors.foreground}
|
||||
background = ${colors.background}
|
||||
|
||||
fixed-center = true
|
||||
|
||||
line-size = 0
|
||||
|
||||
tray-position = right
|
||||
|
||||
font-0 = "Product Sans:pixelsize=10:weight=regular;2"
|
||||
font-1 = "Stick:pixelsize=13;2"
|
||||
font-2 = "Material Design Icons:size=10;3"
|
||||
|
||||
wm-restack = i3
|
||||
|
||||
modules-left = i3 spotify
|
||||
modules-center = date
|
||||
modules-right = volume sep
|
||||
|
||||
[bar/laptop]
|
||||
inherit = bar/main
|
||||
|
||||
modules-right = volume battery sep
|
||||
|
||||
# ======================================== MODULES
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
pin-workspaces = true
|
||||
wrapping-scroll = false
|
||||
format = <label-state> <label-mode>
|
||||
|
||||
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;十
|
||||
|
||||
label-focused = "%icon%"
|
||||
label-focused-foreground = ${colors.foreground}
|
||||
label-focused-background = ${colors.background}
|
||||
label-focused-padding = 2
|
||||
|
||||
label-unfocused = "%icon%"
|
||||
label-unfocused-foreground = ${colors.foreground-alt}
|
||||
label-unfocused-background = ${colors.background}
|
||||
label-unfocused-padding = 2
|
||||
|
||||
label-visible = "%icon%"
|
||||
label-visible-padding = 2
|
||||
|
||||
label-urgent = "%icon%"
|
||||
label-urgent-foreground = ${colors.urgent}
|
||||
label-urgent-background = ${colors.background}
|
||||
label-urgent-padding = 2
|
||||
|
||||
label-mode = "%mode%"
|
||||
label-mode-padding = 2
|
||||
label-mode-foreground = ${colors.urgent}
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title%
|
||||
label-maxlen = 100
|
||||
label-underline = ${colors.accent}
|
||||
|
||||
[module/clock]
|
||||
type = internal/date
|
||||
label = %time%
|
||||
|
||||
time = %H:%M
|
||||
|
||||
format-prefix = " "
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
label = %date%
|
||||
|
||||
date = %A, %d %b %Y, %H:%M
|
||||
|
||||
#format-prefix = " "
|
||||
|
||||
[module/backlight]
|
||||
type = internal/backlight
|
||||
# ls -1 /sys/class/backlight
|
||||
card = amdgpu_bl0
|
||||
label = %percentage%%
|
||||
|
||||
format-prefix = " "
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
apdapter = ADP1
|
||||
|
||||
bar-capacity-width = 10
|
||||
bar-capacity-indicator =
|
||||
bar-capacity-fill = ━
|
||||
bar-capacity-empty = ━
|
||||
|
||||
bar-capacity-fill-foreground = ${colors.green}
|
||||
|
||||
format-discharging = <bar-capacity>
|
||||
label-discharging = %percentage%%
|
||||
|
||||
format-charging = <animation-charging> <bar-capacity>
|
||||
label-charging = %percentage%%
|
||||
|
||||
format-full = <bar-capacity>
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-framerate = 1000
|
||||
|
||||
[module/volume]
|
||||
type = internal/pulseaudio
|
||||
format-volume = <label-volume>
|
||||
#<bar-volume>
|
||||
|
||||
interval = 2
|
||||
|
||||
label-volume = %percentage%%
|
||||
format-volume-prefix = " "
|
||||
|
||||
bar-volume-width = 5
|
||||
bar-volume-gradient = false
|
||||
|
||||
bar-volume-indicator =
|
||||
|
||||
bar-volume-fill = ━
|
||||
bar-volume-fill-foreground = ${colors.blue}
|
||||
|
||||
bar-volume-empty = ━
|
||||
|
||||
click-right = pavucontrol
|
||||
|
||||
label-muted = Muted
|
||||
format-muted-prefix = " "
|
||||
format-muted-foreground = ${colors.urgent}
|
||||
|
||||
[module/spotify]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/scripts/song.sh 2>/dev/null || echo "Not running"
|
||||
interval = 1
|
||||
tail = true
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.green}
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
|
||||
interval = 3
|
||||
format = <bar-load>
|
||||
|
||||
bar-load-indicator =
|
||||
bar-load-fill = ━
|
||||
bar-load-empty = ━
|
||||
|
||||
bar-load-fill-foreground = ${colors.cyan}
|
||||
|
||||
bar-load-width = 7
|
||||
|
||||
format-prefix = " "
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
|
||||
interval = 3
|
||||
format = <bar-used>
|
||||
|
||||
bar-used-indicator =
|
||||
bar-used-fill = ━
|
||||
bar-used-empty = ━
|
||||
|
||||
bar-used-fill-foreground = ${colors.magenta}
|
||||
|
||||
bar-used-width = 7
|
||||
|
||||
format-prefix = " "
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlo1
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <label-connected>
|
||||
format-connected-prefix = " "
|
||||
label-connected = %essid%
|
||||
|
||||
format-disconnected = " No Connection"
|
||||
|
||||
[module/sep]
|
||||
type = custom/text
|
||||
content = |
|
||||
1
legacy/polybar/polybar
Symbolic link
1
legacy/polybar/polybar
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/marc/dots/files/.config/polybar
|
||||
9
legacy/polybar/scripts/cpu.sh
Executable file
9
legacy/polybar/scripts/cpu.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
case "$1" in
|
||||
--popup)
|
||||
notify-send "CPU time (%)" "$(ps axch -o cmd:10,pcpu k -pcpu | head | awk '$0=$0"%"' )"
|
||||
;;
|
||||
*)
|
||||
echo "$(grep 'cpu ' /proc/stat | awk '{cpu_usage=($2+$4)*100/($2+$4+$5)} END {printf "%0.2f%", cpu_usage}')"
|
||||
;;
|
||||
esac
|
||||
9
legacy/polybar/scripts/memory.sh
Executable file
9
legacy/polybar/scripts/memory.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
case "$1" in
|
||||
--popup)
|
||||
notify-send "Memory (%)" "$(ps axch -o cmd:10,pmem k -pmem | head | awk '$0=$0"%"' )"
|
||||
;;
|
||||
*)
|
||||
echo "$(free -h --si | awk '/^Mem:/ {print $3 "/" $2}')"
|
||||
;;
|
||||
esac
|
||||
37
legacy/polybar/scripts/song.sh
Executable file
37
legacy/polybar/scripts/song.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
|
||||
function scroll () {
|
||||
prefix="$1"
|
||||
scrolling="$2"
|
||||
temp="$(echo "$scrolling"| sed "s/^\(.\{20\}\)\(.*\)$/\1[\2]/"| sed "s/\[ *\]$//"| sed "s/\[.*\]$//")"
|
||||
suffix="$3"
|
||||
if [ "$(echo -n $scrolling |wc -c)" -gt 20 ]; then
|
||||
echo "$prefix%{T7}$temp%{T-}$suffix"
|
||||
sleep 0.5
|
||||
|
||||
zscroll -l 20 \
|
||||
--delay 0.2 \
|
||||
--before-text "$prefix%{T7}" \
|
||||
--after-text "%{T-}$suffix" \
|
||||
--scroll-padding " " \
|
||||
--update-check true "echo '$(get_title)'" &
|
||||
|
||||
wait
|
||||
else
|
||||
echo "$prefix%{T8} $temp %{T-}$suffix"
|
||||
fi
|
||||
} #
|
||||
|
||||
function get_artist () {
|
||||
echo "$(playerctl -p spotify metadata --format "{{ artist }}"| sed -e "s/[[(]....*[])]*//g" | sed "s/ *$//"| sed "s/^\(.\{20\}[^ ]*\)\(.*\)$/\1[\2]/"| sed "s/\[ *\]$//"| sed "s/\[.*\]$/.../")"
|
||||
} #
|
||||
|
||||
function get_title () {
|
||||
echo "$(playerctl -p spotify metadata --format "{{title}}" | sed 's/'\''/\\'\''/g')"
|
||||
} #
|
||||
|
||||
[ ! -z "$(playerctl -p spotify status 2>/dev/null)" ] \
|
||||
&& artist=$(get_artist) \
|
||||
&& title=$(get_title) \
|
||||
&& ([ -z "$artist$title" ] && scroll "" "Spotify is not connected on this pc" "" || scroll "$artist - " "$title" "%{F-}" ) \
|
||||
|| exit 1
|
||||
141
legacy/polybar/scripts/spotify_status.py
Executable file
141
legacy/polybar/scripts/spotify_status.py
Executable file
@@ -0,0 +1,141 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
import dbus
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
'-t',
|
||||
'--trunclen',
|
||||
type=int,
|
||||
metavar='trunclen'
|
||||
)
|
||||
parser.add_argument(
|
||||
'-f',
|
||||
'--format',
|
||||
type=str,
|
||||
metavar='custom format',
|
||||
dest='custom_format'
|
||||
)
|
||||
parser.add_argument(
|
||||
'-p',
|
||||
'--playpause',
|
||||
type=str,
|
||||
metavar='play-pause indicator',
|
||||
dest='play_pause'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--font',
|
||||
type=str,
|
||||
metavar='the index of the font to use for the main label',
|
||||
dest='font'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--playpause-font',
|
||||
type=str,
|
||||
metavar='the index of the font to use to display the playpause indicator',
|
||||
dest='play_pause_font'
|
||||
)
|
||||
parser.add_argument(
|
||||
'-q',
|
||||
'--quiet',
|
||||
action='store_true',
|
||||
help="if set, don't show any output when the current song is paused",
|
||||
dest='quiet',
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
def fix_string(string):
|
||||
# corrects encoding for the python version used
|
||||
if sys.version_info.major == 3:
|
||||
return string
|
||||
else:
|
||||
return string.encode('utf-8')
|
||||
|
||||
|
||||
def truncate(name, trunclen):
|
||||
if len(name) > trunclen:
|
||||
name = name[:trunclen]
|
||||
name += '...'
|
||||
if ('(' in name) and (')' not in name):
|
||||
name += ')'
|
||||
return name
|
||||
|
||||
|
||||
|
||||
# Default parameters
|
||||
output = fix_string(u'{play_pause} {artist}: {song}')
|
||||
trunclen = 60
|
||||
play_pause = fix_string(u'\u25B6,\u23F8') # first character is play, second is paused
|
||||
|
||||
label_with_font = '%{{T{font}}}{label}%{{T-}}'
|
||||
font = args.font
|
||||
play_pause_font = args.play_pause_font
|
||||
|
||||
quiet = args.quiet
|
||||
|
||||
# parameters can be overwritten by args
|
||||
if args.trunclen is not None:
|
||||
trunclen = args.trunclen
|
||||
if args.custom_format is not None:
|
||||
output = args.custom_format
|
||||
if args.play_pause is not None:
|
||||
play_pause = args.play_pause
|
||||
|
||||
try:
|
||||
session_bus = dbus.SessionBus()
|
||||
spotify_bus = session_bus.get_object(
|
||||
'org.mpris.MediaPlayer2.spotify',
|
||||
'/org/mpris/MediaPlayer2'
|
||||
)
|
||||
|
||||
spotify_properties = dbus.Interface(
|
||||
spotify_bus,
|
||||
'org.freedesktop.DBus.Properties'
|
||||
)
|
||||
|
||||
metadata = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
|
||||
status = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'PlaybackStatus')
|
||||
|
||||
# Handle play/pause label
|
||||
|
||||
play_pause = play_pause.split(',')
|
||||
|
||||
if status == 'Playing':
|
||||
play_pause = play_pause[0]
|
||||
elif status == 'Paused':
|
||||
play_pause = play_pause[1]
|
||||
else:
|
||||
play_pause = str()
|
||||
|
||||
if play_pause_font:
|
||||
play_pause = label_with_font.format(font=play_pause_font, label=play_pause)
|
||||
|
||||
# Handle main label
|
||||
|
||||
artist = fix_string(metadata['xesam:artist'][0]) if metadata['xesam:artist'] else ''
|
||||
song = fix_string(metadata['xesam:title']) if metadata['xesam:title'] else ''
|
||||
album = fix_string(metadata['xesam:album']) if metadata['xesam:album'] else ''
|
||||
|
||||
if (quiet and status == 'Paused') or (not artist and not song and not album):
|
||||
print('')
|
||||
else:
|
||||
if font:
|
||||
artist = label_with_font.format(font=font, label=artist)
|
||||
song = label_with_font.format(font=font, label=song)
|
||||
album = label_with_font.format(font=font, label=album)
|
||||
|
||||
# Add 4 to trunclen to account for status symbol, spaces, and other padding characters
|
||||
print(truncate(output.format(artist=artist,
|
||||
song=song,
|
||||
play_pause=play_pause,
|
||||
album=album), trunclen + 4))
|
||||
|
||||
except Exception as e:
|
||||
if isinstance(e, dbus.exceptions.DBusException):
|
||||
print('')
|
||||
else:
|
||||
print(e)
|
||||
3
legacy/polybar/scripts/temp.sh
Executable file
3
legacy/polybar/scripts/temp.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "$(sensors | grep Tctl | head -1 | awk '{print $2}')"
|
||||
11
legacy/polybar/scripts/yay_updates.sh
Executable file
11
legacy/polybar/scripts/yay_updates.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! updates=$(yay -Qu 2> /dev/null | wc -l); then
|
||||
updates=0
|
||||
fi
|
||||
|
||||
if [ "$updates" -gt 0 ]; then
|
||||
echo "$updates"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
Reference in New Issue
Block a user