-
Notifications
You must be signed in to change notification settings - Fork 17
/
goblocks-full.yml
162 lines (139 loc) · 6.04 KB
/
goblocks-full.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# Full Goblocks config example with all available block types and options.
# The global section contains global config options.
global:
# debug is a boolean indicating whether or not to pretty print the json
# output. Note that this setting requires a restart in order to take
# effect.
debug: False
# refresh_interval is a floating point number indicating the time interval
# in seconds between when Goblocks sends an updated status line to i3bar.
# Basically, it controls Goblocks' "frame rate". This value defaults to 1.
# Note that this value also serves as the default update_interval value for
# each block.
refresh_interval: 1
# Below is the per-block configuration. The blocks are defined in a YAML array.
# Each block must have a type field indicating which status indicator to use for
# that block. Different status indicators can have different configuration
# fields.
# Each block may optionally have an update_interval field indicating the time
# interval in seconds between block updates. This is a floating point number,
# allowing for fractions of a second. Note that this interval does not affect
# the refresh rate of Goblocks' output; it only impacts the timing in which a
# block's info gets updated. If update_interval is omitted, then the
# refresh_interval value in the global section is used as the update_interval.
# Each block may optionally have a label field indicating a prefix string to
# prepend to the block's status text.
# If a block has an update_signal field, then that block will be updated and
# Goblocks refreshed when Goblocks receives an RTMIN signal offset by the given
# signal number. See the volume block config.
# For example, if update_signal is 1, then running 'pkill -RTMIN+1 goblocks'
# will cause Goblocks to update the block and refresh.
# The update_signal value must be 1 or greater.
# Blocks may optionally have a color field that specifies the default color of
# the block text, using the 6 digit hex RGB format (e.g. #00ff00 for green).
blocks:
# The key block shows statuses of various toggled keys (caps lock, num lock,
# etc.)
- type: key
update_interval: 60
update_signal: 1
# The key field is the key name to search for in the "xset q" output.
key: Caps Lock
# The key-text field is the text to display in the block.
key-text: Caps
# on-color and off-color indicate which colors to use when the given key
# is on or off, respectively.
on-color: "#ff0000"
off-color: "#222222"
# This block requires a passwordless sudoers entry for the user running
# goblocks.
# E.g. ALL ALL = (root) NOPASSWD: /sbin/zpool
# Also, the zpool utility must be installed and in your $PATH.
- type: zfs
label: "Z: "
zpool_name: "boot"
update_interval: 60
# Only linux mdraid is supported.
- type: raid
label: "R: "
color: "#00ff00"
# The disk block is an aggregate status of overall filesystem usage.
- type: disk
label: "D: "
# filesystems is a map of strings to floating point numbers. The strings
# are the filesystems you want to check, and the numbers are the
# critical usage percentages for those filesystems.
filesystems:
/: 90
/home: 90
- type: load
label: "L: "
crit_load: 4
# The memory block displays available memory.
- type: memory
label: "M: "
crit_mem: 1
- type: temperature
# cpu_temp_path is the path to the "hwmon" directory of the CPU
# temperature info.
cpu_temp_path: /sys/devices/platform/coretemp.0/hwmon
crit_temp: 50
- type: interface
label: "E: "
interface_name: enp3s0
# interface_format is a format string that allows you to specify which
# interface info to display. The syntax for this string is described here:
# https://golang.org/pkg/text/template/
# These are the supported values:
# * Status - whether the interface is up or down
# * Ipv4Addr - IPv4 address
# * Ipv4Cidr - IPv4 address in CIDR notation
# * Ipv4LocalAddr - link local IPv4 address
# * Ipv4LocalCidr - link local IPv4 address in CIDR notation
# * Ipv6Addr - IPv6 address
# * Ipv6Cidr - IPv6 address in CIDR notation
# * Ipv6LocalAddr - link local IPv6 address
# * Ipv6LocalCidr - link local IPv6 address in CIDR notation
# The default value for interface_format is "{{.Status}}"
interface_format: "{{.Status}}, {{.Ipv4Cidr}}"
- type: interface
label: "W: "
interface_name: wlp4s2
- type: wifi
label: "W: "
interface_name: wlp3s0
crit_quality: 30
- type: battery
label: "B0: "
# The battery number can be found in /sys/class/power_supply/
battery_number: 0
crit_battery: 20
# The volume block currently supports Pulse or ALSA channels through amixer.
# The amixer utility must be installed and in your $PATH.
- type: volume
update_interval: 60
label: "V: "
update_signal: 1
# mixer_device defines the device name to use. If omitted, the default
# value is "default". Other possible values include "pulse".
mixer_device: default
# channel defines the volume channel to monitor. If omitted, the default
# value is "Master".
channel: Master
- type: uptime
update_interval: 0.5
label: "U: "
# duration_format is a format string whose syntax is defined here:
# https://github.com/davidscholberg/go-durationfmt#duration-format
duration_format: "%d days, %0h:%0m:%0s"
- type: time
update_interval: 0.5
# The time_format value must be a string in Go's standard time format
# (see https://golang.org/pkg/time/#pkg-constants).
time_format: 2006-01-02 15:04:05
# Specify a shell command to display output from.
# Command flags are supported, complex commands with quotes or pipe
# characters should be executed from a script file.
- type: command
label: "$ "
command: 'date -u'