352 lines
7.8 KiB
Common Lisp
352 lines
7.8 KiB
Common Lisp
;;;; -*-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)
|
|
))
|
|
|
|
|