Move EWW config into sub-directories to be included, for easier switching
This commit is contained in:
parent
97147c08bf
commit
76f52b7207
56
nixos/home-manager/env/config/eww/bar/eww.scss
vendored
Normal file
56
nixos/home-manager/env/config/eww/bar/eww.scss
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
* {
|
||||
all: unset; //Unsets everything so you can style everything from scratch
|
||||
}
|
||||
|
||||
//Global Styles
|
||||
.bar {
|
||||
background-color: #3a3a3a;
|
||||
color: #b0b4bc;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
// Styles on classes (see eww.yuck for more information)
|
||||
|
||||
.sidestuff slider {
|
||||
all: unset;
|
||||
color: #ffd5cd;
|
||||
}
|
||||
|
||||
.metric scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #D35D6E;
|
||||
color: #000000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.metric scale trough {
|
||||
all: unset;
|
||||
background-color: #4e4e4e;
|
||||
border-radius: 50px;
|
||||
min-height: 3px;
|
||||
min-width: 50px;
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.metric scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #D35D6E;
|
||||
color: #000000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.metric scale trough {
|
||||
all: unset;
|
||||
background-color: #4e4e4e;
|
||||
border-radius: 50px;
|
||||
min-height: 3px;
|
||||
min-width: 50px;
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.label-ram {
|
||||
font-size: large;
|
||||
}
|
||||
.workspaces button:hover {
|
||||
color: #D35D6E;
|
||||
}
|
||||
|
||||
// vim:ft=scss
|
77
nixos/home-manager/env/config/eww/bar/eww.yuck
vendored
Normal file
77
nixos/home-manager/env/config/eww/bar/eww.yuck
vendored
Normal file
|
@ -0,0 +1,77 @@
|
|||
(defwidget bar []
|
||||
(centerbox :orientation "h"
|
||||
(workspaces)
|
||||
(music)
|
||||
(sidestuff)))
|
||||
|
||||
(defwidget sidestuff []
|
||||
(box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
|
||||
(metric :label " "
|
||||
:value volume
|
||||
:onchange "amixer -D pulse sset Master {}%")
|
||||
(metric :label " "
|
||||
:value {EWW_RAM.used_mem_perc}
|
||||
:onchange "")
|
||||
(metric :label " "
|
||||
:value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
|
||||
:onchange "")
|
||||
time))
|
||||
|
||||
(deflisten workspaces :initial "[]" "bash ~/.config/eww/scripts/get-workspaces")
|
||||
(deflisten current_workspace :initial "1" "bash ~/.config/eww/scripts/get-active-workspace")
|
||||
(defwidget workspaces []
|
||||
(eventbox :onscroll "bash ~/.config/eww/scripts/change-active-workspace {} ${current_workspace}" :class "workspaces-widget"
|
||||
(box :space-evenly true
|
||||
(label :text "${workspaces}${current_workspace}" :visible false)
|
||||
(for workspace in workspaces
|
||||
(eventbox :onclick "hyprctl dispatch workspace ${workspace.id}"
|
||||
(box :class "workspace-entry ${workspace.id == current_workspace ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}"
|
||||
(label :text "${workspace.id}")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget music []
|
||||
(box :class "music"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:halign "center"
|
||||
{music != "" ? "🎵${music}" : ""}))
|
||||
|
||||
|
||||
(defwidget metric [label value onchange]
|
||||
(box :orientation "h"
|
||||
:class "metric"
|
||||
:space-evenly false
|
||||
(box :class "label" label)
|
||||
(scale :min 0
|
||||
:max 101
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchange onchange)))
|
||||
|
||||
|
||||
|
||||
(deflisten music :initial ""
|
||||
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
|
||||
|
||||
(defpoll volume :interval "1s"
|
||||
"scripts/getvol")
|
||||
|
||||
(defpoll time :interval "10s"
|
||||
"date '+%H:%M %b %d, %Y'")
|
||||
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:windowtype "dock"
|
||||
:geometry (geometry :x "0%"
|
||||
:y "0%"
|
||||
:width "90%"
|
||||
:anchor "top center")
|
||||
:reserve (struts :side "top" :distance "4%")
|
||||
(bar))
|
||||
|
||||
;; vim:ft=yuck
|
55
nixos/home-manager/env/config/eww/eww.scss
vendored
55
nixos/home-manager/env/config/eww/eww.scss
vendored
|
@ -1,56 +1,3 @@
|
|||
* {
|
||||
all: unset; //Unsets everything so you can style everything from scratch
|
||||
}
|
||||
|
||||
//Global Styles
|
||||
.bar {
|
||||
background-color: #3a3a3a;
|
||||
color: #b0b4bc;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
// Styles on classes (see eww.yuck for more information)
|
||||
|
||||
.sidestuff slider {
|
||||
all: unset;
|
||||
color: #ffd5cd;
|
||||
}
|
||||
|
||||
.metric scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #D35D6E;
|
||||
color: #000000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.metric scale trough {
|
||||
all: unset;
|
||||
background-color: #4e4e4e;
|
||||
border-radius: 50px;
|
||||
min-height: 3px;
|
||||
min-width: 50px;
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.metric scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #D35D6E;
|
||||
color: #000000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.metric scale trough {
|
||||
all: unset;
|
||||
background-color: #4e4e4e;
|
||||
border-radius: 50px;
|
||||
min-height: 3px;
|
||||
min-width: 50px;
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.label-ram {
|
||||
font-size: large;
|
||||
}
|
||||
.workspaces button:hover {
|
||||
color: #D35D6E;
|
||||
}
|
||||
@import "./powermenu/eww.scss"
|
||||
|
||||
// vim:ft=scss
|
||||
|
|
76
nixos/home-manager/env/config/eww/eww.yuck
vendored
76
nixos/home-manager/env/config/eww/eww.yuck
vendored
|
@ -1,77 +1,3 @@
|
|||
(defwidget bar []
|
||||
(centerbox :orientation "h"
|
||||
(workspaces)
|
||||
(music)
|
||||
(sidestuff)))
|
||||
|
||||
(defwidget sidestuff []
|
||||
(box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
|
||||
(metric :label " "
|
||||
:value volume
|
||||
:onchange "amixer -D pulse sset Master {}%")
|
||||
(metric :label " "
|
||||
:value {EWW_RAM.used_mem_perc}
|
||||
:onchange "")
|
||||
(metric :label " "
|
||||
:value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
|
||||
:onchange "")
|
||||
time))
|
||||
|
||||
(deflisten workspaces :initial "[]" "bash ~/.config/eww/scripts/get-workspaces")
|
||||
(deflisten current_workspace :initial "1" "bash ~/.config/eww/scripts/get-active-workspace")
|
||||
(defwidget workspaces []
|
||||
(eventbox :onscroll "bash ~/.config/eww/scripts/change-active-workspace {} ${current_workspace}" :class "workspaces-widget"
|
||||
(box :space-evenly true
|
||||
(label :text "${workspaces}${current_workspace}" :visible false)
|
||||
(for workspace in workspaces
|
||||
(eventbox :onclick "hyprctl dispatch workspace ${workspace.id}"
|
||||
(box :class "workspace-entry ${workspace.id == current_workspace ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}"
|
||||
(label :text "${workspace.id}")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget music []
|
||||
(box :class "music"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:halign "center"
|
||||
{music != "" ? "🎵${music}" : ""}))
|
||||
|
||||
|
||||
(defwidget metric [label value onchange]
|
||||
(box :orientation "h"
|
||||
:class "metric"
|
||||
:space-evenly false
|
||||
(box :class "label" label)
|
||||
(scale :min 0
|
||||
:max 101
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchange onchange)))
|
||||
|
||||
|
||||
|
||||
(deflisten music :initial ""
|
||||
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
|
||||
|
||||
(defpoll volume :interval "1s"
|
||||
"scripts/getvol")
|
||||
|
||||
(defpoll time :interval "10s"
|
||||
"date '+%H:%M %b %d, %Y'")
|
||||
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:windowtype "dock"
|
||||
:geometry (geometry :x "0%"
|
||||
:y "0%"
|
||||
:width "90%"
|
||||
:anchor "top center")
|
||||
:reserve (struts :side "top" :distance "4%")
|
||||
(bar))
|
||||
(include "./powermenu/eww.yuck")
|
||||
|
||||
;; vim:ft=yuck
|
||||
|
|
69
nixos/home-manager/env/config/eww/powermenu/eww.scss
vendored
Normal file
69
nixos/home-manager/env/config/eww/powermenu/eww.scss
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
$surface-darkgrey: #20252b;
|
||||
$surface-fg: #949494;
|
||||
$surface-lightgrey: #3d464e;
|
||||
$surface-grey: #2b3238;
|
||||
$surface-red: #f87070;
|
||||
|
||||
* { all: unset; }
|
||||
|
||||
.layout-box {
|
||||
font-family: Phosphor, Koulen;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
padding: 5em;
|
||||
color: rgba($surface-fg, 0.8);
|
||||
}
|
||||
|
||||
.net-box,
|
||||
.bat-box,
|
||||
.tm-box {
|
||||
label {
|
||||
font-size: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
.close-btn {
|
||||
font-size: 2em;
|
||||
&:hover {
|
||||
color: $surface-red;
|
||||
}
|
||||
}
|
||||
|
||||
.btns-box {
|
||||
font-size: 2.5em;
|
||||
|
||||
button {
|
||||
padding: 0.4em;
|
||||
border-radius: 0.1em;
|
||||
background-color: rgba($surface-darkgrey, 0.3);
|
||||
|
||||
&:hover {
|
||||
transition: 200ms linear background-color, border-radius;
|
||||
background-color: rgba($surface-lightgrey, 0.6);
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
color: rgba($surface-red, 0.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sep {
|
||||
font-size: 1em;
|
||||
padding-top: 0.15em;
|
||||
padding-left: 0.2em;
|
||||
padding-right: 0.2em;
|
||||
font-family: Iosevka;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.sundial-lbl {
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
border-radius: 0.2em;
|
||||
padding: 0.4em;
|
||||
padding-bottom: 0.5em;
|
||||
font-family: "Poiret One";
|
||||
}
|
||||
|
||||
// vim:ft=scss
|
109
nixos/home-manager/env/config/eww/powermenu/eww.yuck
vendored
Normal file
109
nixos/home-manager/env/config/eww/powermenu/eww.yuck
vendored
Normal file
|
@ -0,0 +1,109 @@
|
|||
(defwindow powermenu
|
||||
:monitor 0
|
||||
:stacking "bg"
|
||||
:windowtype "normal"
|
||||
:wm-ignore true
|
||||
:geometry (geometry :width "100%" :height "100%")
|
||||
(powermenu_layout))
|
||||
|
||||
(defpoll time :interval "5s"
|
||||
:initial `date +'{"hour":"%H","min":"%M"}'`
|
||||
`date +'{"hour":"%H","min":"%M"}'`)
|
||||
(defpoll net :interval "100s"
|
||||
:initial `N/A`
|
||||
`nmcli -t -f SIGNAL,ACTIVE device wifi \
|
||||
| awk -F':' '{if($2=="yes")print$1}'`)
|
||||
(defpoll eth :interval "100s"
|
||||
:initial `N/A`
|
||||
`nmcli -t -f TYPE,STATE device status \
|
||||
| awk -F':' '{if($2=="connected")print$1}'`)
|
||||
|
||||
(defwidget powermenu_layout []
|
||||
(box :class "layout-box" :space-evenly false :orientation "vertical"
|
||||
:style "background-image: url('./powermenu/wallpaper')"
|
||||
(box :valign "start" :space-evenly false :spacing 25
|
||||
(_sundial)
|
||||
(_battery :status {EWW_BATTERY.BAT0.status}
|
||||
:battery {EWW_BATTERY.BAT0.capacity})
|
||||
(_network :strength net :offline " " :excellent " " :good " "
|
||||
:okay " " :slow " ")
|
||||
(_network_ethernet :name eth)
|
||||
(label :text "|" :class "sep")
|
||||
(button :onclick "eww close powermenu" :class "close-btn" ""))
|
||||
(box :space-evenly false :hexpand true :vexpand true
|
||||
(box :spacing 15 :class "tm-box" :space-evenly false
|
||||
:valign "end" :halign "start"
|
||||
(label :text " ")
|
||||
(label :text "${time.hour} ${time.min}"))
|
||||
(_buttons :shutdown "poweroff" :reboot "reboot"
|
||||
:logout "loginctl kill-session self"
|
||||
:shutdown_icon " " :reboot_icon " "
|
||||
:logout_icon " "))))
|
||||
|
||||
(defwidget _battery [battery status]
|
||||
(box :class "bat-box" :space-evenly false :spacing 8
|
||||
(label :text {
|
||||
status == 'Charging' ? "" :
|
||||
battery < 10 ? "" :
|
||||
battery < 20 ? "" :
|
||||
battery < 30 ? "" :
|
||||
battery < 40 ? "" :
|
||||
battery < 50 ? "" :
|
||||
battery < 60 ? "" :
|
||||
battery < 70 ? "" :
|
||||
battery < 80 ? "" :
|
||||
battery < 90 ? "" :
|
||||
""})))
|
||||
|
||||
(defwidget _network [strength offline excellent
|
||||
good okay slow]
|
||||
(box :class "net-box"
|
||||
:space-evenly false
|
||||
:spacing 8
|
||||
(label :text {strength == "" ? offline :
|
||||
strength < 26 ? slow :
|
||||
strength < 51 ? okay :
|
||||
strength < 76 ? good : excellent})))
|
||||
|
||||
(defwidget _network_ethernet [name]
|
||||
(box :class "net-box"
|
||||
:space-evenly false
|
||||
:spacing 8
|
||||
(label :text {name == "ethernet" ? " " : " "})))
|
||||
|
||||
(defwidget _buttons [shutdown shutdown_icon reboot
|
||||
reboot_icon logout logout_icon]
|
||||
(box :class "btns-box" :spacing 5
|
||||
:vexpand true :hexpand true
|
||||
:valign "end" :halign "end"
|
||||
:space-evenly false
|
||||
(button :onclick shutdown shutdown_icon)
|
||||
(button :onclick reboot reboot_icon)
|
||||
(button :onclick logout logout_icon)))
|
||||
|
||||
(defwidget _sundial []
|
||||
(label :class "sundial-lbl" :halign "end" :hexpand true
|
||||
:text {time.hour >= 2 && time.hour <= 4 ? "Early Morning" :
|
||||
time.hour <= 5 ? "Dawn" :
|
||||
time.hour >= 6
|
||||
&& (time.hour <= 8 && time.min <= 59)
|
||||
? "Morning" :
|
||||
time.hour >= 9
|
||||
&& (time.hour <= 11 && time.min <= 59)
|
||||
? "Late Morning" :
|
||||
time.hour == 12 && time.min <= 29
|
||||
? "Midday" :
|
||||
time.hour >= 12 && time.hour <= 16
|
||||
? "Afternoon" :
|
||||
time.hour > 16 && time.hour <= 17
|
||||
? "Late Afternoon" :
|
||||
(time.hour >= 17 && time.min <= 1)
|
||||
|| (time.hour <= 18 && time.min <= 20)
|
||||
? "Early Evening" :
|
||||
time.hour >= 18 && time.hour <= 19
|
||||
? "Dusk" :
|
||||
time.hour > 19 && time.hour <= 21
|
||||
? "Late Evening" :
|
||||
time.hour > 21 ? "Night" : "Midnight"}))
|
||||
|
||||
;; vim:ft=yuck
|
BIN
nixos/home-manager/env/config/eww/powermenu/wallpaper
vendored
Normal file
BIN
nixos/home-manager/env/config/eww/powermenu/wallpaper
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 MiB |
Loading…
Reference in a new issue