57 lines
2 KiB
Text
57 lines
2 KiB
Text
(defpoll software_list :initial '[{"package_name":"package","package_version":"1","upstream_version":"1","up_to_date":"true"}]'
|
|
:interval "43200s"
|
|
'software-release-monitor')
|
|
|
|
(defvar reveal_software true)
|
|
(defwidget software_revealer []
|
|
(revealer-on-press
|
|
:visible {(jq(workspacesArray, '.[]\|select(.focused==true).num') <= 20) && (jq(workspacesArray, '.[]\|select(.focused==true).num') >= 11)}
|
|
; :visible {jq(workspacesArray, '.[]\|select(.focused==true).num') <= 9}
|
|
:revealvar reveal_software
|
|
:revealvar-name "reveal_software"
|
|
:width 300
|
|
(button
|
|
:width 300
|
|
:class "revealer-title"
|
|
"Software Monitor ${reveal_software ? '' : ''}")
|
|
(softwareupdates :json {software_list})))
|
|
|
|
(defwidget softwareupdates [json]
|
|
(box
|
|
:class "notes"
|
|
:orientation "v"
|
|
:halign "baseline"
|
|
:width 300
|
|
:height 150
|
|
:space-evenly true
|
|
(for software in json
|
|
(button :onclick "notify-send '${software.package_name} is ${(software.up_to_date == 'true' ) ? 'up to date!' : 'outdated!'}' 'upstream: ${software.upstream_version}\\npackage: ${software.package_version}'"
|
|
(box
|
|
:orientation "h"
|
|
:space-evenly false
|
|
(label
|
|
;; :xalign 0
|
|
:halign "start"
|
|
:hexpand true
|
|
:wrap false
|
|
:truncate true
|
|
:text "${software.package_name}")
|
|
(box
|
|
:orientation "v"
|
|
:halign "end"
|
|
(label
|
|
:valign "end"
|
|
:halign "end"
|
|
:class "details"
|
|
:text "${software.upstream_version} ")
|
|
(label
|
|
:valign "start"
|
|
:halign "end"
|
|
:class "details"
|
|
:text "${software.package_version} "))
|
|
(label
|
|
:halign "end"
|
|
:class "status"
|
|
:style {(software.up_to_date == "true" ) ? "color: green;" : "color: red;"}
|
|
:text {(software.up_to_date == "true" ) ? "" : ""}))))
|
|
))
|