updating a lot of hyprland config pieces

This commit is contained in:
Chris Cochrun 2022-12-21 09:13:28 -06:00
parent 28645f7175
commit d9cf8e32a7
9 changed files with 245 additions and 172 deletions

View file

@ -243,7 +243,7 @@
# corners. # corners.
# The radius will be automatically lowered if it exceeds half of the # The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons. # notification height to avoid clipping text and/or icons.
corner_radius = 12 corner_radius = 18
# Ignore the dbus closeNotification message. # Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this # Useful to enforce the timeout set by dunst configuration. Without this

37
eww/battery.yuck Normal file
View file

@ -0,0 +1,37 @@
(defwindow battery
:geometry (geometry :x "0px"
:y "40px"
:width "200px"
:height "60px"
:anchor "bottom center")
:stacking "fg"
:monitor "0"
(battery))
(defwidget battery []
(box
:class "battery-container"
:orientation "h"
:vexpand "false"
:hexpand "false"
:space-evenly "false"
:spacing 5
(button
:class "battery-icon"
:onclick "" "")
(box
:orientation "v"
:space-evenly "false"
:vexpand "false"
:hexpand "false"
:spacing 5
(label
:class "battery-label"
:halign "start"
:text "Battery is at ${round(EWW_BATTERY['BAT1'].capacity, 0)}%, plug it in you dope.")
(scale
:class "battery-value"
:value {EWW_BATTERY["BAT1"].capacity}
:orientation "h"
:max 100
:min 0))))

View file

@ -38,6 +38,7 @@ $base0E: #ff6ac1;
$base0F: #b2643c; $base0F: #b2643c;
$basetransparent: rgba(40, 42, 54, 0.0); $basetransparent: rgba(40, 42, 54, 0.0);
$backtransparent: rgba(40, 42, 54, 0.7); $backtransparent: rgba(40, 42, 54, 0.7);
$darktransparent: rgba(40, 42, 54, 0.97);
/** General **/ /** General **/
.bar_class { .bar_class {
@ -52,7 +53,7 @@ $backtransparent: rgba(40, 42, 54, 0.7);
} }
.side{ .side{
background-color: $backtransparent; background-color: $base00;
border-width: 0px; border-width: 0px;
padding: 30px 30px 0px 30px; padding: 30px 30px 0px 30px;
border-radius: 20px 20px 20px 20px; border-radius: 20px 20px 20px 20px;
@ -116,17 +117,23 @@ tooltip label {
border-radius: 5px; border-radius: 5px;
} }
.brightbar trough highlight { .brightbar trough highlight {
background-image: linear-gradient(to right, $orange 30%, #f2cdcd 50%, $orange 100% *50); background-color: $base09;
border-radius: 10px; border-radius: 10px;
} }
.brightbar {
margin-bottom: 2px;
}
.volbar trough highlight { .volbar trough highlight {
background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50); background-color: $base08;
border-radius: 10px; border-radius: 10px;
} }
.volbar {
margin-bottom: 2px;
}
.volume_icon { .volume_icon {
font-size: 18; font-size: 18;
color: $base08; color: $base08;
margin: 0px 10px 0px 10px; margin: 0px 15px 0px 3px;
} }
@ -178,7 +185,7 @@ tooltip label {
.bright_icon { .bright_icon {
font-size: 18; font-size: 18;
color: $base09; color: $base09;
margin: 0px 10px 0px 10px; margin: 0px 15px 0px 3px;
} }
@ -386,18 +393,18 @@ color: $black;
} }
.speaker_bar scale trough highlight { .speaker_bar scale trough highlight {
all: unset; all: unset;
background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50); background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50);
border-radius: 24px; border-radius: 24px;
} }
.speaker_bar scale trough { .speaker_bar scale trough {
all: unset; all: unset;
background-color: $widget-background; background-color: $widget-background;
box-shadow: 0 6px 5px 2px $shadow; box-shadow: 0 6px 5px 2px $shadow;
border-radius: 24px; border-radius: 24px;
min-height: 13px; min-height: 13px;
min-width: 120px; min-width: 120px;
margin : 0px 0px 5px 0px; margin : 0px 0px 5px 0px;
} }
@ -688,3 +695,23 @@ scale trough {
color: $white; color: $white;
margin: 0px 0px 0px 20px; margin: 0px 0px 0px 20px;
} }
.battery-container {
background-color: $darktransparent;
border-radius: 16px;
}
.battery-icon {
margin: 10px;
margin-left: 20px;
font-size: 28px;
}
.battery-value trough highlight {
background-color: $base08;
border-radius: 10px;
}
.battery-value {
margin-bottom: 30px;
margin-right: 20px;
}
.battery-label {
margin: 20px 50px 10px 40px;
}

