feat(pi-status): integrate desktop status bridge
Expose the persistent Pi session controls through the desktop launcher, Noctalia, and user service.
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
# Used by the Noctalia Pi Status Bridge adapter and the Hyprland launcher.
|
||||
PI_STATUS_UI_BINARY=/home/alex/.local/bin/pi-status-ui
|
||||
@@ -62,7 +62,7 @@ hl.workspace_rule({
|
||||
|
||||
-- Application and session bindings.
|
||||
local noctalia_ipc = "noctalia msg "
|
||||
local pi_status_ui_toggle = 'ui="${PI_STATUS_UI_BINARY:-$HOME/projects/pi-status-bridge/ui/src-tauri/target/release/pi-status-ui}"; if test -x "$ui"; then setsid -f env TMPDIR=/tmp "$ui" --toggle >/tmp/pi-status-ui.log 2>&1; fi'
|
||||
local pi_status_ui_toggle = 'ui="${PI_STATUS_UI_BINARY:-$HOME/.local/bin/pi-status-ui}"; if test -x "$ui"; then setsid -f env TMPDIR=/tmp "$ui" --toggle >/tmp/pi-status-ui.log 2>&1; fi'
|
||||
-- Tap and release Super on its own to open Noctalia's control-center home.
|
||||
hl.bind(main_mod .. " + SUPER_L", hl.dsp.exec_cmd(noctalia_ipc .. "panel-toggle control-center"), { release = true })
|
||||
hl.bind(main_mod .. " + RETURN", hl.dsp.exec_cmd(terminal))
|
||||
@@ -139,7 +139,7 @@ local function float_rule(name, match, border_size)
|
||||
end
|
||||
|
||||
hl.window_rule({ name = "thunderbird-workspace", match = { class = "^Thunderbird$" }, workspace = "9" })
|
||||
float_rule("pi-status-ui", { class = "^pi-status-ui$" }, 1)
|
||||
float_rule("pi-status-ui", { class = "^(pi-status-ui|Pi-status-ui)$" }, 1)
|
||||
float_rule("alsamixer", { title = "^alsamixer$" }, 1)
|
||||
float_rule("qalculate", { title = "^Qalculate!$" })
|
||||
float_rule("psensor", { class = "^Psensor$" })
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
# Desktop-specific shell layout and hardware telemetry.
|
||||
# Pi Status Bridge is installed locally from ~/projects/pi-gui.
|
||||
[plugins]
|
||||
enabled = ["alex/system-status", "alex/pi-status-bridge"]
|
||||
|
||||
[widget.pi-status]
|
||||
type = "alex/pi-status-bridge:bridge"
|
||||
|
||||
[bar.main]
|
||||
position = "bottom"
|
||||
layer = "top"
|
||||
scale = 0.95
|
||||
capsule_radius = 5
|
||||
center = ["group:g3", "notifications"]
|
||||
end = ["bluetooth", "input_volume", "volume", "control-center", "group:g1", "session"]
|
||||
end = ["group:g2", "group:g6", "group:g1", "session"]
|
||||
font_weight = 400
|
||||
margin_ends = 0
|
||||
padding = 0
|
||||
@@ -15,7 +23,7 @@ shadow = false
|
||||
auto_hide = false
|
||||
smart_auto_hide = false
|
||||
reserve_space = true
|
||||
start = ["tray", "group:g4", "group:g2", "privacy"]
|
||||
start = ["tray", "group:g4", "privacy"]
|
||||
thickness = 39
|
||||
widget_spacing = 10
|
||||
|
||||
@@ -31,7 +39,7 @@ padding = 6.0
|
||||
enabled = true
|
||||
fill = "surface_variant"
|
||||
id = "g2"
|
||||
members = ["network_rx", "network_tx", "network"]
|
||||
members = ["network", "bluetooth"]
|
||||
opacity = 1.0
|
||||
padding = 6.0
|
||||
|
||||
@@ -48,10 +56,19 @@ radius = 5.0
|
||||
enabled = true
|
||||
fill = "surface_variant"
|
||||
id = "g4"
|
||||
members = ["cpu", "temp", "ram", "gpu", "gpu_temp", "disk"]
|
||||
members = ["pi-status", "cpu", "temp", "ram", "gpu", "gpu_temp", "disk"]
|
||||
opacity = 1.0
|
||||
padding = 6.0
|
||||
|
||||
[[bar.main.capsule_group]]
|
||||
enabled = true
|
||||
fill = "surface_variant"
|
||||
id = "g6"
|
||||
members = ["input_volume", "volume"]
|
||||
opacity = 1.0
|
||||
padding = 6.0
|
||||
radius = 5.0
|
||||
|
||||
[widget.gpu]
|
||||
type = "sysmon"
|
||||
stat = "gpu_usage"
|
||||
|
||||
@@ -32,7 +32,7 @@ padding = 6.0
|
||||
enabled = true
|
||||
fill = "surface_variant"
|
||||
id = "g2"
|
||||
members = ["network-rate", "network", "bluetooth"]
|
||||
members = ["network", "bluetooth"]
|
||||
opacity = 1.0
|
||||
padding = 6.0
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Pi Status Bridge home agent
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Environment=PATH=/home/alex/.local/bin:/usr/local/bin:/usr/bin:/bin
|
||||
ExecStart=/home/alex/.local/bin/pi-status-bridge --session-root %h/.local/state/pi-status-bridge/sessions
|
||||
Restart=on-failure
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
# The opaque release window runs natively on Wayland; disable WebKit DMABUF,
|
||||
# which is unreliable with this NVIDIA desktop's compositor path.
|
||||
exec env WEBKIT_DISABLE_DMABUF_RENDERER=1 "$HOME/projects/pi-gui/ui/src-tauri/target/release/pi-status-ui" "$@"
|
||||
@@ -0,0 +1 @@
|
||||
../../../../projects/pi-gui/noctalia-v5-plugin/pi-status-bridge
|
||||
Reference in New Issue
Block a user