;;;; -*-lisp-*- ;;;; ;; Top-Level Module Definitions ;; ;;;; ;;;; ;;; ;;; ;; Generic Windows ;; ;;; ;;; (defwidget sidebar [orientation] (box :orientation "v" :valign "start" :space-evenly false :spacing 20 :class "root ${orientation}-side" (sideclock) (network-sidebar-details) (system-gauges) (volume-gauges))) (defwidget small-sidebar [orientation battery workspace-group] (centerbox :orientation "v" :class "root ${orientation}-side" (sway-workspaces-vertical :group {workspace-group}) "" (box :orientation "v" :valign "end" :space-evenly false :spacing 10 (system--cpu-gauge-small) (system--memory-gauge-small) (system--gpu-gauge-small) (system--vram-gauge-small) (volume-small-gauge) (system-battery-gauge-small :battery {battery})))) (defwidget ws-group-rightalign [workspace-group] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (sway-workspace :group {workspace-group}) (sway-workspaces :group {workspace-group}))) (defwidget ws-group-leftalign [workspace-group] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (sway-workspaces :group {workspace-group}) (sway-workspace :group {workspace-group}))) (defwidget desktop-details-rightalign [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (mpris2) (vpn-network) (network) (wifi) (system-memory) (system-cpu-avg) (clock))) (defwidget hostname-centeralign [] (box :orientation "h" :halign "center" :space-evenly false :spacing 20 :class "centerbox" (system-name))) (defwidget hostname-leftalign [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (system-name))) (defwidget hostname-rightalign [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (system-name))) (defwidget hostname-and-workspace-leftalign [workspace-group] (box :orientation "h" :halign "start" :valign "center" :space-evenly false :spacing 20 :class "leftbox" (transform :translate-y "-2px" (system-name)) (sway-workspace :group {workspace-group}))) (defwidget laptop-details-rightalign [?battery] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (mpris2) (vpn-network) (network) (wifi) (clock))) ;;; ;;; ;; Bars for Rocinante ;; ;;; ;;; (defwidget rocinante-builtinbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (sway-workspaces :group "builtin") (sway-workspace :group "builtin"))) (defwidget rocinante-builtinbar--center [] (box :orientation "h" :halign "center" :space-evenly false :spacing 20 :class "centerbox" (system-name))) (defwidget rocinante-builtinbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (vpn-network) (network) (system-battery :battery "BAT1") (audio) (clock))) (defwidget rocinante-externalbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (system-name))) (defwidget rocinante-externalbar--center [] (box :orientation "h" :halign "center" :space-evenly false :spacing 20 :class "centerbox")) (defwidget rocinante-externalbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (vpn-network) (network) (system-battery :battery "BAT1") (audio) (clock))) ;;; ;;; ;; Bars for S.S.V. Normandy ;; ;;; ;;; (defwidget normandy-leftbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (system-name))) (defwidget normandy-leftbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (sway-workspace :group "left") (sway-workspaces :group "left"))) (defwidget normandy-centerbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (sway-workspaces :group "center") (sway-workspace :group "center"))) (defwidget normandy-centerbar--center [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "centerbox" (system-name))) (defwidget normandy-centerbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (mpris2))) (defwidget normandy-rightbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (sway-workspaces :group "right") (sway-workspace :group "right"))) (defwidget normandy-rightbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (system-name))) (defwidget normandy-sidebar [] (box :orientation "v" :valign "start" :space-evenly false :spacing 20 :class "root side" (sideclock) (network-sidebar-details) (system-gauges))) ;;; ;;; ;; Bars for Tycho Station ;; ;;; ;;; (defwidget tycho-sidebar [] (box :orientation "v" :valign "start" :space-evenly false :spacing 20 :class "root side" (sideclock) (network-sidebar-details) (system-gauges))) (defwidget tycho-leftbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (system-name) )) (defwidget tycho-leftbar--center [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "centerbox" )) (defwidget tycho-leftbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (sway-workspace :group "left") (sway-workspaces :group "left"))) (defwidget tycho-centerbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (sway-workspaces :group "center") (sway-workspace :group "center"))) (defwidget tycho-centerbar--center [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "centerbox" (system-name) )) (defwidget tycho-centerbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (vpn-network) (mpris2) (network) (system-memory) (system-cpu-avg) (clock))) (defwidget tycho-rightbar--left [] (box :orientation "h" :halign "start" :space-evenly false :spacing 20 :class "leftbox" (sway-workspaces :group "right") (sway-workspace :group "right"))) (defwidget tycho-rightbar--center [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "centerbox" (system-name) )) (defwidget tycho-rightbar--right [] (box :orientation "h" :halign "end" :space-evenly false :spacing 20 :class "rightbox" (clock) ))