aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/i3status-rs
diff options
context:
space:
mode:
Diffstat (limited to 'i3status-rs')
-rw-r--r--i3status-rs/.config/i3status-rust/config.toml144
-rwxr-xr-xi3status-rs/.local/lib/i3status-rust/i3status-miniflux9
-rwxr-xr-xi3status-rs/.local/lib/i3status-rust/i3status-notmuch7
3 files changed, 160 insertions, 0 deletions
diff --git a/i3status-rs/.config/i3status-rust/config.toml b/i3status-rs/.config/i3status-rust/config.toml
new file mode 100644
index 0000000..0298660
--- /dev/null
+++ b/i3status-rs/.config/i3status-rust/config.toml
@@ -0,0 +1,144 @@
+[theme]
+theme = "native"
+
+[theme.overrides]
+idle_bg = "#1d2021"
+idle_fg = "#d5c4a1"
+info_bg = "#8ec07c"
+info_fg = "#1d2021"
+good_bg = "#b8bb26"
+good_fg = "#1d2021"
+warning_bg = "#fabd2f"
+warning_fg = "#1d2021"
+critical_bg = "#fb4934"
+critical_fg = "#1d2021"
+
+[icons]
+icons = "material-nf"
+
+[icons.overrides]
+rss = "󰑫"
+
+[[block]]
+block = "focused_window"
+[block.format]
+full = " $title.str(max_w:30,rot_interval:0.5) |"
+short = ""
+
+[[block]]
+block = "weather"
+autolocate = true
+autolocate_interval = "once"
+service.name = "metno"
+format = " $icon $temp "
+format_alt = " $icon $weather $temp "
+
+[[block]]
+block = "disk_space"
+
+[[block]]
+block = "memory"
+format = " $icon $mem_used_percents.eng(w:2) "
+
+[[block]]
+block = "cpu"
+
+[[block]]
+block = "amd_gpu"
+if_command = "lspci -v | grep 'AMD/ATI' >/dev/null"
+
+[[block]]
+block = "custom"
+command = "~/.local/lib/i3status-rust/i3status-miniflux"
+json = true
+[[block.click]]
+button = "left"
+cmd = "xdg-open https://miniflux.tobyvin.dev"
+
+[[block]]
+block = "custom"
+command = "~/.local/lib/i3status-rust/i3status-notmuch"
+json = true
+[[block.click]]
+button = "left"
+cmd = "alacritty -e aerc"
+
+[[block]]
+block = "music"
+format = "{ $icon $title.str(max_w:10,rot_interval:0.5) |}{$prev $play $next |}{$volume_icon $volume |}"
+format_alt = "{ $icon $combo.str(max_w:30,rot_interval:0.5) |}{$prev $play $next |}{$volume_icon $volume |}"
+[[block.click]]
+button = "right"
+cmd = "playerctl volume | (grep -q '0.000000' && playerctl volume 0.5 || playerctl volume 0.0)"
+[[block.click]]
+button = "up"
+action = "volume_up"
+[[block.click]]
+button = "down"
+action = "volume_down"
+
+[[block]]
+block = "sound"
+if_command = "pactl list >/dev/null || aplay -l >/dev/null "
+[[block.click]]
+button = "left"
+cmd = "pgrep pavucontrol && killall pavucontrol || pavucontrol"
+
+[[block]]
+block = "net"
+device = "^wg0$"
+format = " $icon "
+format_alt = " $device {$ip |}"
+missing_format = ""
+merge_with_next = true
+
+[[block]]
+block = "net"
+device = "^wl.*$"
+format = " $icon "
+format_alt = " $device {$signal_strength $frequency $ssid |}{$ip |}"
+missing_format = ""
+merge_with_next = true
+
+[[block]]
+block = "net"
+device = "^en.*$"
+format = " $icon "
+format_alt = " $device {$ip |}"
+missing_format = ""
+
+[[block]]
+block = "battery"
+device = "BAT1"
+missing_format = ""
+merge_with_next = true
+
+[[block]]
+block = "battery"
+device = "BAT2"
+missing_format = ""
+
+[[block]]
+block = "time"
+interval = 1
+format.full = " $timestamp.datetime(f:'%a %m/%d %T') "
+format.short = " $timestamp.datetime(f:%T) "
+
+[[block]]
+block = "kdeconnect"
+format = " $icon {$bat_icon |}{$network_icon |}{$notif_icon$notif_count |}"
+missing_format = ""
+disconnected_format = ""
+[[block.click]]
+button = "left"
+cmd = "pgrep kdeconnect-sms && killall kdeconnect-sms || kdeconnect-sms"
+
+[[block]]
+block = "notify"
+format = " $icon {($notification_count.eng(w:1)) |}"
+[[block.click]]
+button = "left"
+action = "show"
+[[block.click]]
+button = "right"
+action = "toggle_paused"
diff --git a/i3status-rs/.local/lib/i3status-rust/i3status-miniflux b/i3status-rs/.local/lib/i3status-rust/i3status-miniflux
new file mode 100755
index 0000000..c9412fb
--- /dev/null
+++ b/i3status-rs/.local/lib/i3status-rust/i3status-miniflux
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+curl -s https://miniflux.tobyvin.dev/v1/feeds/counters \
+ -H "X-Auth-Token: ${MINIFLUX_TOKEN:-$(pass miniflux.tobyvin.dev/i3status)}" |
+ jq -r '[.unreads[]] | add // 0 | {
+ icon: "rss",
+ state: (if . > 50 then "Critical" elif . > 0 then "Warning" else "Idle" end),
+ text: (. | tostring)
+ }'
diff --git a/i3status-rs/.local/lib/i3status-rust/i3status-notmuch b/i3status-rs/.local/lib/i3status-rust/i3status-notmuch
new file mode 100755
index 0000000..1c51be8
--- /dev/null
+++ b/i3status-rs/.local/lib/i3status-rust/i3status-notmuch
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+notmuch search --format=json tag:unread | jq -c 'length | {
+ icon: "mail",
+ state: (if . == 0 then "Idle" elif . < 10 then "Warning" else "Critical" end),
+ text: (. | tostring)
+}'