View file

@ -2,6 +2,7 @@
(include "sidebar.yuck") (include "sidebar.yuck")
(include "notifications.yuck") (include "notifications.yuck")
(include "battery.yuck")
(defpoll clock_time :interval "5s" "date '+\%l:\%M \%p'") (defpoll clock_time :interval "5s" "date '+\%l:\%M \%p'")
(defpoll clock_date :interval "1h" "date '+%b %d, %Y'") (defpoll clock_date :interval "1h" "date '+%b %d, %Y'")
@ -61,55 +62,48 @@
:onclick "hyprctl dispatch killactive 1" "")))))) :onclick "hyprctl dispatch killactive 1" ""))))))
(defwidget bright [] (defwidget bright []
(eventbox (eventbox
:onhover "${EWW_CMD} update br_reveal=true" :onhover "${EWW_CMD} update br_reveal=true"
:onhoverlost "${EWW_CMD} update br_reveal=false" :onhoverlost "${EWW_CMD} update br_reveal=false"
(box (box
:class "module" :class "module"
:space-evenly "false" :space-evenly "false"
:orientation "h" :orientation "h"
:spacing "3" :spacing "3"
(revealer (scale
:transition "slideright" :class "brightbar"
:reveal br_reveal :value brightness_percent
:duration "250ms" :orientation "h"
(scale :class "brightbar" :tooltip "${brightness_percent}%"
:value brightness_percent :max 100
:orientation "h" :min 0
:tooltip "${brightness_percent}%" :onchange "brightnessctl s {}%" )
:max 100 (label
:min 0 :text ""
:onchange "brightnessctl s {}%" )) :class "bright_icon"
(label :tooltip "brightness"))))
:text ""
:class "bright_icon"
:tooltip "brightness"))))
(defwidget volume [] (defwidget volume []
(eventbox (eventbox
:onhover "${EWW_CMD} update vol_reveal=true" :onhover "${EWW_CMD} update vol_reveal=true"
:onhoverlost "${EWW_CMD} update vol_reveal=false" :onhoverlost "${EWW_CMD} update vol_reveal=false"
(box (box
:class "module-2" :class "module-2"
:space-evenly "false" :space-evenly "false"
:orientation "h" :orientation "h"
:spacing "3" :spacing "3"
(revealer (scale
:transition "slideright" :class "volbar"
:reveal vol_reveal :value volume_percent
:duration "250ms" :orientation "h"
(scale :tooltip "${volume_percent}%"
:class "volbar" :max 100
:value volume_percent :min 0
:orientation "h" :onchange "pamixer --set-volume {}" )
:tooltip "${volume_percent}%" (button
:max 100 :onclick "scripts/pop audio"
:min 0 :class "volume_icon"
:onchange "pamixer --set-volume {}" )) "墳"))))
(button
:onclick "scripts/pop audio"
:class "volume_icon"
"墳"))))
(defwidget wifi [] (defwidget wifi []
(eventbox (eventbox
@ -195,23 +189,23 @@
:hexpand "false")) :hexpand "false"))
(defwidget clock_module [] (defwidget clock_module []
(eventbox (eventbox
:onhover "${EWW_CMD} update time_rev=true" :onhover "${EWW_CMD} update time_rev=true"
:onhoverlost "${EWW_CMD} update time_rev=false" :onhoverlost "${EWW_CMD} update time_rev=false"
(box (box
:class "module" :class "module"
:space-evenly "false" :space-evenly "false"
:orientation "h" :orientation "h"
:spacing "0" :spacing "0"
(label (label
:text clock_time :text clock_time
:class "clock_time_class" ) :class "clock_time_class" )
(revealer :transition "slideleft" (revealer :transition "slideleft"
:reveal time_rev :reveal time_rev
:duration "250ms" :duration "250ms"
(button (button
:class "clock_date_class" :class "clock_date_class"
:onclick "scripts/pop calendar" clock_date))))) :onclick "scripts/pop calendar" clock_date)))))
(defwidget notif_button [] (defwidget notif_button []
(box (box
@ -242,35 +236,36 @@
;;define widget groups ;;define widget groups
(defwidget left [] (defwidget left []
(box (box
:orientation "h" :orientation "h"
:space-evenly false :space-evenly false
:halign "start" :halign "start"
:class "left_modules" :class "left_modules"
(workspaces))) :spacing 8
(workspaces)
(appnames)))
(defwidget center [] (defwidget center []
(box (box
:orientation "h" :orientation "h"
:space-evenly false :space-evenly false
:halign "center" :halign "center"
:class "center_modules" :class "center_modules"
(appnames))) (clock_module)))
(defwidget right [] (defwidget right []
(box (box
:orientation "h" :orientation "h"
:space-evenly false :space-evenly false
:halign "end" :halign "end"
:class "right_modules" :class "right_modules"
(bright) (bright)
(volume) (volume)
(wifi) (wifi)
(sep) (sep)
(bat) (bat)
(cpu) (cpu)
(mem) (mem)
(sep) (sep)
(clock_module) (notif_button)))
(notif_button)))
(defwidget bar_layout [] (defwidget bar_layout []
(centerbox (centerbox
@ -384,12 +379,12 @@
:vexpand "false" :vexpand "false"
:hexpand "false" :hexpand "false"
(scale (scale
:value mic_percent :value mic_percent
:orientation "h" :orientation "h"
:tooltip "mic on ${mic_percent}%" :tooltip "mic on ${mic_percent}%"
:onchange "amixer -D pulse sset Capture {}%" :onchange "amixer -D pulse sset Capture {}%"
:max 100 :max 100
:min 0)))))) :min 0))))))
(defwindow audio_ctl (defwindow audio_ctl
:stacking "fg" :stacking "fg"
:focusable "false" :focusable "false"

View file

@ -7,8 +7,9 @@ icontheme=$(grep "gtk-icon-theme-name" "$HOME"/.config/gtk-3.0/settings.ini | cu
workspaces() { workspaces() {
if [[ ${1:0:12} == "activewindow" ]]; then #set focused workspace if [[ ${1:0:12} == "activewindow" ]]; then #set focused workspace
string=${1:14} string=${1:14}
export title=$(echo $string | sed 's/.*,//')
class="${string/,*/}" class="${string/,*/}"
export title=${string/,/, } # export title=${string/,/, }
[[ $title == ", " ]] && unset title [[ $title == ", " ]] && unset title
export iconpath=$(geticons "$class" -s 16 -c 1 -t "$icontheme" | head -n 1) export iconpath=$(geticons "$class" -s 16 -c 1 -t "$icontheme" | head -n 1)
fi fi

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#define icons for workspaces 1-9 #define icons for workspaces 1-9
ic=(0       "" "" ) ic=(0    )
#initial check for occupied workspaces #initial check for occupied workspaces
for num in $(hyprctl workspaces | grep ID | awk '{print $3}'); do for num in $(hyprctl workspaces | grep ID | awk '{print $3}'); do
@ -55,11 +55,6 @@ echo "(eventbox :onscroll \"echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xar
(button :onclick \"hyprctl dispatch workspace 2\" :onrightclick \"hyprctl dispatch workspace 2 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o2$f2\" \"${ic[2]}\") \ (button :onclick \"hyprctl dispatch workspace 2\" :onrightclick \"hyprctl dispatch workspace 2 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o2$f2\" \"${ic[2]}\") \
(button :onclick \"hyprctl dispatch workspace 3\" :onrightclick \"hyprctl dispatch workspace 3 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o3$f3\" \"${ic[3]}\") \ (button :onclick \"hyprctl dispatch workspace 3\" :onrightclick \"hyprctl dispatch workspace 3 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o3$f3\" \"${ic[3]}\") \
(button :onclick \"hyprctl dispatch workspace 4\" :onrightclick \"hyprctl dispatch workspace 4 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o4$f4\" \"${ic[4]}\") \ (button :onclick \"hyprctl dispatch workspace 4\" :onrightclick \"hyprctl dispatch workspace 4 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o4$f4\" \"${ic[4]}\") \
(button :onclick \"hyprctl dispatch workspace 5\" :onrightclick \"hyprctl dispatch workspace 5 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o5$f5\" \"${ic[5]}\") \
(button :onclick \"hyprctl dispatch workspace 6\" :onrightclick \"hyprctl dispatch workspace 6 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o6$f6\" \"${ic[6]}\") \
(button :onclick \"hyprctl dispatch workspace 7\" :onrightclick \"hyprctl dispatch workspace 7 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o7$f7\" \"${ic[7]}\") \
(button :onclick \"hyprctl dispatch workspace 8\" :onrightclick \"hyprctl dispatch workspace 8 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o8$f8\" \"${ic[8]}\") \
(button :onclick \"hyprctl dispatch workspace 9\" :onrightclick \"hyprctl dispatch workspace 9 && $HOME/.config/hypr/themes/neon/scripts/default_app\" :class \"0$o9$f9\" \"${ic[9]}\") \
)\ )\
)" )"
} }

View file

@ -24,7 +24,7 @@
;; background ;; background
(defwidget side [] (defwidget side []
(box (box
:class "side" :class "side"
:orientation "v" :orientation "v"
:space-evenly "false" :space-evenly "false"
@ -47,35 +47,35 @@
;; weather ;; weather
(defwidget weather [] (defwidget weather []
(box (box
:class "weather" :class "weather"
:orientation "v" :orientation "v"
:spacing -2 :spacing -2
:space-evenly "false" :space-evenly "false"
:vexpand "true" :vexpand "true"
:hexpand "false" :hexpand "false"
:valign "start" :valign "start"
:halign "center" :halign "center"
(label (label
:class "iconweather" :class "iconweather"
:halign "center" :halign "center"
:valign "center" :valign "center"
:style "color: ${HEX};" :text ICON) :style "color: ${HEX};" :text ICON)
(button (button
:onclick "scripts/weather --getdata && eww reload &" :onclick "scripts/weather --getdata && eww reload &"
:class "label_temp" :class "label_temp"
:valign "center" :valign "center"
:halign "center" :halign "center"
"${TEMP}"))) "${TEMP}")))
(defwidget date [] (defwidget date []
(box :class "date" :orientation "v" :valign "start" :space-evenly "false" :halign "center" (box :class "date" :orientation "v" :valign "start" :space-evenly "false" :halign "center"
(label (label
:text DAY) :text DAY)
(label (label
:text POO) :text POO)
(label :class "foo" (label :class "foo"
:text FOO))) :text FOO)))
(defpoll FOO :interval "6h" "date '+%d'") (defpoll FOO :interval "6h" "date '+%d'")
(defpoll DAY :interval "6h" "date '+%A'") (defpoll DAY :interval "6h" "date '+%A'")
@ -225,31 +225,29 @@
(defwidget fetch [] (defwidget fetch []
(box (box
:class "fetch" :class "fetch"
:orientation "v" :orientation "v"
:space-evenly "false" :space-evenly "false"
:halign "center" :halign "center"
:valign "start" :valign "start"
:spacing "10" :spacing "10"
(label (label
:class "host" :class "host"
:halign "start" :halign "start"
:text " : ${name}@${host}") :text " : ${name}@${host}")
(label (label
:class "wm" :class "wm"
:halign "start" :halign "start"
:text " : ${wm}") :text " : ${wm}")
(label (label
:class "uptime" :class "uptime"
:halign "start" :halign "start"
:text " : ${uptime}") :text " : ${uptime}")
;; (label ;; (label
;; :class "packages" ;; :class "packages"
;; :halign "start" ;; :halign "start"
;; :text " : ${packages}") ;; :text " : ${packages}")
(label (label
:class "kernal" :class "kernal"
:halign "start" :halign "start"
:text " : ${kernal}") :text " : ${kernal}")))
)
)

View file

@ -60,8 +60,8 @@ decoration {
# if you want heavy blur, you need to up the blur_passes. # if you want heavy blur, you need to up the blur_passes.
# the more passes, the more you can up the blur_size without noticing artifacts. # the more passes, the more you can up the blur_size without noticing artifacts.
drop_shadow=true drop_shadow=true
shadow_range=30 shadow_range=20
shadow_offset=5 5 shadow_offset=2 2
shadow_render_power=1 shadow_render_power=1
dim_inactive=true dim_inactive=true
dim_strength=0.2 dim_strength=0.2

20
scripts/batmon Executable file
View file

@ -0,0 +1,20 @@
#!/usr/bin/env bash
while [ 1 ];
do
capacity=$(cat /sys/class/power_supply/BAT1/capacity)
status=$(cat /sys/class/power_supply/BAT1/status)
if [ $status = 'Charging' ]; then
eww close battery
sleep 10
else
if [ $capacity -le 30 ];
then
eww open battery
else
eww close battery
fi
sleep 10
fi
done