Files
dotfiles/dot_config/hypr/hyprland.wiki/content/Configuring/Expanding-functionality.md
s0wlz (Matthias Puchstein) 8018b53353 feat: finalize migration to chezmoi and modernize configuration logic
- Modularize Hyprland config into hyprland.d/
- Implement infinitely scalable monitor/workspace logic using templates and loop-based data structures
- Consolidate host-specific configs (hyprlock, hyprpaper, waybar) into single templates
- Resolve waybar symlink conflict and fix template execution errors
- Integrate chezmoi data variables for scale, resolution, and peripherals
2025-12-27 22:52:43 +01:00

34 lines
863 B
Markdown

---
weight: 16
title: Expanding functionality
---
Hyprland exposes two powerful sockets for you to use.
The first, socket1, can be fully controlled with `hyprctl`, see its usage
[here](../Using-hyprctl).
The second, socket2, sends events for certain changes / actions and can be used
to react to different events. See its description [here](../../IPC/).
## Example script
This bash script will change the outer gaps to 20 if the currently focused
monitor is DP-1, and 30 otherwise.
```bash
#!/usr/bin/env bash
function handle {
if [[ ${1:0:10} == "focusedmon" ]]; then
if [[ ${1:12:4} == "DP-1" ]]; then
hyprctl keyword general:gaps_out 20
else
hyprctl keyword general:gaps_out 30
fi
fi
}
socat - "UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" | while read -r line; do handle "$line"; done
```