dotfiles/.config/eww/windows.yuck

323 lines
7.0 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 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"
(vpn-network)
(mpris2)
(network)
(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 laptop-details-rightalign [?battery]
(box :orientation "h"
:halign "end"
:space-evenly false
:spacing 20
:class "rightbox"
(vpn-network)
(network)
(system-battery :battery {battery ?: "BAT1"})
(audio)
(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)
))