feat(polybar, bspwm, sxhkd): separate configs for Laptop and PC
This commit is contained in:
32
Laptop/polybar/calendar
Executable file
32
Laptop/polybar/calendar
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
send_notification() {
|
||||
TODAY=$(date '+%-d')
|
||||
HEAD=$(cal "$1" | head -n1)
|
||||
BODY=$(cal "$1" | tail -n7 | sed -z "s|$TODAY|<u><b>$TODAY</b></u>|1")
|
||||
FOOT="\n<i> ~ calendar</i> "
|
||||
dunstify -h string:x-canonical-private-synchronous:calendar \
|
||||
"$HEAD" "$BODY$FOOT" -u NORMAL
|
||||
}
|
||||
|
||||
handle_action() {
|
||||
echo "$DIFF" > "$TMP"
|
||||
if [ "$DIFF" -ge 0 ]; then
|
||||
send_notification "+$DIFF months"
|
||||
else
|
||||
send_notification "$((-DIFF)) months ago"
|
||||
fi
|
||||
}
|
||||
|
||||
TMP=${XDG_RUNTIME_DIR:-/tmp}/"$UID"_calendar_notification_month
|
||||
touch "$TMP"
|
||||
|
||||
DIFF=$(<"$TMP")
|
||||
|
||||
case $1 in
|
||||
"curr") DIFF=0;;
|
||||
"next") DIFF=$((DIFF+1));;
|
||||
"prev") DIFF=$((DIFF-1));;
|
||||
esac
|
||||
|
||||
handle_action
|
||||
348
Laptop/polybar/config.ini
Normal file
348
Laptop/polybar/config.ini
Normal file
@@ -0,0 +1,348 @@
|
||||
;==========================================================
|
||||
;
|
||||
;
|
||||
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||
;
|
||||
;
|
||||
; To learn more about how to configure Polybar
|
||||
; go to https://github.com/polybar/polybar
|
||||
;
|
||||
; The README contains a lot of information
|
||||
;
|
||||
;==========================================================
|
||||
|
||||
[colors]
|
||||
background = #333333
|
||||
background-alt = #2E2E2E
|
||||
foreground = #8C8C8C
|
||||
primary = #93D4C5
|
||||
secondary = #E0A3B6
|
||||
alert = #E7A063
|
||||
disabled = #9DA991
|
||||
|
||||
[bar/example]
|
||||
width = 100%
|
||||
height = 22pt
|
||||
|
||||
; dpi = 96
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 2pt
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 1
|
||||
|
||||
module-margin = 1
|
||||
|
||||
font-0 = "FiraCode Nerd Font Propo:size=10;2"
|
||||
|
||||
modules-left = xworkspaces
|
||||
modules-center = xwindow
|
||||
modules-right = pulseaudio xkeyboard wlan eth date calendar battery powermenu
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
enable-ipc = true
|
||||
|
||||
; wm-restack = generic
|
||||
wm-restack = bspwm
|
||||
; wm-restack = i3
|
||||
|
||||
; override-redirect = true
|
||||
|
||||
; This module is not active by default (to enable it, add it to one of the
|
||||
; modules-* list above).
|
||||
; Please note that only a single tray can exist at any time. If you launch
|
||||
; multiple bars with this module, only a single one will show it, the others
|
||||
; will produce a warning. Which bar gets the module is timing dependent and can
|
||||
; be quite random.
|
||||
; For more information, see the documentation page for this module:
|
||||
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
|
||||
|
||||
[module/systray]
|
||||
type = internal/tray
|
||||
|
||||
format-margin = 8pt
|
||||
tray-spacing = 16pt
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
label-active-underline= ${colors.primary}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:60:...%
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
|
||||
label-mounted = %{F#89A989}%mountpoint%%{F-} %percentage_used%%
|
||||
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.disabled}
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
ramp-volume-foreground = ${colors.primary}
|
||||
|
||||
format-volume = <ramp-volume> <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
label-muted = muted
|
||||
|
||||
click-right = ~/.config/rofi/volume/launch.sh
|
||||
|
||||
; Only applies if <ramp-volume> is used
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
ramp-volume-2 =
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-foreground = ${colors.primary}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-foreground = ${colors.background}
|
||||
label-indicator-background = ${colors.secondary}
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage_used:2%%
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage:2%%
|
||||
|
||||
[network-base]
|
||||
type = internal/network
|
||||
interval = 5
|
||||
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = disconnected
|
||||
|
||||
[module/wlan]
|
||||
inherit = network-base
|
||||
interface-type = wireless
|
||||
|
||||
ramp-signal-foreground = ${colors.primary}
|
||||
|
||||
format-connected = <ramp-signal> <label-connected>
|
||||
|
||||
label-connected = %essid% %local_ip%
|
||||
|
||||
ramp-signal-0 =
|
||||
ramp-signal-1 =
|
||||
ramp-signal-2 =
|
||||
ramp-signal-3 =
|
||||
ramp-signal-4 =
|
||||
ramp-signal-5 =
|
||||
|
||||
[module/eth]
|
||||
inherit = network-base
|
||||
interface-type = wired
|
||||
|
||||
format-connected = <label-connected>
|
||||
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.primary}
|
||||
|
||||
label-connected = %local_ip%
|
||||
label-connected-foreground = ${colors.foreground}
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = %H:%M
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
|
||||
[module/calendar]
|
||||
type = custom/script
|
||||
label = %output:0:15:...%
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
format = <label>
|
||||
exec = date "+%d %b %Y"
|
||||
click-left = ~/.config/polybar/calendar curr
|
||||
scroll-up = ~/.config/polybar/calendar next
|
||||
scroll-down = ~/.config/polybar/calendar prev
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
|
||||
; This is useful in case the battery never reports 100% charge
|
||||
; Default: 100
|
||||
full-at = 99
|
||||
|
||||
; format-low once this charge percentage is reached
|
||||
; Default: 10
|
||||
; New in version 3.6.0
|
||||
low-at = 5
|
||||
|
||||
; Use the following command to list batteries and adapters:
|
||||
; $ ls -1 /sys/class/power_supply/
|
||||
battery = BAT0
|
||||
adapter = ADP1
|
||||
|
||||
; If an inotify event haven't been reported in this many
|
||||
; seconds, manually poll for new values.
|
||||
;
|
||||
; Needed as a fallback for systems that don't report events
|
||||
; on sysfs/procfs.
|
||||
;
|
||||
; Disable polling by setting the interval to 0.
|
||||
;
|
||||
; Default: 5
|
||||
poll-interval = 5
|
||||
|
||||
; see "man date" for details on how to format the time string
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
; Default: %H:%M:%S
|
||||
time-format = %H:%M
|
||||
|
||||
; Available tags:
|
||||
; <label-charging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-charging>
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
|
||||
; Available tags:
|
||||
; <label-discharging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-discharging>
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
|
||||
ramp-capacity-foreground = ${colors.primary}
|
||||
|
||||
; Available tags:
|
||||
; <label-full> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
;format-full = <ramp-capacity> <label-full>
|
||||
|
||||
; Format used when battery level drops to low-at
|
||||
; If not defined, format-discharging is used instead.
|
||||
; Available tags:
|
||||
; <label-low>
|
||||
; <animation-low>
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; New in version 3.6.0
|
||||
;format-low = <label-low> <animation-low>
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
; %time%
|
||||
; %consumption% (shows current charge rate in watts)
|
||||
label-charging = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
; %time%
|
||||
; %consumption% (shows current discharge rate in watts)
|
||||
label-discharging = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
label-full = Fully charged
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
; %time%
|
||||
; %consumption% (shows current discharge rate in watts)
|
||||
; New in version 3.6.0
|
||||
label-low = BATTERY LOW
|
||||
|
||||
; Only applies if <ramp-capacity> is used
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
|
||||
; Only applies if <bar-capacity> is used
|
||||
bar-capacity-width = 10
|
||||
|
||||
; Only applies if <animation-charging> is used
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
; Framerate in milliseconds
|
||||
animation-charging-framerate = 750
|
||||
|
||||
; Only applies if <animation-discharging> is used
|
||||
animation-discharging-0 =
|
||||
animation-discharging-1 =
|
||||
animation-discharging-2 =
|
||||
animation-discharging-3 =
|
||||
animation-discharging-4 =
|
||||
; Framerate in milliseconds
|
||||
animation-discharging-framerate = 500
|
||||
|
||||
; Only applies if <animation-low> is used
|
||||
; New in version 3.6.0
|
||||
animation-low-0 = !
|
||||
animation-low-1 =
|
||||
animation-low-framerate = 200
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
pseudo-transparency = true
|
||||
|
||||
; vim:ft=dosini
|
||||
;
|
||||
[module/powermenu]
|
||||
type = custom/text
|
||||
|
||||
content = " "
|
||||
content-foreground = ${colors.primary}
|
||||
|
||||
click-left = ~/.config/rofi/power/launch.sh
|
||||
Reference in New Issue
Block a user