initial commit

This commit is contained in:
iris committed 2023-06-05 11:52:04 -04:00
commit 1eca57b40e
9 files changed
+441

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
(include "bar/widget.yuck")
(include "bar/widgets/sys.yuck")
(include "bar/widgets/wss.yuck")
(include "bar/widgets/info.yuck")
(defwidget bar [monitor]
(centerbox :class "bar" :orientation "h"
(bar-left)
(bar-center :monitor monitor)
(bar-right)))
(defwidget bar-left []
(box :class "bar-left" :space-evenly false :halign "start"
(bat) (cpu) (temp) (mem) (disk)))
(defwidget bar-center [monitor]
(box :class "bar-center" :space-evenly false
(workspaces :monitor monitor)))
(defwidget bar-right []
(box :class "bar-right" :space-evenly false :halign "end"
(brightness) (vol) (net) (date) (time)))
+62
View File
@@ -0,0 +1,62 @@
(defvar eww "eww")
(defwidget metric [label value min max onchange]
(box :orientation "h"
:class "metric mod"
:space-evenly false
(box :class "label" label)
(scale :min min
:max max
:active {onchange != ""}
:value value
:onchange onchange)))
(defwidget hover-metric [icon value ?class revealname reveal onchange]
(eventbox :onhover "${eww} update ${revealname}=true"
:onhoverlost "${eww} update ${revealname}=false"
(box :orientation "h"
:class "metric mod"
:space-evenly false
(box :class {class ?: ""} {icon})
(revealer :transition "slideleft"
:reveal reveal
:duration "300ms"
(scale :min 0
:max 100
:value value
:onchange onchange)))))
(defwidget hover-text [icon value ?class revealname reveal]
(eventbox :onhover "${eww} update ${revealname}=true"
:onhoverlost "${eww} update ${revealname}=false"
(box :orientation "h"
:class "metric mod"
:space-evenly false
(box :class {class ?: ""} {icon})
(revealer :transition "slideleft"
:reveal net_reveal
:duration "300ms"
(label :text {value}
:class "purple")))))
(defwidget status [label poll]
(box :orientation "h"
:class "metric mod"
:space-evenly false
(box :class "label" label)
(text :poll poll)))
(defwidget text [poll]
(box :class "text mod"
poll))
(defwidget circle [value ?icon class]
(box :class "mod"
(circular-progress :value value
:width 30
:class "circle-bar ${class}"
:thickness 4
:start-at 75
(label :text {icon ?: ""}
:class "circle ${class}"))))
+38
View File
@@ -0,0 +1,38 @@
(defvar vol_reveal false)
(defvar bright_reveal false)
(defvar net_reveal false)
(defpoll vol :interval "2s" "wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print $2 * 100}'")
(defwidget vol []
(hover-metric :icon {vol < 33 ? "" : vol < 66 ? "" : "󰕾"}
:value vol
:class "green"
:revealname "vol_reveal"
:reveal vol_reveal
:onchange "wpctl set-volume @DEFAULT_SINK@ {}% && eww update vol={}"))
(defpoll bright :interval "10s" "light")
(defwidget brightness []
(hover-metric :icon ""
:value bright
:class "yellow"
:revealname "bright_reveal"
:reveal bright_reveal
:onchange "light -S {}%"))
(defpoll net :interval "2s" "iw dev wlan0 link | awk 'NR==2 {print $2}'")
(defwidget net []
(hover-text :icon " "
:value net
:class "cyan"
:revealname "net_reveal"
:reveal net_reveal))
(defpoll time :interval "1s" "date '+%H:%M:%S'")
(defwidget time []
(text :poll time))
(defpoll date :interval "10s" "date '+%y-%m-%d'")
(defwidget date []
(text :poll date))
+25
View File
@@ -0,0 +1,25 @@
(defwidget cpu []
(circle :value {EWW_CPU.avg}
:icon ""
:class "cyan"))
(defwidget temp []
(circle :value {EWW_TEMPS.CORETEMP_PACKAGE_ID_0}
:icon ""
:class "magenta"))
(defwidget mem []
(circle :value {EWW_RAM.used_mem_perc}
:icon ""
:class "yellow"))
(defwidget disk []
(circle :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
:icon ""
:class "red"))
(defwidget bat []
(circle :value {EWW_BATTERY.BAT0.capacity}
:icon "⏻"
:class "green"))
+23
View File
@@ -0,0 +1,23 @@
;; (deflisten wslist0
;; "scripts/getwss eDP-1")
;; (deflisten wslist1
;; "scripts/getwss DP-")
(deflisten wslist0
"scripts/getwss 0")
(deflisten wslist1
"scripts/getwss 1")
(defwidget workspaces [monitor]
(box :class "workspaces"
(for entry in {monitor == 0 ? wslist0 : wslist1}
(button :class "${
entry.urgent ? "urgent"
: entry.focused ? "focused"
: "unfocused"
} id${entry.id}"
:onclick "hyprctl dispatch workspace ${entry.id}"
{entry.name}
)
)
)
)