diff --git a/.gitignore b/.gitignore
index 2015c24..9b14de3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-i3status-go
-i3status-go.json
+/i3status-go
+/battery-test
diff --git a/cmd/i3status-go/default-config.json b/cmd/i3status-go/default-config.json
new file mode 100644
index 0000000..c96ed88
--- /dev/null
+++ b/cmd/i3status-go/default-config.json
@@ -0,0 +1,858 @@
+{
+// Default text and *block* border colors. If not set #3e78fd is used.
+"color" : "#3e78fd",
+
+// Default backbround color. If not set value of #edeceb is used.
+"background" : "#000000",
+
+// Can be omitted, then Liberation Mono will be used.
+"font": "Liberation Mono",
+
+// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+// ‘smaller’ or ‘larger’
+"font_size": "medium",
+
+"separator" : {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to #edeceb color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to #3e78fd background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to "|" (no quotes) symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to "Noto Sans" font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to #edeceb color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to #3e78fd background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to "|" (no quotes) symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to "Noto Sans" font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+},
+
+// Memory stats
+"mem" : {
+ "enabled": true,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // Do we show used swap megs?
+ "show_swap": false,
+
+ // Re-define separator parameters for net-if block here.
+ "separator" : {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ }
+},
+
+// Load Average
+"la" : {
+ "enabled": true,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // Re-define separator parameters for net-if block here.
+ "separator" : {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ }
+},
+
+"net-if" : {
+ "enabled" : false,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // Net interface down symbol color, in html notation.
+ "down_color" : "red",
+
+ // Net interface up symbol color, in html notation.
+ "up_color" : "green",
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ },
+
+ "if" : [
+ {
+ // Name as it displayed on i3bar
+ "name" : "eth0",
+
+ // Directory containing net if status files
+ "dir" : "/sys/class/net/eth0"
+ }
+ ]
+},
+
+// OpenVPN status. Note that directive status in openvpn.conf should point to state file and *update* its timestamp at
+// least as frequent as mtime_threshold in seconds.
+"vpn": {
+ "enabled": false,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // Status file location. Plugin will be disabled if this value omitted.
+ "statusfile" : "/tmp/openvpn-status.stat",
+
+ // mtime check period.
+ "mtime_threshold": 10,
+
+ // Vpn down symbol color, in html notation.
+ "down_color" : "red",
+
+ // Vpn up symbol color, in html notation.
+ "up_color" : "green",
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ },
+
+ // Also we can tcp-ping some service inside vpn network to ensure that connection is not stoned.
+ "tcp_check" : {
+ "enabled": false,
+ "host": "somehost.tld",
+ "port": 443,
+ "timeout" : 3
+ }
+},
+
+// Simple sound volume indicator
+"simple-volume-pa": {
+ "enabled": false,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ "symbol": "🔊",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to value of simple-volume-pa.font_size by default.
+ "symbol_font_size": "medium",
+
+ // If not defined - will be "true"
+ "right_click_cmd": ["pavucontrol"],
+
+ // Change volume step in %, if not configured it is 5
+ "step": 3,
+
+ // We'll change volume level with mouse wheel. Under X11 it is mapped to some buttons, typically 4 and 5 (z-axis).
+ // If omited, default value is 4
+ "wheel_up": 4,
+
+ // If omited, default value is 5
+ "wheel_down": 5,
+
+ // Maximum sound volume, can be over 100%, but sould not be :) Default value 100 if not set.
+ "max_volume_limit": 120,
+
+ // PA has annoying feature - socket activation. Sound system must persist and be available to all users regardless
+ // of init or other things. They just fail to understand that. Or they fucked up pulseaudio just because they scary
+ // of security something of resposibility. Anyway this is grand disign flaw, but we still have to bear with it.
+ // This setting defines if pulseaudion will be run in manner that allows it to exit is other login detected (how
+ // they guess it - I do not know). In general case we do not want allow pa to exit and leave our session without
+ // audio.
+ "dont_exit_on_login": true,
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ }
+},
+
+// Just clock
+"clock": {
+ "enabled" : true,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ },
+
+ "left_click" : {
+ "enabled" : false,
+ // cmd is array of command itself and its arguments
+ "cmd" : [ "orage" ]
+ },
+
+ "right_click" : {
+ "enabled" : false,
+ "cmd" : [ "true" ]
+ }
+},
+
+// Battery, useful for laptops
+"battery": {
+ "enabled": false,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // If omitted "⚡" (no quotes) is used.
+ "symbol": "⚡",
+
+ // If omitted battery.font is used.
+ "symbol_font" : "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to value of simple-volume-pa.font_size by default.
+ "symbol_font_size": "large",
+
+ "charge_color": {
+ // colors in html notation
+ "full": "green",
+ "empty": "red",
+ "almost_full": "yellow",
+ "almost_empty": "orange"
+ },
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ }
+},
+
+// CPU Temperature monitor, shows average value among given sources
+"cpu_temp": {
+ "enabled": false,
+
+ // If omitted set to default color defined up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined up here.
+ "background": "#000000",
+
+ // If omitted set to default font defined up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
+ "font_size": "medium",
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ },
+
+ // Files in sysfs that contains cpu temperatures
+ "file": [
+ "/sys/class/hwmon/hwmon4/temp2_input",
+ "/sys/class/hwmon/hwmon4/temp3_input",
+ "/sys/class/hwmon/hwmon4/temp4_input",
+ "/sys/class/hwmon/hwmon4/temp5_input",
+ "/sys/class/hwmon/hwmon4/temp6_input",
+ "/sys/class/hwmon/hwmon4/temp7_input"
+ ]
+},
+
+// Intended mainly for use with desktop notifications
+// Because it inherits all env vars from i3, it can intercat with dbus and other
+// such user session services.
+"cron" : {
+ "enabled" : false,
+
+ "tasks" : [
+ {
+ // Time in crontab notation
+ "time" : "55 23 * * *",
+ "cmd" : [
+ "notify-send", "Sleeping Time!", "Take a nap."
+ ]
+ },
+ {
+ // time in crontab format
+ "time" : "55 12 * * 2,4",
+ // commands as it should be invoked in bash script
+ "cmd" : [
+ "notify-send", "Pizza time!", "M-m-m, tasty!"
+ ]
+ }
+ ]
+},
+
+// Whether to display Application Buttons.
+"app_buttons": {
+ "enabled": true,
+
+ // Re-define separator parameters for net-if block here.
+ "separator": {
+ "left": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "▶",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ },
+
+ "right": {
+ // Set to false if omitted.
+ "enabled": true,
+
+ // If omitted set to default color defined for separator up here.
+ "color": "#3e78fd",
+
+ // If omitted set to default background color defined for separator up here.
+ "background": "#000000",
+
+ // If omitted set to default symbol defined for separator up here.
+ "symbol": "◀",
+
+ // If omitted set to default font defined for separator up here.
+ "font": "Noto Sans",
+
+ // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
+ // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
+ "font_size": "medium"
+ }
+ },
+},
+
+// Buttons - application launch "buttons"
+"apps": [
+ {
+ // Text dispalyed on button
+ "full_text" : "📂",
+ // Internal name, can be any string, but unique for each app button
+ "name" : "thunar",
+ // Command itself
+ "cmd" : "thunar",
+ // Array of command args, optional
+ "args": [ "." ],
+ // Regexp that match with Instance component of WM_CLASS(STRING) of xprop output
+ "instance": "^thunar$",
+ // Regexp that match with Class component of WM_CLASS(STRING) of xprop output
+ "class": "^Thunar$",
+ // text color in html notation
+ "color": "#ffa500",
+ // background color in html notation
+ "background" : "#000000",
+ // border color in html notation
+ "border": "#666666",
+ // border color if there is at least one window with given Instance and/or Class exist
+ "border_active": "#3e78fd",
+ // Vertical line between objects on bar - if omitted true value is assumed by i3bar, but we set it to false
+ // in that case. It is limitation of golang json parser.
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " ♬ ",
+ "name" : "deadbeef",
+ "cmd" : "deadbeef",
+ "instance" : "^deadbeef$",
+ "class" : "^Deadbeef$",
+ "color" : "#00aa33",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " Term ",
+ "name" : "xterm",
+ "cmd" : "xterm",
+ "instance" : "^xterm$",
+ "class" : "^XTerm$",
+ "color" : "#666666",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " Ff ",
+ "name" : "firefox",
+ "cmd" : "firefox",
+ "instance" : "^Navigator$",
+ "class" : "^Firefox$",
+ "color" : "#ffa500",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " C ",
+ "name" : "chrome",
+ "cmd" : "chrome",
+ "instance" : "^google-chrome$",
+ "class" : "^Google-chrome$",
+ "color" : "#ffa500",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " @ ",
+ "name" : "thunderbird",
+ "cmd" : "thunderbird",
+ "instance" : "^Mail$",
+ "class" : "^Thunderbird$",
+ "color" : "#006994",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " Tg ",
+ "name" : "telegram",
+ "cmd" : "Telegram",
+ "instance" : "^Telegram$",
+ "class" : "^TelegramDesktop$",
+ "color" : "#5a8850",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ },
+ {
+ "full_text" : " T ",
+ "name" : "mousepad",
+ "cmd" : "mousepad",
+ "instance" : "^mousepad$",
+ "class" : "^Mousepad$",
+ "border": "#666666",
+ "border_active": "#3e78fd",
+ "separator": false,
+ "separator_block_width": 2
+ }
+ ]
+}
diff --git a/cmd/i3status-go/main.go b/cmd/i3status-go/main.go
new file mode 100644
index 0000000..22c8fc7
--- /dev/null
+++ b/cmd/i3status-go/main.go
@@ -0,0 +1,584 @@
+package main
+
+import (
+ "bytes"
+ _ "embed"
+ "encoding/json"
+ "fmt"
+ "log"
+ "os"
+ "os/signal"
+ "strings"
+ "syscall"
+
+ "i3status-go/internal/lib"
+)
+
+//go:embed default-config.json
+var DefaultConfig []byte
+
+// Program entry point.
+func main() {
+ Conf, err := lib.ReadConf(DefaultConfig)
+
+ if err != nil {
+ log.Panicf("Unable to read config: %s", err)
+ }
+
+ Conf.UpdateReady = make(chan bool)
+ Conf.MsgChan = make(chan []lib.I3BarOutBlock, 64)
+ Conf.SigChan = make(chan os.Signal, 1)
+ Conf.BatteryString = "⚡ ??% •"
+ Conf.ClockTime = "Thu, 1 Jan 1970 1:00"
+ Conf.IfStatus = ""
+ Conf.VPNStatus = ""
+ Conf.Memory.Shared = 0
+ Conf.Memory.Usedpct = 0
+ Conf.Memory.Swap = 0
+ Conf.La = "-1"
+
+ // TODO: Проставить дефолтные значения для глобальных переменных модулей.
+ Batt := fmt.Sprintf(
+ "%s",
+ Conf.Battery.Color,
+ Conf.Battery.Background,
+ Conf.Battery.SymbolFont,
+ Conf.Battery.SymbolFontSize,
+ Conf.Battery.Symbol,
+ )
+
+ Batt += fmt.Sprintf(
+ " ??%% •",
+ Conf.Battery.Color,
+ Conf.Battery.Background,
+ Conf.Battery.Font,
+ Conf.Battery.FontSize,
+ )
+
+ SoundVolume := fmt.Sprintf(
+ "🔊",
+ Conf.SimpleVolumePa.Color,
+ Conf.SimpleVolumePa.Background,
+ Conf.SimpleVolumePa.SymbolFont,
+ Conf.SimpleVolumePa.SymbolFontSize,
+ )
+
+ SoundVolume += fmt.Sprintf(
+ ":0%%",
+ Conf.SimpleVolumePa.Color,
+ Conf.SimpleVolumePa.Background,
+ Conf.SimpleVolumePa.Font,
+ Conf.SimpleVolumePa.FontSize,
+ )
+
+ Clock := fmt.Sprintf(
+ "Thu, 1 Jan 1970 1:00",
+ Conf.Clock.Color,
+ Conf.Clock.Background,
+ Conf.Clock.Font,
+ Conf.Clock.FontSize,
+ )
+
+ go Conf.Spawner()
+ go Conf.ParseStdin()
+ go Conf.CleanZombies()
+ go Conf.SVPAHandler()
+ go PrintToI3bar(Conf)
+
+ if Conf.AppButtons.Enabled {
+ go Conf.UpdateI3WinList()
+ }
+
+ // Kick signal handler
+ go Conf.SigHandler()
+ signal.Notify(Conf.SigChan,
+ syscall.SIGUSR1,
+ syscall.SIGUSR2,
+ syscall.SIGQUIT,
+ syscall.SIGTERM,
+ syscall.SIGINT)
+
+ // Populate memory stats
+ if Conf.Mem.Enabled {
+ go Conf.UpdateMemStats()
+ }
+
+ // Populate LA stats
+ if Conf.LA.Enabled {
+ go Conf.UpdateLaStats()
+ }
+
+ // Populate CPUTemperature
+ if Conf.CPUTemp.Enabled {
+ go Conf.UpdateCPUTemperature()
+ }
+
+ // Populate Clock
+ if Conf.Clock.Enabled {
+ go Conf.UpdateClock()
+ }
+
+ if Conf.Battery.Enabled {
+ go Conf.UpdateBatteryInfo()
+ }
+
+ if Conf.SimpleVolumePa.Enabled {
+ go Conf.UpdateVolumeInfo()
+ }
+
+ if Conf.NetIf.Enabled {
+ go Conf.UpdateIfStatus()
+ }
+
+ if Conf.Cron.Enabled {
+ go lib.RunCron()
+ }
+
+ if Conf.Vpn.Enabled {
+ go Conf.UpdateVPNStatus()
+ }
+
+ /*
+ I3bar documentation pretends that message protocol must be valid json. In practice, we only have to print valid
+ header, empty json array and (potentially infinite) json lines (line that is valid json by itself) that is
+ actually json arrays. We do not need to *close* this json at all.
+ Gracefully closed json required when i3bar initiates our program to stop|quit, this (should) happens just before
+ i3bar itself terminating. So we don't care.
+ */
+
+ // Print header and one empty message and wait for updates
+ fmt.Printf(
+ "{\"version\": 1, \"stop_signal\": %d, \"cont_signal\": %d, \"click_events\": true}\n",
+ syscall.SIGUSR1,
+ syscall.SIGUSR2,
+ )
+
+ fmt.Println("[ [],")
+
+ for {
+ if <-Conf.UpdateReady {
+ // Actually build json struct, marshal it and print result
+ var j []lib.I3BarOutBlock
+
+ // TODO: впилить для первого и последнего батона separator
+ if Conf.AppButtons.Enabled {
+ for num, app := range Conf.Apps {
+ var b lib.I3BarOutBlock
+
+ if num == 0 {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.AppButtons.Separator.Left.Color,
+ Conf.AppButtons.Separator.Left.Background,
+ Conf.AppButtons.Separator.Left.Font,
+ Conf.AppButtons.Separator.Left.FontSize,
+ Conf.AppButtons.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText = app.FullText
+
+ if num == len(Conf.Apps) {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.AppButtons.Separator.Right.Color,
+ Conf.AppButtons.Separator.Right.Background,
+ Conf.AppButtons.Separator.Right.Font,
+ Conf.AppButtons.Separator.Right.FontSize,
+ Conf.AppButtons.Separator.Right.Symbol,
+ )
+ }
+
+ b.Background = app.Background
+ b.Color = app.Color
+ b.Instance = app.Instance
+ b.Markup = `pango`
+ b.Separator = app.Separator
+ b.SeparatorBlockWidth = app.SeparatorBlockWidth
+ b.Name = app.Name
+
+ if lib.HasWindows(app.Class, app.Instance) {
+ b.Border = app.BorderActive
+ } else {
+ b.Border = app.Border
+ }
+
+ b.BorderTop = 1
+ b.BorderRight = 1
+ b.BorderBottom = 1
+ b.BorderLeft = 1
+
+ j = append(j, b)
+ }
+ }
+
+ if Conf.CPUTemp.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Color = Conf.CPUTemp.Color
+ b.Background = Conf.CPUTemp.Background
+
+ if Conf.CPUTemp.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.CPUTemp.Separator.Left.Color,
+ Conf.CPUTemp.Separator.Left.Background,
+ Conf.CPUTemp.Separator.Left.Font,
+ Conf.CPUTemp.Separator.Left.FontSize,
+ Conf.CPUTemp.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText += fmt.Sprintf(
+ "CPU: %d°",
+ Conf.CPUTemp.Color,
+ Conf.CPUTemp.Background,
+ Conf.CPUTemp.Font,
+ Conf.CPUTemp.FontSize,
+ Conf.CPUTemperature,
+ )
+
+ if Conf.CPUTemp.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.CPUTemp.Separator.Right.Color,
+ Conf.CPUTemp.Separator.Right.Background,
+ Conf.CPUTemp.Separator.Right.Font,
+ Conf.CPUTemp.Separator.Right.FontSize,
+ Conf.CPUTemp.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.Mem.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Color = Conf.Mem.Color
+ b.Background = Conf.Mem.Background
+
+ if Conf.Mem.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.Mem.Separator.Left.Color,
+ Conf.Mem.Separator.Left.Background,
+ Conf.Mem.Separator.Left.Font,
+ Conf.Mem.Separator.Left.FontSize,
+ Conf.Mem.Separator.Left.Symbol,
+ )
+ }
+
+ if Conf.Mem.ShowSwap {
+ b.FullText += fmt.Sprintf(
+ "M:%d%% SHM:%dM SW:%dM",
+ Conf.Mem.Color,
+ Conf.Mem.Background,
+ Conf.Mem.Font,
+ Conf.Mem.FontSize,
+ Conf.Memory.Usedpct,
+ Conf.Memory.Shared,
+ Conf.Memory.Swap,
+ )
+ } else {
+ b.FullText += fmt.Sprintf(
+ "M:%d%% SHM:%dM",
+ Conf.Mem.Color,
+ Conf.Mem.Background,
+ Conf.Mem.Font,
+ Conf.Mem.FontSize,
+ Conf.Memory.Usedpct,
+ Conf.Memory.Shared,
+ )
+ }
+
+ if Conf.Mem.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.Mem.Separator.Right.Color,
+ Conf.Mem.Separator.Right.Background,
+ Conf.Mem.Separator.Right.Font,
+ Conf.Mem.Separator.Right.FontSize,
+ Conf.Mem.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.LA.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Color = Conf.LA.Color
+ b.Background = Conf.LA.Background
+
+ if Conf.LA.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.LA.Separator.Left.Color,
+ Conf.LA.Separator.Left.Background,
+ Conf.LA.Separator.Left.Font,
+ Conf.LA.Separator.Left.FontSize,
+ Conf.LA.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText += fmt.Sprintf(
+ "LA:%s",
+ Conf.LA.Color,
+ Conf.LA.Background,
+ Conf.LA.Font,
+ Conf.LA.FontSize,
+ Conf.La,
+ )
+
+ if Conf.LA.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.LA.Separator.Right.Color,
+ Conf.LA.Separator.Right.Background,
+ Conf.LA.Separator.Right.Font,
+ Conf.LA.Separator.Right.FontSize,
+ Conf.LA.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.NetIf.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Color = Conf.NetIf.Color
+ b.Background = Conf.NetIf.Background
+
+ if Conf.NetIf.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.NetIf.Separator.Left.Color,
+ Conf.NetIf.Separator.Left.Background,
+ Conf.NetIf.Separator.Left.Font,
+ Conf.NetIf.Separator.Left.FontSize,
+ Conf.NetIf.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.NetIf.Color,
+ Conf.NetIf.Background,
+ Conf.NetIf.Font,
+ Conf.NetIf.FontSize,
+ Conf.IfStatus,
+ )
+
+ if Conf.NetIf.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.NetIf.Separator.Right.Color,
+ Conf.NetIf.Separator.Right.Background,
+ Conf.NetIf.Separator.Right.Font,
+ Conf.NetIf.Separator.Right.FontSize,
+ Conf.NetIf.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.Vpn.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Color = Conf.Vpn.Color
+ b.Background = Conf.Vpn.Background
+
+ if Conf.Vpn.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.Vpn.Separator.Left.Color,
+ Conf.Vpn.Separator.Left.Background,
+ Conf.Vpn.Separator.Left.Font,
+ Conf.Vpn.Separator.Left.FontSize,
+ Conf.Vpn.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.Vpn.Color,
+ Conf.Vpn.Background,
+ Conf.Vpn.Font,
+ Conf.Vpn.FontSize,
+ Conf.VPNStatus,
+ )
+
+ if Conf.Vpn.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.Vpn.Separator.Right.Color,
+ Conf.Vpn.Separator.Right.Background,
+ Conf.Vpn.Separator.Right.Font,
+ Conf.Vpn.Separator.Right.FontSize,
+ Conf.Vpn.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.Battery.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Color = Conf.Battery.Color
+ b.Background = Conf.Battery.Background
+
+ if Conf.Battery.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.Battery.Separator.Left.Color,
+ Conf.Battery.Separator.Left.Background,
+ Conf.Battery.Separator.Left.Font,
+ Conf.Battery.Separator.Left.FontSize,
+ Conf.Battery.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText += Conf.BatteryString
+
+ if Conf.Battery.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.Battery.Separator.Right.Color,
+ Conf.Battery.Separator.Right.Background,
+ Conf.Battery.Separator.Right.Font,
+ Conf.Battery.Separator.Right.FontSize,
+ Conf.Battery.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.SimpleVolumePa.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Name = "simple-volume-pa"
+ b.Color = Conf.SimpleVolumePa.Color
+ b.Background = Conf.SimpleVolumePa.Background
+
+ if Conf.SimpleVolumePa.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.SimpleVolumePa.Separator.Left.Color,
+ Conf.SimpleVolumePa.Separator.Left.Background,
+ Conf.SimpleVolumePa.Separator.Left.Font,
+ Conf.SimpleVolumePa.Separator.Left.FontSize,
+ Conf.SimpleVolumePa.Separator.Left.Symbol,
+ )
+ }
+
+ // Pango format is already applied in plugin src.
+ b.FullText += SoundVolume
+
+ if Conf.SimpleVolumePa.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.SimpleVolumePa.Separator.Right.Color,
+ Conf.SimpleVolumePa.Separator.Right.Background,
+ Conf.SimpleVolumePa.Separator.Right.Font,
+ Conf.SimpleVolumePa.Separator.Right.FontSize,
+ Conf.SimpleVolumePa.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.Clock.Enabled {
+ var b lib.I3BarOutBlock
+
+ b.Name = `wallclock`
+ b.Color = Conf.Clock.Color
+ b.Background = Conf.Clock.Background
+
+ if Conf.Clock.Separator.Left.Enabled {
+ b.FullText = fmt.Sprintf(
+ "%s",
+ Conf.Clock.Separator.Left.Color,
+ Conf.Clock.Separator.Left.Background,
+ Conf.Clock.Separator.Left.Font,
+ Conf.Clock.Separator.Left.FontSize,
+ Conf.Clock.Separator.Left.Symbol,
+ )
+ }
+
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.Clock.Color,
+ Conf.Clock.Background,
+ Conf.Clock.Font,
+ Conf.Clock.FontSize,
+ Clock,
+ )
+
+ if Conf.Clock.Separator.Right.Enabled {
+ b.FullText += fmt.Sprintf(
+ "%s",
+ Conf.Clock.Separator.Right.Color,
+ Conf.Clock.Separator.Right.Background,
+ Conf.Clock.Separator.Right.Font,
+ Conf.Clock.Separator.Right.FontSize,
+ Conf.Clock.Separator.Right.Symbol,
+ )
+ }
+
+ b.Markup = "pango"
+ b.Separator = false
+
+ j = append(j, b)
+ }
+
+ if Conf.PrintOutput && len(j) > 0 {
+ Conf.MsgChan <- j
+ }
+ }
+ }
+}
+
+// PrintToI3bar prints info to stdout according to ipc docs (https://i3wm.org/docs/i3bar-protocol.html)
+func PrintToI3bar(c lib.MyConfig) {
+ for message := range c.MsgChan {
+ // we do not need to html-encode output, json.Marshal does this forcefully, so invent our own Marshal
+ buf := new(bytes.Buffer)
+ encoder := json.NewEncoder(buf)
+ encoder.SetEscapeHTML(false)
+ err := encoder.Encode(message)
+
+ if err != nil {
+ log.Printf("Unable to json-encode message, %s\n", err)
+ }
+
+ fmt.Println(strings.TrimSuffix(buf.String(), "\n") + ",")
+ }
+}
diff --git a/configs/i3status-go-example.json b/configs/i3status-go-example.json
deleted file mode 100644
index c96ed88..0000000
--- a/configs/i3status-go-example.json
+++ /dev/null
@@ -1,858 +0,0 @@
-{
-// Default text and *block* border colors. If not set #3e78fd is used.
-"color" : "#3e78fd",
-
-// Default backbround color. If not set value of #edeceb is used.
-"background" : "#000000",
-
-// Can be omitted, then Liberation Mono will be used.
-"font": "Liberation Mono",
-
-// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
-// ‘smaller’ or ‘larger’
-"font_size": "medium",
-
-"separator" : {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to #edeceb color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to #3e78fd background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to "|" (no quotes) symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to "Noto Sans" font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to #edeceb color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to #3e78fd background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to "|" (no quotes) symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to "Noto Sans" font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
-},
-
-// Memory stats
-"mem" : {
- "enabled": true,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // Do we show used swap megs?
- "show_swap": false,
-
- // Re-define separator parameters for net-if block here.
- "separator" : {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- }
-},
-
-// Load Average
-"la" : {
- "enabled": true,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // Re-define separator parameters for net-if block here.
- "separator" : {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- }
-},
-
-"net-if" : {
- "enabled" : false,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // Net interface down symbol color, in html notation.
- "down_color" : "red",
-
- // Net interface up symbol color, in html notation.
- "up_color" : "green",
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- },
-
- "if" : [
- {
- // Name as it displayed on i3bar
- "name" : "eth0",
-
- // Directory containing net if status files
- "dir" : "/sys/class/net/eth0"
- }
- ]
-},
-
-// OpenVPN status. Note that directive status in openvpn.conf should point to state file and *update* its timestamp at
-// least as frequent as mtime_threshold in seconds.
-"vpn": {
- "enabled": false,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // Status file location. Plugin will be disabled if this value omitted.
- "statusfile" : "/tmp/openvpn-status.stat",
-
- // mtime check period.
- "mtime_threshold": 10,
-
- // Vpn down symbol color, in html notation.
- "down_color" : "red",
-
- // Vpn up symbol color, in html notation.
- "up_color" : "green",
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- },
-
- // Also we can tcp-ping some service inside vpn network to ensure that connection is not stoned.
- "tcp_check" : {
- "enabled": false,
- "host": "somehost.tld",
- "port": 443,
- "timeout" : 3
- }
-},
-
-// Simple sound volume indicator
-"simple-volume-pa": {
- "enabled": false,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- "symbol": "🔊",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to value of simple-volume-pa.font_size by default.
- "symbol_font_size": "medium",
-
- // If not defined - will be "true"
- "right_click_cmd": ["pavucontrol"],
-
- // Change volume step in %, if not configured it is 5
- "step": 3,
-
- // We'll change volume level with mouse wheel. Under X11 it is mapped to some buttons, typically 4 and 5 (z-axis).
- // If omited, default value is 4
- "wheel_up": 4,
-
- // If omited, default value is 5
- "wheel_down": 5,
-
- // Maximum sound volume, can be over 100%, but sould not be :) Default value 100 if not set.
- "max_volume_limit": 120,
-
- // PA has annoying feature - socket activation. Sound system must persist and be available to all users regardless
- // of init or other things. They just fail to understand that. Or they fucked up pulseaudio just because they scary
- // of security something of resposibility. Anyway this is grand disign flaw, but we still have to bear with it.
- // This setting defines if pulseaudion will be run in manner that allows it to exit is other login detected (how
- // they guess it - I do not know). In general case we do not want allow pa to exit and leave our session without
- // audio.
- "dont_exit_on_login": true,
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- }
-},
-
-// Just clock
-"clock": {
- "enabled" : true,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- },
-
- "left_click" : {
- "enabled" : false,
- // cmd is array of command itself and its arguments
- "cmd" : [ "orage" ]
- },
-
- "right_click" : {
- "enabled" : false,
- "cmd" : [ "true" ]
- }
-},
-
-// Battery, useful for laptops
-"battery": {
- "enabled": false,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // If omitted "⚡" (no quotes) is used.
- "symbol": "⚡",
-
- // If omitted battery.font is used.
- "symbol_font" : "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to value of simple-volume-pa.font_size by default.
- "symbol_font_size": "large",
-
- "charge_color": {
- // colors in html notation
- "full": "green",
- "empty": "red",
- "almost_full": "yellow",
- "almost_empty": "orange"
- },
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- }
-},
-
-// CPU Temperature monitor, shows average value among given sources
-"cpu_temp": {
- "enabled": false,
-
- // If omitted set to default color defined up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined up here.
- "background": "#000000",
-
- // If omitted set to default font defined up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined up here.
- "font_size": "medium",
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- },
-
- // Files in sysfs that contains cpu temperatures
- "file": [
- "/sys/class/hwmon/hwmon4/temp2_input",
- "/sys/class/hwmon/hwmon4/temp3_input",
- "/sys/class/hwmon/hwmon4/temp4_input",
- "/sys/class/hwmon/hwmon4/temp5_input",
- "/sys/class/hwmon/hwmon4/temp6_input",
- "/sys/class/hwmon/hwmon4/temp7_input"
- ]
-},
-
-// Intended mainly for use with desktop notifications
-// Because it inherits all env vars from i3, it can intercat with dbus and other
-// such user session services.
-"cron" : {
- "enabled" : false,
-
- "tasks" : [
- {
- // Time in crontab notation
- "time" : "55 23 * * *",
- "cmd" : [
- "notify-send", "Sleeping Time!", "Take a nap."
- ]
- },
- {
- // time in crontab format
- "time" : "55 12 * * 2,4",
- // commands as it should be invoked in bash script
- "cmd" : [
- "notify-send", "Pizza time!", "M-m-m, tasty!"
- ]
- }
- ]
-},
-
-// Whether to display Application Buttons.
-"app_buttons": {
- "enabled": true,
-
- // Re-define separator parameters for net-if block here.
- "separator": {
- "left": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "▶",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- },
-
- "right": {
- // Set to false if omitted.
- "enabled": true,
-
- // If omitted set to default color defined for separator up here.
- "color": "#3e78fd",
-
- // If omitted set to default background color defined for separator up here.
- "background": "#000000",
-
- // If omitted set to default symbol defined for separator up here.
- "symbol": "◀",
-
- // If omitted set to default font defined for separator up here.
- "font": "Noto Sans",
-
- // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
- // ‘smaller’ or ‘larger’. If omitted set to default font size defined for separator up here.
- "font_size": "medium"
- }
- },
-},
-
-// Buttons - application launch "buttons"
-"apps": [
- {
- // Text dispalyed on button
- "full_text" : "📂",
- // Internal name, can be any string, but unique for each app button
- "name" : "thunar",
- // Command itself
- "cmd" : "thunar",
- // Array of command args, optional
- "args": [ "." ],
- // Regexp that match with Instance component of WM_CLASS(STRING) of xprop output
- "instance": "^thunar$",
- // Regexp that match with Class component of WM_CLASS(STRING) of xprop output
- "class": "^Thunar$",
- // text color in html notation
- "color": "#ffa500",
- // background color in html notation
- "background" : "#000000",
- // border color in html notation
- "border": "#666666",
- // border color if there is at least one window with given Instance and/or Class exist
- "border_active": "#3e78fd",
- // Vertical line between objects on bar - if omitted true value is assumed by i3bar, but we set it to false
- // in that case. It is limitation of golang json parser.
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " ♬ ",
- "name" : "deadbeef",
- "cmd" : "deadbeef",
- "instance" : "^deadbeef$",
- "class" : "^Deadbeef$",
- "color" : "#00aa33",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " Term ",
- "name" : "xterm",
- "cmd" : "xterm",
- "instance" : "^xterm$",
- "class" : "^XTerm$",
- "color" : "#666666",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " Ff ",
- "name" : "firefox",
- "cmd" : "firefox",
- "instance" : "^Navigator$",
- "class" : "^Firefox$",
- "color" : "#ffa500",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " C ",
- "name" : "chrome",
- "cmd" : "chrome",
- "instance" : "^google-chrome$",
- "class" : "^Google-chrome$",
- "color" : "#ffa500",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " @ ",
- "name" : "thunderbird",
- "cmd" : "thunderbird",
- "instance" : "^Mail$",
- "class" : "^Thunderbird$",
- "color" : "#006994",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " Tg ",
- "name" : "telegram",
- "cmd" : "Telegram",
- "instance" : "^Telegram$",
- "class" : "^TelegramDesktop$",
- "color" : "#5a8850",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- },
- {
- "full_text" : " T ",
- "name" : "mousepad",
- "cmd" : "mousepad",
- "instance" : "^mousepad$",
- "class" : "^Mousepad$",
- "border": "#666666",
- "border_active": "#3e78fd",
- "separator": false,
- "separator_block_width": 2
- }
- ]
-}
diff --git a/configs/i3status-go-example.json b/configs/i3status-go-example.json
new file mode 120000
index 0000000..297e1f1
--- /dev/null
+++ b/configs/i3status-go-example.json
@@ -0,0 +1 @@
+/home/eleksir/git/i3status-go/cmd/i3status-go/default-config.json
\ No newline at end of file