Compare commits
3 commits
c351285963
...
ebea0fd6ec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ebea0fd6ec | ||
|
|
8ac4023dc1 | ||
|
|
7b99932299 |
8 changed files with 80 additions and 6 deletions
|
|
@ -1,4 +1,5 @@
|
|||
exec-once = fcitx5
|
||||
exec-once = ~/.config/hypr/scripts/wob-daemon.sh
|
||||
exec-once = [workspace 1 silent] $browser
|
||||
exec-once = [workspace 2 silent] thunderbird
|
||||
exec-once = [workspace 2 silent] element-desktop
|
||||
|
|
|
|||
|
|
@ -282,12 +282,12 @@ bindd = SUPER SHIFT, up, Swap window up, swapwindow, u
|
|||
bindd = SUPER SHIFT, down, Swap window down, swapwindow, d
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioRaiseVolume, exec, ~/.config/hypr/scripts/wob-volume.sh up
|
||||
bindel = ,XF86AudioLowerVolume, exec, ~/.config/hypr/scripts/wob-volume.sh down
|
||||
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 = ,XF86MonBrightnessUp, exec, ~/.config/hypr/scripts/wob-brightness.sh up
|
||||
bindel = ,XF86MonBrightnessDown, exec, ~/.config/hypr/scripts/wob-brightness.sh down
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ bind = $mainMod, J, togglesplit, # dwindle
|
|||
bind = $mainMod, F, fullscreen
|
||||
|
||||
# Screenshot
|
||||
bind = CTRL, PRINT, exec, hyprshot -m output -m DP-1
|
||||
bind = CTRL, PRINT, exec, hyprshot -m active -m output
|
||||
bind = , PRINT, exec, hyprshot -m window
|
||||
bind = SHIFT, PRINT, exec, hyprshot -m region
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
Screenshot full=hyprshot -m output -m DP-1
|
||||
Screenshot full=hyprshot -m active -m output
|
||||
Screenshot window=hyprshot -m window
|
||||
Screenshot region=hyprshot -m region
|
||||
Color Picker=hyprpicker --autocopy
|
||||
Hypertension=xdg-open ~/Documents/Private-Documents/High-Blood-Preassure-test-results.ods
|
||||
Emoji Picker=~/.config/hypr/scripts/emoji-picker.py
|
||||
Shortcuts=~/.config/hypr/scripts/cheatsheet.py ~/.config/hypr/shortcuts.txt
|
||||
Mirror Display=~/.config/hypr/scripts/monitor-mirror.sh
|
||||
|
|
|
|||
26
hypr/scripts/monitor-mirror.sh
Executable file
26
hypr/scripts/monitor-mirror.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
# Toggle: mirror the internal display to the first connected external monitor.
|
||||
# Travel use case — plug into a conference room TV/projector via HDMI, press
|
||||
# the bound key, and the external mirrors the laptop. Press again to revert
|
||||
# to the host's default monitor layout (via hyprctl reload).
|
||||
|
||||
set -u
|
||||
|
||||
internal="eDP-1"
|
||||
|
||||
external=$(hyprctl monitors -j | jq -r ".[] | select(.name != \"$internal\") | .name" | head -n1)
|
||||
|
||||
if [[ -z "$external" ]]; then
|
||||
notify-send "Mirror" "No external display connected"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mirror_of=$(hyprctl monitors -j | jq -r ".[] | select(.name == \"$external\") | .mirrorOf // \"\"")
|
||||
|
||||
if [[ -n "$mirror_of" ]]; then
|
||||
hyprctl reload
|
||||
notify-send "Mirror" "Off — reverted to default layout"
|
||||
else
|
||||
hyprctl keyword monitor "$external,preferred,auto,1,mirror,$internal"
|
||||
notify-send "Mirror" "On — $internal → $external"
|
||||
fi
|
||||
17
hypr/scripts/wob-brightness.sh
Executable file
17
hypr/scripts/wob-brightness.sh
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
# Adjust backlight and emit current percentage to the wob overlay FIFO.
|
||||
# Usage: wob-brightness.sh up|down
|
||||
|
||||
set -u
|
||||
|
||||
case "${1:-}" in
|
||||
up) brightnessctl -e4 -n2 set 5%+ >/dev/null ;;
|
||||
down) brightnessctl -e4 -n2 set 5%- >/dev/null ;;
|
||||
*) echo "usage: $0 up|down" >&2; exit 2 ;;
|
||||
esac
|
||||
|
||||
fifo="${XDG_RUNTIME_DIR:-/tmp}/hypr-wob.${HYPRLAND_INSTANCE_SIGNATURE:-default}"
|
||||
[[ -p "$fifo" ]] || exit 0
|
||||
current=$(brightnessctl get)
|
||||
max=$(brightnessctl max)
|
||||
awk -v c="$current" -v m="$max" 'BEGIN { printf "%d\n", (c/m)*100 }' > "$fifo"
|
||||
14
hypr/scripts/wob-daemon.sh
Executable file
14
hypr/scripts/wob-daemon.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
# Run by Hyprland exec-once. Creates a per-instance FIFO and pipes it to wob
|
||||
# so volume/brightness binds can show an on-screen overlay.
|
||||
|
||||
set -u
|
||||
|
||||
command -v wob >/dev/null 2>&1 || exit 0
|
||||
|
||||
fifo="${XDG_RUNTIME_DIR:-/tmp}/hypr-wob.${HYPRLAND_INSTANCE_SIGNATURE:-default}"
|
||||
rm -f "$fifo"
|
||||
mkfifo "$fifo"
|
||||
trap 'rm -f "$fifo"' EXIT
|
||||
|
||||
tail -f "$fifo" | wob
|
||||
15
hypr/scripts/wob-volume.sh
Executable file
15
hypr/scripts/wob-volume.sh
Executable file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
# Adjust volume and emit current percentage to the wob overlay FIFO.
|
||||
# Usage: wob-volume.sh up|down
|
||||
|
||||
set -u
|
||||
|
||||
case "${1:-}" in
|
||||
up) wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ ;;
|
||||
down) wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- ;;
|
||||
*) echo "usage: $0 up|down" >&2; exit 2 ;;
|
||||
esac
|
||||
|
||||
fifo="${XDG_RUNTIME_DIR:-/tmp}/hypr-wob.${HYPRLAND_INSTANCE_SIGNATURE:-default}"
|
||||
[[ -p "$fifo" ]] || exit 0
|
||||
wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{printf "%d\n", $2*100}' > "$fifo"
|
||||
Loading…
Add table
Add a link
Reference in a new issue