os/+arch: lemonbar => polybar
This commit is contained in:
parent
77a3678f7e
commit
a74aebbc98
|
@ -1,8 +1,7 @@
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
# lemonbar
|
# top-bar
|
||||||
~/.config/panel/panel >~/.config/panel/panel.log 2>&1 &
|
pgrep -x polybar >/dev/null || polybar main >~/.config/polybar/polybar.log 2>&1 &
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Appearance
|
# Appearance
|
||||||
|
@ -54,17 +53,17 @@ primary=$(bspc query -M -m prmary)
|
||||||
host=$(hostname)
|
host=$(hostname)
|
||||||
case $host in
|
case $host in
|
||||||
triton*)
|
triton*)
|
||||||
{
|
# {
|
||||||
bspc monitor DVI-I-1 -n C
|
# bspc monitor DVI-I-1 -n C
|
||||||
bspc monitor HDMI-0 -n R
|
# bspc monitor HDMI-0 -n R
|
||||||
bspc monitor DVI-D-0 -n L
|
# bspc monitor DVI-D-0 -n L
|
||||||
} >/dev/null 2>&1
|
# } >/dev/null 2>&1
|
||||||
|
|
||||||
bspc monitor C -d C/{1,2,3,4,5}
|
bspc monitor DVI-I-1 -d {1,2,3,4,5}
|
||||||
[[ $nmon > 1 ]] && bspc monitor R -d R/1
|
[[ $nmon > 1 ]] && bspc monitor HDMI-0 -d HDMI-0/1
|
||||||
[[ $nmon > 2 ]] && bspc monitor L -d L/1
|
[[ $nmon > 2 ]] && bspc monitor DVI-D-0 -d DVI-D-0/1
|
||||||
|
|
||||||
bspc config -m C top_padding 30
|
bspc config -m DVI-I-1 top_padding 30
|
||||||
;;
|
;;
|
||||||
*) bspc monitor "$primary" -n C
|
*) bspc monitor "$primary" -n C
|
||||||
;;
|
;;
|
||||||
|
|
398
os/+arch/.config/polybar/config
Normal file
398
os/+arch/.config/polybar/config
Normal file
|
@ -0,0 +1,398 @@
|
||||||
|
;=====================================================
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/jaagr/polybar
|
||||||
|
;
|
||||||
|
; The README contains alot of information
|
||||||
|
;
|
||||||
|
;=====================================================
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = #8801040b
|
||||||
|
background-alt = #22252c
|
||||||
|
foreground = #e5e8e6
|
||||||
|
foreground-alt = #55
|
||||||
|
primary = #ffb52a
|
||||||
|
secondary = #e60053
|
||||||
|
alert = ${xrdb:color5}
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 4
|
||||||
|
margin-bottom = 5
|
||||||
|
|
||||||
|
[bar/main]
|
||||||
|
monitor = "DVI-I-1"
|
||||||
|
width = 100%
|
||||||
|
height = 29
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
|
||||||
|
;background = ${xrdb:color9}
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
overline-size = 2
|
||||||
|
overline-color = #f00
|
||||||
|
underline-size = 2
|
||||||
|
underline-color = #00f
|
||||||
|
|
||||||
|
border-bottom-size = 0
|
||||||
|
border-bottom-color = #333
|
||||||
|
|
||||||
|
spacing = 2
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 2
|
||||||
|
module-margin-left = 2
|
||||||
|
module-margin-right = 2
|
||||||
|
|
||||||
|
font-0 = "Fira Sans:fontformat=truetype:style=Bold:size=10;1"
|
||||||
|
font-1 = "Fira Mono:fontformat=truetype:style=Bold:size=10;1"
|
||||||
|
font-2 = FontAwesome:fontformat=truetype:size=10.5;1
|
||||||
|
|
||||||
|
modules-left = bspwm
|
||||||
|
modules-center = xwindow
|
||||||
|
; modules-right = volume date redshift
|
||||||
|
modules-right = pkg mail volume date redshift powermenu
|
||||||
|
|
||||||
|
;tray-position = center
|
||||||
|
tray-padding = 2
|
||||||
|
;tray-transparent = true
|
||||||
|
;tray-background = #0063ff
|
||||||
|
|
||||||
|
wm-restack = bspwm
|
||||||
|
;wm-restack = i3
|
||||||
|
|
||||||
|
override-redirect = true
|
||||||
|
|
||||||
|
;scroll-up = bspwm-desknext
|
||||||
|
;scroll-down = bspwm-deskprev
|
||||||
|
|
||||||
|
;scroll-up = i3wm-wsnext
|
||||||
|
;scroll-down = i3wm-wsprev
|
||||||
|
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:60:...%
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
|
||||||
|
format-underline = ${colors.secondary}
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
label-layout = %layout%
|
||||||
|
|
||||||
|
label-indicator-padding = 2
|
||||||
|
label-indicator-background = ${colors.secondary}
|
||||||
|
label-indicator-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 25
|
||||||
|
|
||||||
|
mount-0 = /
|
||||||
|
mount-1 = /home
|
||||||
|
mount-2 = /invalid/mountpoint
|
||||||
|
|
||||||
|
label-mounted = %mountpoint%: %percentage_free%
|
||||||
|
|
||||||
|
label-unmounted = %mountpoint%: not mounted
|
||||||
|
label-unmounted-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
|
||||||
|
pin-workspaces = true
|
||||||
|
enable-click = true
|
||||||
|
|
||||||
|
ws-icon-0 = 1;
|
||||||
|
ws-icon-1 = 2;
|
||||||
|
ws-icon-2 = 3;
|
||||||
|
ws-icon-3 = 4;
|
||||||
|
ws-icon-4 = 5;
|
||||||
|
ws-icon-default = x
|
||||||
|
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
|
||||||
|
label-focused = %icon%
|
||||||
|
label-focused-background = ${colors.background-alt}
|
||||||
|
label-focused-underline= ${colors.primary}
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
label-occupied = %icon%
|
||||||
|
label-occupied-padding = 2
|
||||||
|
|
||||||
|
label-urgent = %icon%
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
label-empty = %icon%
|
||||||
|
label-empty-foreground = ${colors.foreground-alt}
|
||||||
|
label-empty-padding = 2
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
index-sort = true
|
||||||
|
wrapping-scroll = false
|
||||||
|
|
||||||
|
label-mode-padding = 2
|
||||||
|
label-mode-foreground = #000
|
||||||
|
label-mode-background = ${colors.primary}
|
||||||
|
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${module/bspwm.label-focused-background}
|
||||||
|
label-focused-underline = ${module/bspwm.label-focused-underline}
|
||||||
|
label-focused-padding = ${module/bspwm.label-focused-padding}
|
||||||
|
|
||||||
|
label-unfocused = %index%
|
||||||
|
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
|
||||||
|
|
||||||
|
label-urgent = %index%!
|
||||||
|
label-urgent-background = ${module/bspwm.label-urgent-background}
|
||||||
|
label-urgent-padding = ${module/bspwm.label-urgent-padding}
|
||||||
|
|
||||||
|
label-visible = %index%
|
||||||
|
label-visible-background = ${self.label-focused-background}
|
||||||
|
label-visible-underline = ${self.label-focused-underline}
|
||||||
|
label-visible-padding = ${self.label-focused-padding}
|
||||||
|
|
||||||
|
[module/mpd]
|
||||||
|
type = internal/mpd
|
||||||
|
host = /home/hlissner/.config/mpd/mpd.sock
|
||||||
|
|
||||||
|
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> <icon-random>
|
||||||
|
|
||||||
|
label-song-maxlen = 35
|
||||||
|
label-song-ellipsis = true
|
||||||
|
|
||||||
|
icon-prev =
|
||||||
|
icon-seekb =
|
||||||
|
icon-stop =
|
||||||
|
icon-play =
|
||||||
|
icon-pause =
|
||||||
|
icon-next =
|
||||||
|
icon-seekf =
|
||||||
|
|
||||||
|
icon-random =
|
||||||
|
icon-repeat =
|
||||||
|
|
||||||
|
toggle-on-foreground = ${colors.primary}
|
||||||
|
toggle-off-foreground = #66
|
||||||
|
|
||||||
|
[module/backlight]
|
||||||
|
type = internal/xbacklight
|
||||||
|
|
||||||
|
format = <label> <bar>
|
||||||
|
label = BL
|
||||||
|
|
||||||
|
bar-width = 10
|
||||||
|
bar-indicator = │
|
||||||
|
bar-indicator-foreground = #ff
|
||||||
|
bar-indicator-font = 2
|
||||||
|
bar-fill = ─
|
||||||
|
bar-fill-font = 2
|
||||||
|
bar-fill-foreground = #9f78e1
|
||||||
|
bar-empty = ─
|
||||||
|
bar-empty-font = 2
|
||||||
|
bar-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline = #f90000
|
||||||
|
label = %percentage%
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline = #4bffdc
|
||||||
|
label = %percentage_used%
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface =
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <ramp-signal> <label-connected>
|
||||||
|
format-connected-underline = #9f78e1
|
||||||
|
format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
|
||||||
|
label-connected = %essid%
|
||||||
|
label-disconnected = %ifname% disconnected
|
||||||
|
label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/eth]
|
||||||
|
type = internal/network
|
||||||
|
interface = enp0s31f6
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected-underline = #55aa55
|
||||||
|
format-connected-prefix = " "
|
||||||
|
format-connected-foreground-foreground = ${colors.foreground-alt}
|
||||||
|
label-connected = %local_ip%
|
||||||
|
|
||||||
|
format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
label-disconnected = %ifname% disconnected
|
||||||
|
label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
date = " %A, %h %d"
|
||||||
|
date-alt = " %Y-%m-%d"
|
||||||
|
|
||||||
|
time = " %I:%M %p"
|
||||||
|
time-alt = %H:%M:%S
|
||||||
|
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline = #0a6cf5
|
||||||
|
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
[module/volume]
|
||||||
|
type = internal/volume
|
||||||
|
|
||||||
|
format-volume = <label-volume> <bar-volume>
|
||||||
|
label-volume = " "
|
||||||
|
label-volume-foreground = ${root.foreground}
|
||||||
|
|
||||||
|
format-muted-prefix = " "
|
||||||
|
format-muted-foreground = ${colors.foreground-alt}
|
||||||
|
label-muted = sound muted
|
||||||
|
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-foreground-0 = #55aa55
|
||||||
|
bar-volume-foreground-1 = #55aa55
|
||||||
|
bar-volume-foreground-2 = #55aa55
|
||||||
|
bar-volume-foreground-3 = #55aa55
|
||||||
|
bar-volume-foreground-4 = #55aa55
|
||||||
|
bar-volume-foreground-5 = #f5a70a
|
||||||
|
bar-volume-foreground-6 = #ff5555
|
||||||
|
bar-volume-gradient = false
|
||||||
|
bar-volume-indicator = │
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-indicator-foreground = #ff
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
battery = BAT0
|
||||||
|
adapter = ADP1
|
||||||
|
full-at = 98
|
||||||
|
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
format-charging-underline = #ffb52a
|
||||||
|
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
format-discharging-underline = ${self.format-charging-underline}
|
||||||
|
|
||||||
|
format-full-prefix = " "
|
||||||
|
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-full-underline = ${self.format-charging-underline}
|
||||||
|
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
[module/temperature]
|
||||||
|
type = internal/temperature
|
||||||
|
thermal-zone = 0
|
||||||
|
warn-temperature = 60
|
||||||
|
|
||||||
|
format = <ramp> <label>
|
||||||
|
format-underline = #f50a4d
|
||||||
|
format-warn = <ramp> <label-warn>
|
||||||
|
format-warn-underline = ${self.format-underline}
|
||||||
|
|
||||||
|
label = %temperature%
|
||||||
|
label-warn = %temperature%
|
||||||
|
label-warn-foreground = ${colors.secondary}
|
||||||
|
|
||||||
|
ramp-0 =
|
||||||
|
ramp-1 =
|
||||||
|
ramp-2 =
|
||||||
|
ramp-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
label-open =
|
||||||
|
label-open-foreground = ${colors.primary}
|
||||||
|
label-close =
|
||||||
|
label-close-foreground = ${colors.secondary}
|
||||||
|
label-separator = |
|
||||||
|
label-separator-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
; reboot
|
||||||
|
menu-0-0 =
|
||||||
|
menu-0-0-exec = menu-open-1
|
||||||
|
; power off
|
||||||
|
menu-0-1 =
|
||||||
|
menu-0-1-exec = menu-open-2
|
||||||
|
|
||||||
|
; cancel
|
||||||
|
menu-1-0 =
|
||||||
|
menu-1-0-exec = menu-open-0
|
||||||
|
; reboot
|
||||||
|
menu-1-1 =
|
||||||
|
menu-1-1-exec = sudo reboot
|
||||||
|
|
||||||
|
; power off
|
||||||
|
menu-2-0 =
|
||||||
|
menu-2-0-exec = sudo poweroff
|
||||||
|
; cancel
|
||||||
|
menu-2-1 =
|
||||||
|
menu-2-1-exec = menu-open-0
|
||||||
|
|
||||||
|
; Custom scripts
|
||||||
|
[module/pkg]
|
||||||
|
type = custom/script
|
||||||
|
interval = 1200
|
||||||
|
format = <label>
|
||||||
|
format-underline = #dc322f
|
||||||
|
label = "%output:0:30%"
|
||||||
|
exec = ~/.config/polybar/modules/updates
|
||||||
|
exec-if = "ping -q -w 2 -c 1 176.34.135.167 >/dev/null"
|
||||||
|
|
||||||
|
[module/mail]
|
||||||
|
type = custom/script
|
||||||
|
interval = 120
|
||||||
|
format = <label>
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
exec = ~/.config/polybar/modules/mail
|
||||||
|
|
||||||
|
[module/redshift]
|
||||||
|
type = custom/script
|
||||||
|
interval = 30
|
||||||
|
format-prefix = " "
|
||||||
|
exec = ~/.config/polybar/modules/redshift
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
28
os/+arch/.config/polybar/modules/mail
Executable file
28
os/+arch/.config/polybar/modules/mail
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import imaplib
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
ICON = ""
|
||||||
|
CONFIG_FILE = os.path.expanduser("~/.private/config/email")
|
||||||
|
|
||||||
|
COLOR_HL = "B48EAD"
|
||||||
|
COLOR_NONE = "65737E"
|
||||||
|
COLOR_ERR = "D08770"
|
||||||
|
|
||||||
|
n = 0
|
||||||
|
if os.path.isfile(CONFIG_FILE):
|
||||||
|
with open(CONFIG_FILE) as fp:
|
||||||
|
for line in fp:
|
||||||
|
addr, pwd = line.strip().split(",")
|
||||||
|
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)
|
||||||
|
obj.login(addr, pwd)
|
||||||
|
obj.select()
|
||||||
|
n += len(obj.search(None, 'UnSeen')[1][0].split())
|
||||||
|
obj.close()
|
||||||
|
obj.logout()
|
||||||
|
print("%{{F#{}}}{} {}".format(COLOR_HL if n > 0 else COLOR_NONE, ICON, n))
|
||||||
|
else:
|
||||||
|
print("%{{F#{}}}{} -".format(COLOR_ERR, ICON))
|
||||||
|
sys.exit(1)
|
23
os/+arch/.config/polybar/modules/redshift
Executable file
23
os/+arch/.config/polybar/modules/redshift
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Specifying the icon(s) in the script
|
||||||
|
# This allows us to change its appearance conditionally
|
||||||
|
icon=""
|
||||||
|
|
||||||
|
pgrep -x redshift &> /dev/null
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
temp=$(redshift -p 2>/dev/null | grep temp | cut -d' ' -f3)
|
||||||
|
temp=${temp//K/}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# OPTIONAL: Append ' ${temp}K' after $icon
|
||||||
|
if [[ -z $temp ]]; then
|
||||||
|
echo "%{F#65737E}$icon" # Greyed out (not running)
|
||||||
|
elif [[ $temp -ge 5000 ]]; then
|
||||||
|
echo "%{F#8FA1B3}$icon" # Blue
|
||||||
|
elif [[ $temp -ge 4000 ]]; then
|
||||||
|
echo "%{F#EBCB8B}$icon" # Yellow
|
||||||
|
else
|
||||||
|
echo "%{F#D08770}$icon" # Orange
|
||||||
|
fi
|
||||||
|
|
8
os/+arch/.config/polybar/modules/updates
Executable file
8
os/+arch/.config/polybar/modules/updates
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
pac=$(checkupdates | wc -l)
|
||||||
|
aur=$(cower -u | wc -l)
|
||||||
|
|
||||||
|
check=$((pac + aur))
|
||||||
|
if [[ "$check" != "0" ]]; then
|
||||||
|
echo "$pac %{F#5b5b5b}%{F-} $aur"
|
||||||
|
fi
|
|
@ -108,11 +108,11 @@ super + {o,i}
|
||||||
bspc wm -h on
|
bspc wm -h on
|
||||||
|
|
||||||
super + ctrl + {_,shift +}{1-9,0}
|
super + ctrl + {_,shift +}{1-9,0}
|
||||||
bspc {desktop -f,node -d} C/{1-9,10}
|
bspc {desktop -f,node -d} {1-9,10}
|
||||||
|
|
||||||
# minimize (send to dump desktop)
|
# minimize (send to dump desktop)
|
||||||
super + m
|
super + m
|
||||||
bspc node -d C/5
|
bspc node -d 5
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -62,7 +62,9 @@ if [[ -z $SERVER ]]; then
|
||||||
# Window manager
|
# Window manager
|
||||||
$pacaur -S bspwm sxhkd compton
|
$pacaur -S bspwm sxhkd compton
|
||||||
# Taskbar
|
# Taskbar
|
||||||
$pacaur -S lemonbar-xft-git sutils-git dunst libnotify
|
$pacaur -S xcb-proto polybar
|
||||||
|
# Notifications
|
||||||
|
$pacaur -S dunst libnotify
|
||||||
# Utilities
|
# Utilities
|
||||||
$pacaur -S rofi feh sxiv maim slop-opengl neofetch-git pass youtube-dl xdotool
|
$pacaur -S rofi feh sxiv maim slop-opengl neofetch-git pass youtube-dl xdotool
|
||||||
# Apps
|
# Apps
|
||||||
|
|
Loading…
Reference in a new issue