Dunst add volume and brightness notifications

main
Guus van Meerveld 2 years ago
parent 5dbc30f4d4
commit 71c9b5470b
Signed by: Guusvanmeerveld
GPG Key ID: 2BA7D7912771966E

@ -1,13 +1,10 @@
Privacy Pass|ajhmfdgkijocedmfjonnpjfojldioehi Privacy Pass|ajhmfdgkijocedmfjonnpjfojldioehi
DuckDuckGo Privacy Essentials|bkdgflcldnnnapblkhphbgpggdiikppg
Magister Auto-Login|cekhhgcjpkahghpgeafhmkkjhidodplk Magister Auto-Login|cekhhgcjpkahghpgeafhmkkjhidodplk
uBlock Origin|cjpalhdlnbpafiamejdnhcphjbkeiagm uBlock Origin|cjpalhdlnbpafiamejdnhcphjbkeiagm
Dark Reader|eimadpbcbfnmbkopoojfekhnkhdbieeh Dark Reader|eimadpbcbfnmbkopoojfekhnkhdbieeh
I don't care about cookies|fihnjjcciajhdojfnbdddfaoknhalnja React Developer Tools|fmkadmapgofadopljbjfkapdkoienihi
NordVPN — #1 VPN Chrome Extension: Get a VPN|fjoaledfpmneenckfbpdfhkmimnjocfa
JSON Viewer|gbmdgpbipfallnflgajpaliibnhdgobh JSON Viewer|gbmdgpbipfallnflgajpaliibnhdgobh
Return YouTube Dislike|gebbhagfogifgggkldgodflihgfeippi User JavaScript and CSS|nbhcbdghjpllgmfilhnhkllmkecfmpld
GNOME Shell integration|gphhapmejobijbbhgpjhcjognlahblep
SponsorBlock for YouTube - Skip Sponsorships|mnjggcdmjocbbbhaepdhchncahnbgone
Bitwarden - Free Password Manager|nngceckbapebfimnlniiiahkandclblb Bitwarden - Free Password Manager|nngceckbapebfimnlniiiahkandclblb
Chromium Web Store|ocaahdebbfolfmndjeplogmgcagdmblk|https://raw.githubusercontent.com/NeverDecaf/chromium-web-store/master/updates.xml Chromium Web Store|ocaahdebbfolfmndjeplogmgcagdmblk|https://raw.githubusercontent.com/NeverDecaf/chromium-web-store/master/updates.xml
PDF Viewer|oemmndcbldboiebfnladdacbdfmadadm

@ -4,7 +4,7 @@
### Display ### ### Display ###
# Which monitor should the notifications be displayed on. # Which monitor should the notifications be displayed on.
monitor = 0 monitor = 1
# Display notification on focused monitor. Possible modes are: # Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer # mouse: follow mouse pointer
@ -17,7 +17,7 @@
# #
# If this option is set to mouse or keyboard, the monitor option # If this option is set to mouse or keyboard, the monitor option
# will be ignored. # will be ignored.
follow = mouse # follow = mouse
### Geometry ### ### Geometry ###
@ -89,7 +89,7 @@
frame_width = 1 frame_width = 1
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = "#474747" frame_color = "#282828"
# Define a color for the separator. # Define a color for the separator.
# possible values are: # possible values are:
@ -196,7 +196,7 @@
max_icon_size = 48 max_icon_size = 48
# Paths to default icons. # Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
### History ### ### History ###
@ -299,7 +299,7 @@
#default_icon = /path/to/icon #default_icon = /path/to/icon
[urgency_normal] [urgency_normal]
background = "#285577" background = "#222222"
foreground = "#ffffff" foreground = "#ffffff"
timeout = 10 timeout = 10
# Icon for notifications with normal urgency, uncomment to enable # Icon for notifications with normal urgency, uncomment to enable
@ -313,6 +313,9 @@
# Icon for notifications with critical urgency, uncomment to enable # Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon #default_icon = /path/to/icon
[chvolume]
ignore_history = yes
# Every section that isn't one of the above is interpreted as a rules to # Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages. # override settings for certain messages.
# #

@ -27,19 +27,19 @@ XF86AudioNext
playerctl next playerctl next
XF86AudioLowerVolume XF86AudioLowerVolume
pactl set-sink-volume @DEFAULT_SINK@ -3% chvolume -5%
XF86AudioRaiseVolume XF86AudioRaiseVolume
pactl set-sink-volume @DEFAULT_SINK@ +3% chvolume +5%
XF86AudioMute XF86AudioMute
pactl set-sink-mute @DEFAULT_SINK@ toggle chvolume +0% toggle
XF86MonBrightnessUp XF86MonBrightnessUp
light -A 5 chlight -A 5
XF86MonBrightnessDown XF86MonBrightnessDown
light -U 5 chlight -U 5
# make sxhkd reload its configuration files: # make sxhkd reload its configuration files:
super + Escape super + Escape

@ -11,3 +11,6 @@
/bin/dotfiles: dotfiles /bin/dotfiles: dotfiles
/usr/share/icons/default/index.theme: config/cursors.theme /usr/share/icons/default/index.theme: config/cursors.theme
/usr/bin/chvolume: scripts/chvolume
/usr/bin/chlight: scripts/chlight

@ -0,0 +1,11 @@
#!/bin/bash
# chlight
msgTag="brightness-updater"
light "$@"
brightness="$(light -G)"
dunstify -a "chlight" -u low -i display-brightness -h string:x-dunst-stack-tag:$msgTag \
-h int:value:"$brightness" "Brightness: ${brightness}%"

@ -0,0 +1,23 @@
#!/bin/bash
# chvolume
# Arbitrary but unique message tag
msgTag="volume-updater"
pactl set-sink-volume @DEFAULT_SINK@ "$1"
pactl set-sink-mute @DEFAULT_SINK@ "$2"
volume="$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | sed 's/[^0-9]*//g')"
mute="$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')"
if [[ $volume == 0 || "$mute" == "yes" ]]; then
# Show the sound muted notification
dunstify -a "chvolume" -u low -i audio-volume-muted -h string:x-dunst-stack-tag:$msgTag "Volume muted"
else
# Show the volume notification
dunstify -a "chvolume" -u low -i audio-volume-high -h string:x-dunst-stack-tag:$msgTag \
-h int:value:"$volume" "Volume: ${volume}%"
fi
canberra-gtk-play -i audio-volume-change -d "chvolume"