diff --git a/eww/topbar_dp2.yuck b/eww/topbar_dp2.yuck index 41fccfb..b87a989 100644 --- a/eww/topbar_dp2.yuck +++ b/eww/topbar_dp2.yuck @@ -47,4 +47,5 @@ (hyprsunset) (datetime) (stray) + (volume) (swaync))) diff --git a/eww/widgets.scss b/eww/widgets.scss index 656be3f..e2d3151 100644 --- a/eww/widgets.scss +++ b/eww/widgets.scss @@ -7,3 +7,4 @@ @import 'widgets/hypr_workspaces.scss'; @import 'widgets/sysmon.scss'; @import 'widgets/swaync.scss'; +@import 'widgets/volume.scss'; diff --git a/eww/widgets.yuck b/eww/widgets.yuck index 3dbf1aa..4728496 100644 --- a/eww/widgets.yuck +++ b/eww/widgets.yuck @@ -7,3 +7,4 @@ (include "widgets/hypr_activewindow.yuck") (include "widgets/sysmon.yuck") (include "widgets/swaync.yuck") +(include "widgets/volume.yuck") diff --git a/eww/widgets/volume.scss b/eww/widgets/volume.scss new file mode 100644 index 0000000..8d81b55 --- /dev/null +++ b/eww/widgets/volume.scss @@ -0,0 +1,11 @@ +.sourcevol{ + background: steelblue; + color: black; +} +.sinkvol{ + background: slateblue; + color: black; +} +.muted{ + background: tomato; +} diff --git a/eww/widgets/volume.yuck b/eww/widgets/volume.yuck new file mode 100644 index 0000000..d01201d --- /dev/null +++ b/eww/widgets/volume.yuck @@ -0,0 +1,17 @@ +(defpoll sourcevol :interval "1s" `wpctl get-volume @DEFAULT_SOURCE@ | awk -F ' ' '{print $2}'`) +(defpoll sourcemute :interval "1s" `wpctl get-volume @DEFAULT_SOURCE@ | awk -F ' ' '{print $3}'`) +(defpoll sinkvol :interval "1s" `wpctl get-volume @DEFAULT_SINK@ | awk -F ' ' '{print $2}'`) +(defpoll sinkmute :interval "1s" `wpctl get-volume @DEFAULT_SINK@ | awk -F ' ' '{print $3}'`) + +(defwidget volume [] + (box + :space-evenly false + :spacing 3 + (eventbox + :class "sourcevol${sourcemute == "[MUTED]" ? " muted" : ""}" + :onclick "wpctl set-mute @DEFAULT_SOURCE@ toggle" + (label :text "${sourcemute == "[MUTED]" ? "󰍭" : "󰍬"} ${sourcevol}")) + (eventbox + :class "sinkvol${sinkmute == "[MUTED]" ? " muted" : ""}" + :onclick "wpctl set-mute @DEFAULT_SINK@ toggle" + (label :text "${sinkmute == "[MUTED]" ? "󰟎" : "󰋋"} ${sinkvol}")))) diff --git a/hypr_owlenpc00/hyprland.d/keybinds.conf b/hypr_owlenpc00/hyprland.d/keybinds.conf index e9a1f92..ac25fd7 100644 --- a/hypr_owlenpc00/hyprland.d/keybinds.conf +++ b/hypr_owlenpc00/hyprland.d/keybinds.conf @@ -132,7 +132,7 @@ bindel = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle # Input volume control bindel = SHIFT ,XF86AudioRaiseVolume, exec, swayosd-client --input-volume raise --max-volume 150 bindel = SHIFT ,XF86AudioLowerVolume, exec, swayosd-client --input-volume lower --max-volume 150 -bindel = SHIFT ,XF86AudioMute, exec, pactl set-source-mute alsa_input.usb-DCMT_Technology_USB_Condenser_Microphone_214b206000000178-00.mono-fallback toggle +bindel = SHIFT ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # Requires playerctl bindl = , XF86AudioNext, exec, swayosd-client --playerctl next