Skip to content

Commit 94ea9fd

Browse files
iwilligclaude
andcommitted
Port athena's waybar config to sway, with a text-label-only style
Adapts github.com/haikal-hakim/athena's modular pill-style waybar config: hyprland/workspaces -> sway/workspaces, SwayNC -> mako (panel toggle has no mako equivalent, so dropped), app-launcher buttons trimmed to what's actually installed (alacritty, firefox), and every module's Nerd Font glyph swapped for a short text label showing the live value (Disk 42%, CPU 11%, Vol 94%, etc.) instead of an icon, per request. Verified live in a running sway session: no CSS/JSON parse errors, correct workspace focus/window labeling, and accurate live values. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2e481dc commit 94ea9fd

20 files changed

Lines changed: 620 additions & 321 deletions
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Ported from https://github.com/haikal-hakim/athena (.config/waybar),
3+
* adapted for sway (was Hyprland) and trimmed to the apps installed in this
4+
* image — see modules/ for per-module notes on what changed and why.
5+
*/
6+
{
7+
"layer": "top",
8+
"height": 48,
9+
"spacing": 6,
10+
"include": [
11+
"./modules/groups.jsonc",
12+
"./modules/distro.jsonc",
13+
"./modules/storage.jsonc",
14+
"./modules/system.jsonc",
15+
"./modules/power-profiles-daemon.jsonc",
16+
"./modules/workspace.jsonc",
17+
"./modules/idle-inhibitor.jsonc",
18+
"./modules/audio.jsonc",
19+
"./modules/connections.jsonc",
20+
"./modules/battery.jsonc",
21+
"./modules/clock.jsonc",
22+
"./modules/tray-notif.jsonc"
23+
],
24+
"modules-left": [
25+
"group/distro-group",
26+
"group/storage",
27+
"group/system"
28+
],
29+
"modules-center": [
30+
"power-profiles-daemon",
31+
"sway/workspaces",
32+
"idle_inhibitor"
33+
],
34+
"modules-right": [
35+
"group/audio",
36+
"group/connections",
37+
"battery",
38+
"clock",
39+
"group/tray-group"
40+
]
41+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// athena's on-click opened pavucontrol, which isn't installed here; the
2+
// pulseaudio/slider module below already gives drag-to-set volume control,
3+
// and a plain click still toggles mute (waybar's default click action).
4+
{
5+
"pulseaudio": {
6+
"format": "Vol {volume}%",
7+
"format-muted": "Muted",
8+
"tooltip-format": "Output: {volume}%"
9+
},
10+
"pulseaudio#microphone": {
11+
"format": "{format_source}",
12+
"format-source": "Mic",
13+
"format-source-muted": "Mic Off"
14+
},
15+
"pulseaudio/slider": {
16+
"min": 0,
17+
"max": 100,
18+
"orientation": "horizontal"
19+
}
20+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"battery": {
3+
"interval": 60,
4+
"states": {
5+
"warning": 30,
6+
"critical": 15
7+
},
8+
"format": "Bat {capacity}%",
9+
"format-full": "Bat Full",
10+
"format-charging": "Chg {capacity}%",
11+
"format-plugged": "Plugged",
12+
"format-alt": "Bat {time}",
13+
"tooltip-format": "{timeTo}\n\nUsage: {power:0.1f}W\nCondition: {health}%\nTotal: {cycles} cycles"
14+
}
15+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"clock": {
3+
"format": "{:%H:%M}",
4+
"format-alt": "{:%d %B %Y}",
5+
"tooltip-format": "<tt><small>{calendar}</small></tt>"
6+
}
7+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// network's on-click in athena toggled nm-applet's tray visibility; here
2+
// network-manager-applet already autostarts via sway-xdg-autostart.target
3+
// (see Containerfile.d/120-sway.containerfile), so it's always in the tray
4+
// already and that toggle isn't needed.
5+
{
6+
"network": {
7+
"format-wifi": "WiFi {signalStrength}%",
8+
"format-ethernet": "LAN",
9+
"format-linked": "Linked",
10+
"format-disconnected": "No Net",
11+
"format-disabled": "WiFi Off",
12+
"tooltip-format-disconnected": "No Connection",
13+
"tooltip-format-disabled": "Wi-Fi is OFF",
14+
"tooltip-format-wifi": "{essid} ({signalStrength}%)\nFreq: {frequency}GHz\n{bandwidthDownBytes} {bandwidthUpBytes}",
15+
"tooltip-format-ethernet": "{ifname} (Connected)\n{bandwidthDownBytes} {bandwidthUpBytes}",
16+
"tooltip-format-linked": "{ifname}: No IP Address",
17+
"on-scroll-up": "nmcli radio wifi on",
18+
"on-scroll-down": "nmcli radio wifi off"
19+
},
20+
"bluetooth": {
21+
"format": "BT",
22+
"format-connected": "BT On",
23+
"format-disabled": "BT Off",
24+
"tooltip-format": "{controller_alias} {status}",
25+
"tooltip-format-connected": "{num_connections} Connected:\n{device_enumerate}",
26+
"tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage}%)",
27+
"on-click": "blueman-manager",
28+
"on-click-right": "rfkill toggle bluetooth"
29+
}
30+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// athena's distro-group launched kitty/code/obsidian/onlyoffice/thunar/
2+
// spotify/firefox — none but firefox exist in this image, so it's trimmed to
3+
// the terminal and browser that are actually installed (alacritty, firefox).
4+
// Text labels instead of Nerd Font glyphs throughout this bar, by request.
5+
{
6+
"custom/distro": {
7+
"format": "OS",
8+
"tooltip": false
9+
},
10+
"custom/terminal": {
11+
"format": "Term",
12+
"on-click": "alacritty",
13+
"tooltip": false
14+
},
15+
"custom/browser": {
16+
"format": "Web",
17+
"on-click": "firefox",
18+
"tooltip": false
19+
}
20+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"group/distro-group": {
3+
"orientation": "horizontal",
4+
"drawer": {
5+
"transition-duration": 650,
6+
"transition-left-to-right": true
7+
},
8+
"modules": [
9+
"custom/distro",
10+
"custom/terminal",
11+
"custom/browser"
12+
]
13+
},
14+
"group/storage": {
15+
"orientation": "horizontal",
16+
"modules": [
17+
"disk",
18+
"memory"
19+
]
20+
},
21+
"group/system": {
22+
"orientation": "horizontal",
23+
"modules": [
24+
"temperature",
25+
"cpu"
26+
]
27+
},
28+
"group/audio": {
29+
"orientation": "horizontal",
30+
"drawer": {
31+
"transition-duration": 650,
32+
"transition-left-to-right": false
33+
},
34+
"modules": [
35+
"pulseaudio",
36+
"pulseaudio/slider",
37+
"pulseaudio#microphone"
38+
]
39+
},
40+
"group/connections": {
41+
"orientation": "horizontal",
42+
"drawer": {
43+
"transition-duration": 500,
44+
"transition-left-to-right": false
45+
},
46+
"modules": [
47+
"network",
48+
"bluetooth"
49+
]
50+
},
51+
"group/tray-group": {
52+
"orientation": "horizontal",
53+
"modules": [
54+
"tray"
55+
]
56+
}
57+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"idle_inhibitor": {
3+
"format": "{icon}",
4+
"format-icons": {
5+
"activated": "Lock On",
6+
"deactivated": "Lock Off"
7+
},
8+
"tooltip-format-activated": "System Focused",
9+
"tooltip-format-deactivated": "Normal Mode"
10+
}
11+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"power-profiles-daemon": {
3+
"format": "{profile}",
4+
"tooltip-format": "Profile: {profile}\nDriver: {driver}"
5+
}
6+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"disk": {
3+
"tooltip": false,
4+
"interval": 3600,
5+
"path": "/",
6+
"format": "Disk {percentage_used}%",
7+
"format-alt": "Disk {used} / {total}",
8+
"states": {
9+
"warning": 80,
10+
"critical": 90
11+
}
12+
},
13+
"memory": {
14+
"tooltip": false,
15+
"interval": 15,
16+
"format": "Mem {percentage}%",
17+
"format-alt": "Mem {used} / {total}",
18+
"states": {
19+
"warning": 75,
20+
"critical": 85
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)