Merge branch 'master' of git.9iron.club:salt/home
This commit is contained in:
commit
0331148d7a
@ -1,99 +0,0 @@
|
|||||||
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
|
|
||||||
|
|
||||||
conky.config = {
|
|
||||||
own_window = true,
|
|
||||||
own_window_title = 'Conky',
|
|
||||||
own_window_class = 'Conky',
|
|
||||||
own_window_type = 'desktop',
|
|
||||||
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
|
|
||||||
own_window_argb_visual = true,
|
|
||||||
own_window_transparent = true,
|
|
||||||
own_window_colour = '000000',
|
|
||||||
|
|
||||||
double_buffer = true,
|
|
||||||
cpu_avg_samples = 2,
|
|
||||||
net_avg_samples = 2,
|
|
||||||
no_buffers = true,
|
|
||||||
update_interval = 1,
|
|
||||||
|
|
||||||
use_xft = true,
|
|
||||||
font = 'Roboto:style=Light:size=9',
|
|
||||||
default_color = '#fffcf6',
|
|
||||||
color1 = '383c4a', -- Background
|
|
||||||
color2 = 'fffcf6', -- Foreground
|
|
||||||
color3 = '4b5162', -- Background-alt
|
|
||||||
color4 = '11d116', -- Green (Battery)
|
|
||||||
color6 = '1abc9c', -- Cyan (Network)
|
|
||||||
color7 = 'fdbc4b', -- Yellow (Disk)
|
|
||||||
color8 = '1d99f3', -- Blue (CPU)
|
|
||||||
color9 = '9b59b6', -- Magenta (Memory)
|
|
||||||
|
|
||||||
alignment = 'bottom_right',
|
|
||||||
xinerama_head = 0,
|
|
||||||
minimum_height = 0,
|
|
||||||
minimum_width = 304,
|
|
||||||
border_width = 0,
|
|
||||||
border_outer_margin = 1,
|
|
||||||
border_inner_margin = 16,
|
|
||||||
gap_x = 32,
|
|
||||||
gap_y = 48,
|
|
||||||
|
|
||||||
format_human_readable = true,
|
|
||||||
temperature_unit = "celsius",
|
|
||||||
if_up_strictness = "link",
|
|
||||||
|
|
||||||
default_bar_height = 11,
|
|
||||||
default_bar_width = 130,
|
|
||||||
default_graph_height = 36,
|
|
||||||
draw_borders = true,
|
|
||||||
draw_outline = false,
|
|
||||||
draw_graph_borders = true,
|
|
||||||
draw_shades = false
|
|
||||||
}
|
|
||||||
|
|
||||||
conky.text = [[
|
|
||||||
${font Roboto:style=Light:size=30}$alignr${no_update $nodename_short}$font
|
|
||||||
${font Roboto:style=Light:size=17}$alignr${time %I:%M %p}$font
|
|
||||||
${font Roboto:style=Light:size=12}${acpitemp}°C$alignr${time %A, %B %d, %Y}$font
|
|
||||||
${color3}$hr$color
|
|
||||||
${font Roboto:style=Medium:size=9}CPU$font: $freq_g GHz$alignr$cpu%
|
|
||||||
${color8}${cpugraph cpu1 36,200} ${cpugraph cpu2 36,200}
|
|
||||||
${cpugraph cpu3 36,200} ${cpugraph cpu4 36,200}$color
|
|
||||||
${color8}${top name 1}$color$alignr${top cpu 1}%
|
|
||||||
${color8}${top name 2}$color$alignr${top cpu 2}%
|
|
||||||
${color8}${top name 3}$color$alignr${top cpu 3}%
|
|
||||||
${color8}${top name 4}$color$alignr${top cpu 4}%
|
|
||||||
${color3}$hr$color
|
|
||||||
${font Roboto:style=Medium:size=9}Memory$font: $mem / $memmax used$alignr$memperc%
|
|
||||||
${color9}${memgraph}$color
|
|
||||||
Memory$alignr$memeasyfree ${color9}${membar}$color
|
|
||||||
Swap$alignr$swapfree ${color9}${swapbar}$color
|
|
||||||
${color9}${top_mem name 1}$color$alignr${top_mem mem 1}%
|
|
||||||
${color9}${top_mem name 2}$color$alignr${top_mem mem 2}%
|
|
||||||
${color9}${top_mem name 3}$color$alignr${top_mem mem 3}%
|
|
||||||
${color9}${top_mem name 4}$color$alignr${top_mem mem 4}%
|
|
||||||
${color3}$hr$color
|
|
||||||
${font Roboto:style=Medium:size=9}Disk$font (R/W):$alignr${diskio /dev/sda}
|
|
||||||
${color7}${diskiograph_read /dev/sda 36,200} ${diskiograph_write /dev/sda 36,200}$color
|
|
||||||
/$alignr${fs_free /} ${color7}${fs_bar /}$color
|
|
||||||
/home$alignr${fs_free /home} ${color7}${fs_bar /home}$color
|
|
||||||
/boot$alignr${fs_free /boot} ${color7}${fs_bar /boot}$color
|
|
||||||
/boot/efi$alignr${fs_free /boot/efi} ${color7}${fs_bar /boot/efi}$color
|
|
||||||
${color7}${top_io name 1}$color$alignr${top_io io_perc 1}%
|
|
||||||
${color7}${top_io name 2}$color$alignr${top_io io_perc 2}%
|
|
||||||
${color7}${top_io name 3}$color$alignr${top_io io_perc 3}%
|
|
||||||
${color7}${top_io name 4}$color$alignr${top_io io_perc 4}%
|
|
||||||
${color3}$hr$color
|
|
||||||
${font Roboto:style=Medium:size=9}Network$font:${alignr}Default $gw_iface${if_up wlp1s0}
|
|
||||||
wlp1s0 (U/D):$alignr${addr wlp1s0} / ${wireless_essid wlp1s0}
|
|
||||||
${color6}${upspeedgraph wlp1s0 36,200} ${downspeedgraph wlp1s0 36,200}$color$endif${if_up wlp5s0}
|
|
||||||
wlp5s0 (U/D):$alignr${addr wlp5s0} / ${wireless_essid wlp5s0}
|
|
||||||
${color6}${upspeedgraph wlp5s0 36,200} ${downspeedgraph wlp5s0 36,200}$color$endif${if_up enp0s31f6}
|
|
||||||
enp0s31f6 (U/D):$alignr${addr enp0s31f6}
|
|
||||||
${color6}${upspeedgraph enp0s31f6 36,200} ${downspeedgraph enp0s31f6 36,200}$color$endif${if_up eno1}
|
|
||||||
eno1 (U/D):$alignr${addr eno1}
|
|
||||||
${color6}${upspeedgraph eno1 36,200} ${downspeedgraph eno1 36,200}$color$endif${if_up enp0s20f0u2}
|
|
||||||
enp0s20f0u2 (U/D):$alignr${addr enp0s20f0u2}
|
|
||||||
${color6}${upspeedgraph enp0s20f0u2 36,200} ${downspeedgraph enp0s20f0u2 36,200}$color$endif
|
|
||||||
]]
|
|
||||||
|
|
307
.config/conky/gen.sh
Executable file
307
.config/conky/gen.sh
Executable file
@ -0,0 +1,307 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
# _
|
||||||
|
# ___ ___ _ __ | | ___ _ __ _ ___ _ __
|
||||||
|
# / __/ _ \| '_ \| |/ / | | |/ _` |/ _ \ '_ \
|
||||||
|
# | (_| (_) | | | | <| |_| | (_| | __/ | | |
|
||||||
|
# \___\___/|_| |_|_|\_\\__, |\__, |\___|_| |_|
|
||||||
|
# |___/ |___/
|
||||||
|
#
|
||||||
|
# conkygen.sh
|
||||||
|
# Create a Conky configuration file dynamically
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 Vintage Salt <rehashedsalt@cock.li>
|
||||||
|
# Distributed under the terms of the MIT License
|
||||||
|
#
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Read-only set-once variables
|
||||||
|
declare -r _name="$(basename -- "$0")"
|
||||||
|
# Options
|
||||||
|
declare _optout="./conky.conf"
|
||||||
|
declare -i _opthelp
|
||||||
|
declare -i _optverbose
|
||||||
|
# Working variables
|
||||||
|
declare -a _args
|
||||||
|
declare _return
|
||||||
|
|
||||||
|
# Helper functions
|
||||||
|
log() {
|
||||||
|
# Print a line to the terminal if _optverbose is greater than $2
|
||||||
|
# $2 defaults to 0
|
||||||
|
# loglevel 0: Daily-use messages
|
||||||
|
# loglevel 1: Detailed but not quite debugging
|
||||||
|
# loglevel 2: Definitely debugging
|
||||||
|
[ -z "$1" ] && return 1
|
||||||
|
if (( _optverbose >= ${2:-0} )); then
|
||||||
|
printf "%s\\n" "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
warn() {
|
||||||
|
# Print a yellow line to the terminal, respecting _optverbose
|
||||||
|
[ -z "$1" ] && return 1
|
||||||
|
if (( _optverbose >= ${2:-0} )); then
|
||||||
|
if [ -t 1 ]; then
|
||||||
|
printf "\\e[33m%s\\e[0m\\n" "$1"
|
||||||
|
else
|
||||||
|
printf "WARN: %s\\n" "$1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
error() {
|
||||||
|
# Print a red line to the terminal, exit if $2 is specified
|
||||||
|
[ -z "$1" ] && return 1
|
||||||
|
if [ -t 2 ]; then
|
||||||
|
printf "\\e[31m%s\\e[0m\\n" "$1" 1>&2
|
||||||
|
else
|
||||||
|
printf "ERROR: %s\\n" "$1" 1>&2
|
||||||
|
fi
|
||||||
|
[ -z "$2" ] && return
|
||||||
|
exit "${2:-1}"
|
||||||
|
}
|
||||||
|
has() {
|
||||||
|
# Parse out all arguments and try to find them in path
|
||||||
|
# If an argument cannot be found, set _return and fail
|
||||||
|
for prog in "$@"; do
|
||||||
|
if ! command -v "$prog" > /dev/null 2>&1; then
|
||||||
|
_return="$prog"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Core program functions
|
||||||
|
printhelp() {
|
||||||
|
cat << EOF
|
||||||
|
Usage: $_name [OPTION]...
|
||||||
|
Generate a conky.conf configuration file in the current directory
|
||||||
|
|
||||||
|
-o Specify output file. Defaults to ./conky.conf
|
||||||
|
-h Print this help text
|
||||||
|
-v Print more status messages. Stacks
|
||||||
|
|
||||||
|
Copyright (c) 2020 rehashedsalt@cock.li
|
||||||
|
Licensed under the MIT license
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
step_header() {
|
||||||
|
# Clobber output file with header
|
||||||
|
cat << EOF > "$_optout"
|
||||||
|
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
|
||||||
|
-- WARNING:
|
||||||
|
-- This file was generated with conkygen. See gen.sh if you need to edit this!
|
||||||
|
-- Any changes you make here can and probably will be clobbered!
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
step_config() {
|
||||||
|
# Append config to the output file
|
||||||
|
cat << EOF >> "$_optout"
|
||||||
|
conky.config = {
|
||||||
|
own_window = true,
|
||||||
|
own_window_title = 'Conky',
|
||||||
|
own_window_class = 'Conky',
|
||||||
|
own_window_type = 'desktop',
|
||||||
|
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
|
||||||
|
own_window_argb_visual = true,
|
||||||
|
own_window_transparent = true,
|
||||||
|
own_window_colour = '000000',
|
||||||
|
|
||||||
|
double_buffer = true,
|
||||||
|
cpu_avg_samples = 2,
|
||||||
|
net_avg_samples = 2,
|
||||||
|
no_buffers = true,
|
||||||
|
update_interval = 1,
|
||||||
|
|
||||||
|
use_xft = true,
|
||||||
|
font = 'Roboto:style=Light:size=9',
|
||||||
|
default_color = '#fffcf6',
|
||||||
|
color1 = '383c4a', -- Background
|
||||||
|
color2 = 'fffcf6', -- Foreground
|
||||||
|
color3 = '4b5162', -- Background-alt
|
||||||
|
color4 = '11d116', -- Green (Battery)
|
||||||
|
color6 = '1abc9c', -- Cyan (Network)
|
||||||
|
color7 = 'fdbc4b', -- Yellow (Disk)
|
||||||
|
color8 = '1d99f3', -- Blue (CPU)
|
||||||
|
color9 = '9b59b6', -- Magenta (Memory)
|
||||||
|
|
||||||
|
alignment = 'bottom_right',
|
||||||
|
xinerama_head = 0,
|
||||||
|
minimum_height = 0,
|
||||||
|
minimum_width = 304,
|
||||||
|
border_width = 0,
|
||||||
|
border_outer_margin = 1,
|
||||||
|
border_inner_margin = 16,
|
||||||
|
gap_x = 32,
|
||||||
|
gap_y = 48,
|
||||||
|
|
||||||
|
format_human_readable = true,
|
||||||
|
temperature_unit = "celsius",
|
||||||
|
if_up_strictness = "link",
|
||||||
|
|
||||||
|
default_bar_height = 11,
|
||||||
|
default_bar_width = 130,
|
||||||
|
default_graph_height = 36,
|
||||||
|
draw_borders = true,
|
||||||
|
draw_outline = false,
|
||||||
|
draw_graph_borders = true,
|
||||||
|
draw_shades = false
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
step_text() {
|
||||||
|
local -r topitems=4
|
||||||
|
local -r nproc="$(nproc)"
|
||||||
|
# Generate our actual functional Conky stuff
|
||||||
|
# Header
|
||||||
|
cat <<- 'EOF' >> "$_optout"
|
||||||
|
conky.text = [[
|
||||||
|
${font Roboto:style=Light:size=30}$alignr${no_update $nodename_short}$font
|
||||||
|
${font Roboto:style=Light:size=17}$alignr${time %I:%M %p}$font
|
||||||
|
${font Roboto:style=Light:size=12}${acpitemp}°C$alignr${time %A, %B %d, %Y}$font
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# CPU info
|
||||||
|
cat <<- 'EOF' >> "$_optout"
|
||||||
|
${color3}$hr$color
|
||||||
|
${font Roboto:style=Medium:size=9}CPU$font: $freq_g GHz$alignr$cpu%
|
||||||
|
EOF
|
||||||
|
local gpl=1
|
||||||
|
if (( nproc <= 2 )); then
|
||||||
|
gpl=1
|
||||||
|
elif (( nproc <= 4 )); then
|
||||||
|
gpl=2
|
||||||
|
elif (( nproc <= 8 )); then
|
||||||
|
gpl=4
|
||||||
|
else
|
||||||
|
gpl=8
|
||||||
|
fi
|
||||||
|
local width=$(( 400 / gpl ))
|
||||||
|
log "Generating $gpl graphs per row of CPU core stats" 1
|
||||||
|
log "Graphs will be $width wide" 2
|
||||||
|
local cpuinfo
|
||||||
|
for i in $(seq 1 "$gpl" "$nproc"); do
|
||||||
|
# Generate lines
|
||||||
|
local line
|
||||||
|
for j in $(seq 0 $(( gpl - 1 ))); do
|
||||||
|
# Generate graphs
|
||||||
|
local cpu=$(( i + j ))
|
||||||
|
log "Generating graph for CPU $cpu" 2
|
||||||
|
if [ -z "$line" ]; then
|
||||||
|
line="\${cpugraph cpu$cpu 36,$width}"
|
||||||
|
else
|
||||||
|
line="$line \${cpugraph cpu$cpu 36,$width}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Trim whitespace
|
||||||
|
line="\${color8}${line%" "}\$color"
|
||||||
|
log "Appending line: $line" 2
|
||||||
|
cpuinfo="$cpuinfo$line\n"
|
||||||
|
unset line
|
||||||
|
done
|
||||||
|
while [ "$cpuinfo" != "${cpuinfo%\\n}" ]; do
|
||||||
|
cpuinfo="${cpuinfo%\\n}"
|
||||||
|
done
|
||||||
|
echo -e "$cpuinfo" >> "$_optout"
|
||||||
|
for i in $(seq $topitems); do
|
||||||
|
echo "\${color8}\${top name $i}\$color\$alignr\${top cpu $i}%" >> "$_optout"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Memory info
|
||||||
|
cat <<- 'EOF' >> "$_optout"
|
||||||
|
${color3}$hr$color
|
||||||
|
${font Roboto:style=Medium:size=9}Memory$font: $mem / $memmax used$alignr$memperc%
|
||||||
|
${color9}${memgraph}$color
|
||||||
|
Memory$alignr$memeasyfree ${color9}${membar}$color
|
||||||
|
EOF
|
||||||
|
if [ -n "$(swapon)" ]; then
|
||||||
|
echo "Swap\$alignr\$swapfree \${color9}\${swapbar}\$color" >> "$_optout"
|
||||||
|
fi
|
||||||
|
for i in $(seq $topitems); do
|
||||||
|
echo "\${color9}\${top_mem name $i}\$color\$alignr\${top_mem mem $i}%" >> "$_optout"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Disk info
|
||||||
|
cat <<- 'EOF' >> "$_optout"
|
||||||
|
${color3}$hr$color
|
||||||
|
${font Roboto:style=Medium:size=9}Disk$font (R/W):$alignr${diskio /dev/sda}
|
||||||
|
${color7}${diskiograph_read /dev/sda 36,200} ${diskiograph_write /dev/sda 36,200}$color
|
||||||
|
EOF
|
||||||
|
# Mountpoint detection
|
||||||
|
for mountpoint in / /home /var /usr /opt /boot /boot/efi; do
|
||||||
|
if mountpoint $mountpoint > /dev/null 2>&1; then
|
||||||
|
echo "$mountpoint\$alignr\${fs_free $mountpoint} \${color7}\${fs_bar $mountpoint}\$color" >> "$_optout"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for i in $(seq $topitems); do
|
||||||
|
echo "\${color7}\${top_io name $i}\$color\$alignr\${top_io io_perc $i}%" >> "$_optout"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
cat <<-'EOF' >>"$_optout"
|
||||||
|
${color3}$hr$color
|
||||||
|
${font Roboto:style=Medium:size=9}Network$font:${alignr}Default $gw_iface${if_up wlp1s0}
|
||||||
|
EOF
|
||||||
|
for interface in $(iw dev | awk '$1=="Interface"{print $2}'); do
|
||||||
|
cat <<- EOF >>"$_optout"
|
||||||
|
$interface (U/D): \$alignr\${addr $interface} / \${wireless_essid $interface}
|
||||||
|
\${color6}\${upspeedgraph $interface 36,200} \${downspeedgraph $interface 36,200}\$color
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
echo "]]" >> "$_optout"
|
||||||
|
}
|
||||||
|
genconfig() {
|
||||||
|
log "Generating config: $_optout"
|
||||||
|
step_header
|
||||||
|
step_config
|
||||||
|
step_text
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main
|
||||||
|
main() {
|
||||||
|
# Parse out arguments
|
||||||
|
while [ -n "$1" ]; do
|
||||||
|
# Parse out flags
|
||||||
|
while getopts ":ho:v" opt; do
|
||||||
|
case $opt in
|
||||||
|
o)
|
||||||
|
_optout="$OPTARG"
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
_opthelp=1
|
||||||
|
;;
|
||||||
|
v)
|
||||||
|
_optverbose+=1
|
||||||
|
;;
|
||||||
|
:)
|
||||||
|
error "Option requires argument: -$OPTARG" 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error "Invalid option: -$OPTARG" 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
# Store arguments
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
_args+=("$1")
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
unset OPTIND
|
||||||
|
done
|
||||||
|
# Early hook for help
|
||||||
|
[ -n "$_opthelp" ] && printhelp && exit 0
|
||||||
|
# Validate critical options
|
||||||
|
# TODO: That
|
||||||
|
# Validate core program dependencies
|
||||||
|
log "Validating dependencies" 2
|
||||||
|
if ! has awk basename iw seq; then
|
||||||
|
error "Failed to find program: $_return" 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Do the do
|
||||||
|
genconfig
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
|
|
@ -3,5 +3,7 @@
|
|||||||
:
|
:
|
||||||
# Note: the dumb sleep hack is because Conky crashes with window_type override if the WM hasn't loaded yet
|
# Note: the dumb sleep hack is because Conky crashes with window_type override if the WM hasn't loaded yet
|
||||||
# This gives the WM ample time to load up
|
# This gives the WM ample time to load up
|
||||||
|
command -v conky && [ -r "${XDG_CONFIG_HOME:-/home/salt/.config}/conky/gen.sh" ]
|
||||||
|
sleep 5 && "${XDG_CONFIG_HOME:-/home/salt/.config}/conky/gen.sh" && conky
|
||||||
command -v conky && [ -r "${XDG_CONFIG_HOME:-/home/salt/.config}/conky/conky.conf" ]
|
command -v conky && [ -r "${XDG_CONFIG_HOME:-/home/salt/.config}/conky/conky.conf" ]
|
||||||
sleep 5 && conky
|
sleep 5 && conky
|
||||||
|
@ -143,7 +143,6 @@ label-empty-padding = 4
|
|||||||
[module/cpu]
|
[module/cpu]
|
||||||
type = internal/cpu
|
type = internal/cpu
|
||||||
interval = 1
|
interval = 1
|
||||||
|
|
||||||
format = <bar-load>
|
format = <bar-load>
|
||||||
format-prefix = "CPU: "
|
format-prefix = "CPU: "
|
||||||
format-prefix-foreground = ${res/colors.blue}
|
format-prefix-foreground = ${res/colors.blue}
|
||||||
|
@ -66,7 +66,9 @@ step_wait() {
|
|||||||
# Main
|
# Main
|
||||||
main() {
|
main() {
|
||||||
# Dirty hack for i3
|
# Dirty hack for i3
|
||||||
|
if pgrep -x i3 > /dev/null 2>&1; then
|
||||||
sleep 2
|
sleep 2
|
||||||
|
fi
|
||||||
step_fallback
|
step_fallback
|
||||||
step_configure
|
step_configure
|
||||||
step_spawn_primary
|
step_spawn_primary
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit b2fe18239d862120778175c0e1a768c74a5cb6c0
|
Subproject commit db11ae8bf0a13d6b01dd5f2b5a3e401b33d3c8fc
|
Loading…
Reference in New Issue
Block a user