Further polybar customization
This commit is contained in:
@@ -32,12 +32,17 @@ padding-left = 0
|
|||||||
padding-right = 0
|
padding-right = 0
|
||||||
module-margin-left = 0
|
module-margin-left = 0
|
||||||
|
|
||||||
|
separator = |
|
||||||
|
separator-padding = .5
|
||||||
|
separator-foreground = ${colours.trans}
|
||||||
|
separator-background = ${colours.trans}
|
||||||
|
|
||||||
[bar/bottom]
|
[bar/bottom]
|
||||||
inherit = bar/base
|
inherit = bar/base
|
||||||
bottom = true
|
bottom = true
|
||||||
|
|
||||||
modules-left = workspaces
|
modules-left = workspaces
|
||||||
modules-right = bluetooth paddinglite volume paddinglite battery
|
modules-right = wireless bluetooth volume battery
|
||||||
|
|
||||||
tray-position = center
|
tray-position = center
|
||||||
tray-maxsize = 28
|
tray-maxsize = 28
|
||||||
@@ -46,6 +51,6 @@ tray-maxsize = 28
|
|||||||
inherit = bar/base
|
inherit = bar/base
|
||||||
bottom = false
|
bottom = false
|
||||||
|
|
||||||
modules-left =
|
modules-left = spotify
|
||||||
modules-center = date
|
modules-center = date
|
||||||
modules-right = i3-mode
|
modules-right = i3-mode
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ orange- = #FEB548
|
|||||||
orange = #F18F01
|
orange = #F18F01
|
||||||
orange+ = #A26201
|
orange+ = #A26201
|
||||||
|
|
||||||
|
apricot = #FFCAB1
|
||||||
|
|
||||||
rose- = #CC8FA0
|
rose- = #CC8FA0
|
||||||
rose = #AB4E68
|
rose = #AB4E68
|
||||||
rose+ = #7E3A4D
|
rose+ = #7E3A4D
|
||||||
@@ -64,6 +66,18 @@ volume-fg = ${colours.white}
|
|||||||
muted-bg = ${colours.rose-}
|
muted-bg = ${colours.rose-}
|
||||||
muted-fg = ${colours.white}
|
muted-fg = ${colours.white}
|
||||||
|
|
||||||
|
[colours/wireless]
|
||||||
|
connected-bg = ${colours.apricot}
|
||||||
|
connected-fg = ${colours.gray}
|
||||||
|
disconnected-bg = ${colours.apricot}
|
||||||
|
disconnected-fg = ${colours.gray}
|
||||||
|
packetloss-bg = ${colours.apricot}
|
||||||
|
packetloss-fg = ${colours.gray}
|
||||||
|
|
||||||
[colours/bluetooth]
|
[colours/bluetooth]
|
||||||
bg = ${colours.blue}
|
bg = ${colours.blue}
|
||||||
fg = ${colours.white}
|
fg = ${colours.white}
|
||||||
|
|
||||||
|
[colours/spotify]
|
||||||
|
bg = ${colours.green}
|
||||||
|
fg = ${colours.gray}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
[module/bluetooth]
|
[module/bluetooth]
|
||||||
type = custom/script
|
type = custom/script
|
||||||
exec = scripts/bluetooth.sh
|
exec = ~/.config/polybar/scripts/bluetooth.sh
|
||||||
interval = 5
|
interval = 5
|
||||||
click-left = scripts/bluetooth.sh --toggle &
|
click-left = ~/.config/polybar/scripts/bluetooth.sh --toggle &
|
||||||
|
|
||||||
format-background = ${colours/bluetooth.bg}
|
format-background = ${colours/bluetooth.bg}
|
||||||
format-foreground = ${colours/bluetooth.fg}
|
format-foreground = ${colours/bluetooth.fg}
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
[module/padding]
|
|
||||||
type = custom/text
|
|
||||||
content = ||
|
|
||||||
content-padding = 1
|
|
||||||
content-foreground = ${colours.trans}
|
|
||||||
content-background = ${colours.trans}
|
|
||||||
|
|
||||||
[module/paddinglite]
|
|
||||||
type = custom/text
|
|
||||||
content = |
|
|
||||||
content-padding = .5
|
|
||||||
content-foreground = ${colours.trans}
|
|
||||||
content-background = ${colours.trans}
|
|
||||||
8
config/.config/polybar/bars/modules/spotify.ini
Normal file
8
config/.config/polybar/bars/modules/spotify.ini
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[module/spotify]
|
||||||
|
type = custom/script
|
||||||
|
exec = ~/.config/polybar/scripts/spotify.sh
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
format-background = ${colours/spotify.bg}
|
||||||
|
format-foreground = ${colours/spotify.fg}
|
||||||
|
format-padding = 1
|
||||||
28
config/.config/polybar/bars/modules/wireless.ini
Normal file
28
config/.config/polybar/bars/modules/wireless.ini
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[module/wireless]
|
||||||
|
type = internal/network
|
||||||
|
interface-type = wireless
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
accumulate-stats = true
|
||||||
|
;unknown-as-up = true
|
||||||
|
|
||||||
|
; The unit used for displaying network speeds
|
||||||
|
; For example if set to the empty string, a speed of 5 KB/s is displayed as 5 K
|
||||||
|
speed-unit = ''
|
||||||
|
|
||||||
|
format-connected = <label-connected>
|
||||||
|
label-connected = %essid% (%local_ip%)
|
||||||
|
label-connected-background = ${colours/wireless.connected-bg}
|
||||||
|
label-connected-foreground = ${colours/wireless.connected-fg}
|
||||||
|
label-connected-padding = 1
|
||||||
|
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
label-disconnected = not connected
|
||||||
|
label-disconnected-background = ${colours/wireless.disconnected-bg}
|
||||||
|
label-disconnected-foreground = ${colours/wireless.disconnected-fg}
|
||||||
|
label-disconnected-padding = 1
|
||||||
|
|
||||||
|
format-packetloss = <label-connected>*
|
||||||
|
label-packetloss-background = ${colours/wireless.packetloss-bg}
|
||||||
|
label-packetloss-foreground = ${colours/wireless.packetloss-fg}
|
||||||
|
label-packetloss-padding = 1
|
||||||
@@ -25,7 +25,8 @@ bluetooth_print() {
|
|||||||
|
|
||||||
printf '\n'
|
printf '\n'
|
||||||
else
|
else
|
||||||
echo ""
|
# ""
|
||||||
|
echo ""
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
20
config/.config/polybar/scripts/spotify.sh
Executable file
20
config/.config/polybar/scripts/spotify.sh
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
main() {
|
||||||
|
pgrep spotify -l | grep -v spotify.sh > /dev/null || return
|
||||||
|
|
||||||
|
cmd="org.freedesktop.DBus.Properties.Get"
|
||||||
|
domain="org.mpris.MediaPlayer2"
|
||||||
|
path="/org/mpris/MediaPlayer2"
|
||||||
|
|
||||||
|
meta=$(dbus-send --print-reply --dest=${domain}.spotify /org/mpris/MediaPlayer2 ${cmd} string:${domain}.Player string:Metadata)
|
||||||
|
|
||||||
|
# Normal track
|
||||||
|
artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g' | sed 's#\/#\\/#g')
|
||||||
|
album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1| sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
|
||||||
|
title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
|
||||||
|
|
||||||
|
echo "阮 ${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed "s/\&/\&/g" | sed "s#\/#\/#g"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
@@ -26,6 +26,7 @@ in {
|
|||||||
|
|
||||||
xdg.configFile."polybar/config.ini".source = ../../../config/.config/polybar/config.ini;
|
xdg.configFile."polybar/config.ini".source = ../../../config/.config/polybar/config.ini;
|
||||||
xdg.configFile."polybar/bars".source = ../../../config/.config/polybar/bars;
|
xdg.configFile."polybar/bars".source = ../../../config/.config/polybar/bars;
|
||||||
|
xdg.configFile."polybar/scripts".source = ../../../config/.config/polybar/scripts;
|
||||||
|
|
||||||
systemd.user.services.polybar = {
|
systemd.user.services.polybar = {
|
||||||
Unit = {
|
Unit = {
|
||||||
@@ -36,7 +37,7 @@ in {
|
|||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
Environment = "PATH=${polybar_pkg}/bin:/run/wrappers/bin";
|
PassEnvironment = "PATH";
|
||||||
ExecStart =
|
ExecStart =
|
||||||
let scriptPkg = pkgs.writeShellScriptBin "polybar-start" script;
|
let scriptPkg = pkgs.writeShellScriptBin "polybar-start" script;
|
||||||
in "${scriptPkg}/bin/polybar-start";
|
in "${scriptPkg}/bin/polybar-start";
|
||||||
|
|||||||
Reference in New Issue
Block a user