diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..41bcb16 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "*.yuck": "commonlisp" + }, +} \ No newline at end of file diff --git a/hypr-configs/hyprland/eww/src/control-panel/main.yuck b/hypr-configs/hyprland/eww/src/control-panel/main.yuck index ea46595..bd740ba 100644 --- a/hypr-configs/hyprland/eww/src/control-panel/main.yuck +++ b/hypr-configs/hyprland/eww/src/control-panel/main.yuck @@ -1,536 +1,536 @@ (defwindow control_panel - :geometry (geometry - :x 10 - :y 10 - :width 340 - :anchor "top left" - ) - :stacking "overlay" - :monitor 0 - - (control_widget) -) + :geometry (geometry + :x 10 + :y 10 + :width 340 + :anchor "top left" + ) + :stacking "overlay" + :monitor 0 + + (control_widget) + ) (defwidget control_widget [] + (box + :class "controlpanelwindow" + :space-evenly false + :orientation "v" + :valign "fill" + :vexpand true + (user) + (chooser) + ; (weather) + + ; (coolmpd :h 150 :permashow true) + (box - :class "controlpanelwindow" - :space-evenly false - :orientation "v" - :valign "fill" - :vexpand true - (user) - (chooser) - ; (weather) - - ; (coolmpd :h 150 :permashow true) - - (box - :orientation "h" - :space-evenly false - :height 180 - :halign "fill" - (timer) - (bigslides)) - - (box - :space-evenly false - :orientation "v" - :vexpand true - :visible true - (toolbox) - (notifications_weather_box)) + :orientation "h" + :space-evenly false + :height 180 + :halign "fill" + (timer) + (bigslides)) + + (box + :space-evenly false + :orientation "v" + :vexpand true + :visible true + (toolbox) + (notifications_weather_box)) )) -(defwidget toolbox [] - (eventbox + (defwidget toolbox [] + (eventbox :cursor "pointer" (box - :class "tricontrol unbarwidget" - :orientation "h" - :space-evenly true - :height 60 - :halign "fill" - (button :onclick "./scripts/pop colourpick" (label :text "󰈊")) - (button :onclick "./scripts/pop scrop" (label :text "󰆞")) - (button :onclick "~/.config/eww/themeswitch/scripts/pop" (label :text ""))))) + :class "tricontrol unbarwidget" + :orientation "h" + :space-evenly true + :height 60 + :halign "fill" + (button :onclick "./scripts/pop colourpick" (label :text "󰈊")) + (button :onclick "./scripts/pop scrop" (label :text "󰆞")) + (button :onclick "~/.config/eww/themeswitch/scripts/pop" (label :text ""))))) -(defwidget chooser [] - (box - :orientation "v" - :halign "fill" - :height 60 - :class "unbarwidget" - :space-evenly false - (box - :orientation "h" - - (button - :onclick "${EWW_CMD} update reveal4=${!reveal4} reveal5=false reveal6=false" - :onrightclick "foot nvim ~/Documents/fuck.txt" - (label :class {reveal4 ? "titlesel" : "title"} :text "Notes")) - (button - :onclick "${EWW_CMD} update reveal5=${!reveal5} reveal4=false reveal6=false" - (label :class {reveal5 ? "titlesel" : "title"} :text "System")) - (button - :onclick "${EWW_CMD} update reveal6=${!reveal6} reveal5=false reveal4=false" - (label :class {reveal6 ? "titlesel" : "title"} :text "Hyprland"))) - - (notes) - (sysinfo) - (wmctrl))) + (defwidget chooser [] + (box + :orientation "v" + :halign "fill" + :height 60 + :class "unbarwidget" + :space-evenly false + (box + :orientation "h" + + (button + :onclick "${EWW_CMD} update reveal4=${!reveal4} reveal5=false reveal6=false" + :onrightclick "foot nvim ~/Documents/fuck.txt" + (label :class {reveal4 ? "titlesel" : "title"} :text "Notes")) + (button + :onclick "${EWW_CMD} update reveal5=${!reveal5} reveal4=false reveal6=false" + (label :class {reveal5 ? "titlesel" : "title"} :text "System")) + (button + :onclick "${EWW_CMD} update reveal6=${!reveal6} reveal5=false reveal4=false" + (label :class {reveal6 ? "titlesel" : "title"} :text "Hyprland"))) + + (notes) + (sysinfo) +(wmctrl))) -(defwidget notes [] - (revealer - :reveal reveal4 - :transition "slideup" - (box - :height 140 - (box - :orientation "h" - (scroll - :hscroll true - :vscroll true - (label :text notesc)))))) + (defwidget notes [] + (revealer + :reveal reveal4 + :transition "slideup" + (box + :height 140 + (box + :orientation "h" + (scroll + :hscroll true + :vscroll true + (label :text notesc)))))) -(defwidget wmctrl [] - (revealer - :reveal reveal6 - :transition "slideup" - (scroll - :hscroll false - :vscroll true - :height 140 - (box - :orientation "v" - :valign "fill" - :space-evenly false - :spacing 5 - (wmslider - :name "gaps outer" - :val gapsouter - :onchange "swaymsg gaps outer all set {}" - :max 300 - :reset "${EWW_CMD} update gapsouter=0 && swaymsg gaps outer all set 0") - (wmslider - :name "gaps inner" - :val gapsinner - :onchange "swaymsg gaps inner all set {}" - :max 150 - :reset "${EWW_CMD} update gapsinner=15 && swaymsg gaps inner all set 15") - (wmslider - :name "border size" - :val borderpixel - :onchange "swaymsg default_border pixel {} && swaymsg '[app_id=\".*\"] border pixel {}'" - :max 50 - :reset "${EWW_CMD} update borderpixel=2 && swaymsg default_border pixel 2 && swaymsg '[app_id=\".*\"] border pixel 2'") - (box - :orientation "h" - :space-evenly false - :halign "center" - :spacing 10 - (label :text "natural scrolling") - (checkbox - :onchecked "swaymsg input \"type:touchpad\" natural_scroll enable" - :onunchecked "swaymsg input \"type:touchpad\" natural_scroll disable")) - (box - :orientation "h" - :space-evenly false - :halign "center" - :spacing 10 - (label :text "disable when typing") - (checkbox - :onchecked "swaymsg input \"type:touchpad\" dwt enable" - :onunchecked "swaymsg input \"type:touchpad\" dwt disable" - )) - - (box - :orientation "h" - :space-evenly false - :halign "center" - :spacing 10 - (label :text "caffeine") - (checkbox - :onchecked "swaymsg [app_id='.*'] inhibit_idle open && ${EWW_CMD} update caffeine=true" - :onunchecked "swaymsg [app_id='.*'] inhibit_idle none && ${EWW_CMD} update caffeine=false" - )) - )))) + (defwidget wmctrl [] + (revealer + :reveal reveal6 + :transition "slideup" + (scroll + :hscroll false + :vscroll true + :height 140 + (box + :orientation "v" + :valign "fill" + :space-evenly false + :spacing 5 + (wmslider + :name "gaps outer" + :val gapsouter + :onchange "swaymsg gaps outer all set {}" + :max 300 + :reset "${EWW_CMD} update gapsouter=0 && swaymsg gaps outer all set 0") + (wmslider + :name "gaps inner" + :val gapsinner + :onchange "swaymsg gaps inner all set {}" + :max 150 + :reset "${EWW_CMD} update gapsinner=15 && swaymsg gaps inner all set 15") + (wmslider + :name "border size" + :val borderpixel + :onchange "swaymsg default_border pixel {} && swaymsg '[app_id=\".*\"] border pixel {}'" + :max 50 + :reset "${EWW_CMD} update borderpixel=2 && swaymsg default_border pixel 2 && swaymsg '[app_id=\".*\"] border pixel 2'") + (box + :orientation "h" + :space-evenly false + :halign "center" + :spacing 10 + (label :text "natural scrolling") + (checkbox + :onchecked "swaymsg input \"type:touchpad\" natural_scroll enable" + :onunchecked "swaymsg input \"type:touchpad\" natural_scroll disable")) + (box + :orientation "h" + :space-evenly false + :halign "center" + :spacing 10 + (label :text "disable when typing") + (checkbox + :onchecked "swaymsg input \"type:touchpad\" dwt enable" + :onunchecked "swaymsg input \"type:touchpad\" dwt disable" + )) -(defwidget sysinfo [] - (revealer - :reveal reveal5 - :transition "slideup" - (box - :orientation "h" - :height 140 - (systat :icon "󰻠" :val { EWW_CPU.avg }) - (systat :icon "󰍛" :val { EWW_RAM.used_mem_perc }) - (systat :icon "󰈐" :val { gpu }) - (systat :icon "" :val { EWW_BATTERY.BAT0.capacity }) - ))) + (box + :orientation "h" + :space-evenly false + :halign "center" + :spacing 10 + (label :text "caffeine") + (checkbox + :onchecked "swaymsg [app_id='.*'] inhibit_idle open && ${EWW_CMD} update caffeine=true" + :onunchecked "swaymsg [app_id='.*'] inhibit_idle none && ${EWW_CMD} update caffeine=false" + )) + )))) -(defwidget wmslider [name val onchange max reset] - (box - :orientation "h" - :space-evenly false - :halign "center" - :width 20 - :vexpand false - :valign "center" - :spacing 10 - (label - :text name) - (scale - :min 0 - :max max - :class "wmctrlslide" - :tooltip val - :value val - :onchange onchange) - (button - :onclick reset - :style "padding: 0px 8px 0px 3px;" - ""))) + (defwidget sysinfo [] + (revealer + :reveal reveal5 + :transition "slideup" + (box + :orientation "h" + :height 140 + (systat :icon "󰻠" :val { EWW_CPU.avg }) + (systat :icon "󰍛" :val { EWW_RAM.used_mem_perc }) + (systat :icon "󰈐" :val { gpu }) + (systat :icon "" :val { EWW_BATTERY.BAT0.capacity }) + ))) -(defwidget systat [icon val] - (overlay - (circular-progress - :halign "center" - :valign "center" - :class "circsys" - :thickness 40 - :value val) - - (box - :class "circiconcontain" - :halign "center" - :valign "center" - :height 55 - :width 55 - (label :text icon)))) + (defwidget wmslider [name val onchange max reset] + (box + :orientation "h" + :space-evenly false + :halign "center" + :width 20 + :vexpand false + :valign "center" + :spacing 10 + (label + :text name) + (scale + :min 0 + :max max + :class "wmctrlslide" + :tooltip val + :value val + :onchange onchange) + (button + :onclick reset + :style "padding: 0px 8px 0px 3px;" + ""))) -(defwidget user[] - (revealer - :reveal {!reveal4 && !reveal5 && !reveal6} - :transition "slideup" - (box - :orientation "h" - :space-evenly false - :height 140 - :width 320 - :class "unbarwidget" - :valign "start" - :halign "fill" - :hexpand true - (image :style "margin: 10px;" :image-width 80 :image-height 80 :path "./assets/image/fieshidle.gif") - (scroll - :hscroll true - :vscroll false - :hexpand true - (box - :orientation "v" - :class "userinfo" - :space-evenly false - :valign "center" - :halign "center" - (label :halign "start" :text "${datehour < 12 ? 'Good morning' : datehour < 18 ? 'Good afternoon' : datehour < 22 ? 'Good evening' : 'Good night'} ${hostname}") - (label :halign "start" :text uptime :style "font-size: 12px;")))))) + (defwidget systat [icon val] + (overlay + (circular-progress + :halign "center" + :valign "center" + :class "circsys" + :thickness 40 + :value val) -(defwidget notifications_weather_box [] - (box - :orientation "v" - :halign "fill" - :valign "fill" - :vexpand true - :class "unbarwidget" - :space-evenly false - - (box - :orientation "h" - (button - :onclick "${EWW_CMD} update revealWeather=false" - (label :class {!revealWeather ? "titlesel" : "title"} :text "Notifications")) - (button - :onclick "${EWW_CMD} update revealWeather=true" - (label :class {revealWeather ? "titlesel" : "title"} :text "Weather"))) - - (box - :orientation "h" - :vexpand true - :hexpand true - :space-evenly false - - (revealer - :reveal {!revealWeather} - :hexpand {!revealWeather} - :transition "slideleft" - - (notificationlog)) - - (revealer - :reveal revealWeather - :hexpand revealWeather - :transition "slideleft" - - (weather))))) + (box + :class "circiconcontain" + :halign "center" + :valign "center" + :height 55 + :width 55 + (label :text icon)))) -(defwidget weather[] - (overlay - (box - :orientation "v" - :halign "fill" - :valign "fill" - :vexpand true - :space-evenly false - - (weathermain) - (scroll - :hscroll false - :vscroll true - :vexpand true - (box - :orientation "v" - :valign "start" - :space-evenly false - (for hour in {weatherjson.hourly} - (weatherhour :hour hour))))) - (box - :valign "end" - :hexpand true - :vexpand false - :height 80 - :class "fadeoutbox") - )) + (defwidget user[] + (revealer + :reveal {!reveal4 && !reveal5 && !reveal6} + :transition "slideup" + (box + :orientation "h" + :space-evenly false + :height 140 + :width 320 + :class "unbarwidget" + :valign "start" + :halign "fill" + :hexpand true + (image :style "margin: 10px;" :image-width 80 :image-height 80 :path "./assets/image/fieshidle.gif") + (scroll + :hscroll true + :vscroll false + :hexpand true + (box + :orientation "v" + :class "userinfo" + :space-evenly false + :valign "center" + :halign "center" + (label :halign "start" :text "${datehour < 12 ? 'Good morning' : datehour < 18 ? 'Good afternoon' : datehour < 22 ? 'Good evening' : 'Good night'} ${hostname}") + (label :halign "start" :text uptime :style "font-size: 12px;")))))) -(defwidget weatherhour[hour] - (box - :class "smallentry" - :orientation "h" - :height 80 - :halign "fill" - :valign "center" - :vexpand false - :space-evenly true - :spacing 10 - (label :style "font-size: 20px;" :text {hour.time}) - (image - :image-width 50 - :image-height 50 - :path "./assets/image/weather/${hour.icon}.svg") - (box - :orientation "v" - :space-evenly false - :valign "center" - :spacing 10 - (label :halign "start" :text "${hour.FeelsLikeC}°C") - (label :halign "start" :text "rain: ${hour.chanceofrain}%")))) + (defwidget notifications_weather_box [] + (box + :orientation "v" + :halign "fill" + :valign "fill" + :vexpand true + :class "unbarwidget" + :space-evenly false -(defwidget weathermain[] - (box - :class "mainentry" - :orientation "h" - :halign "fill" - :height 150 - :space-evenly false - :spacing 10 - (image - :image-width 100 - :image-height 100 - :style "margin: 10px;" - :path "./assets/image/weather/${weatherjson.icon}.svg") - (scroll - :hscroll true - :vscroll false - :valign "fill" - :hexpand true - (box - :orientation "v" - (label :halign "start" :text {weatherjson.weatherDesc[0].value}) - (label :halign "start" :text "Feels like ${weatherjson.FeelsLikeC}°C") - (label :halign "start" :text "← ${weatherjson.windspeedKmph} km/h") - ;; (label :halign "start" :text "${weatherjson.visibility} km") - ;; (label :halign "start" :text "${weatherjson.precipMM} mm") - )))) + (box + :orientation "h" + (button + :onclick "${EWW_CMD} update revealWeather=false" + (label :class {!revealWeather ? "titlesel" : "title"} :text "Notifications")) + (button + :onclick "${EWW_CMD} update revealWeather=true" + (label :class {revealWeather ? "titlesel" : "title"} :text "Weather"))) -(defwidget timer[] - (box - :orientation "v" - :class "unbarwidget" - :space-evenly false - :width 180 - :valign "fill" - (label :class "timer" :valign "center" :vexpand true :text timerdis) - (box - :orientation "h" - :class "timer_butt" - :valign "end" - (button :onclick "./scripts/timer.py timedec" (label :text "-")) - (button :onclick "./scripts/timer.py toggle" (label :style "padding-right: 3px;" :text { !matches(timerdis, ":") ? "󱎫" : "󱫎"})) - (button :onclick "./scripts/timer.py timeinc" (label :text "+"))))) + (box + :orientation "h" + :vexpand true + :hexpand true + :space-evenly false -(defwidget bigslides [] - (box - :valign "fill" - :halign "fill" - :class "unbarwidget" - :hexpand true - :space-evenly true - (bigvol) - (bigmic) - (bigbright))) + (revealer + :reveal {!revealWeather} + :hexpand {!revealWeather} + :transition "slideleft" -(defwidget bigvol [] - (overlay - (scale - :width 50 - :class "bigslide" - :value volume - :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" - :orientation "v" - :tooltip "${volume}%" - :max 100 - :min 0 - :flipped true) - (label - :class "slideicon" - :valign "end" - :text {volumemute == 'false' ? "󰕾" : "󰖁"}))) + (notificationlog)) -(defwidget bigmic [] - (overlay - (scale - :width 50 - :class "bigslide" - :value mic_volume - :onchange "pactl set-source-volume @DEFAULT_SOURCE@ {}%" - :orientation "v" - :tooltip "${mic_volume}%" - :max 100 - :min 0 - :flipped true) - (label - :class "slideicon" - :valign "end" - :text {volumemute == 'false' ? "" : "󰖁"}))) + (revealer + :reveal revealWeather + :hexpand revealWeather + :transition "slideleft" -(defwidget bigbright [] - (overlay - (scale - :width 50 - :class "bigslide" - :value brightness - :onchange "brightnessctl set {}%" - :orientation "v" - :tooltip "${brightness}%" - :max 100 - :min 0 - :flipped true) - (label - :class "slideicon" - :valign "end" - :text "󰃞"))) + (weather))))) -(defwidget notificationlog [] - (overlay - (box - :halign "fill" - :valign "fill" - :vexpand true - :space-evenly false - :orientation "v" - - (scroll - :hscroll false - :vscroll true - :vexpand true - :valign "fill" - - (box - :orientation "v" - :valign "start" - :space-evenly false - (for noti in {notifications.notifications} - (singlenotif :noti noti :initial false)))) - - (box - :valign "end" - :hexpand true - :vexpand false - :height 80 - :class "fadeoutbox") - (box - :orientation "h" - (button - :onclick "./scripts/notifManage --clear" - (label - :class "title" - :text "Clear All")) - (button - :onclick "./scripts/notifManage --toggle" - (label - :class { notifications.dnd ? "titlesel" : "title"} - :text "Do Not Disturb"))) - ) - - ) - -) + (defwidget weather[] + (overlay + (box + :orientation "v" + :halign "fill" + :valign "fill" + :vexpand true + :space-evenly false -(defwidget quote [] - (box - :class "quotewid unbarwidget" - :halign "fill" - :valign "fill" - :vexpand true - :space-evenly false - :orientation "v" - (scroll :vexpand true :hscroll true :vscroll true - (label - :class "quote" - :text {quotejson.content} - :wrap true - :width 300)) - (label - :class "quoteauthor" - :text "- ${quotejson.author}"))) + (weathermain) + (scroll + :hscroll false + :vscroll true + :vexpand true + (box + :orientation "v" + :valign "start" + :space-evenly false + (for hour in {weatherjson.hourly} + (weatherhour :hour hour))))) + (box + :valign "end" + :hexpand true + :vexpand false + :height 80 + :class "fadeoutbox") + )) -(defwidget coolmpd [h permashow] - (overlay - (box - :orientation "v" - :halign "fill" - :height h - :class { pcover != "" ? "mpdcover" : "unbarwidget"} - :style "background-image: url('${pcover}')" - :visible {permashow ? true : pcover != "" }) - (box - :orientation "h" - :space-evenly false - :halign "center" - :valign "center" - :spacing 10 - (image :image-width 100 :image-height 100 :path { pcover == "" ? "./assets/image/emptympd.png" : pcover }) - (box - :orientation "v" - :space-evenly false - :width 200 - :halign "center" - :valign "center" - :class "coolmpd" - (scroll - :hscroll true - :vscroll false - (label :style "font-size: 20px;" :text psong)) - (scroll - :hscroll true - :vscroll false - (label :text partist)) - (box - :orientation "h" - :class "mpd_controls" - (button :onclick "playerctl previous" - (label :text "󰒮")) - (button :style "padding-right: 3px;" :onclick "playerctl play-pause" - (label :text { pstatus == "Playing" ? "" : ""} )) - (button :onclick "playerctl next" - (label :text "󰒭"))))))) \ No newline at end of file + (defwidget weatherhour[hour] + (box + :class "smallentry" + :orientation "h" + :height 80 + :halign "fill" + :valign "center" + :vexpand false + :space-evenly true + :spacing 10 + (label :style "font-size: 20px;" :text {hour.time}) + (image + :image-width 50 + :image-height 50 + :path "./assets/image/weather/${hour.icon}.svg") + (box + :orientation "v" + :space-evenly false + :valign "center" + :spacing 10 + (label :halign "start" :text "${hour.FeelsLikeC}°C") + (label :halign "start" :text "rain: ${hour.chanceofrain}%")))) + + (defwidget weathermain[] + (box + :class "mainentry" + :orientation "h" + :halign "fill" + :height 150 + :space-evenly false + :spacing 10 + (image + :image-width 100 + :image-height 100 + :style "margin: 10px;" + :path "./assets/image/weather/${weatherjson.icon}.svg") + (scroll + :hscroll true + :vscroll false + :valign "fill" + :hexpand true + (box + :orientation "v" + (label :halign "start" :text {weatherjson.weatherDesc[0].value}) + (label :halign "start" :text "Feels like ${weatherjson.FeelsLikeC}°C") + (label :halign "start" :text "← ${weatherjson.windspeedKmph} km/h") + ;; (label :halign "start" :text "${weatherjson.visibility} km") + ;; (label :halign "start" :text "${weatherjson.precipMM} mm") + )))) + + (defwidget timer[] + (box + :orientation "v" + :class "unbarwidget" + :space-evenly false + :width 180 + :valign "fill" + (label :class "timer" :valign "center" :vexpand true :text timerdis) + (box + :orientation "h" + :class "timer_butt" + :valign "end" + (button :onclick "./scripts/timer.py timedec" (label :text "-")) + (button :onclick "./scripts/timer.py toggle" (label :style "padding-right: 3px;" :text { !matches(timerdis, ":") ? "󱎫" : "󱫎"})) + (button :onclick "./scripts/timer.py timeinc" (label :text "+"))))) + + (defwidget bigslides [] + (box + :valign "fill" + :halign "fill" + :class "unbarwidget" + :hexpand true + :space-evenly true + (bigvol) + (bigmic) + (bigbright))) + + (defwidget bigvol [] + (overlay + (scale + :width 50 + :class "bigslide" + :value volume + :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%" + :orientation "v" + :tooltip "${volume}%" + :max 100 + :min 0 + :flipped true) + (label + :class "slideicon" + :valign "end" + :text {volumemute == 'false' ? "󰕾" : "󰖁"}))) + + (defwidget bigmic [] + (overlay + (scale + :width 50 + :class "bigslide" + :value mic_volume + :onchange "pactl set-source-volume @DEFAULT_SOURCE@ {}%" + :orientation "v" + :tooltip "${mic_volume}%" + :max 100 + :min 0 + :flipped true) + (label + :class "slideicon" + :valign "end" + :text {volumemute == 'false' ? "" : "󰖁"}))) + + (defwidget bigbright [] + (overlay + (scale + :width 50 + :class "bigslide" + :value brightness + :onchange "brightnessctl set {}%" + :orientation "v" + :tooltip "${brightness}%" + :max 100 + :min 0 + :flipped true) + (label + :class "slideicon" + :valign "end" + :text "󰃞"))) + + (defwidget notificationlog [] + (overlay + (box + :halign "fill" + :valign "fill" + :vexpand true + :space-evenly false + :orientation "v" + + (scroll + :hscroll false + :vscroll true + :vexpand true + :valign "fill" + + (box + :orientation "v" + :valign "start" + :space-evenly false + (for noti in {notifications.notifications} + (singlenotif :noti noti :initial false)))) + + (box + :valign "end" + :hexpand true + :vexpand false + :height 80 + :class "fadeoutbox") + (box + :orientation "h" + (button + :onclick "./scripts/notifManage --clear" + (label + :class "title" + :text "Clear All")) + (button + :onclick "./scripts/notifManage --toggle" + (label + :class { notifications.dnd ? "titlesel" : "title"} + :text "Do Not Disturb"))) + ) + + ) + + ) + + (defwidget quote [] + (box + :class "quotewid unbarwidget" + :halign "fill" + :valign "fill" + :vexpand true + :space-evenly false + :orientation "v" + (scroll :vexpand true :hscroll true :vscroll true + (label + :class "quote" + :text {quotejson.content} + :wrap true + :width 300)) + (label + :class "quoteauthor" + :text "- ${quotejson.author}"))) + + (defwidget coolmpd [h permashow] + (overlay + (box + :orientation "v" + :halign "fill" + :height h + :class { pcover != "" ? "mpdcover" : "unbarwidget"} + :style "background-image: url('${pcover}')" + :visible {permashow ? true : pcover != "" }) + (box + :orientation "h" + :space-evenly false + :halign "center" + :valign "center" + :spacing 10 + (image :image-width 100 :image-height 100 :path { pcover == "" ? "./assets/image/emptympd.png" : pcover }) + (box + :orientation "v" + :space-evenly false + :width 200 + :halign "center" + :valign "center" + :class "coolmpd" + (scroll + :hscroll true + :vscroll false + (label :style "font-size: 20px;" :text psong)) + (scroll + :hscroll true + :vscroll false + (label :text partist)) + (box + :orientation "h" + :class "mpd_controls" + (button :onclick "playerctl previous" + (label :text "󰒮")) + (button :style "padding-right: 3px;" :onclick "playerctl play-pause" + (label :text { pstatus == "Playing" ? "" : ""} )) + (button :onclick "playerctl next" + (label :text "󰒭"))))))) diff --git a/hypr-configs/hyprland/eww/src/dashboard/main.yuck b/hypr-configs/hyprland/eww/src/dashboard/main.yuck index 21b1c62..3b659de 100644 --- a/hypr-configs/hyprland/eww/src/dashboard/main.yuck +++ b/hypr-configs/hyprland/eww/src/dashboard/main.yuck @@ -1,159 +1,159 @@ (defwindow dashboard - :geometry (geometry - :x 0 - :y 0 - :width 800 - :height 420 - :anchor "center") - :stacking "overlay" - :monitor 0 - (structure)) + :geometry (geometry + :x 0 + :y 0 + :width 800 + :height 420 + :anchor "center") + :stacking "overlay" + :monitor 0 + (structure)) -(defwidget structure[] +(defwidget structure [] + (box + :class "popup" + :space-evenly false + :orientation "v" + (duser :name "Failed" :tag "failed.sh" :pfp "./assets/image/roundpfp.png") (box - :class "popup" + :space-evenly true + :orientation "h" + :vexpand true + (box :space-evenly false :orientation "v" - (duser :name "Failed" :tag "failed.sh" :pfp "./assets/image/roundpfp.png") + (coolmpd :h 150 :permashow true) (box - :space-evenly true - :orientation "h" - :vexpand true - (box - :space-evenly false - :orientation "v" - (coolmpd :h 150 :permashow true) - (box - :space-evenly false - :orientation "h" - (box - :width 130 - :space-evenly false - :orientation "v" - (dbutt) - (theme)) - (dcal) - )) - (box - :orientation "v" - :space-evenly false - (dnotes) - (quote)) - ))) - -(defwidget duser [name tag pfp] - (box - :orientation "h" - :space-evenly false - :halign "start" - :hexpand true - :class "unbarwidget" - :style "background-color: inherit;" - :spacing 15 - (image :image-width 50 :image-height 50 :path pfp) - (label :text "|" :style "color: #262626; font-size: 30px;") - (box - :orientation "v" - :space-evenly true - :halign "start" - (label :style "font-weight: bold; font-size: 18px;" :text "Hello, ${name}") - (label :halign "start" :text tag)))) - -(defwidget dnotes [] - (box - :class "notes unbarwidget" - :space-evenly false - :orientation "v" - :vexpand true - (label :class "heading" :text "Agenda") - (box - :vexpand true - :width 350 - (scroll - :hscroll true - :vscroll true - (label :style "font-size: 16px;" :text notesc))))) - -(defwidget dmpd [] - (overlay - (box - :class "mpdcover" - :style "background-image: url('${pcover}')" - :height 150) - (box - :orientation "v" + :space-evenly false + :orientation "h" + (box + :width 130 :space-evenly false - :spacing 10 - :valign "center" - (scroll - :hscroll true - :vscroll false - (label :style "font-size: 18px;" :text psong)) - (scroll - :hscroll true - :vscroll false - (label :text partist)) - ;; (scale - ;; :hexpand false - ;; :width 60 - ;; :class "seektime" - ;; :value current - ;; :orientation "h" - ;; :min -5 - ;; :max 100 - ;; :onscroll "mpc -q seek +1" - ;; :tooltip "${ctime}/${ttime}") - (box - :orientation "h" - :space-evenly false - :spacing 40 - :halign "center" - :class "dmpdcontrol" - (button :onclick "./scripts/music_info --prev" (label :text "󰒮")) - (button :onclick "./scripts/music_info --toggle" (label :text { pstatus == "Playing" ? "" : ""})) - (button :onclick "./scripts/music_info --next" (label :text "󰒭")))))) - -(defwidget dcal [] - (box - :class "unbarwidget mincal" - :height 190 - :hexpand true - (calendar - :show-details false - :show-heading true - :show-day-names false - :show-week-numbers false - :day calendar_day - :year calendar_year))) - -(defwidget dbutt[] - (box - :space-evenly true - :orientation "h" - :height 130 - (box - :space-evenly true :orientation "v" - (button :class "dicons unbarwidget" :onclick "notify-send 'shutdown' 'but its impractical'" (label :text "")) - (button :class "dicons unbarwidget" :onclick "notify-send 'restart' 'but its impractical'" (label :text ""))) - (box - :space-evenly true - :orientation "v" - (button :class "dicons unbarwidget" :onclick "notify-send 'lock' 'but its impractical'" (label :text "")) - (button :class "dicons unbarwidget" :onclick "notify-send 'log out' 'but its impractical'" (label :text "󰍃"))))) + (dbutt) + (theme)) + (dcal) + )) + (box + :orientation "v" + :space-evenly false + (dnotes) + (quote)) + ))) -(defwidget theme [] - (button - :class "unbarwidget" - :vexpand true - :onclick "./scripts/toggletheme toggle" - (label :style "font-size: 18px;" :text ""))) + (defwidget duser [name tag pfp] + (box + :orientation "h" + :space-evenly false + :halign "start" + :hexpand true + :class "unbarwidget" + :style "background-color: inherit;" + :spacing 15 + (image :image-width 50 :image-height 50 :path pfp) + (label :text "|" :style "color: #262626; font-size: 30px;") + (box + :orientation "v" + :space-evenly true + :halign "start" + (label :style "font-weight: bold; font-size: 18px;" :text "Hello, ${name}") + (label :halign "start" :text tag)))) -;; (defwidget dquote [] - ;; (box - ;; :class "unbarwidget" - ;; :height "120" - ;; :valign "center" - ;; (literal - ;; :content quoteliteral))) + (defwidget dnotes [] + (box + :class "notes unbarwidget" + :space-evenly false + :orientation "v" + :vexpand true + (label :class "heading" :text "Agenda") + (box + :vexpand true + :width 350 + (scroll + :hscroll true + :vscroll true + (label :style "font-size: 16px;" :text notesc))))) + + (defwidget dmpd [] + (overlay + (box + :class "mpdcover" + :style "background-image: url('${pcover}')" + :height 150) + (box + :orientation "v" + :space-evenly false + :spacing 10 + :valign "center" + (scroll + :hscroll true + :vscroll false + (label :style "font-size: 18px;" :text psong)) + (scroll + :hscroll true + :vscroll false + (label :text partist)) + ;; (scale + ;; :hexpand false + ;; :width 60 + ;; :class "seektime" + ;; :value current + ;; :orientation "h" + ;; :min -5 + ;; :max 100 + ;; :onscroll "mpc -q seek +1" + ;; :tooltip "${ctime}/${ttime}") + (box + :orientation "h" + :space-evenly false + :spacing 40 + :halign "center" + :class "dmpdcontrol" + (button :onclick "./scripts/music_info --prev" (label :text "󰒮")) + (button :onclick "./scripts/music_info --toggle" (label :text { pstatus == "Playing" ? "" : ""})) + (button :onclick "./scripts/music_info --next" (label :text "󰒭")))))) + + (defwidget dcal [] + (box + :class "unbarwidget mincal" + :height 190 + :hexpand true + (calendar + :show-details false + :show-heading true + :show-day-names false + :show-week-numbers false + :day calendar_day + :year calendar_year))) + + (defwidget dbutt[] + (box + :space-evenly true + :orientation "h" + :height 130 + (box + :space-evenly true + :orientation "v" + (button :class "dicons unbarwidget" :onclick "notify-send 'shutdown' 'but its impractical'" (label :text "")) + (button :class "dicons unbarwidget" :onclick "notify-send 'restart' 'but its impractical'" (label :text ""))) + (box + :space-evenly true + :orientation "v" + (button :class "dicons unbarwidget" :onclick "notify-send 'lock' 'but its impractical'" (label :text "")) + (button :class "dicons unbarwidget" :onclick "notify-send 'log out' 'but its impractical'" (label :text "󰍃"))))) + + (defwidget theme [] + (button + :class "unbarwidget" + :vexpand true + :onclick "./scripts/toggletheme toggle" + (label :style "font-size: 18px;" :text ""))) + + ;; (defwidget dquote [] + ;; (box + ;; :class "unbarwidget" + ;; :height "120" + ;; :valign "center" + ;; (literal + ;; :content quoteliteral))) diff --git a/hypr-configs/hyprland/eww/src/desktop/main.yuck b/hypr-configs/hyprland/eww/src/desktop/main.yuck index 8b1f4c8..18a9ad6 100644 --- a/hypr-configs/hyprland/eww/src/desktop/main.yuck +++ b/hypr-configs/hyprland/eww/src/desktop/main.yuck @@ -1,41 +1,43 @@ (defwindow desktopicons - :geometry (geometry - :x 20 - :y 20 - :width 100 - :height 600 - :anchor "top right") - :stacking "bottom" - :monitor 0 - (box - :orientation "v" - :space-evenly "false" - :spacing 10 - - (eventbox - :dragtype "file" - :class "desktopbox" - :onclick "thunar ${homedir}/.local/share/Trash/files" - :ondropped "notify-send {}" - (box - :orientation "v" - :space-evenly false - :height 100 - :valign "end" - (image :width 100 :height 100 :image-width 80 :image-height 80 :path trashcanPath) - (label :class "desktoptext" :text "Trash"))) - - (for i in '["amogus"]' - (imagesicon :name i)))) + :geometry (geometry + :x 20 + :y 20 + :width 100 + :height 600 + :anchor "top right") + :stacking "bottom" + :monitor 0 + + (box + :orientation "v" + :space-evenly "false" + :spacing 10 -(defwidget imagesicon [name] (eventbox - :onclick "feh ./assets/image/desktop/${name}.png" - :class "desktopbox" - (box - :orientation "v" - :space-evenly false - :height 100 - :valign "end" - (image :width 100 :height 100 :image-width 80 :image-height 80 :path "./assets/image/desktop/${name}.png") - (label :class "desktoptext" :text "${name}.png")))) + :dragtype "file" + :class "desktopbox" + :onclick "thunar ${homedir}/.local/share/Trash/files" + :ondropped "notify-send {}" + + (box + :orientation "v" + :space-evenly false + :height 100 + :valign "end" + (image :width 100 :height 100 :image-width 80 :image-height 80 :path trashcanPath) + (label :class "desktoptext" :text "Trash"))) + + (for i in '["amogus"]' + (imagesicon :name i)))) + + (defwidget imagesicon [name] + (eventbox + :onclick "feh ./assets/image/desktop/${name}.png" + :class "desktopbox" + (box + :orientation "v" + :space-evenly false + :height 100 + :valign "end" + (image :width 100 :height 100 :image-width 80 :image-height 80 :path "./assets/image/desktop/${name}.png") + (label :class "desktoptext" :text "${name}.png")))) diff --git a/hypr-configs/hyprland/eww/src/dock/main.yuck b/hypr-configs/hyprland/eww/src/dock/main.yuck index 9479cdb..19c0c97 100644 --- a/hypr-configs/hyprland/eww/src/dock/main.yuck +++ b/hypr-configs/hyprland/eww/src/dock/main.yuck @@ -1,63 +1,63 @@ (defwindow dock - :geometry (geometry - :x 0 - :y 0 - :width 10 - :height 54 - :anchor "bottom center") - :monitor 0 - (dockstruct)) + :geometry (geometry + :x 0 + :y 0 + :width 10 + :height 54 + :anchor "bottom center") + :monitor 0 + (dockstruct)) (defwidget dockstruct [] - (eventbox - :onhover "${EWW_CMD} update revealDock=true" - :onhoverlost "${EWW_CMD} update revealDock=false" - (box - :orientation "v" - :space-evenly false - :valign "end" - (box - :height 4) - (revealer - :reveal revealDock - :transition "slideup" - (box - :class "popup" - :height 60 - :orientation "h" - :halign "center" - (tasklist :iconsize 50)))))) - -(defwidget tasklist [iconsize] + (eventbox + :onhover "${EWW_CMD} update revealDock=true" + :onhoverlost "${EWW_CMD} update revealDock=false" (box - :orientation "h" - :space-evenly true - :spacing 10 - (for task in {tasksjson} - (button - :tooltip { task.name } - :onclick { task.pid != 'null' ? 'swaymsg "[pid=${task.pid}] focus"' : '(cd && gtk-launch ${task.app_id}) &'} - (box - :orientation "v" - :space-evenly false - (image - :image-width iconsize - :image-height iconsize - :path {task.path}) + :orientation "v" + :space-evenly false + :valign "end" + (box + :height 4) + (revealer + :reveal revealDock + :transition "slideup" + (box + :class "popup" + :height 60 + :orientation "h" + :halign "center" + (tasklist :iconsize 50)))))) - (scroll - :hscroll true - :vscroll false - (box - :orientation "h" - :halign "center" - :space-evenly false - :spacing 3 - (for focus in {task.focused} - (box - :class "dockindicate" - :hexpand false - :width { focus ? 10 : 5 } - :height 3)))) - ))))) + (defwidget tasklist [iconsize] + (box + :orientation "h" + :space-evenly true + :spacing 10 + (for task in {tasksjson} + (button + :tooltip { task.name } + :onclick { task.pid != 'null' ? 'swaymsg "[pid=${task.pid}] focus"' : '(cd && gtk-launch ${task.app_id}) &'} + (box + :orientation "v" + :space-evenly false + (image + :image-width iconsize + :image-height iconsize + :path {task.path}) + + (scroll + :hscroll true + :vscroll false + (box + :orientation "h" + :halign "center" + :space-evenly false + :spacing 3 + (for focus in {task.focused} + (box + :class "dockindicate" + :hexpand false + :width { focus ? 10 : 5 } + :height 3)))) + ))))) diff --git a/hypr-configs/hyprland/eww/src/notification/main.yuck b/hypr-configs/hyprland/eww/src/notification/main.yuck index c5935f3..58f8896 100644 --- a/hypr-configs/hyprland/eww/src/notification/main.yuck +++ b/hypr-configs/hyprland/eww/src/notification/main.yuck @@ -1,90 +1,90 @@ (defwindow notifypopup - :geometry (geometry - :x 0 - :y 0 - :width 480 - :height 0 - :anchor "top right") - :stacking "overlay" - :monitor 0 - (revealer - :reveal { arraylength(notifications.popups) > 0 } - :transition "slidedown" - (box - :orientation "v" - :space-evenly false - :spacing 5 - (for noti in {notifications.popups} - (singlenotif :noti noti :initial true))))) + :geometry (geometry + :x 0 + :y 0 + :width 480 + :height 0 + :anchor "top right") + :stacking "overlay" + :monitor 0 + (revealer + :reveal { arraylength(notifications.popups) > 0 } + :transition "slidedown" + (box + :orientation "v" + :space-evenly false + :spacing 5 + (for noti in {notifications.popups} + (singlenotif :noti noti :initial true))))) (defwidget singlenotif [noti initial] - (box - :orientation "v" - :class "${initial ? 'popup' : 'notifbox'}" - :space-evenly false - - (centerbox - :orientation "h" - :class "notifbar" - (image :halign "start" :image-width 30 :image-height 30 :path {noti.icon != "null" ? noti.icon : "./assets/image/idk.svg"}) - (scroll - :halign "center" - :valign "center" - :hexpand true - :hscroll true - :vscroll false - :width 200 - (label - :class "notiflabel" - :text {noti.app})) - (button - :halign "end" - :onclick "./scripts/notifManage --close ${noti.id}" - (label - :class "notifclose" - :text ""))) - - (box - :orientation "h" - :halign "fill" - :height 80 - :space-evenly false - :spacing 10 - (image :image-width 80 :image-height 80 :visible {noti.image != "null"} :path {noti.image != "null" ? noti.image : "./assets/image/idk.svg"}) - - (button - :onclick "./scripts/notifManage --dismiss ${noti.id}" - :onrightclick "./scripts/notifManage --close ${noti.id}" - :tooltip "${noti.time}" - :hexpand true - :vexpand true - (box - :orientation "v" - :space-evenly false - :valign "center" - (scroll - :hscroll true - :vscroll false - :hexpand true - (label - :class "notiftitle" - :text {noti.summary})) - (scroll - :hscroll true - :vscroll false - :hexpand true - (label - :class "notifbody" - :visible {noti.body != "null"} - :text {noti.body}))))) - - (box - :orientation "h" - (for action in {noti.actions} - (button - :onclick "./scripts/notifManage --action ${noti.id} ${action[0]} && ./scripts/notifManage --close ${noti.id}" - (label - :class "notifactions" - :text {action[1]})) - )))) + (box + :orientation "v" + :class "${initial ? 'popup' : 'notifbox'}" + :space-evenly false + + (centerbox + :orientation "h" + :class "notifbar" + (image :halign "start" :image-width 30 :image-height 30 :path {noti.icon != "null" ? noti.icon : "./assets/image/idk.svg"}) + (scroll + :halign "center" + :valign "center" + :hexpand true + :hscroll true + :vscroll false + :width 200 + (label + :class "notiflabel" + :text {noti.app})) + (button + :halign "end" + :onclick "./scripts/notifManage --close ${noti.id}" + (label + :class "notifclose" + :text ""))) + + (box + :orientation "h" + :halign "fill" + :height 80 + :space-evenly false + :spacing 10 + (image :image-width 80 :image-height 80 :visible {noti.image != "null"} :path {noti.image != "null" ? noti.image : "./assets/image/idk.svg"}) + + (button + :onclick "./scripts/notifManage --dismiss ${noti.id}" + :onrightclick "./scripts/notifManage --close ${noti.id}" + :tooltip "${noti.time}" + :hexpand true + :vexpand true + (box + :orientation "v" + :space-evenly false + :valign "center" + (scroll + :hscroll true + :vscroll false + :hexpand true + (label + :class "notiftitle" + :text {noti.summary})) + (scroll + :hscroll true + :vscroll false + :hexpand true + (label + :class "notifbody" + :visible {noti.body != "null"} + :text {noti.body}))))) + + (box + :orientation "h" + (for action in {noti.actions} + (button + :onclick "./scripts/notifManage --action ${noti.id} ${action[0]} && ./scripts/notifManage --close ${noti.id}" + (label + :class "notifactions" + :text {action[1]})) + )))) diff --git a/hypr-configs/hyprland/eww/src/utils/_revealer.yuck b/hypr-configs/hyprland/eww/src/utils/_revealer.yuck index 0d2d289..507a47e 100644 --- a/hypr-configs/hyprland/eww/src/utils/_revealer.yuck +++ b/hypr-configs/hyprland/eww/src/utils/_revealer.yuck @@ -1,47 +1,47 @@ (defwidget hovered-sign [var] - (box :space-evenly false - (revealer :reveal {!var} - :duration "100ms" - :transition "slideleft" - (children :nth 0)) - (revealer :reveal {var} - :duration "100ms" - :transition "slideleft" - (children :nth 1)))) + (box :space-evenly false + (revealer :reveal {!var} + :duration "100ms" + :transition "slideleft" + (children :nth 0)) + (revealer :reveal {var} + :duration "100ms" + :transition "slideleft" + (children :nth 1)))) (defwidget reveal_on_hover [var varname ?class ?duration ?transition] - (box - :class "reveal_on_hover ${class}" - :orientation "v" + (box + :class "reveal_on_hover ${class}" + :orientation "v" + :space-evenly false + :valign "end" + (eventbox + :onhover `${EWW_CMD} update ${varname}=true` + :onhoverlost `${EWW_CMD} update ${varname}=false` + (box :space-evenly false - :valign "end" - (eventbox - :onhover `${EWW_CMD} update ${varname}=true` - :onhoverlost `${EWW_CMD} update ${varname}=false` - (box - :space-evenly false - :orientation "v" - (children :nth 0) - (revealer - :reveal var - :transition {transition ?:"slidedown"} - :duration "500ms" - (children :nth 1)))))) + :orientation "v" + (children :nth 0) + (revealer + :reveal var + :transition {transition ?:"slidedown"} + :duration "500ms" + (children :nth 1)))))) (defwidget clickbox [var varname ?class ?duration ?transition] - (box :class "${class} clickbox" :orientation "h" :space-evenly false - (button :onclick "eww update ${varname}=${ var ? false : true }" - (children :nth 0) - ) - (revealer :reveal var - :transition {transition ?: "slideleft"} - :duration {duration ?: "500ms"} - (box :class "${class}" - :space-evenly false - (children :nth 1) - (button :onclick "eww update ${varname}=false" :class "close" (label :text "Close")) - ) - ) + (box :class "${class} clickbox" :orientation "h" :space-evenly false + (button :onclick "eww update ${varname}=${ var ? false : true }" + (children :nth 0) ) -) \ No newline at end of file + (revealer :reveal var + :transition {transition ?: "slideleft"} + :duration {duration ?: "500ms"} + (box :class "${class}" + :space-evenly false + (children :nth 1) + (button :onclick "eww update ${varname}=false" :class "close" (label :text "Close")) + ) + ) + ) + ) diff --git a/hypr-configs/hyprland/eww/src/wallpapers/main.yuck b/hypr-configs/hyprland/eww/src/wallpapers/main.yuck index 79960a3..cad58f7 100644 --- a/hypr-configs/hyprland/eww/src/wallpapers/main.yuck +++ b/hypr-configs/hyprland/eww/src/wallpapers/main.yuck @@ -1,70 +1,70 @@ (defwindow wallpaperselect - :geometry (geometry - :x 0 - :y 0 - :width 415 - :height 600 - :anchor "center") - :stacking "overlay" - :monitor 0 - (box - :class "popup" - (wallpaperselectwidget))) + :geometry (geometry + :x 0 + :y 0 + :width 415 + :height 600 + :anchor "center") + :stacking "overlay" + :monitor 0 + (box + :class "popup" + (wallpaperselectwidget))) (defwidget wallpaperselectwidget [] - (eventbox - ;; :onhoverlost "${EWW_CMD} close wallpaperselect" + (eventbox + ;; :onhoverlost "${EWW_CMD} close wallpaperselect" + (box + :orientation "v" + :class "unbarwidget" + :space-evenly false + (box + :orientation "h" + :space-evenly false + (input + :hexpand true + :onaccept "./scripts/wallhaven.py search {}" + :timeout "20000ms") + (button + :onclick "${EWW_CMD} update wallpapers=[] && ./scripts/wallhaven.py reset" + ;; :style "padding: 0px 8px 0px 3px;" + (label + :class "icon" + :text ""))) + + (scroll + :hscroll false + :vscroll true + :vexpand true (box - :orientation "v" - :class "unbarwidget" - :space-evenly false + :orientation "v" + :space-evenly false + :valign "start" + (image + :style "margin: 50px 0px 5px 0px;" + :hexpand false + :vexpand false + :path "./assets/image/fieshidle.gif" + :visible {arraylength(wallpapers) == 0}) + + (label + :visible {arraylength(wallpapers) == 0} + :text "No wallpapers yet") + + (for wall in wallpapers (box - :orientation "h" - :space-evenly false - (input - :hexpand true - :onaccept "./scripts/wallhaven.py search {}" - :timeout "20000ms") - (button - :onclick "${EWW_CMD} update wallpapers=[] && ./scripts/wallhaven.py reset" - ;; :style "padding: 0px 8px 0px 3px;" - (label - :class "icon" - :text ""))) - - (scroll - :hscroll false - :vscroll true - :vexpand true - (box - :orientation "v" - :space-evenly false - :valign "start" - (image - :style "margin: 50px 0px 5px 0px;" - :hexpand false - :vexpand false - :path "./assets/image/fieshidle.gif" - :visible {arraylength(wallpapers) == 0}) - - (label - :visible {arraylength(wallpapers) == 0} - :text "No wallpapers yet") - - (for wall in wallpapers - (box - :orientation "v" - :space-evenly false - :class "mainentry" - :spacing 5 - (button - :onclick "./scripts/wallhaven.py select ${wall.url}" - (image :image-height 225 :image-width 400 :path {wall.path})) - (box - :orientation "h" - :space-evenly true - (label :text "${wall.views} 󰈈") - (label :text "${wall.fav} 󰣐") - )))) - )))) + :orientation "v" + :space-evenly false + :class "mainentry" + :spacing 5 + (button + :onclick "./scripts/wallhaven.py select ${wall.url}" + (image :image-height 225 :image-width 400 :path {wall.path})) + (box + :orientation "h" + :space-evenly true + (label :text "${wall.views} 󰈈") + (label :text "${wall.fav} 󰣐") + )))) + )))) diff --git a/hypr-configs/hyprland/eww/src/windows/vbar/main.yuck b/hypr-configs/hyprland/eww/src/windows/vbar/main.yuck index 886fb61..ae428b5 100644 --- a/hypr-configs/hyprland/eww/src/windows/vbar/main.yuck +++ b/hypr-configs/hyprland/eww/src/windows/vbar/main.yuck @@ -5,7 +5,7 @@ :vexpand true :height "1080" - (revealer + (revealer :transition "slideleft" :reveal revealControlpanel (control_widget)) @@ -19,15 +19,16 @@ (bottom) ))) -(defwidget top [] (box - :orientation "v" - :space-evenly false - :valign "start" - :vexpand false - (home) - (workspaces) - (hiddenctl) - )) +(defwidget top [] + (box + :orientation "v" + :space-evenly false + :valign "start" + :vexpand false + (home) + (workspaces) + (hiddenctl) + )) (defwidget middle [] (box