/* See LICENSE file for copyright and license details. */
-/* alsa sound */
-static const char soundcard[] = "default";
-static const char channel[] = "Master";
+/* interval between updates (in ms) */
+const unsigned int interval = 1000;
-/* cpu temperature */
-static const char tempfile[] = "/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input";
+/* text to show if no value can be retrieved */
+static const char unknown_str[] = "n/a";
-/* wifi */
-static const char wificard[] = "wlp3s0";
+/* maximum output string length */
+#define MAXLEN 2048
-/* battery */
-static const char batterynowfile[] = "/sys/class/power_supply/BAT0/energy_now";
-static const char batteryfullfile[] = "/sys/class/power_supply/BAT0/energy_full_design";
-
-/* time */
-static const char timeformat[] = "%y-%m-%d %H:%M:%S";
-
-/* bar update interval in seconds */
-static unsigned int update_interval = 10;
-
-/* statusbar
-Possible arguments:
-- battery (battery percentage)
-- cpu_temperature (cpu temperature in degrees)
-- cpu usage (cpu usage in percent)
-- datetime (date and time)
-- ram_usage (ram usage in percent)
-- volume (alsa volume and mute status in percent)
-- wifi_signal (wifi signal in percent) */
-#define FORMATSTRING "wifi %4s | bat %4s | cpu %4s %3s | ram %3s | vol %4s | %3s"
-#define ARGUMENTS wifi_signal, battery, cpu_usage, cpu_temperature, ram_usage, volume, datetime
+/*
+ * function description argument (example)
+ *
+ * backlight_perc backlight percentage device name
+ * (intel_backlight)
+ * battery_perc battery percentage battery name (BAT0)
+ * NULL on OpenBSD
+ * battery_state battery charging state battery name (BAT0)
+ * NULL on OpenBSD
+ * battery_remaining battery remaining HH:MM battery name (BAT0)
+ * NULL on OpenBSD
+ * cpu_perc cpu usage in percent NULL
+ * cpu_freq cpu frequency in MHz NULL
+ * datetime date and time format string (%F %T)
+ * disk_free free disk space in GB mountpoint path (/)
+ * disk_perc disk usage in percent mountpoint path (/)
+ * disk_total total disk space in GB mountpoint path (/")
+ * disk_used used disk space in GB mountpoint path (/)
+ * entropy available entropy NULL
+ * gid GID of current user NULL
+ * hostname hostname NULL
+ * ipv4 IPv4 address interface name (eth0)
+ * ipv6 IPv6 address interface name (eth0)
+ * kernel_release `uname -r` NULL
+ * keyboard_indicators caps/num lock indicators NULL
+ * load_avg load average NULL
+ * netspeed_rx receive network speed interface name (wlan0)
+ * netspeed_tx transfer network speed interface name (wlan0)
+ * num_files number of files in a directory path
+ * (/home/foo/Inbox/cur)
+ * ram_free free memory in GB NULL
+ * ram_perc memory usage in percent NULL
+ * ram_total total memory size in GB NULL
+ * ram_used used memory in GB NULL
+ * run_command custom shell command command (echo foo)
+ * swap_free free swap in GB NULL
+ * swap_perc swap usage in percent NULL
+ * swap_total total swap size in GB NULL
+ * swap_used used swap in GB NULL
+ * temp temperature in degree celsius sensor file
+ * (/sys/class/thermal/...)
+ * NULL on OpenBSD
+ * uid UID of current user NULL
+ * uptime system uptime NULL
+ * username username of current user NULL
+ * vol_perc OSS/ALSA volume in percent mixer file (/dev/mixer)
+ * wifi_perc WiFi signal in percent interface name (wlan0)
+ * wifi_essid WiFi ESSID interface name (wlan0)
+ */
+static const struct arg args[] = {
+ /* function format argument */
+ { datetime, "%s", "%F %T" },
+};