;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; On-Screen Keyboard Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar osk-ts false) (defvar osk-run "false") (defwidget osk-toggle [] (eventbox :class "${osk-ts == 'true' ? 'toggle-on' : 'toggle-off'}" :onclick "$EWW_PATH/run.sh '$HYPR_PATH/osk-toggle.sh toggle' osk-run &" :cursor "pointer" :onhover "eww update osk-run=true" :onhoverlost "eww update osk-run=false" (box :class "osk-toggle" :orientation "h" (label :text " 󰌌 ") ) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tablet Mode Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar tablet-ts false) (defvar tablet-run "false") (defvar turn-tablet-off "$EWW_PATH/run.sh '$HYPR_PATH/laptop-mode.sh' tablet-run &") (defvar turn-tablet-on "$EWW_PATH/run.sh '$HYPR_PATH/tablet-mode.sh' tablet-run &") (defwidget tablet-toggle [] (eventbox :class "${tablet-ts == 'true' ? 'toggle-on' : 'toggle-off'}" :onclick "${tablet-ts == 'true' ? turn-tablet-off : turn-tablet-on}" :cursor "pointer" :onhover "eww update tablet-run=true" :onhoverlost "eww update tablet-run=false" (box :class "tablet-toggle" :orientation "h" (label :text " 󰦧 ") ) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Heart Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar heart-ts "false") (defvar heart-run "false") (defwidget heart-toggle [] (eventbox :class "${heart-ts == 'true' ? 'toggle-on' : 'toggle-off'}" :onclick "$EWW_PATH/run.sh '$EWW_PATH/heart.sh toggle' heart-run &" :cursor "pointer" :onhover "eww update heart-run=true" :onhoverlost "eww update heart-run=false" (box :class "heart-toggle" :orientation "h" (label :text " ${heart_icon} ") ) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Left Bar ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defwidget left-bar [] (box :class "transparent" :space-evenly true :spacing 12 :orientation "h" (osk-toggle) (tablet-toggle) (heart-toggle) ) ) (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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar qs-run-on "false") (defwidget quick-settings-toggle [] (eventbox :class "toggle-off" :onclick "$EWW_PATH/run.sh '$EWW_PATH/qs-toggle.sh on' qs-run-on &" :cursor "pointer" :onhover "eww update qs-run-on=true" :onhoverlost "eww update qs-run-on=false" (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) (defvar notif-run "false") (defvar turn-notif-on "$EWW_PATH/run.sh '$EWW_PATH/notif-toggle.sh on' notif-run &") (defvar turn-notif-off "$EWW_PATH/run.sh '$EWW_PATH/notif-toggle.sh off' notif-run &") (defwidget notif-panel [] (box :orientation "v" :space-evenly false :spacing 0 (eventbox :class "${notif-panel-state == 'true' ? 'toggle-on' : 'toggle-off'}" :onclick "${notif-panel-state == 'true' ? turn-notif-off : turn-notif-on}" :cursor "pointer" :onhover "eww update notif-run=true" :onhoverlost "eww update notif-run=false" (box :class "notif-panel" :orientation "v" (label :text " ${notif_icon} ") ) ) (revealer :reveal notif-panel-state :duration anim_duration :transition "slideup" :height 0 (box :class "filler" :height 0 ) ) ) ) (defwindow notif-panel :monitor 0 :stacking "overlay" :exclusive "ignore" :geometry (geometry :x "60px" :y "10px" :width "0px" :height "0px" :anchor "top right" ) (notif-panel) )