From d42926a5bcb3a65a553da7e6b239aca0ce8d8e9b Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sat, 19 Aug 2023 20:44:37 -0400 Subject: [PATCH] feat(eww): fix overcomplicated hack for button anims fade --- config/eww/scripts/close-opened.sh | 5 - config/eww/scripts/heart.sh | 4 - config/eww/scripts/notif-toggle.sh | 16 +- config/eww/traybuttons/traybuttons.scss | 9 +- config/eww/traybuttons/traybuttons.yuck | 190 +++++------------------- config/hypr/scripts/laptop-mode.sh | 1 - config/hypr/scripts/osk-toggle.sh | 12 +- config/hypr/scripts/tablet-mode.sh | 2 - 8 files changed, 46 insertions(+), 193 deletions(-) diff --git a/config/eww/scripts/close-opened.sh b/config/eww/scripts/close-opened.sh index cf62a0a..36f7008 100755 --- a/config/eww/scripts/close-opened.sh +++ b/config/eww/scripts/close-opened.sh @@ -14,12 +14,7 @@ for element in "${array[@]}" do [[ "$element" != "left-bar" ]] && [[ "$element" != "notif-panel" ]] && - [[ "$element" != "notif-panel-on" ]] && - [[ "$element" != "heart" ]] && - [[ "$element" != "osk" ]] && - [[ "$element" != "tablet" ]] && [[ "$element" != "quick-settings-toggle" ]] && [[ "$element" != "playerinfo" ]] && - #[[ "$element" != "" ]] && eww close "$element" done diff --git a/config/eww/scripts/heart.sh b/config/eww/scripts/heart.sh index eb1c1ad..20fcc03 100755 --- a/config/eww/scripts/heart.sh +++ b/config/eww/scripts/heart.sh @@ -4,11 +4,9 @@ FILE="$HOME/.config/.heart" toggle() { if grep -q 󰣐 "$FILE"; then - eww close heart eww update heart-ts=false echo  > "$FILE" else - eww open heart eww update heart-ts=true echo 󰣐 >> "$FILE" fi @@ -36,9 +34,7 @@ startup() { input-emulator start mouse -n & if grep -q 󰣐 "$FILE"; then - eww close heart sleep 0.9 && - eww open heart eww update heart-ts=true fi diff --git a/config/eww/scripts/notif-toggle.sh b/config/eww/scripts/notif-toggle.sh index 80c7d25..6c5605a 100755 --- a/config/eww/scripts/notif-toggle.sh +++ b/config/eww/scripts/notif-toggle.sh @@ -4,30 +4,16 @@ on() { # open notif panel swaync-client -op - # open closers when outside control center + # open closers to close when outside control center eww open closer-notif1 eww open closer-notif2 eww open closer-notif3 - # reload waybar to draw over closers - #killall -r -SIGUSR2 waybar && - - # re open eww widgets over closers # FIXME: ?? - eww close notif-panel; eww open notif-panel && - eww open notif-panel-on eww update notif-panel-state=true - - eww close quick-settings-toggle; eww open quick-settings-toggle - #eww close left-bar; eww open left-bar - - #if eww get osk-ts; then eww close osk; eww open osk; fi - #if eww get tablet-ts; then eww close tablet; eww open tablet; fi - #if eww get heart-ts; then eww close heart; eww open heart; fi } off() { swaync-client -cp - eww close notif-panel-on eww update notif-panel-state=false diff --git a/config/eww/traybuttons/traybuttons.scss b/config/eww/traybuttons/traybuttons.scss index 8a7804b..6a4a62f 100644 --- a/config/eww/traybuttons/traybuttons.scss +++ b/config/eww/traybuttons/traybuttons.scss @@ -39,7 +39,8 @@ color: #CBA6F7; border-radius: 80px; border: 2px solid #1b1b2b; - transition: background-color 0.5s ease-in-out; + transition: background-color 0.5s ease-in-out, + border 0.5s ease-in-out; } .toggle-on { @@ -48,10 +49,12 @@ color: #CBA6F7; border-radius: 80px; border: 2px solid $contrastbg; - transition: background-color 0.5s ease-in-out; + transition: background-color 0.5s ease-in-out, + border 0.5s ease-in-out; } .toggle-on:hover, .toggle-off:hover { background-color: rgba(127, 132, 156, 0.4); - transition: background-color 0.5s ease-in-out; + transition: background-color 0.5s ease-in-out, + border 0.5s ease-in-out; } diff --git a/config/eww/traybuttons/traybuttons.yuck b/config/eww/traybuttons/traybuttons.yuck index 4b79bd4..be0cd4d 100644 --- a/config/eww/traybuttons/traybuttons.yuck +++ b/config/eww/traybuttons/traybuttons.yuck @@ -2,13 +2,14 @@ ;; On-Screen Keyboard Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar osk-ts false) -(defvar osk-run-off "false") -(defwidget osk-toggle-on [] - (eventbox :class "toggle-on" - :onclick "$EWW_PATH/run.sh '$HYPR_PATH/osk-toggle.sh toggle' osk-run-off &" +(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-off=true" - :onhoverlost "eww update osk-run-off=false" + :onhover "eww update osk-run=true" + :onhoverlost "eww update osk-run=false" (box :class "osk-toggle" :orientation "h" @@ -16,49 +17,22 @@ ) ) ) -(defvar osk-run-on "false") -(defwidget osk-toggle-off [] - (eventbox :class "toggle-off" - :onclick "$EWW_PATH/run.sh '$HYPR_PATH/osk-toggle.sh toggle' osk-run-on &" - :cursor "pointer" - :onhover "eww update osk-run-on=true" - :onhoverlost "eww update osk-run-on=false" - - (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 anim_duration - (osk-toggle-on) - ) -) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tablet Mode Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar tablet-ts false) -(defvar tablet-run-off "false") -(defwidget tablet-toggle-on [] - (eventbox :class "toggle-on" - :onclick "$EWW_PATH/run.sh '$HYPR_PATH/laptop-mode.sh' tablet-run-off &" +(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-off=true" - :onhoverlost "eww update tablet-run-off=false" + :onhover "eww update tablet-run=true" + :onhoverlost "eww update tablet-run=false" (box :class "tablet-toggle" :orientation "h" @@ -66,49 +40,19 @@ ) ) ) -(defvar tablet-run-on "false") -(defwidget tablet-toggle-off [] - (eventbox :class "toggle-off" - :onclick "$EWW_PATH/run.sh '$HYPR_PATH/tablet-mode.sh' tablet-run-on &" - :cursor "pointer" - :onhover "eww update tablet-run-on=true" - :onhoverlost "eww update tablet-run-on=false" - - (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 anim_duration - (tablet-toggle-on) - ) -) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Heart Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar heart-ts "false") -(defvar heart-run-off "false") -(defwidget heart-toggle-on [] - (eventbox :class "toggle-on" - :onclick "$EWW_PATH/run.sh '$EWW_PATH/heart.sh toggle' heart-run-off &" +(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-off=true" - :onhoverlost "eww update heart-run-off=false" + :onhover "eww update heart-run=true" + :onhoverlost "eww update heart-run=false" (box :class "heart-toggle" :orientation "h" @@ -116,37 +60,6 @@ ) ) ) -(defvar heart-run-on "false") -(defwidget heart-toggle-off [] - (eventbox :class "toggle-off" - :onclick "$EWW_PATH/run.sh '$EWW_PATH/heart.sh toggle' heart-run-on &" - :cursor "pointer" - :onhover "eww update heart-run-on=true" - :onhoverlost "eww update heart-run-on=false" - - (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 anim_duration - (heart-toggle-on) - ) -) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Left Bar @@ -156,9 +69,9 @@ :space-evenly true :spacing 12 :orientation "h" - (osk-toggle-off) - (tablet-toggle-off) - (heart-toggle-off) + (osk-toggle) + (tablet-toggle) + (heart-toggle) ) ) (defwindow left-bar @@ -208,13 +121,16 @@ ;; Notification Panel Toggle ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar notif-panel-state false) -(defvar notif-run-off "false") -(defwidget notif-panel-on [] - (eventbox :class "toggle-on" - :onclick "$EWW_PATH/run.sh '$EWW_PATH/notif-toggle.sh off' notif-run-off &" +(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 [] + (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-off=true" - :onhoverlost "eww update notif-run-off=false" + :onhover "eww update notif-run=true" + :onhoverlost "eww update notif-run=false" (box :class "notif-panel" :orientation "h" @@ -222,21 +138,6 @@ ) ) ) -(defvar notif-run-on "false") -(defwidget notif-panel-off [] - (eventbox :class "toggle-off" - :onclick "$EWW_PATH/run.sh '$EWW_PATH/notif-toggle.sh on' notif-run-on &" - :cursor "pointer" - :onhover "eww update notif-run-on=true" - :onhoverlost "eww update notif-run-on=false" - - (box :class "notif-panel" - :orientation "h" - (label :text " ${notif_icon} ") - ) - ) -) - (defwindow notif-panel :monitor 0 :stacking "overlay" @@ -247,22 +148,5 @@ :height "0px" :anchor "top right" ) - (notif-panel-off) -) -(defwindow notif-panel-on - :monitor 0 - :stacking "overlay" - :exclusive "ignore" - :geometry (geometry :x "60px" - :y "10px" - :width "0px" - :height "0px" - :anchor "top right" - ) - (revealer - :transition "crossfade" - :reveal notif-panel-state - :duration anim_duration - (notif-panel-on) - ) + (notif-panel) ) diff --git a/config/hypr/scripts/laptop-mode.sh b/config/hypr/scripts/laptop-mode.sh index e6ffc1f..42e8906 100755 --- a/config/hypr/scripts/laptop-mode.sh +++ b/config/hypr/scripts/laptop-mode.sh @@ -7,5 +7,4 @@ brightnessctl -d tpacpi::kbd_backlight s 2 killall -r autorotate.sh killall -r evtest -eww close tablet eww update tablet-ts=false diff --git a/config/hypr/scripts/osk-toggle.sh b/config/hypr/scripts/osk-toggle.sh index a2b2a9e..b07c065 100755 --- a/config/hypr/scripts/osk-toggle.sh +++ b/config/hypr/scripts/osk-toggle.sh @@ -3,14 +3,10 @@ state () { if [[ $(busctl get-property --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible) == "b true" ]]; then #echo "Running" - eww open osk eww update osk-ts=true else #echo "Stopped" - if [[ $(eww windows | grep '*osk') != "" ]]; then - eww close osk - eww update osk-ts=false - fi + eww update osk-ts=false fi } @@ -18,14 +14,10 @@ toggle () { if [[ $(busctl get-property --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible) == "b true" ]]; then echo "Running" busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false - if [[ $(eww windows | grep '*osk') != "" ]]; then - eww close osk - eww update osk-ts=false - fi + eww update osk-ts=false else echo "Stopped" busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true - eww open osk eww update osk-ts=true fi } diff --git a/config/hypr/scripts/tablet-mode.sh b/config/hypr/scripts/tablet-mode.sh index 19dac1b..95a6b2c 100755 --- a/config/hypr/scripts/tablet-mode.sh +++ b/config/hypr/scripts/tablet-mode.sh @@ -1,6 +1,5 @@ #!/usr/bin/env bash -echo "$XDG_DATA_DIRS" >> ~/log.log gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true brightnessctl -d tpacpi::kbd_backlight s 0 @@ -13,5 +12,4 @@ evtest --grab "/dev/input/by-path/platform-AMDI0010:02-event-mouse" & evtest --grab "/dev/input/by-path/platform-thinkpad_acpi-event" & evtest --grab "/dev/video-bus" & -eww open tablet eww update tablet-ts=true