forked from Shinonome/dots-hyprland
stuff
This commit is contained in:
Executable
+242
@@ -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)
|
||||
)
|
||||
Reference in New Issue
Block a user