added a sysmon widget

This commit is contained in:
2025-03-08 00:58:58 +01:00
parent ce0b6b674f
commit afb21bc4c7
8 changed files with 90 additions and 15 deletions

View File

@@ -22,10 +22,11 @@
(defwidget left [] (defwidget left []
(box :orientation 'h' (box :orientation 'h'
:class: 'left' :class: 'left'
:space-evenly true :space-evenly false
:spacing 5 :spacing 5
:halign 'start' :halign 'start'
(hypr_workspaces)(hypr_active_window))) (hypr_workspaces)
(hypr_active_window)))
(defwidget center [] (defwidget center []
@@ -33,7 +34,8 @@
:class 'center' :class 'center'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
(media))) (media)
(sysmon)))
(defwidget right [] (defwidget right []
(box (box

View File

@@ -5,3 +5,4 @@
@import 'widgets/lorem-text'; @import 'widgets/lorem-text';
@import 'widgets/hypr_activewindow.scss'; @import 'widgets/hypr_activewindow.scss';
@import 'widgets/hypr_workspaces.scss'; @import 'widgets/hypr_workspaces.scss';
@import 'widgets/sysmon.scss';

View File

@@ -5,3 +5,4 @@
(include "widgets/lorem-text.yuck") (include "widgets/lorem-text.yuck")
(include "widgets/hypr_workspaces.yuck") (include "widgets/hypr_workspaces.yuck")
(include "widgets/hypr_activewindow.yuck") (include "widgets/hypr_activewindow.yuck")
(include "widgets/sysmon.yuck")

View File

@@ -1,6 +1,6 @@
.activewindow{ .activewindow{
background: #98C379; background: lightgreen;
color: #ffffff; color: black;
&--xwayland{ &--xwayland{
background: red; background: red;

View File

@@ -1,23 +1,19 @@
.workspacecontainer{ .workspacecontainer{
background: orange; background: orange;
} }
.workspace{ .workspace{
border-radius: 1rem 1rem; border-radius: 1rem 1rem;
margin: 6px;
padding: 6px;
font-family: 'Symbols Nerd Font Mono'; font-family: 'Symbols Nerd Font Mono';
font-size: 16px; font-size: 16px;
border: 1px solid blue; border: 1px solid blue;
color: black;
} }
.wsactive{ .wsactive{
background: pink; background: red;
color: red;
} }
.wsinactive{ .wsinactive{
background: yellow; background: yellow;
color: red;
} }

View File

@@ -9,12 +9,17 @@
(defwidget hypr_workspaces [] (defwidget hypr_workspaces []
(box (box
:class "workspacecontainer" :class "workspacecontainer"
:space-evenly true :space-evenly false
:spacing 3
(for workspace in workspaces (for workspace in workspaces
(eventbox (eventbox
:width 20
:height 20
:onclick "hyprctl dispatch workspace ${workspace.id}" :onclick "hyprctl dispatch workspace ${workspace.id}"
:tooltip "${workspace.name}" :tooltip "${workspace.name}"
:class "workspace ${workspace.active == true ? 'wsactive' : 'wsinactive'}" :class "workspace ${workspace.active == true ? 'wsactive' : 'wsinactive'}"
"${workspace.windows > 0 ? workspaceIcons.full : workspaceIcons.empty}")))) (label
:xalign 0
:yalign 0.5
:limit-width 1
:text "${workspace.windows > 0 ? workspaceIcons.full : workspaceIcons.empty}")))))

19
eww/widgets/sysmon.scss Normal file
View File

@@ -0,0 +1,19 @@
.sysmon{
background: darkred;
color: black;
}
.danger{
color: red
}
.ram{
background: yellow;
}
.disk{
background: lightblue;
}
.cpu{
background: green;
}
.net{
background: purple;
}

51
eww/widgets/sysmon.yuck Normal file
View File

@@ -0,0 +1,51 @@
(defvar netiface "enp34s0")
(defwidget sysmon []
(box
:class 'sysmon'
:space-evenly false
:spacing 1
(cpu)
(ram)
(disk)
(net)))
(defwidget ram []
(tooltip
:class 'ram ${EWW_RAM.used_mem_perc > 90 ? 'danger' : ''}'
(label :text " ${round(EWW_RAM.free_swap/1000000000, 2)} GB/${round(EWW_RAM.total_swap/1000000000, 2)} GB")
(label :text " ${round(EWW_RAM.used_mem/1000000000, 2)} GB/${round(EWW_RAM.total_mem/1000000000, 2)} GB")))
(defwidget disk []
(tooltip
:class 'disk ${EWW_DISK["/"].used_perc > 90 ? 'danger' : ''}'
(label :text " ${round(EWW_DISK["/"].free/1000000000, 2)} GB /${round(EWW_DISK["/"].total/1000000000, 2)} GB")
(label :text " ${round(EWW_DISK["/"].used_perc,2)}%")))
(defwidget cpu []
(tooltip
:class 'cpu'
(box :orientation "vertical"
(for cpu in {EWW_CPU.cores}
(box
:orientation "horizontal"
:space-evenly false
:spacing 10
(circular-progress
:thickness 5
:start-at 75
:value {cpu.usage})
(label
:limit-width 6
:show-truncated false
:text "${cpu.core}: ")
(label :text "${cpu.freq} Hz ${cpu.usage}%"))))
(label :text " ${round(EWW_CPU.avg, 2)}%")))
(defwidget net []
(box
:class 'net'
:space-evenly false
(label :text "")
(label :text " ${round(EWW_NET.enp34s0.NET_UP * 8 / 1000000, 2)} Mbit")
(label :text " ${round(EWW_NET.enp34s0.NET_DOWN * 8 / 1000000, 2)} Mbit")))