aboutsummaryrefslogtreecommitdiff
path: root/.config/hypr
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2025-08-25 15:41:08 +0530
committerkrolxon <krolyxon@tutanota.com>2025-08-25 15:41:08 +0530
commita81ab033ec5ac0cdbdddfc31f242aee7cb5aee4e (patch)
tree2e4f8155dcc468c214749982a752884985186ad6 /.config/hypr
parentb4ff09016c4d75c8accc4d8fff51c536bed10ec9 (diff)
hyprland: add hypr_brightness script
This script uses ddcutil and allows you to also control the brightness of external displays. It changes the brightness of the display that you are currently focused in.
Diffstat (limited to '.config/hypr')
-rw-r--r--.config/hypr/hyprland.conf9
-rwxr-xr-x.config/hypr/scripts/hypr_brightness.sh46
2 files changed, 51 insertions, 4 deletions
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index b3a8b7b..d12c614 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -4,7 +4,7 @@ autogenerated = 0
### MY PROGRAMS ###
###################
$terminal = footclient
-$menu = rofi -show run
+$menu = fuzzel
$browser = zen-browser
@@ -215,7 +215,7 @@ bind = $mainMod SHIFT, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
binde = $mainMod, tab, cyclenext, prev
bind = $mainMod, b, exec, killall waybar || waybar
-bind = $mainMod, grave, exec, rofiunicode
+bind = $mainMod, grave, exec, fuzzelunicode
bind = $mainMod, escape, exec, sysact
# Applications
@@ -283,8 +283,9 @@ bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
-bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
-bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
+bindel = , XF86MonBrightnessDown, exec, ~/.config/hypr/scripts/hypr_brightness.sh -
+bindel = , XF86MonBrightnessUp, exec, ~/.config/hypr/scripts/hypr_brightness.sh +
+
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
diff --git a/.config/hypr/scripts/hypr_brightness.sh b/.config/hypr/scripts/hypr_brightness.sh
new file mode 100755
index 0000000..2ba9d98
--- /dev/null
+++ b/.config/hypr/scripts/hypr_brightness.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env sh
+# Source: https://github.com/albertnis/hypr-brightness
+# Install ddcutil, and then enable access to i2c for your user
+
+# sudo gpasswd -a $USER i2c
+# sudo modprobe i2c-dev
+# echo i2c-dev | sudo tee /etc/modules-load.d/i2c-dev.conf
+
+set +e
+
+usage="Usage: $0 [+] or [-]"
+
+if [ "$#" -ne 1 ]; then
+ echo "No direction parameter provided"
+ echo "$usage"
+ exit 1
+fi
+
+arg="$1"
+
+if [ "$arg" == "help" ] || [ "$arg" == "--help" ] || [ "$arg" == "-h" ]; then
+ echo "$usage"
+ exit 0
+fi
+
+if [ "$arg" != "+" ] && [ "$arg" != "-" ]; then
+ echo "Direction parameter must be '+' or '-'"
+ echo $usage
+ exit 1
+fi
+
+direction=$arg
+
+monitor_data=$(hyprctl monitors -j)
+focused_name=$(echo $monitor_data | jq -r '.[] | select(.focused == true) | .name')
+
+if [ "$focused_name" == "eDP-1" ]; then
+ if [ "$direction" == "-" ]; then
+ brightnessctl -e4 -n2 set 5%-
+ else
+ brightnessctl -e4 -n2 set 5%+
+ fi
+else
+ focused_id=$(echo $monitor_data | jq -r '.[] | select(.focused == true) | .id')
+ ddcutil --enable-dynamic-sleep --display=$focused_id setvcp 10 $direction 15
+fi