os/+arch: lemonbar => polybar
This commit is contained in:
parent
77a3678f7e
commit
a74aebbc98
|
@ -1,8 +1,7 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# lemonbar
|
||||
~/.config/panel/panel >~/.config/panel/panel.log 2>&1 &
|
||||
|
||||
# top-bar
|
||||
pgrep -x polybar >/dev/null || polybar main >~/.config/polybar/polybar.log 2>&1 &
|
||||
|
||||
#
|
||||
# Appearance
|
||||
|
@ -54,17 +53,17 @@ primary=$(bspc query -M -m prmary)
|
|||
host=$(hostname)
|
||||
case $host in
|
||||
triton*)
|
||||
{
|
||||
bspc monitor DVI-I-1 -n C
|
||||
bspc monitor HDMI-0 -n R
|
||||
bspc monitor DVI-D-0 -n L
|
||||
} >/dev/null 2>&1
|
||||
# {
|
||||
# bspc monitor DVI-I-1 -n C
|
||||
# bspc monitor HDMI-0 -n R
|
||||
# bspc monitor DVI-D-0 -n L
|
||||
# } >/dev/null 2>&1
|
||||
|
||||
bspc monitor C -d C/{1,2,3,4,5}
|
||||
[[ $nmon > 1 ]] && bspc monitor R -d R/1
|
||||
[[ $nmon > 2 ]] && bspc monitor L -d L/1
|
||||
bspc monitor DVI-I-1 -d {1,2,3,4,5}
|
||||
[[ $nmon > 1 ]] && bspc monitor HDMI-0 -d HDMI-0/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
|
||||
;;
|
||||
|
|
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
|
||||
|
||||
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)
|
||||
super + m
|
||||
bspc node -d C/5
|
||||
bspc node -d 5
|
||||
|
||||
|
||||
#
|
||||
|
|
|
@ -62,7 +62,9 @@ if [[ -z $SERVER ]]; then
|
|||
# Window manager
|
||||
$pacaur -S bspwm sxhkd compton
|
||||
# Taskbar
|
||||
$pacaur -S lemonbar-xft-git sutils-git dunst libnotify
|
||||
$pacaur -S xcb-proto polybar
|
||||
# Notifications
|
||||
$pacaur -S dunst libnotify
|
||||
# Utilities
|
||||
$pacaur -S rofi feh sxiv maim slop-opengl neofetch-git pass youtube-dl xdotool
|
||||
# Apps
|
||||
|
|
Loading…
Reference in a new issue