;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 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" (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) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tablet Mode Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar tablet-ts false) (defwidget tablet-toggle-on [] (eventbox :class "toggle-on" :onclick "$HYPR_PATH/laptop-mode.sh &" :cursor "pointer" (box :class "tablet-toggle" :orientation "h" (label :text " 󰦧 ") ) ) ) (defwidget tablet-toggle-off [] (eventbox :class "toggle-off" :onclick "$HYPR_PATH/tablet-mode.sh &" :cursor "pointer" (box :class "tablet-toggle" :orientation "h" (label :text " 󰦧 ") ) ) ) (defwindow tablet :monitor 0 :stacking "overlay" :exclusive "ignore" :geometry (geometry :x "72px" :y "10px" :width "0px" :height "0px" :anchor "top left" ) (revealer :transition "crossfade" :reveal tablet-ts :duration "550ms" (tablet-toggle-on) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Heart Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar heart-ts "default") (defwidget heart-toggle-on [] (eventbox :class "toggle-on" :onclick "$EWW_PATH/heart.sh" :cursor "pointer" (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) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Left Bar ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defwidget left-bar [] (box :class "transparent" :space-evenly true :spacing 12 :orientation "h" (osk-toggle-off) (tablet-toggle-off) (heart-toggle-off) ) ) (defwindow left-bar :monitor 0 :stacking "overlay" :exclusive "ignore" :geometry (geometry :x "5px" :y "10px" :width "0px" :height "0px" :anchor "top left" ) (left-bar) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Quick Settings Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defwidget quick-settings-toggle [] (eventbox :class "toggle-off" :onclick "eww open quick-settings; eww open quick-settings-smol; eww open quick-settings-logo; eww update showqs=true" :cursor "pointer" (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) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 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" (box :class "notif-panel" :orientation "h" (label :text " ${notif_icon} ") ) ) ) (defwindow notif-panel :monitor 0 :stacking "overlay" :exclusive "ignore" :geometry (geometry :x "60px" :y "10px" :width "0px" :height "0px" :anchor "top right" ) (notif-panel) )