This commit is contained in:
end-4
2024-02-22 15:35:06 +07:00
commit 8db26e9707
4220 changed files with 208544 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
(defwidget bgdecors []
(box
:space-evenly false
:spacing 5
:orientation "v"
(label
:xalign 0
:class "bg-decor-dow" ; Hyperland maybe?
:text "${time.day}"
)
(label
:xalign 0
:class "bg-decor-date"
:text "${time.date}"
)
; I don't like focus being moved to this on reload
; (box
; :spacing 0
; :space-evenly false
; (input
; :class "bg-decor-input-left"
; :onaccept "firefox https://www.google.com/search?q={}"
; )
; (button
; :class "bg-decor-input-right"
; ""
; )
; )
)
)
(defwindow bg-decor
:focusable false
:stacking "bottom"
:windowtype "normal"
:wm-ignore true
:geometry (geometry
:x 80
:y 0
:width "100%"
:height "100%"
:anchor "left center"
)
:monitor 0
(bgdecors)
)
+19
View File
@@ -0,0 +1,19 @@
(defwidget calendar-win []
(box
:class "calendar-win"
(calendar)
)
)
(defwindow calendar
:wm-ignore true
:monitor 0
:geometry (geometry
:x "0%"
:y "0%"
:anchor "top left"
:width "0px"
:height "0px"
)
(calendar-win)
)
+324
View File
@@ -0,0 +1,324 @@
; (defvar separateanim "${anim_open_dash ? 'transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1);' : 'transition: 200ms cubic-bezier(0.3, 0, 0.8, 0.15);'}")
; (defvar fromleft "${rev_dash ? '' : 'margin-left: -1000px;'}")
; (defvar fromright "${rev_dash ? '' : 'margin-right: -1000px;'}")
; (defvar fromtop "${rev_dash ? '' : 'margin-top: -1000px;'}")
; (defvar frombottom "${rev_dash ? '' : 'margin-bottom: -1000px;'}")
(defvar dash_curve_in "transition: 150ms cubic-bezier(0.05, 0.9, 0.1, 1.0);")
(defvar dash_curve_out "transition: 80ms cubic-bezier(0.3, 0, 0.8, 0.15);")
(defwidget dashboard-contents []
(box
:class "dash-window"
:orientation "v"
:space-evenly false
(eventbox ; Close when clicking outside
:onclick "scripts/toggle-dash.sh &"
:onmiddleclick "scripts/toggle-dash.sh &"
:onrightclick "scripts/toggle-dash.sh &"
)
(box ; All the stuff go here
:orientation "v"
:space-evenly false
(box ; Description
:orientation "v"
:space-evenly false
:class "dash"
:halign "start"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-left: -1100px; margin-right: 1100px;'}
"
(label :angle 0 :xalign 0 :class "dash-title" :text "Dashboard")
(label :angle 0 :xalign 0 :class "dash-subtitle" :text "Serves the sole purpose of showing off to awesomewm users ;)")
)
(box
:orientation "h"
:space-evenly false
(box
:orientation "v"
:space-evenly false
(box
:orientation "h"
:space-evenly false
:class "dash dash-tile"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-left: -1010px; margin-right: 1010px;'}
"
(input
:class "dash-input"
:onaccept "scripts/dashactivate --web 'firefox \"https://www.google.com/search?q={}\"' && hyprctl dispatch focuswindow firefox &"
)
(button
:class "dash-input-icon dash-button"
:onclick "scripts/dashactivate --web 'firefox \"https://www.google.com/search?q=\"' && hyprctl dispatch focuswindow firefox &"
""
)
)
(box ; Row 1
:orientation "h"
:space-evenly false
(box ; Col 1
:orientation "v"
:space-evenly false
(box ; User
:orientation "h"
:space-evenly false
:class "dash dash-profile"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-left: -500px; margin-right: 500px;'}
"
(box
:valign "center"
:class "dash-user-pic"
:style "background-image: url('/var/lib/AccountsService/icons/${username == "" ? username_default : username}');"
)
(box
:orientation "v" :space-evenly false :valign "center"
(box
:orientation "h" :space-evenly false
(label :class "dash-fetch-icon" :text "")
(label :class "dash-fetch" :text "${username + '@' + hostname}")
)
(box
:orientation "h" :space-evenly false
(label :class "dash-fetch-icon" :text "")
(label :class "dash-fetch" :text "${kernel}")
)
(box
:orientation "h" :space-evenly false
(label :class "dash-fetch-icon" :text "")
(label :class "dash-fetch" :text "${uptime}")
)
(box
:orientation "h" :space-evenly false
(label :class "dash-fetch-icon" :text "")
(label :class "dash-fetch" :text "${wm}")
)
(box
:orientation "h" :space-evenly false
(label :class "dash-fetch-icon" :text "")
(label :class "dash-fetch" :text "${packages}")
)
)
)
(box
:orientation "v"
:space-evenly false
:class "dash"
:height 124
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-bottom: -1000px; margin-top: 1000px;'}
"
(label :xalign 0 :class "dash-quote-content clr3" :text "${quote_content[0]}")
(label :xalign 1 :class "dash-quote-author clr4" :text "${quote_author[0]}")
)
)
(box ; Col 2
:orientation "v"
:space-evenly false
(box ; Clock
:orientation "h"
:space-evenly false
:class "dash"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-top: -500px; margin-bottom: 500px;'}
"
(box ; Clock numbers
:orientation "v"
:space-evenly false
:class "dash-clock-text-area"
(box ; Clock time
:orientation "h"
:space-evenly false
:halign "center"
(label :xalign 0.5 :class "dash-time clr1" :text "${time.hour}")
(label :xalign 0.5 :class "dash-time clrt" :text ":")
(label :xalign 0.5 :class "dash-time clr3" :text "${time.minute}")
)
(box ; Clock date
:orientation "h"
:space-evenly false
:halign "center"
(label :xalign 0.5 :class "dash-date clr6" :text "${time.day}, ${time.date}")
)
)
(box
:class "dash-clock-circle-area"
(circular-progress
:value "${time.minute / 60 * 100}"
:thickness 7
:start-at 75
:class "clr3 dash-clock-circle"
(circular-progress
:value "${time.hour % 12 / 12 * 100}"
:thickness 7
:start-at 75
:class "clr1 dash-clock-circle dash-clock-circle-minute"
(label
:text ""
:class "dash-clock-inner")
)
)
)
)
(box ; Calendar
:orientation "v"
:space-evenly false
:class "dash"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-bottom: -500px; margin-top: 500px;'}
"
(calendar
:height 210
:ihatethiswidget true
:style "
padding-top: 2px;
font-family: Rubik;
"
)
)
)
(box ; Col 3
:orientation "v"
:space-evenly false
(box ; Calendar
:orientation "v"
:space-evenly false
:class "dash dash-dir-area"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-right: -500px; margin-left: 500px;'}
"
(button
:class "dash-dir dash-button"
:onclick "scripts/dashactivate '${FILE_BROWSER} ~/Documents' &"
(box
:orientation "h"
:space-evenly false
:class "clrt"
(label :xalign 0 :text " " :class "icon")
(label :xalign 0 :text "documents")
)
)
(button
:class "dash-dir dash-button"
:onclick "scripts/dashactivate '${FILE_BROWSER} ~/Downloads' &"
(box
:orientation "h"
:space-evenly false
:class "clrt"
(label :xalign 0 :text " " :class "icon")
(label :xalign 0 :text "downloads")
)
)
(button
:class "dash-dir dash-button"
:onclick "scripts/dashactivate '${FILE_BROWSER} ~/Pictures' &"
(box
:orientation "h"
:space-evenly false
:class "clrt"
(label :xalign 0 :text " " :class "icon")
(label :xalign 0 :text "pictures")
)
)
(button
:class "dash-dir dash-button"
:onclick "scripts/dashactivate '${FILE_BROWSER} ~/Videos' &"
(box
:orientation "h"
:space-evenly false
:class "clrt"
(label :xalign 0 :text " " :class "icon")
(label :xalign 0 :text "videos")
)
)
)
(box ; Resources
:orientation "v"
:space-evenly false
:class "dash dash-resources"
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-top: -700px; margin-bottom: 700px;'}
"
(label :text "Memory" :class "dash-resource-title clr3")
(box
:orientation "h"
:space-evenly false
; :style "background-color: red;"
(box ; RAM
:orientation "v"
:space-evenly false
:class "dash-resource-tile"
(circular-progress
:value "${memory.percentage}"
:thickness 7
:start-at 75
:class "clr3 dash-clock-circle"
(box :class "dash-resource-inner")
)
(label :class "dash-resource-text" :text "${memory.used}")
)
(label :yalign 0.34 :class "dash-resource-icon" :style "font-size: 20pt;" :text "")
(box ; Swap
:orientation "v"
:space-evenly false
:class "dash-resource-tile"
(circular-progress
:value "${memory.swappercentage}"
:thickness 7
:start-at 75
:class "clr3 dash-clock-circle"
(box :class "dash-resource-inner")
)
(label :class "dash-resource-text" :text "${memory.swapused}")
)
)
)
)
)
)
(box ;Actinos
:orientation "v"
:space-evenly false
(box
:orientation "v"
:space-evenly false
:style "
${anim_open_dash ? dash_curve_in : dash_curve_out}
${rev_dash ? '' : 'margin-right: -100px; margin-left: 100px;'}
"
(button :onclick "scripts/dashactivate '~/.local/bin/lock.sh' &" :class "dash clr4 dash-icon dash-button" (label :class "icon" :text "") )
(button :onclick "scripts/dashactivate 'systemctl suspend' &" :class "dash clr3 dash-icon dash-button" (label :class "icon" :text "") )
(button :onclick "scripts/dashactivate 'loginctl terminate-user $USER' &" :class "dash clr2 dash-icon dash-button" (label :class "icon" :text "") )
(button :onclick "scripts/dashactivate 'systemctl reboot' &" :class "dash clr1 dash-icon dash-button" (label :class "icon" :text "") )
(button :onclick "scripts/dashactivate 'systemctl poweroff' &" :class "dash clr0 dash-icon dash-button" (label :class "icon" :text "") )
)
)
)
)
)
)
(defwindow dashboard
:focusable true
:windowtype "normal"
:wm-ignore true
:geometry (geometry
:x 0
:y 0
:anchor "center center"
)
:monitor 0
(dashboard-contents)
)
+58
View File
@@ -0,0 +1,58 @@
(defvar MOVEMULTIPLIER 4)
(defvar morebgoffset 4)
(defwidget dynbg []
(overlay
(box
:class "dynbg-image"
:style "background-position: ${(activews - 5)*MOVEMULTIPLIER > 50 ? 100 : 50+(activews - 5)*MOVEMULTIPLIER}% 20%"
)
(box
:space-evenly false
:spacing 5
:orientation "v"
:halign "fill"
:valign "center"
:style "margin-left: 5rem;"
(label
:xalign 0
:class "bg-decor-dow"
:text "${time.day}"
)
(label
:xalign 0
:class "bg-decor-date"
:text "${time.date}"
)
; I don't like focus being moved to this on reload
; (box
; :spacing 0
; :space-evenly false
; (input
; :class "bg-decor-input-left"
; :onaccept "firefox https://www.google.com/search?q={}"
; )
; (button
; :class "bg-decor-input-right"
; ""
; )
; )
)
)
)
(defwindow dynamic-bg
:focusable false
:stacking "bg"
:windowtype "normal"
:wm-ignore true
:geometry (geometry
:x 0
:y 0
:width "100%"
:height "100%"
:anchor "center center"
)
:monitor 0
(dynbg)
)
+106
View File
@@ -0,0 +1,106 @@
(defwidget music []
(eventbox
:onhoverlost "scripts/toggle-music.sh --close &"
(box
:class "window window-music"
:orientation "v"
:space-evenly false
:style "
${music_open ? '' : 'margin-top: -233px; margin-bottom: 233px;'}
${anim_open_music ? 'transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);' : 'transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15);'}
"
(box
:class "window-titlebar-music"
(label :class "window-text" :xalign 0 :text "MUSIC")
)
(overlay
(box ; Fallback
:class "music-cover-art"
:style "min-height: 166px;"
)
(box ; Cover art
:class "music-cover-art"
:style "background-image: url('${mcover.image}');"
)
(box ;
:orientation "v"
:class "music-box"
:space-evenly false
(label
:class "music-title"
:wrap false
:text "${music.title == '' ? 'Not playing' : music.title}"
:style "color: ${mcover.color.colors.color4};"
:limit-width 35
)
(label
:class "music-artist"
:wrap true
:text "${music.artist}"
:style "color: ${mcover.color.colors.color4};"
)
(box
:halign "fill"
:class "music-button-box"
(centerbox
:halign "center"
(button
:class "song-button"
:style "color: ${mcover.color.colors.color4};"
:onclick "playerctl previous" ""
)
(button
:class "song-button"
:style "color: ${mcover.color.colors.color4};"
:onclick "playerctl play-pause"
"${music.status != '' ? music.status : ''}"
)
(button
:class "song-button"
:style "color: ${mcover.color.colors.color4};"
:onclick "playerctl next"
""
)
)
)
(scale
:valign "end"
:value {music.position}
:class "track-scale"
:onchange "playerctl position `bc <<< \"{} * $(playerctl metadata mpris:length) / 1000000 / 100\"`"
:style "highlight {background-color: ${mcover.color.colors.color4};}"
)
)
(box
:orientation "h"
:space-evenly false
(box
:class "music-media-source"
:halign "start"
:valign "start"
:orientation "h"
(label :class "music-source-icon" :text "${mcover.color.source}" :style "color: ${mcover.color.colors.color4};")
)
(box
:halign "start"
:valign "start"
:class "music-media-source-wedge"
)
)
)
)
)
)
(defwindow music
:wm-ignore true
:stacking "overlay"
:monitor 0
:geometry (geometry
; :x "53px"
:y "32px"
:width "558px"
:height "191px"
:anchor "top left")
(music)
)
+520
View File
@@ -0,0 +1,520 @@
(defwidget onotify []
(box
:orientation "v"
:space-evenly false
:style "
${anim_open_ontf ? 'transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1);' : 'transition: 200ms cubic-bezier(0.3, 0, 0.8, 0.15);'}
${rev_ontf ? '' : 'margin-right: -600px;'}
"
(eventbox
:onclick "scripts/toggle-onotify.sh --close &"
:onmiddleclick "scripts/toggle-onotify.sh --close &"
:onrightclick "scripts/toggle-onotify.sh --close &"
(box
:class "box-that-is-there" :style "min-height: 1px;"
)
)
(eventbox
; :onhoverlost "scripts/toggle-onotify.sh --close &"
(box
:orientation "v"
:space-evenly false
:class "onotify-window"
(box
:class "system-row"
:space-evenly false
:halign "center"
(box
:class "wifi-box"
:space-evenly false
:orientation "v"
(overlay
(box
:class "element"
:space-evenly false
(button
; :class "wifi-button"
:onclick "scripts/net toggle"
:style "font-family: Material Symbols Outlined;"
{net.icon}
)
(label :class "separator" :text "|")
(button
:class "wifi-arrow-btn"
:style "font-family: Material Symbols Outlined;"
:onclick "gnome-control-center wifi &"
""
)
)
(box
:halign "start" :valign "end"
:class "element-bottomleft"
)
(box
:halign "start" :valign "end"
:class "element-bottomleft-cut"
)
)
(label :style "font-size: 12pt;" :class "sys-toggle" :text {net.essid} :xalign 0.5 :limit-width 15)
)
(box
:class "bluetooth-box"
:space-evenly false
:orientation "v"
(overlay
(box
:class "element icon"
:space-evenly false
(button
:class "bluetooth-button"
:onclick "scripts/bluetooth toggle &"
:style "font-family: 'Material Symbols Outlined';"
{bluetooth.icon}
)
(label :class "separator" :text "|")
(button
:class "bluetooth-arrow-btn"
:onclick "blueberry &"
""
)
)
(box
:halign "start" :valign "end"
:class "element-bottomleft"
)
(box
:halign "start" :valign "end"
:class "element-bottomleft-cut"
)
)
(label
:style "font-size: 12pt;"
:text {bluetooth.text}
:xalign 0.5
:class "sys-toggle"
:tooltip "${bluetooth.text} ${bluetooth.batt_icon}"
:limit-width 15
)
)
(box
:class "airplane-box"
:space-evenly false
:orientation "v"
(overlay
(box
:class "element icon"
(button
:class "airplane-button"
:onclick "scripts/airplane toggle &"
airplane
)
)
(box
:halign "start" :valign "end"
:class "element-bottomleft"
)
(box
:halign "start" :valign "end"
:class "element-bottomleft-cut"
)
)
(label :style "font-size: 12pt;" :text "Airplane Mode" :xalign 0.5 :limit-width 16)
)
(box
:class "power-box"
:space-evenly false
:orientation "v"
(overlay
(box
:class "element icon"
(button
:halign "end"
; :onclick "wlogout &"
:onclick "wlogout -p layer-shell &"
""
)
)
(box
:halign "start" :valign "end"
:class "element-bottomleft"
)
(box
:halign "start" :valign "end"
:class "element-bottomleft-cut"
)
)
(label
:style "font-size: 12pt;"
:text "Power"
:class "sys-toggle"
:xalign 0.5
:limit-width 16
)
)
)
(box
:class "osettings-separator"
:orientation "v"
:space-evenly false
)
(scroll
; :vscroll true
; :hscroll false
; :halign "fill"
:class "osettings-content"
:valign "fill"
:style "min-height: 905px;"
(box
:halign "fill"
:class "osettings-scroll-bg"
:space-evenly false
:spacing 20
:orientation "v"
; Volume mixer
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section onotify-window-volume"
:style "min-height: 100px; padding-bottom: 17px;"
; :class "sliders"
(label
:xalign 0
:class "osettings-section onotify-section-volume"
:text "VOLUME MIXER"
)
(for i in audiojson
(eventbox
:onscroll "pactl set-sink-input-volume ${i.sink} $(echo {} | sed -e \"s/up/+10/g\" -e \"s/down/-10/g\")%"
:onrightclick "pactl set-sink-input-volume ${i.sink} 100%"
:onclick "pactl set-sink-input-volume ${i.sink} 0%"
(box
:space-evenly false
:class "osettings-window-contents"
:orientation "v"
; (label :class "time" :text "DEBUG:${i}")
(centerbox
:space-evenly false
:orientation "h"
; :halign "center"
(label
:xalign 0
:class "osettings-text"
:limit-width 42
:text "${i.name} (#${i.sink})"
)
(label
:xalign 0
:class "osettings-text"
:limit-width 30
:text ""
)
(box :orientation "v"
(label
:xalign 1
:class "osettings-text"
:text "${i.volume}%"
)
)
)
(scale
:halign "fill"
:class "osettings-slider osettings-slider-5"
:value {i.volume}
:onchange "pactl set-sink-input-volume ${i.sink} {}%"
:tooltip "${i.name}: ${i.volume}%"
)
)
)
)
)
(box
:halign "start" :valign "end"
:class "osettings-window-volume-bottomleft"
)
(box
:halign "start" :valign "end"
:class "osettings-window-bottomleft-cut"
)
)
; Resource usage
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section onotify-window-resources"
(label
:xalign 0
:class "osettings-section onotify-section-resources"
:text "RESOURCES"
)
(box
:class "osettings-window-contents"
:style "margin-bottom: 17px; margin-top: 17px;"
; cpu
(box
:class "sys-box"
:space-evenly false
:halign "start"
(circular-progress
:start-at 75
:value "${EWW_CPU.avg}"
:class "sys-cpu"
:thickness 3
(label
:text ""
:class "sys-icon-cpu icon")
)
(box
:orientation "v"
:vexpand false
(label
:text "CPU"
:halign "start"
:class "sys-text-cpu"
:style "font-size: 12pt;"
)
(label
:text "${round(EWW_CPU.avg,2)}%"
:halign "start"
:class "sys-text-sub"
:style "font-size: 12pt;"
)
(label
:text "${EWW_CPU.cores[0].freq} MHz"
:halign "start"
:class "sys-text-sub"
:style "font-size: 12pt;"
)
)
)
; memory
(box
:class "sys-box"
:space-evenly false
:halign "end"
(circular-progress
:start-at 75
:value {memory.percentage}
:class "sys-mem"
:thickness 3
(label
:text ""
:class "sys-icon-mem icon"
)
)
(box
:orientation "v"
(label :style "font-size: 12pt;" :text "Memory" :halign "start" :class "sys-text-mem")
(label :style "font-size: 12pt;" :text "${memory.used} / ${memory.total}" :halign "start" :class "sys-text-sub")
(label :style "font-size: 12pt;" :text "Swap ${memory.swapused} / ${memory.swaptotal}" :halign "start" :class "sys-text-sub")
)
)
)
)
(box
:halign "start" :valign "end"
:class "osettings-window-resources-bottomleft"
)
(box
:halign "start" :valign "end"
:class "osettings-window-bottomleft-cut"
)
)
; Calendar
; (label
; :halign "start"
; :wrap true
; :class "osettings-section"
; :text "Calendar"
; )
; (calendar)
;
; Notifications
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section onotify-window-notif"
(centerbox
:class "osettings-section-baronly onotify-section-notif"
(label
:xalign 0
:class "osettings-section-textonly"
:text "NOTIFICATIONS"
)
(box)
(box
; :class "icon"
:halign "end"
:space-evenly false
(button
:class "osettings-btn-section"
:tooltip "Refresh"
:onclick "dunstctl history > $XDG_CACHE_HOME/dunst-history.json &"
""
)
(button
:class "osettings-btn-section"
:tooltip "Pause/Resume Notifications"
:onclick "scripts/notifications toggle &"
{notif_icons.toggle_icon}
)
(button
:class "osettings-btn-section"
:tooltip "Clear Notifications"
:onclick "scripts/notifications clear &"
""
)
)
)
(box
:class "container osettings-window-contents"
:style "margin-top: 17px; margin-bottom: 17px;"
:orientation "v"
:space-evenly false
(for i in notifications
(eventbox
:onclick "dunstctl history-pop ${i.id} && dunstctl action 0 && dunstctl close"
(overlay
(box
:class "notification"
:orientation "v"
:width 300
:space-evenly false
(centerbox
:space-evenly false
(label
:xalign 0
:wrap true
:class "summary"
:text {i.summary}
)
(label)
(label
:xalign 1
:wrap true
:class "appname"
:text {i.appname}
)
)
(label
:xalign 0
:wrap true
:class "body"
:text {i.body}
)
)
(box
:halign "start" :valign "end"
:class "notification-bottomleft"
)
)
)
)
)
)
(box
:halign "start" :valign "end"
:class "osettings-window-notif-bottomleft"
)
(box
:halign "start" :valign "end"
:class "osettings-window-bottomleft-cut"
)
)
)
)
)
)
)
)
(defwindow onotify
:wm-ignore true
:monitor 0
:focusable true
:geometry (geometry
:x "0px"
:y "32px"
:width "0px"
:height "1048px"
:anchor "top right"
)
(onotify)
)
(defwidget onotify-button []
(eventbox
:onhover "${EWW_CMD} update ontf_hover=true"
:onhoverlost "${EWW_CMD} update ontf_hover=false"
(box
:space-evenly false
(eventbox
:class "onotify-toggle-button-${rev_ontf || ontf_hover}"
:onmiddleclick "scripts/toggle-dash.sh &"
:onrightclick "scripts/toggle-dash.sh &"
:onscroll "echo $(echo {} | sed -e 's/down/-U 3/g' -e 's/up/-A 3/g' | xargs light) && scripts/brightness osd"
(button
:onclick "scripts/toggle-onotify.sh &";
(box
:space-evenly false
:orientation "h"
; Time and date
(box
:class "timedate"
:orientation "h"
:space-evenly false
(box
:space-evenly false
:halign "start"
:class "clock"
(label :text "${time.hour}")
(label :text ":")
(label :text "${time.minute}")
)
(box
:class "date"
:onclick "${EWW_CMD} update popup='calendar'"
"${time.day}, ${time.date}"
)
)
; System levels
(eventbox
:class "${popup == 'system-menu' ? 'system-menu-box' : 'sysbar'}"
:onscroll "echo $(echo {} | sed -e 's/down/-/g' -e 's/up/+/g' | xargs -I% wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.03%) && scripts/volume osd"
:onhover "${EWW_CMD} update sys_rev=true"
:onhoverlost "${EWW_CMD} update popup='none' sys_rev=false"
:onrightclick "${EWW_CMD} update force_sys_rev=${!force_sys_rev}"
:onmiddleclick "${EWW_CMD} open --toggle overview"
(box
:space-evenly false
:halign "end"
:spacing 5
(syscpu)
(sysmem)
(sysbatt)
; (settingscog)
)
)
)
)
)
(eventbox
:onscroll "echo $(echo {} | sed -e 's/down/-/g' -e 's/up/+/g' | xargs -I% wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.03%) && scripts/volume osd"
:onclick "scripts/toggle-onotify.sh &"
:onmiddleclick "scripts/toggle-dash.sh &"
:onrightclick "scripts/toggle-dash.sh &"
(box
:class "module real-onotify-toggle-button"
(label
:class "icon button-${rev_ontf || ontf_hover}"
:text ""
)
)
)
)
)
)
+69
View File
@@ -0,0 +1,69 @@
(defwidget osdwidget []
(box
:class "osd-window"
:orientation "h"
:space-evenly false
(revealer
:reveal {osd_vol}
:transition "slideright"
:duration "80ms"
(centerbox
:class "osd-var"
:orientation "h"
:space-evenly false
(circular-progress
:value {volume.percent}
:class "osd-circle"
:thickness 4
:start-at 75
:halign "start"
(button
:class "inside-circle"
(label :xalign "0.5" :yalign "0.5" :halign "center" :valign "center" :class "osd-incircle" :text "${volume.icon}")
)
)
(box)
(label :xalign 0.5 :halign "end" :class "osd-text" :text "${volume.percent}")
)
)
(revealer
:reveal {osd_bright}
:transition "slideright"
:duration "80ms"
(centerbox
:class "osd-var"
:orientation "h"
:space-evenly false
(circular-progress
:value {brightness.level}
:class "osd-circle"
:thickness 4
:start-at 75
:halign "start"
(button
:class "inside-circle"
(label :xalign "0.5" :yalign "0.5" :halign "center" :valign "center" :class "osd-incircle-bright" :text "${brightness.icon}")
)
)
(box)
(label :xalign 0.5 :class "osd-text" :text "${brightness.level}")
)
)
)
)
(defwindow osd
:stacking "fg"
:wm-ignore true
:monitor 0
:geometry (geometry
:x "0%"
:y "53px"
:width "100px"
:height "53px"
:anchor "top center"
)
:stacking "fg"
:exclusive false
(osdwidget)
)
+856
View File
@@ -0,0 +1,856 @@
(defwidget checkboxhyprctl [value changevalue]
(eventbox
:cursor "pointer"
:onclick "hyprctl keyword ${changevalue} ${1 - value} && scripts/hyprsettings tickle"
(box
:class "osettings-checkbox-${value}"
:halign "end"
)
)
)
(defwidget checkboxcmd [value changecmd]
(eventbox
:onclick "${changecmd}"
(box
:class "osettings-checkbox-${value}"
:halign "end"
)
)
)
(defwidget osettings []
(box
:orientation "v"
:space-evenly false
:style "
${anim_open_ostg ? 'transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1);' : 'transition: 200ms cubic-bezier(0.3, 0, 0.8, 0.15);'}
${rev_ostg ? '' : 'margin-left: -600px;'}
"
(eventbox
:onclick "scripts/toggle-osettings.sh --close &"
:onmiddleclick "scripts/toggle-osettings.sh --close &"
:onrightclick "scripts/toggle-osettings.sh --close &"
(box
:class "box-that-is-there" :style "min-height: 1px;"
)
)
(eventbox
; :onhoverlost "scripts/toggle-osettings.sh --close &"
(box
:orientation "v"
:space-evenly false
:class "osettings-window"
(box
:orientation "v"
:space-evenly false
(box
:class "osettings-heading"
:orientation "v"
:space-evenly false
(label
:halign "start"
:wrap true
:class "osettings-title"
:text "SETTINGS"
)
(label
:halign "start"
:wrap true
:class "osettings-subtitle"
:text "change the way hyprland behaves"
)
)
(box
:spacing 0
:space-evenly false
:class "osettings-search"
:orientation "h"
(input
:halign "start"
:class "osettings-search-text"
:onchange "${EWW_CMD} update oquery=\"$(echo {} | tr [:upper:] [:lower:])\""
)
(box)
(button
:halign "end"
:class "osettings-search-icon"
:style "font-weight: bolder;"
""
)
)
)
(box
:class "osettings-separator"
:orientation "v"
:space-evenly false
)
(scroll
; :vscroll true
; :hscroll false
; :halign "fill"
:class "osettings-content"
:style "min-height: 813px;"
(box
:halign "fill"
:class "osettings-scroll-bg"
:space-evenly false
:spacing 20
:orientation "v"
(box
:class "osettings-settings"
:orientation "v"
:space-evenly false
; Quick settings
(revealer
:reveal "${matches('quick settings volume audio brightness',oquery)}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:orientation "v"
:space-evenly false
:class "osettings-window-section osettings-window-quick"
(label
:xalign 0
:class "osettings-section osettings-section-quick"
:text "QUICK SETTINGS"
)
(revealer
:reveal "${matches('quick settings volume audio',oquery)}"
:transition "slidedown"
:duration "0ms"
(eventbox
:onscroll "echo {} | sed -e 's/down/-/g' -e 's/up/+/g' | xargs -I% wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.03%"
(box
:orientation "v"
:space-evenly false
:class "osettings-window-contents"
(centerbox
:orientation "h"
:space-evenly false
:halign "fill"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Volume"
)
(box)
; (checkbox
; :halign "end"
; :class "osettings-checkbox"
; :onchecked "scripts/volume mute SINK"
; :onunchecked "scripts/volume mute SINK"
; )
(checkboxcmd
:value "${volume.audio}"
:changecmd "scripts/volume mute SINK"
)
)
(scale
:halign "fill"
:class "osettings-slider osettings-slider-quick osettings-slider-5"
:value "${volume.percent}"
:tooltip "volume on ${volume.percent}%"
:onchange "scripts/volume setvol SINK {}"
)
)
)
)
(revealer
:reveal "${matches('quick settings brightness',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:orientation "v"
:space-evenly false
:class "osettings-window-contents"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Brightness"
)
(scale
:class "osettings-slider osettings-slider-quick osettings-slider-5"
:value "${brightness.level}"
:onchange "light -S {}"
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-quick-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Session control
(revealer
:reveal "${matches('session lock logout suspend log out shutdown shut down poweroff power off',oquery)}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section osettings-window-session"
(label
:xalign 0
:class "osettings-section osettings-section-session"
:text "SESSION"
)
(revealer
:reveal "${matches('session lock',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:orientation "v"
:space-evenly false
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-neutral"
:onclick "~/.local/bin/lock.sh &"
"Lock"
)
)
)
(revealer
:reveal "${matches('session suspend',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:orientation "v"
:space-evenly false
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-neutral"
:onclick "systemctl suspend &"
"Suspend"
)
)
)
(revealer
:reveal "${matches('session logout log out',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:orientation "v"
:space-evenly false
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-destructive"
:onclick "pkill Hyprland &"
"Logout"
)
)
)
(revealer
:reveal "${matches('session shutdown shut down poweroff power off',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:orientation "v"
:space-evenly false
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-destructive"
:onclick "systemctl poweroff &"
"Shutdown"
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-session-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Mouse
(revealer
:reveal "${matches('mouse and touchpad touch pad mouse speed mouse acceleration osu raw input sensitivity disable while typing disable_while_typing tap to click clickfinger_behavior',oquery)}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section osettings-window-mouse"
(label
:xalign 0
:class "osettings-section osettings-section-mouse"
:text "MOUSE & TOUCHPAD"
)
(revealer
:reveal "${matches('mouse and touchpad touch pad speed mouse acceleration osu raw input sensitivity',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(centerbox
:orientation "h"
:space-evenly false
:halign "fill"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Raw Input"
)
(box)
(checkboxhyprctl
:value "${hyprjson.force_no_accel}"
:changevalue "input:force_no_accel"
:halign "end"
:class "osettings-checkbox"
)
)
(eventbox
:onrightclick "hyprctl keyword input:sensitivity 0"
(box
:space-evenly false
:orientation "v"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Sensitivity"
)
(scale
:class "osettings-slider osettings-slider-mouse osettings-slider-3"
:value "${hyprjson.input_sensitivity * 50 + 50}"
:onchange "hyprctl keyword input:sensitivity $(echo - | awk '{print {} / 50 - 1}') && scripts/hyprsettings tickle"
)
)
)
)
)
(revealer
:reveal "${matches('mouse and touch pad touchpad disable while typing disable_while_typing',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(centerbox
:orientation "h"
:space-evenly false
:halign "fill"
(label
:halign "start"
:class "osettings-text"
:text "Disable touchpad while typing"
)
(box)
(checkboxhyprctl
:value "${hyprjson.touchpad_disable_while_typing}"
:changevalue "input:touchpad:disable_while_typing"
:class "osettings-checkbox"
)
)
)
)
(revealer
:reveal "${matches('mouse and touchpad touch pad tap to click clickfinger_behavior',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(centerbox
:orientation "h"
:space-evenly false
:halign "fill"
(label
:halign "start"
:class "osettings-text"
:text "Tap to click"
)
(box)
(checkboxhyprctl
:value "${hyprjson.touchpad_clickfinger_behavior}"
:changevalue "input:touchpad:clickfinger_behavior"
)
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-mouse-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Appearance
(revealer
:reveal "${matches('appearance looks customization blur size blur passes blur strength blur xray',oquery)}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section osettings-window-appearance"
(label
:xalign 0
:class "osettings-section osettings-section-appearance"
:text "BLUR"
)
(centerbox
:orientation "h"
:space-evenly false
:halign "fill"
:class "osettings-window-contents"
(label
:halign "start"
:class "osettings-text"
:text "Enable blur"
)
(box)
(checkboxhyprctl
:value "${hyprjson.blur}"
:changevalue "decoration:blur"
)
)
(revealer
:reveal "${matches('appearance looks customization blur size blur strength',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Blur size"
)
(scale
:class "osettings-slider osettings-slider-5"
:value "${hyprjson.blur_size}"
:tooltip "Blur size: ${hyprjson.blur_size}"
:onchange "hyprctl keyword decoration:blur_size {} && scripts/hyprsettings tickle"
)
)
)
(revealer
:reveal "${matches('appearance looks customization blur passes blur strength',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Blur passes"
)
(scale
:class "osettings-slider osettings-slider-5"
:value "${hyprjson.blur_passes * 10}"
:tooltip "Blur passes: ${hyprjson.blur_passes}"
:onchange "hyprctl keyword decoration:blur_passes $(({} / 10)) && scripts/hyprsettings tickle"
)
)
)
(revealer
:reveal "${matches('appearance looks customization blur xray',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(centerbox
:orientation "h"
:space-evenly false
:halign "fill"
(label
:halign "start"
:class "osettings-text"
:text "Blur xray"
)
(box)
(checkboxhyprctl
:value "${hyprjson.blur_xray}"
:changevalue "decoration:blur_xray"
)
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-appearance-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
(revealer
:reveal "${matches('appearance looks customization gaps gaps_in inner gaps: inner gaps_out outer gaps: outer space border_size border size border thickness',oquery)}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section osettings-window-gaps"
(label
:xalign 0
:class "osettings-section osettings-section-gaps"
:text "GAPS"
)
(revealer
:reveal "${matches('appearance looks customization gaps_in inner gaps: inner space',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Gaps: Inner"
)
(scale
:class "osettings-slider osettings-slider-4"
:value "${hyprjson.gaps_in}"
:tooltip "Inner gaps: ${hyprjson.gaps_in}"
:onchange "hyprctl keyword general:gaps_in {} && scripts/hyprsettings tickle"
)
)
)
(revealer
:reveal "${matches('appearance looks customization gaps_out outer gaps: outer space',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Gaps: Outer"
)
(scale
:class "osettings-slider osettings-slider-4"
:value "${hyprjson.gaps_out}"
:tooltip "Outer gaps: ${hyprjson.gaps_out}"
:onchange "hyprctl keyword general:gaps_out {} && scripts/hyprsettings tickle"
)
)
)
(revealer
:reveal "${matches('appearance looks customization border_size border size border thickness',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
:class "osettings-window-contents"
(label
:halign "start"
:wrap true
:class "osettings-text"
:text "Border size"
)
(scale
:class "osettings-slider osettings-slider-4"
:value "${hyprjson.border_size}"
:tooltip "Border size: ${hyprjson.border_size}"
:onchange "hyprctl keyword general:border_size {} && scripts/hyprsettings tickle"
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-gaps-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Hyperland
(revealer
:reveal "${matches(oquery, 'hyperland')}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section osettings-window-hyperland"
(label
:xalign 0
:class "osettings-section osettings-section-hyperland"
:text "HYPERLAND"
)
(revealer
:reveal "${matches(oquery, 'hyperland')}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-neutral"
:onclick "notify-send whyyyyyyy 😭"
"Check the spelling and try again"
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-hyperland-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Hyprland
(revealer
:reveal "${matches('hyprland options open the wiki guide help social hypr development discord reload config configuration',oquery)}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:space-evenly false
:orientation "v"
:class "osettings-window-section osettings-window-hyprland"
(label
:xalign 0
:class "osettings-section osettings-section-hyprland"
:text "HYPRLAND OPTIONS"
)
(revealer
:reveal "${matches('hyprland options reload config configuration',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-neutral"
:onclick "cp ~/.config/hypr/hyprland.conf temporary_config.conf && cp temporary_config.conf ~/.config/hypr/hyprland.conf && rm temporary_config.conf &"
"Reload config"
)
)
)
(revealer
:reveal "${matches('hyprland open the wiki guide help',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-informative"
:onclick "scripts/toggle-osettings.sh && xdg-open https://wiki.hyprland.org &"
"Open the wiki"
)
)
)
(revealer
:reveal "${matches('hyprland help social hypr development discord',oquery)}"
:transition "slidedown"
:duration "0ms"
(box
:space-evenly false
:orientation "v"
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-informative"
:onclick "scripts/toggle-osettings.sh xdg-open https://discord.com/invite/hQ9XvMUjjr &"
"Hypr Development Discord"
)
)
)
)
(box
:halign "end" :valign "end"
:class "osettings-window-hyprland-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Calendar
(revealer
:reveal "${'calendar' == oquery}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:orientation "v"
:space-evenly false
:class "osettings-window-section osettings-window-calendar"
(label
:xalign 0
:class "osettings-section osettings-section-calendar"
:text "CALENDAR"
)
(calendar)
)
(box
:halign "end" :valign "end"
:class "osettings-window-calendar-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
; Super secret settings
(revealer
:reveal "${oquery == '!secret' || oquery == '!sekret'}"
:transition "slidedown"
:duration "0ms"
(overlay
(box
:orientation "v"
:space-evenly false
:class "osettings-window-section osettings-window-secret"
(label
:xalign 0
:class "osettings-section osettings-section-secret"
:text "SUPER SECRET SETTINGS"
)
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-informative"
:onclick "scripts/supersecretsettings/culture &"
"Activate culture mode"
)
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-informative"
:onclick "scripts/supersecretsettings/doreload &"
"Reset these stuff"
)
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-destructive"
:onclick "hyprctl keyword bind ,c,exec,wtype k"
"Bekome a KDE developer"
)
(button
:halign "fill"
:wrap true
:class "osettings-btn osettings-btn-destructive"
:onclick "hyprctl keyword unbind ,c"
"Un-become a KDE developer"
)
; (centerbox
; :orientation "h"
; :space-evenly false
; :halign "fill"
; (label
; :halign "start"
; :wrap true
; :class "osettings-text"
; :text "Culture mode"
; )
; (box)
; (checkboxcmd
; :value "${volume.audio}"
; :changecmd "notify-send 'i see ur a man of culture as well'"
; )
; )
)
(box
:halign "end" :valign "end"
:class "osettings-window-quick-bottomright"
)
(box
:halign "end" :valign "end"
:class "osettings-window-bottomright-cut"
)
)
)
)
)
)
)
)
)
)
(defwindow osettings
:wm-ignore true
:monitor 0
:focusable true
:geometry (geometry
:x "0px"
:y "32px"
:width "0px"
:height "1048px"
:anchor "top left"
)
(osettings)
)
(defwidget osettings-button []
(eventbox
:class "osettings-toggle-button-false"
:onmiddleclick "playerctl play-pause"
:onrightclick "playerctl next"
:onscroll "echo $(echo {} | sed -e 's/down/-/g' -e 's/up/+/g' | xargs -I% wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.03%) && scripts/volume osd"
(button
:class "osettings-toggle-button-${rev_ostg}"
:onclick "scripts/toggle-osettings.sh &"
(label :class "icon" :text "")
)
)
)
+242
View File
@@ -0,0 +1,242 @@
(defwidget overview []
(box
:space-evenly false
:orientation "v"
:class "thewholething"
(eventbox
:onclick "scripts/toggle-overview.sh --close &"
:onmiddleclick "scripts/toggle-overview.sh --close &"
:onrightclick "scripts/toggle-overview.sh --close &"
:onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace"
)
(box
:class "overview-search-area"
:space-evenly false
:halign "center"
:orientation "v"
(input
:class "overview-search-box"
:onchange "${EWW_CMD} update overview_query=\"{}\" && ${EWW_CMD} update overview_results=\"$(scripts/appsearch '{}')\" &"
:onaccept "scripts/launchapp '${overview_results == '[]' ? {} : overview_results[0].exec}' &"
)
)
(eventbox
:onhoverlost `eww update overview_hover_name='{"class":"LMB: Focus | MMB: Close | RMB: Select/Move","title":"Activities Overview","workspace":{"id":5,"name":"5"},"icon": "/usr/share/icons/breeze-dark/actions/16/window.svg"}' &`
:onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace"
(revealer
:reveal "${overview_query == ''}"
:transition "slidedown"
:duration "${overview_query == '' ? '200ms cubic-bezier(0.05, 0.7, 0.1, 1)' : '100ms cubic-bezier(0.3, 0, 0.8, 0.15)'}"
:style "
transition: ${overview_query == '' ? '200ms cubic-bezier(0.05, 0.7, 0.1, 1)' : '100ms cubic-bezier(0.3, 0, 0.8, 0.15)'};
"
(revealer
:reveal "${overview_query == ''}"
:transition "crossfade"
:duration "${overview_query == '' ? '200ms cubic-bezier(0.05, 0.7, 0.1, 1)' : '100ms cubic-bezier(0.3, 0, 0.8, 0.15)'}"
:style "
transition: ${overview_query == '' ? '200ms cubic-bezier(0.05, 0.7, 0.1, 1)' : '100ms cubic-bezier(0.3, 0, 0.8, 0.15)'};
"
(box
:space-evenly false
:orientation "v"
:class "overview-window"
; :space-evenly false
; (label :text "${wsjsona}")
; (label :text "${selected}")
(centerbox
:class "overview-window-title"
(label :halign "start" :style "margin: 5px;" :text "${overview_hover_name.class}")
(box
:space-evenly false
:orientation "h"
; ICON ICON ICON
(box
:class "overview-topbar-icon overview-icon"
:style "
background-image: url('${overview_hover_name.icon}');
"
)
(label :text "${overview_hover_name.title}")
)
(button
:halign "end"
:class "overview-topbar-button"
:onclick "scripts/toggle-overview.sh --close"
(label :text "")
)
)
(box
:orientation "h"
(for wspace in wsjsona
(box ; Note: height 100px width 356px
:class "overview-ws overview-ws-${wspace[0].workspace.id == activews}"
(box
:space-evenly false
:orientation "h"
:style "
min-width: ${RES_WIDTH * OVERVIEW_SCALE}px;
min-height: ${RES_HEIGHT * OVERVIEW_SCALE}px;
"
(for ws-window in wspace
(box
:class "${ws-window.class == 'workspace' ? '' : 'overview-ws-window'}"
:style "
${ws-window.address == selected ? 'border: 2px solid #FFFFFF' : ''};
${ws-window.address == '_none' ? 'border: none' : ''};
margin-left: ${ws-window.at[0] * OVERVIEW_SCALE}px;
margin-top: ${ws-window.at[1] * OVERVIEW_SCALE}px;
margin-right: -${(ws-window.at[0] + ws-window.size[0]) * OVERVIEW_SCALE}px;
margin-bottom: ${RES_HEIGHT * OVERVIEW_SCALE - ((ws-window.at[1] + ws-window.size[1]) * OVERVIEW_SCALE)};
"
(eventbox
:onrightclick "scripts/selectwindow ${ws-window.address} '${EWW_CMD}' ${ws-window.workspace.id}"
:onmiddleclick "hyprctl dispatch closewindow address:${ws-window.address}"
:onclick "scripts/focuswindow ${ws-window.address} ${ws-window.workspace.id} && scripts/toggle-overview.sh --close &"
:onhover "${ws-window.class == 'workspace' ? '' : (EWW_CMD + ' update overview_hover_name=\'' + ws-window + '\'')}"
; :onhover "${ws-window.class == 'workspace' ? '' : EWW_CMD} ${ws-window.class == 'workspace' ? '' : 'update overview_hover_name=\''}${ws-window.class == 'workspace' ? '' : ws-window.title}${ws-window.class == 'workspace' ? '' : '\' &'}"
(box
:class "overview-background"
; Uncomment below to enable thumbnail previews (VERY SLOW)
; :style "
; background-image: url('scripts/cache/thumbnails/${ws-window.address }.png');
; "
(box
:class "overview-icon"
:style "
background-size: ${ws-window.size[0] > ws-window.size[1] ? 'auto 45%' : '45% auto'};
background-image: url('${ws-window.icon}')
"
)
)
)
)
)
)
)
)
)
(box
:orientation "h"
(for wspace in wsjsonb
(box ; Note: height 100px width 356px
:class "overview-ws overview-ws-${wspace[0].workspace.id == activews}"
(box
:space-evenly false
:orientation "h"
:style "
min-width: ${RES_WIDTH * OVERVIEW_SCALE}px;
min-height: ${RES_HEIGHT * OVERVIEW_SCALE}px;
"
(for ws-window in wspace
(box
:class "${ws-window.class == 'workspace' ? '' : 'overview-ws-window'}"
:style "
${ws-window.address == selected ? 'border: 2px solid #FFFFFF' : ''};
${ws-window.address == '_none' ? 'border: none' : ''};
margin-left: ${ws-window.at[0] * OVERVIEW_SCALE}px;
margin-top: ${ws-window.at[1] * OVERVIEW_SCALE}px;
margin-right: -${(ws-window.at[0] + ws-window.size[0]) * OVERVIEW_SCALE}px;
margin-bottom: ${RES_HEIGHT * OVERVIEW_SCALE - ((ws-window.at[1] + ws-window.size[1]) * OVERVIEW_SCALE)};
"
(eventbox
:onrightclick "scripts/selectwindow ${ws-window.address} '${EWW_CMD}' ${ws-window.workspace.id}"
:onmiddleclick "hyprctl dispatch closewindow address:${ws-window.address}"
:onclick "scripts/focuswindow ${ws-window.address} ${ws-window.workspace.id} && scripts/toggle-overview.sh --close &"
:onhover "${ws-window.class == 'workspace' ? '' : (EWW_CMD + ' update overview_hover_name=\'' + ws-window + '\'')}"
(box
:class "overview-background"
; Uncomment below to enable thumbnail previews (VERY SLOW)
; :style "
; background-image: url('scripts/cache/thumbnails/${ws-window.address }.png');
; "
(box
:class "overview-icon"
:style "
background-size: ${ws-window.size[0] > ws-window.size[1] ? 'auto 45%' : '45% auto'};
background-image: url('${ws-window.icon}')
"
)
)
)
)
)
)
)
)
)
)
)
)
)
(box
:class "overview-search-area"
:space-evenly false
:halign "center"
:orientation "v"
(revealer
:reveal "${overview_query != ''}"
:transition "slidedown"
:duration "${overview_query == '' ? '100ms cubic-bezier(0.3, 0, 0.8, 0.15)' : '200ms cubic-bezier(0.05, 0.7, 0.1, 1)'}"
:style "
transition: ${overview_query == '' ? '100ms cubic-bezier(0.3, 0, 0.8, 0.15)' : '200ms cubic-bezier(0.05, 0.7, 0.1, 1)'};
"
(revealer
:reveal "${overview_query != ''}"
:transition "crossfade"
:duration "${overview_query == '' ? '100ms cubic-bezier(0.3, 0, 0.8, 0.15)' : '200ms cubic-bezier(0.05, 0.7, 0.1, 1)'}"
:style "
transition: ${overview_query == '' ? '100ms cubic-bezier(0.3, 0, 0.8, 0.15)' : '200ms cubic-bezier(0.05, 0.7, 0.1, 1)'};
"
(scroll
:style "min-width: 452px; min-height: 547px;"
(box
:halign "center"
:orientation "v"
:class "overview-results"
:spacing 2
:space-evenly false
(for entry in overview_results
(box
:orientation "h"
; (input
; :value "${entry.icon}"
; :class "overview-search-result"
; :onaccept "scripts/launchapp '${entry.exec}' &"
; )
(input
:value "${entry.name} | $ ${entry.exec}"
:class "overview-search-result"
:onaccept "scripts/launchapp '${entry.exec}' &"
)
; (input
; :value "${entry.exec}"
; :class "overview-search-result"
; :onaccept "scripts/launchapp '{}' &"
; )
)
)
)
)
)
)
)
)
)
(defwindow overview
:stacking "overlay"
:focusable true
:wm-ignore true
:monitor 0
:geometry (geometry
; :height 1080
; :width 1920
:y "103px"
:anchor "top center"
; :y "0px"
; :anchor "center center"
)
; (testing)
(overview)
)
+187
View File
@@ -0,0 +1,187 @@
(defwidget system-menu []
(eventbox
:onhoverlost "${EWW_CMD} close system-menu"
(box
:class "system-menu-box"
:space-evenly false
:orientation "v"
(box
:class "module"
:space-evenly false
:spacing 5
:halign "end"
(syscpu)
(sysmem)
(sysbatt)
(settingscog)
)
(box
:class "top-row"
:space-evenly false
(label :class "time" :text "${time.hour}:${time.minute}")
(box
:class "date-box"
:space-evenly false
(label :class "date" :text "${time.day},")
(label :class "date" :text "${time.date}")
)
)
(box
:class "system-row"
:space-evenly false
(box
:class "wifi-box"
:space-evenly false
:orientation "v"
(box
:class "element icon"
:space-evenly false
(button
:class "wifi-button"
:onclick "scripts/net toggle"
{net.icon}
)
(label :class "separator" :text "|")
(button
:class "wifi-arrow-btn"
:onclick "eww close system-menu && nm-connection-editor &"
""
)
)
(label :text {net.essid} :xalign 0.5 :limit-width 15)
)
(box
:class "bluetooth-box"
:space-evenly false
:orientation "v"
(box
:class "element icon"
:space-evenly false
(button
:class "bluetooth-button"
:onclick "scripts/bluetooth toggle"
{bluetooth.icon}
)
(label :class "separator" :text "|")
(button
:class "bluetooth-arrow-btn"
:onclick "eww close system-menu && blueberry"
""
)
)
(label
:text {bluetooth.text}
:xalign 0.5
:tooltip "${bluetooth.text} ${bluetooth.batt_icon}"
:limit-width 15
)
)
(box
:class "airplane-box"
:space-evenly false
:orientation "v"
(box
:class "element"
(button
:class "airplane-button"
:onclick "scripts/airplane toggle"
airplane
)
)
(label :text "Airplane Mode" :xalign 0.5 :limit-width 16)
)
(box
:space-evenly false
:orientation "v"
(box
:class "element"
(button
:halign "end"
; :onclick "wlogout -p layer-shell &"
:onclick "wlogout"
""
)
)
(label
:text "Power"
:xalign 0.5
:limit-width 16
)
)
)
(audiolevels)
(box
:class "system-info-box"
; cpu
(box
:class "sys-box"
:space-evenly false
:halign "start"
(circular-progress
:value "${EWW_CPU.avg}"
:class "sys-cpu"
:thickness 3
(label
:text ""
:class "sys-icon-cpu icon"))
(box
:orientation "v"
:vexpand false
(label
:text "CPU"
:halign "start"
:class "sys-text-cpu")
(label
:text "${round(EWW_CPU.avg,2)}%"
:halign "start"
:class "sys-text-sub")
(label
:text "${EWW_CPU.cores[0].freq} MHz"
:halign "start"
:class "sys-text-sub")))
; memory
(box
:class "sys-box"
:space-evenly false
:halign "end"
(circular-progress
:value {memory.percentage}
:class "sys-mem"
:thickness 3
(label
:text ""
:class "sys-icon-mem icon"
)
)
(box
:orientation "v"
(label :text "Memory" :halign "start" :class "sys-text-mem")
(label :text "${memory.used} / ${memory.total}" :halign "start" :class "sys-text-sub")
(label :text "Swap ${memory.swapused} / ${memory.swaptotal}" :halign "start" :class "sys-text-sub")
)
)
)
)
)
)
;; windows
(defwindow system-menu
:wm-ignore true
:monitor 0
; :focusable true
:geometry (geometry
:x "0"
:y "0"
:width "0%"
:height "0%"
:anchor "right top")
(system-menu)
)
+138
View File
@@ -0,0 +1,138 @@
(defwidget themerctl []
(box
:orientation "v"
:space-evenly false
:halign "fill"
:valign "fill"
(eventbox
:onclick "scripts/toggle-themer.sh --close &"
(box
:style "
${rev_themer ? '' : 'margin-top: -400px;'}
${anim_open_themer ? 'transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);' : 'transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15);'}
min-height: 1px;
"
)
)
(eventbox
; :onhoverlost "${EWW_CMD} close themer && ${EWW_CMD} update themer_open=false"
(box
:space-evenly false
:orientation "v"
:class "window window-themer"
:style "
${rev_themer ? '' : 'margin-top: -400px;'}
${anim_open_themer ? 'transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);' : 'transition: 150ms cubic-bezier(0.3, 0, 0.8, 0.15);'}
"
(box
:class "window-titlebar-themer"
(label :class "window-text" :xalign 0 :text "THEMES")
)
(box
:style "padding-left: 10px; padding-right: 10px; padding-top: 10px; font-size: 15pt;"
:valign "start"
:space-evenly false
:spacing 4
(button
:class "themer-action-button themer-get"
:onclick "scripts/colormanage get"
""
)
(button
:class "themer-action-button themer-restore"
:onclick "scripts/colormanage default"
""
)
(button
:class "themer-action-button"
:onclick "scripts/togglelight light"
:tooltip "Light mode (for generating new themes)"
""
)
(button
:class "themer-action-button"
:onclick "scripts/togglelight dark"
:tooltip "Dark mode (for generating new themes)"
""
)
)
(label
:class "themer-title"
:text "Color profiles"
:xalign 0
)
(box
:space-evenly false
:orientation "h"
(label
:class "themer-prompt"
:text "Save "
)
(input
:class "themer-input"
:onaccept "scripts/colormanage save {}"
)
)
(box
:halign "start"
:space-evenly false
:orientation "h"
(label
:text "Load "
:class "themer-prompt"
)
(input
:class "themer-input"
:onaccept "scripts/colormanage load {}"
)
)
(label
:class "themer-title"
:text "Current pallete"
:xalign 0
)
(box
:spacing 3
:orientation "h"
:style "padding: 7px;"
(box :class "themer-color-preview preview-0" )
(box :class "themer-color-preview preview-1" )
(box :class "themer-color-preview preview-2" )
(box :class "themer-color-preview preview-3" )
(box :class "themer-color-preview preview-4" )
(box :class "themer-color-preview preview-5" )
(box :class "themer-color-preview preview-6" )
(box :class "themer-color-preview preview-7" )
)
)
)
)
)
(defwindow themer
:wm-ignore true
:stacking "overlay"
:monitor 0
:geometry (geometry
:x "300px"
:y "32px"
:anchor "top right"
; :width "0px"
; :height "0px"
)
:focusable true
(themerctl)
)
(defwidget themer []
(eventbox
:onhover "${EWW_CMD} update themer_hover=true"
:onhoverlost "${EWW_CMD} update themer_hover=false"
(button
:class "themer-button-${themer_hover || themer_open}"
:onclick "scripts/toggle-themer.sh"
:style "font-family: 'Material Symbols Outlined';"
''
)
)
)
+13
View File
@@ -0,0 +1,13 @@
(defwindow win-workspace
:wm-ignore true
:focusable false
:monitor 0
:geometry (geometry
:x "0%"
:y "53px"
:width "0%"
:height "0%"
:anchor "top center"
)
(win-ws)
)