nixos-configs/config/eww/traybuttons/traybuttons.yuck

191 lines
5.3 KiB
Text
Raw Normal View History

2023-07-26 20:21:02 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; On-Screen Keyboard Toggle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar osk-ts false)
(defwidget osk-toggle-on []
(eventbox :class "toggle-on"
:onclick "$HYPR_PATH/osk-toggle.sh toggle &"
:cursor "pointer"
(box :class "osk-toggle"
:orientation "h"
(label :text " 󰌌 ")
)
)
)
(defwidget osk-toggle-off []
(eventbox :class "toggle-off"
:onclick "$HYPR_PATH/osk-toggle.sh toggle &"
:cursor "pointer"
2023-07-23 13:40:45 -04:00
2023-07-15 00:46:04 -04:00
(box :class "osk-toggle"
:orientation "h"
(label :text " 󰌌 ")
)
)
)
(defwindow osk
:monitor 0
:stacking "overlay"
:exclusive "ignore"
:geometry (geometry :x "5px"
:y "10px"
:width "0px"
:height "0px"
:anchor "top left"
)
(revealer
:transition "crossfade"
:reveal osk-ts
:duration "550ms"
(osk-toggle-on)
)
)
2023-07-15 00:46:04 -04:00
2023-07-26 20:21:02 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Tablet Mode Toggle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar tablet-ts false)
(defwidget tablet-toggle []
(eventbox :class {tablet-ts ? "toggle-on" : "toggle-off"}
:onclick {tablet-ts ? "$HYPR_PATH/laptop-mode.sh &" :
"$HYPR_PATH/tablet-mode.sh &"}
:cursor "pointer"
2023-07-23 13:40:45 -04:00
(box :class "tablet-toggle"
:orientation "h"
(label :text " 󰦧 ")
)
)
)
2023-07-26 20:21:02 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Heart Toggle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar heart-ts "default")
(defwidget heart-toggle-on []
(eventbox :class "toggle-on"
:onclick "$EWW_PATH/heart.sh"
:cursor "pointer"
2023-07-23 13:40:45 -04:00
(box :class "heart-toggle"
:orientation "h"
(label :text " ${heart_icon} ")
)
)
)
(defwidget heart-toggle-off []
(eventbox :class "toggle-off"
:onclick "$EWW_PATH/heart.sh"
:cursor "pointer"
(box :class "heart-toggle"
:orientation "h"
(label :text " ${heart_icon} ")
)
)
)
(defwindow heart
:monitor 0
:stacking "overlay"
:exclusive "ignore"
:geometry (geometry :x "140px"
:y "10px"
:width "0px"
:height "0px"
:anchor "top left"
)
(revealer
:transition "crossfade"
:reveal heart-ts
:duration "550ms"
(heart-toggle-on)
)
)
2023-07-26 20:21:02 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Left Bar
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defwidget left-bar []
(box :class "transparent"
:space-evenly true
2023-07-23 13:40:45 -04:00
:spacing 12
:orientation "h"
(osk-toggle-off)
(tablet-toggle)
(heart-toggle-off)
)
)
(defwindow left-bar
:monitor 0
:stacking "overlay"
:exclusive "ignore"
2023-07-23 13:40:45 -04:00
:geometry (geometry :x "5px"
:y "10px"
:width "0px"
:height "0px"
:anchor "top left"
)
(left-bar)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2023-07-26 20:21:02 -04:00
;; Quick Settings Toggle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2023-07-23 13:40:45 -04:00
(defwidget quick-settings-toggle []
(eventbox :class "toggle-off"
2023-07-26 20:21:02 -04:00
:onclick "eww open quick-settings;
eww open quick-settings-smol;
eww open quick-settings-logo;
eww update showqs=true"
:cursor "pointer"
2023-07-23 13:40:45 -04:00
(box :class "quick-settings-toggle"
:orientation "h"
(label :text "  ")
)
)
)
(defwindow quick-settings-toggle
:monitor 0
:stacking "overlay"
:exclusive "ignore"
:geometry (geometry :x "5px"
:y "10px"
:width "0px"
:height "0px"
:anchor "top right"
)
(quick-settings-toggle)
)
2023-07-15 00:46:04 -04:00
2023-07-26 20:21:02 -04:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Notification Panel Toggle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar notif-panel-state false)
(defwidget notif-panel []
(eventbox :class {notif-panel-state ? "toggle-on" : "toggle-off"}
:onclick {notif-panel-state ? "swaync-client -cp; eww update notif-panel-state=false" :
"swaync-client -op; eww update notif-panel-state=true"}
:cursor "pointer"
2023-07-23 13:40:45 -04:00
(box :class "notif-panel"
:orientation "h"
(label :text " ${notif_icon} ")
)
)
)
2023-07-23 13:40:45 -04:00
(defwindow notif-panel
:monitor 0
:stacking "overlay"
:exclusive "ignore"
2023-07-23 13:40:45 -04:00
:geometry (geometry :x "60px"
:y "10px"
:width "0px"
:height "0px"
:anchor "top right"
)
2023-07-23 13:40:45 -04:00
(notif-panel)
)