242 lines
No EOL
5.2 KiB
Text
242 lines
No EOL
5.2 KiB
Text
;;Input values
|
|
|
|
|
|
(deflisten monitors
|
|
:initial "[]"
|
|
`scripts/monitors.sh`)
|
|
|
|
(defvar brightnessValue 96000)
|
|
|
|
(defpoll activeNetworks
|
|
:interval "2s"
|
|
`nmcli connection show --active | awk 'NR>1 && $3!="loopback" { print $1 }'`)
|
|
|
|
(deflisten workspaces
|
|
:initial "[]"
|
|
`scripts/workspaces.sh`)
|
|
|
|
(defpoll activeWorkspace
|
|
:interval "2s"
|
|
`hyprctl activeworkspace | awk 'NR==1{print $3}'`)
|
|
|
|
(deflisten bluetooth
|
|
:initial "[]"
|
|
`scripts/bluetooth.sh`)
|
|
|
|
(defvar volumeValue 100)
|
|
|
|
|
|
;; Widget templates
|
|
|
|
|
|
(defwidget icon [widgetclass ?hover percentage image]
|
|
(box
|
|
:class "${widgetclass}"
|
|
:space-evenly false
|
|
(overlay
|
|
:tooltip "${hover}"
|
|
(circular-progress
|
|
:width 20
|
|
:value "${percentage}"
|
|
:start-at 75
|
|
:thickness 2
|
|
:clockwise false)
|
|
(transform
|
|
:scale-x "50%"
|
|
:scale-y "50%"
|
|
:halign "center"
|
|
:valign "center"
|
|
:translate-x "16"
|
|
:translate-y "16"
|
|
(image
|
|
:path "${image}"
|
|
:image-width "32"
|
|
:image-height "32")))))
|
|
|
|
|
|
;; Widgets
|
|
|
|
|
|
(defwidget workspaces []
|
|
(box
|
|
(for workspace in workspaces
|
|
(label
|
|
:width "15"
|
|
:class {workspace.active == 1 ? "activeWorkspace" :""}
|
|
:visible {workspace.occupied == 1 ? "true" : "false"}
|
|
:text "${workspace.num}"))))
|
|
|
|
(defwidget time []
|
|
(eventbox
|
|
:onhover "eww open calendar"
|
|
:onhoverlost "eww close calendar"
|
|
{formattime(EWW_TIME, "%H:%M:%S")}))
|
|
|
|
(defwidget cpu []
|
|
(icon
|
|
:widgetclass "cpu"
|
|
:hover "${round(EWW_CPU.avg, 1)}%"
|
|
:percentage "${round(EWW_CPU.avg, 1)}"
|
|
:image "images/cpu.png"))
|
|
|
|
(defwidget ram []
|
|
(icon
|
|
:widgetclass "ram"
|
|
:hover "${round(EWW_RAM.used_mem_perc, 1)}%"
|
|
:percentage "${round(EWW_RAM.used_mem_perc, 1)}"
|
|
:image "images/ram.png"))
|
|
|
|
(defwidget volume []
|
|
(icon
|
|
:widgetclass "volume"
|
|
:hover "${volumeValue}%"
|
|
:percentage "${volumeValue}"
|
|
:image "images/volume.png"))
|
|
|
|
(defwidget brightness []
|
|
(icon
|
|
:widgetclass "brightness"
|
|
:hover "${brightnessValue / 960}%"
|
|
:percentage "${brightnessValue / 960}"
|
|
:image "images/brightness.png"))
|
|
|
|
(defwidget network []
|
|
(icon
|
|
:widgetclass "network"
|
|
:hover "${activeNetworks}"
|
|
:percentage "0"
|
|
:image "images/wifi.png"))
|
|
|
|
;;(defwidget bluetooth []
|
|
;; (icon
|
|
;; :widgetclass "bluetooth"
|
|
;; :hover "${bluetoothDevices}"
|
|
;; :percentage "${bluetoothBattery}"
|
|
;; :image "images/bluetooth.png"))
|
|
|
|
(defwidget battery []
|
|
(icon
|
|
:widgetclass {EWW_BATTERY.BAT1.status == "Charging" ? "battery" : EWW_BATTERY.total_avg > 25 ? "battery" : "batteryLow"}
|
|
:hover "${round(EWW_BATTERY.total_avg, 1)}%"
|
|
:percentage "${round(EWW_BATTERY.total_avg, 1)}"
|
|
:image {EWW_BATTERY.BAT1.status == "Charging" ? "images/charging.png" : EWW_BATTERY.total_avg > 25 ? "images/battery.png" : "images/batteryLow.png"}))
|
|
|
|
(defwidget power []
|
|
(icon
|
|
:widgetclass "power"
|
|
:hover "placeholder"
|
|
:percentage "0"
|
|
:image "images/power.png"))
|
|
|
|
(defwidget space []
|
|
(box
|
|
:width 5))
|
|
|
|
(defwidget seperator []
|
|
(box
|
|
:width 20
|
|
(label
|
|
:text "|"
|
|
)))
|
|
|
|
(defwidget cal []
|
|
(calendar
|
|
:day {formattime(EWW_TIME, "%d")}
|
|
:month {formattime(EWW_TIME, "%m")}
|
|
:year {formattime(EWW_TIME, "%y")}))
|
|
|
|
(defwidget winPower []
|
|
(box
|
|
:orientation "v"
|
|
(box
|
|
:halign "end"
|
|
(power))))
|
|
|
|
|
|
;; Widget blocks
|
|
|
|
|
|
(defwidget start []
|
|
(box
|
|
:orientation "h"
|
|
:space-evenly false
|
|
:halign "start"
|
|
(space)
|
|
(workspaces)))
|
|
|
|
(defwidget center []
|
|
(box
|
|
:orientation "h"
|
|
:space-evenly false
|
|
:halign "center"
|
|
(time)))
|
|
|
|
(defwidget end []
|
|
(box
|
|
:orientation "h"
|
|
:space-evenly false
|
|
:halign "end"
|
|
(cpu)
|
|
(space)
|
|
(ram)
|
|
(seperator)
|
|
(volume)
|
|
(space)
|
|
(brightness)
|
|
(seperator)
|
|
(network)
|
|
(space)
|
|
;; (bluetooth)
|
|
(seperator)
|
|
(battery)
|
|
(space)
|
|
(power)))
|
|
|
|
(defwidget bar []
|
|
(centerbox :orientation "h"
|
|
(start)
|
|
(center)
|
|
(end)))
|
|
|
|
|
|
;; Window definition
|
|
|
|
|
|
(defwindow bar
|
|
:monitor 0
|
|
:class "bar"
|
|
:geometry (geometry
|
|
:x "0%"
|
|
:y "5px"
|
|
:width "1279px"
|
|
:height "3%"
|
|
:anchor "top center")
|
|
:stacking "fg"
|
|
:exclusive true
|
|
(bar))
|
|
|
|
(defwindow calendar
|
|
:monitor 0
|
|
:class "calendar"
|
|
:geometry
|
|
(geometry
|
|
:x "0%"
|
|
:y "5px"
|
|
:width "0%"
|
|
:height "0%"
|
|
:anchor "top center")
|
|
:stacking "overlay"
|
|
(cal))
|
|
|
|
(defwindow power
|
|
:monitor 0
|
|
:class "bars"
|
|
:geometry
|
|
(geometry
|
|
:x "5px"
|
|
:y "5px"
|
|
:width "2%"
|
|
:height "3%"
|
|
:anchor "top right")
|
|
:stacking "fg"
|
|
(winPower)) |