mirror of
https://github.imc.re/void-land/hyprland-void-dots
synced 2025-06-07 10:23:42 +02:00
feat: osd widget
This commit is contained in:
parent
978037d7d0
commit
f0a51d2f8c
8 changed files with 119 additions and 101 deletions
|
@ -20,9 +20,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.vertical-bar-slider {
|
.vertical-bar-slider {
|
||||||
scale {
|
|
||||||
all: unset;
|
|
||||||
|
|
||||||
trough {
|
trough {
|
||||||
background-color: $surface2;
|
background-color: $surface2;
|
||||||
border-radius: get-token(border-radius);
|
border-radius: get-token(border-radius);
|
||||||
|
@ -40,5 +37,8 @@
|
||||||
border-radius: get-token(border-radius);
|
border-radius: get-token(border-radius);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.volume-icon {
|
||||||
|
font-size: get-token(font-sizes, large);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,10 @@ entry {
|
||||||
color: $white0;
|
color: $white0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scale {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
calendar {
|
calendar {
|
||||||
all: unset;
|
all: unset;
|
||||||
background-color: $surface0;
|
background-color: $surface0;
|
||||||
|
|
|
@ -1,10 +1,24 @@
|
||||||
@mixin window {
|
.volume-osd {
|
||||||
border-radius: 1rem;
|
@extend .panel-widget;
|
||||||
padding: 1rem;
|
border-radius: get-token(border-radius, large);
|
||||||
box-shadow: 0 0 4px 2px;
|
|
||||||
margin: 1rem;
|
min-width: 320px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.volume-osd {
|
.volume-scale {
|
||||||
@include window;
|
trough {
|
||||||
|
border-radius: get-token(border-radius, large);
|
||||||
|
min-height: 32px;
|
||||||
|
background-color: $surface1;
|
||||||
|
|
||||||
|
highlight {
|
||||||
|
border-radius: get-token(border-radius, large);
|
||||||
|
background-color: $accent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.volume-icon {
|
||||||
|
font-size: get-token(font-sizes, large);
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
@import "./assets/scss/windows/control-panel";
|
@import "./assets/scss/windows/control-panel";
|
||||||
@import "./assets/scss/windows/vertical-bar";
|
@import "./assets/scss/windows/vertical-bar";
|
||||||
@import "./assets/scss/windows/dashboard";
|
@import "./assets/scss/windows/dashboard";
|
||||||
|
@import "./assets/scss/windows/osd";
|
||||||
|
|
||||||
@import "./src/dock/styles.scss";
|
@import "./src/dock/styles.scss";
|
||||||
@import "./src/desktop/styles.scss";
|
@import "./src/desktop/styles.scss";
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
(defwidget VerticalBarSlider [var ?onchange]
|
(defwidget VerticalBarSlider [var ?onchange]
|
||||||
(box
|
|
||||||
:class "vertical-bar-slider"
|
|
||||||
(scale
|
(scale
|
||||||
:value var
|
:value var
|
||||||
:onchange onchange
|
:onchange onchange
|
||||||
|
:class "vertical-bar-slider"
|
||||||
:orientation "v"
|
:orientation "v"
|
||||||
:tooltip "${var}%"
|
:tooltip "${var}%"
|
||||||
:max 101
|
:max 101
|
||||||
:min 0
|
:min 0
|
||||||
:flipped true)))
|
:flipped true))
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
(defvar caffeine false)
|
(defvar caffeine false)
|
||||||
|
|
||||||
; Osd
|
; Osd
|
||||||
(defvar revealOsd true)
|
(defvar revealOsd false)
|
||||||
|
|
||||||
; Sidebar
|
; Sidebar
|
||||||
(defvar revealVolume false)
|
(defvar revealVolume false)
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
"popups": []
|
"popups": []
|
||||||
}'
|
}'
|
||||||
"./scripts/notif.py"
|
"./scripts/notif.py"
|
||||||
)
|
)
|
||||||
|
|
||||||
; Playerctl
|
; Playerctl
|
||||||
(deflisten pstatus :initial "" "playerctl status -F")
|
(deflisten pstatus :initial "" "playerctl status -F")
|
||||||
|
@ -102,33 +102,33 @@
|
||||||
(defpoll weatherjson
|
(defpoll weatherjson
|
||||||
:initial '{
|
:initial '{
|
||||||
"FeelsLikeC": "0",
|
"FeelsLikeC": "0",
|
||||||
"FeelsLikeF": "0",
|
"FeelsLikeF": "0",
|
||||||
"cloudcover": "0",
|
"cloudcover": "0",
|
||||||
"humidity": "0",
|
"humidity": "0",
|
||||||
"localObsDateTime": "2000-00-00 07:27 AM",
|
"localObsDateTime": "2000-00-00 07:27 AM",
|
||||||
"observation_time": "07:27 AM",
|
"observation_time": "07:27 AM",
|
||||||
"precipInches": "0.0",
|
"precipInches": "0.0",
|
||||||
"precipMM": "0.0",
|
"precipMM": "0.0",
|
||||||
"pressure": "0",
|
"pressure": "0",
|
||||||
"pressureInches": "0",
|
"pressureInches": "0",
|
||||||
"temp_C": "0",
|
"temp_C": "0",
|
||||||
"temp_F": "0",
|
"temp_F": "0",
|
||||||
"uvIndex": "0",
|
"uvIndex": "0",
|
||||||
"visibility": "0",
|
"visibility": "0",
|
||||||
"visibilityMiles": "0",
|
"visibilityMiles": "0",
|
||||||
"weatherCode": "727",
|
"weatherCode": "727",
|
||||||
"weatherDesc": [{"value": "Idk"}],
|
"weatherDesc": [{"value": "Idk"}],
|
||||||
"weatherIconUrl": [{"value": ""}],
|
"weatherIconUrl": [{"value": ""}],
|
||||||
"winddir16Point": "",
|
"winddir16Point": "",
|
||||||
"winddirDegree": "0",
|
"winddirDegree": "0",
|
||||||
"windspeedKmph": "0",
|
"windspeedKmph": "0",
|
||||||
"windspeedMiles": "0",
|
"windspeedMiles": "0",
|
||||||
"icon": "idk",
|
"icon": "idk",
|
||||||
"hourly": []
|
"hourly": []
|
||||||
}'
|
}'
|
||||||
:interval "1h"
|
:interval "1h"
|
||||||
:run-while revealControlpanel
|
:run-while revealControlpanel
|
||||||
"./scripts/weather.py")
|
"./scripts/weather.py")
|
||||||
(defpoll datehour :initial "12" :interval "30m" "date +'%H'")
|
(defpoll datehour :initial "12" :interval "30m" "date +'%H'")
|
||||||
(defpoll notesc :interval "2s" :run-while reveal4 "cat -s ~/Documents/fuck.txt")
|
(defpoll notesc :interval "2s" :run-while reveal4 "cat -s ~/Documents/fuck.txt")
|
||||||
(defpoll quotejson :interval "1h" `./scripts/quote.py`)
|
(defpoll quotejson :interval "1h" `./scripts/quote.py`)
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
(VolumeScale))))
|
(VolumeScale))))
|
||||||
|
|
||||||
(defwidget VolumeScale []
|
(defwidget VolumeScale []
|
||||||
(overlay :hexpand true
|
(overlay :hexpand true :class "volume-scale"
|
||||||
(scale :min 0 :max 100 :active {volume != "muted"} :value {volume == "muted" ? 0 : volume} :onchange "pamixer --set-volume {}" :class "volume-scale")
|
(scale :min 0 :max 100 :active {volume != "muted"} :value {volume == "muted" ? 0 : volume} :onchange "pamixer --set-volume {}")
|
||||||
(label :class 'volume-icon ${volume == "muted" ? "less" : volume < 5 ? "less" : "more"}' :halign "start" :text {volume == "muted" ? "" : volume < 33 ? "" : volume < 67 ? "" : ""})))
|
(label :class 'volume-icon ${volume == "muted" ? "less" : volume < 5 ? "less" : "more"}' :halign "start" :text {volume == "muted" ? "" : volume < 33 ? "" : volume < 67 ? "" : ""})))
|
||||||
|
|
||||||
(defwidget VolumeControlCenter []
|
(defwidget VolumeControlCenter []
|
||||||
|
|
Loading…
Add table
Reference in a new issue