forked from Shinonome/dots-hyprland
stuff
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
(defwidget bgdecors []
|
||||
(box
|
||||
:space-evenly false
|
||||
:spacing 5
|
||||
:orientation "v"
|
||||
(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 bg-decor
|
||||
:focusable false
|
||||
:stacking "bg"
|
||||
:windowtype "normal"
|
||||
:wm-ignore true
|
||||
:geometry (geometry
|
||||
:x 80
|
||||
:y 0
|
||||
:width "30%"
|
||||
:height "25%"
|
||||
:anchor "left center"
|
||||
)
|
||||
:monitor 0
|
||||
(bgdecors)
|
||||
)
|
||||
@@ -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)
|
||||
)
|
||||
@@ -0,0 +1,70 @@
|
||||
(defwidget music []
|
||||
(eventbox
|
||||
:onhoverlost "${EWW_CMD} close music"
|
||||
(box
|
||||
:class "music-window"
|
||||
:space-evenly false
|
||||
(box
|
||||
:class "music-cover-art"
|
||||
:style "background-image: url(\"${mcover}\");"
|
||||
)
|
||||
(box
|
||||
:orientation "v"
|
||||
:class "music-box"
|
||||
(label
|
||||
:class "music-title"
|
||||
:wrap true
|
||||
:text {music.title}
|
||||
:limit-width 35;
|
||||
)
|
||||
(label
|
||||
:class "music-artist"
|
||||
:wrap true
|
||||
:text {music.artist}
|
||||
)
|
||||
(centerbox
|
||||
:halign "center"
|
||||
:class "music-button-box icon"
|
||||
(button :class "music-button" :onclick "playerctl previous" "")
|
||||
(button :class "music-button" :onclick "playerctl play-pause" {music.status})
|
||||
(button :class "music-button" :onclick "playerctl next" "")
|
||||
)
|
||||
(box
|
||||
:orientation "v"
|
||||
(box
|
||||
(label
|
||||
:xalign 0
|
||||
:class "music-time"
|
||||
:text {music.position_time}
|
||||
)
|
||||
(label
|
||||
:xalign 1
|
||||
:class "music-time"
|
||||
:text {music.length}
|
||||
)
|
||||
)
|
||||
(box
|
||||
:class "music-bar"
|
||||
(scale
|
||||
:onchange "playerctl position `bc <<< \"{} * $(playerctl metadata mpris:length) / 1000000 / 100\"`"
|
||||
:value {music.position}
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwindow music
|
||||
:wm-ignore true
|
||||
:focusable false
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:x "0%"
|
||||
:y "0%"
|
||||
:width "0%"
|
||||
:height "0%"
|
||||
:anchor "top left")
|
||||
(music)
|
||||
)
|
||||
@@ -0,0 +1,94 @@
|
||||
(defwindow notifications
|
||||
:wm-ignore true
|
||||
:geometry (geometry
|
||||
:x "0px"
|
||||
:y "32px"
|
||||
:width "0px"
|
||||
:height "0px"
|
||||
:anchor "top center")
|
||||
:monitor 0
|
||||
(notifications))
|
||||
|
||||
(defwidget notifications []
|
||||
(eventbox
|
||||
:onhoverlost "${EWW_CMD} close notifications"
|
||||
(box
|
||||
:class "notifications-box"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
(box
|
||||
:class "notifications-section"
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
(box
|
||||
:class "notification-header"
|
||||
(label
|
||||
:class "notification-label"
|
||||
:halign "start"
|
||||
:text "Notifications")
|
||||
(box
|
||||
:class "icon"
|
||||
:halign "end"
|
||||
:space-evenly false
|
||||
:spacing 10
|
||||
(button
|
||||
:class "notification-action"
|
||||
:tooltip "Refresh"
|
||||
:onclick "dunstctl history > $XDG_CACHE_HOME/dunst-history.json" "")
|
||||
(button
|
||||
:class "notification-action"
|
||||
:tooltip "Pause/Resume Notifications"
|
||||
:onclick "scripts/notifications toggle" {notif_icons.toggle_icon})
|
||||
(button
|
||||
:class "notification-action"
|
||||
:tooltip "Clear Notifications"
|
||||
:onclick "scripts/notifications clear" ""))) ;
|
||||
(scroll
|
||||
:vscroll true
|
||||
:hscroll false
|
||||
:height 500
|
||||
:width 300
|
||||
(box
|
||||
:class "container"
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
(for i in notifications
|
||||
(eventbox
|
||||
:onclick "dunstctl history-pop ${i.id} && dunstctl action 0 && dunstctl close"
|
||||
(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}
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(calendar)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,648 @@
|
||||
(defvar oquery "")
|
||||
(defvar rev_ostg false)
|
||||
(deflisten hyprjson `scripts/hyprsettings`)
|
||||
|
||||
(defwidget checkboxhyprctl [value changevalue]
|
||||
(eventbox
|
||||
:onclick "hyprctl keyword ${changevalue} ${1 - value} && scripts/hyprsettings tickle"
|
||||
(box
|
||||
:class "osettings-checkbox"
|
||||
:halign "end"
|
||||
:style "${value == 1 ? 'background-color: #8C66FF' : ''}"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget checkboxcmd [value changecmd]
|
||||
(eventbox
|
||||
:onclick "${changecmd}"
|
||||
(box
|
||||
:class "osettings-checkbox"
|
||||
:halign "end"
|
||||
:style "${value == 1 ? 'background-color: #8C66FF' : ''}"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget osettings []
|
||||
(revealer
|
||||
:reveal rev_ostg
|
||||
:transition "slideright"
|
||||
:duration "250ms"
|
||||
(revealer
|
||||
:reveal rev_ostg
|
||||
:transition "crossfade"
|
||||
:duration "300ms"
|
||||
(box
|
||||
:class "osettings-window"
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
(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: 765px;"
|
||||
(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"
|
||||
(box
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
: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
|
||||
(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"
|
||||
: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
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-text"
|
||||
:text "Brightness"
|
||||
)
|
||||
(scale
|
||||
:class "osettings-slider"
|
||||
:value "${brightness.level}"
|
||||
:onchange "light -S {}"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
; Session control
|
||||
(revealer
|
||||
:reveal "${matches('session lock logout suspend log out shutdown shut down poweroff power off',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
: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 "scripts/toggle-osettings.sh && ~/.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 "scripts/toggle-osettings.sh && 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 "scripts/toggle-osettings.sh && kill 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 "scripts/toggle-osettings.sh && systemctl poweroff"
|
||||
"Shutdown"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
; Mouse
|
||||
(revealer
|
||||
:reveal "${matches('mouse and touchpad touch pad mouse speed osu raw input sensitivity disable while typing disable_while_typing tap to click clickfinger_behavior',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
:text "Mouse & Touchpad"
|
||||
)
|
||||
(revealer
|
||||
:reveal "${matches('mouse speed osu raw input sensitivity',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(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"
|
||||
:value "${hyprjson.input_sensitivity * 50 + 50}"
|
||||
:onchange "hyprctl keyword input:sensitivity $(echo - | awk '{print {} / 50 - 1}') && scripts/hyprsettings tickle"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(revealer
|
||||
:reveal "${matches('touch pad touchpad disable while typing disable_while_typing',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(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('touch pad touchpad tap to click clickfinger_behavior',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(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"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
; Appearance
|
||||
(revealer
|
||||
:reveal "${matches('appearance looks customization blur size blur passes blur strength blur xray',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
:text "Blur"
|
||||
)
|
||||
(centerbox
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:halign "fill"
|
||||
(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"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-text"
|
||||
:text "Blur size"
|
||||
)
|
||||
(scale
|
||||
:class "osettings-slider"
|
||||
: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"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-text"
|
||||
:text "Blur passes"
|
||||
)
|
||||
(scale
|
||||
:class "osettings-slider"
|
||||
: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"
|
||||
(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"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(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"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
: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"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-text"
|
||||
:text "Gaps: Inner"
|
||||
)
|
||||
(scale
|
||||
:class "osettings-slider"
|
||||
: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"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-text"
|
||||
:text "Gaps: Outer"
|
||||
)
|
||||
(scale
|
||||
:class "osettings-slider"
|
||||
: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"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-text"
|
||||
:text "Border size"
|
||||
)
|
||||
(scale
|
||||
:class "osettings-slider"
|
||||
:value "${hyprjson.border_size}"
|
||||
:tooltip "Border size: ${hyprjson.border_size}"
|
||||
:onchange "hyprctl keyword general:border_size {} && scripts/hyprsettings tickle"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(revealer
|
||||
:reveal "${matches('appearance looks customization gaps gaps_in inner gaps: inner gaps_out outer gaps: outer space border_size border size border thickness reload config configuration blur size blur strength blur passes',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"
|
||||
"Reload config"
|
||||
)
|
||||
)
|
||||
)
|
||||
; Hyprland
|
||||
(revealer
|
||||
:reveal "${matches('hyprland options open the wiki guide help social hypr development discord',oquery)}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
:text "Hyprland options"
|
||||
)
|
||||
(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"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
; Calendar
|
||||
(revealer
|
||||
:reveal "${'calendar' == oquery}"
|
||||
:transition "slidedown"
|
||||
:duration "0ms"
|
||||
(box
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
(label
|
||||
:halign "start"
|
||||
:wrap true
|
||||
:class "osettings-section"
|
||||
:text "Calendar"
|
||||
)
|
||||
(calendar)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwindow osettings
|
||||
:focusable true
|
||||
:wm-ignore true
|
||||
:monitor 0
|
||||
; :focusable true
|
||||
:geometry (geometry
|
||||
:x "0"
|
||||
:y "0"
|
||||
; :width "27.8%"
|
||||
; :width "535px"
|
||||
:width "0px"
|
||||
:height "100%"
|
||||
; :height "1048px"
|
||||
:anchor "bottom left"
|
||||
)
|
||||
(osettings)
|
||||
)
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
(defvar selected '')
|
||||
(defvar wsloopa "[1, 2, 3, 4, 5]")
|
||||
(defvar wsloopb "[6, 7, 8, 9, 10]")
|
||||
(deflisten wsjsona
|
||||
`scripts/overview1`
|
||||
)
|
||||
(deflisten wsjsonb
|
||||
`scripts/overview2`
|
||||
)
|
||||
|
||||
(defwidget overview []
|
||||
(overlay
|
||||
(box
|
||||
:orientation "v"
|
||||
:class "overview-window"
|
||||
; :space-evenly false
|
||||
; (label :text "${wsjsona}")
|
||||
; (label :text "${selected}")
|
||||
(box
|
||||
:orientation "h"
|
||||
(for wspace in wsjsona
|
||||
(box ; Note: height 100px width 356px
|
||||
:class "overview-ws"
|
||||
(box
|
||||
:orientation "v"
|
||||
(for ws-window in wspace
|
||||
(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} && ${EWW_CMD} close overview"
|
||||
(box
|
||||
:class "overview-ws-window"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:spacing 10
|
||||
:style "${ws-window.address == selected ? 'border: 2px solid #FFFFFF' : ''}; ${ws-window.address == '_none' ? 'border: none' : ''};"
|
||||
(box
|
||||
:class "overview-icon"
|
||||
:style "background-image: url('${ws-window.icon}')"
|
||||
)
|
||||
(box
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
:valign "center"
|
||||
(label :xalign 0 :halign "start" :class "overview-ws-text" :text "${ws-window.title}" :limit-width 28 :wrap true )
|
||||
(label :xalign 0 :halign "start" :class "overview-ws-subtext" :text "${ws-window.class}" :limit-width 30 :wrap true )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(box
|
||||
:orientation "h"
|
||||
(for wspace in wsjsonb
|
||||
(box ; Note: height 100px width 178px
|
||||
:class "overview-ws"
|
||||
(box
|
||||
:orientation "v"
|
||||
(for ws-window in wspace
|
||||
(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} && ${EWW_CMD} close overview"
|
||||
(box
|
||||
:class "overview-ws-window"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:spacing 10
|
||||
:style "${ws-window.address == selected ? 'border: 2px solid #FFFFFF' : ''}; ${ws-window.address == '_none' ? 'border: none' : ''};"
|
||||
(box
|
||||
:class "overview-icon"
|
||||
:style "background-image: url('${ws-window.icon}')"
|
||||
)
|
||||
(box
|
||||
:orientation "v"
|
||||
:space-evenly false
|
||||
:valign "center"
|
||||
(label :xalign 0 :halign "start" :class "overview-ws-text" :text "${ws-window.title}" :limit-width 28 :wrap true )
|
||||
(label :xalign 0 :halign "start" :class "overview-ws-subtext" :text "${ws-window.class}" :limit-width 30 :wrap true )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget testing []
|
||||
(box
|
||||
:class "overview-window"
|
||||
(overlay
|
||||
(box
|
||||
:class "overview-ws-window"
|
||||
:style "margin: 2px;"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwindow overview
|
||||
:wm-ignore true
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:x "300px"
|
||||
:y "32px"
|
||||
:anchor "center"
|
||||
:width "1780px"
|
||||
:height "405px"
|
||||
)
|
||||
; (testing)
|
||||
(overview)
|
||||
)
|
||||
@@ -0,0 +1,186 @@
|
||||
(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 &"
|
||||
""
|
||||
)
|
||||
)
|
||||
(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)
|
||||
)
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
(defwidget themerctl []
|
||||
(eventbox
|
||||
:onhoverlost "${EWW_CMD} close themer"
|
||||
(box
|
||||
:space-evenly false
|
||||
:orientation "v"
|
||||
:class "themer-menu-box"
|
||||
(box
|
||||
:style "padding-left: 10px; padding-top: 10px; font-size: 15pt;"
|
||||
:valign "start"
|
||||
:space-evenly false
|
||||
:spacing 4
|
||||
(button
|
||||
:class "themer-button themer-get"
|
||||
:onclick "cp './tmp/_colorscheme.colorpallete' './css/_colorscheme.scss' && cp './tmp/colors_generated.conf' ~/.config/hypr/colors.conf"
|
||||
""
|
||||
)
|
||||
(button
|
||||
:class "themer-button themer-restore"
|
||||
:onclick "cp css/_colorscheme_default.scss css/_colorscheme.scss && cp ~/.config/hypr/colors_default.conf ~/.config/hypr/colors.conf"
|
||||
""
|
||||
)
|
||||
)
|
||||
(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 "${EWW_CMD} close themer && cp './css/_colorscheme.scss' './css/savedcolors/_colorscheme_{}.scss' && cp ~/.config/hypr/colors.conf ~/.config/hypr/savedcolors/colors_{}.conf"
|
||||
)
|
||||
)
|
||||
(box
|
||||
:halign "start"
|
||||
:space-evenly false
|
||||
:orientation "h"
|
||||
(label
|
||||
:text "Load "
|
||||
:class "themer-prompt"
|
||||
)
|
||||
(input
|
||||
:class "themer-input"
|
||||
:onaccept "${EWW_CMD} close themer && cp './css/savedcolors/_colorscheme_{}.scss' './css/_colorscheme.scss' && cp ~/.config/hypr/savedcolors/colors_{}.conf ~/.config/hypr/colors.conf"
|
||||
)
|
||||
)
|
||||
(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
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:x "300px"
|
||||
:y "32px"
|
||||
:anchor "top right"
|
||||
:width "0px"
|
||||
:height "0px"
|
||||
)
|
||||
:focusable true
|
||||
(themerctl)
|
||||
)
|
||||
@@ -0,0 +1,13 @@
|
||||
(defwindow win-workspace
|
||||
:wm-ignore true
|
||||
:focusable false
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:x "0%"
|
||||
:y "32px"
|
||||
:width "0%"
|
||||
:height "0%"
|
||||
:anchor "top center"
|
||||
)
|
||||
(win-ws)
|
||||
)
|
||||
Reference in New Issue
Block a user