Hyprland Configuration
Hyprland is the core Wayland compositor that powers the HyprFlux desktop environment. This configuration provides a highly customizable and performant tiling window manager experience.
Overview
The HyprFlux Hyprland configuration is modular and organized into several key components:
- Main Configuration:
hyprland.conf
- Entry point that sources all other configs - User Configurations: Customizable settings in
UserConfigs/
directory - Scripts: Automation and utility scripts in
scripts/
directory - Animations: Various animation presets in
animations/
directory
Configuration Structure
~/.config/hypr/
├── hyprland.conf # Main configuration file
├── configs/ # Default configurations
├── UserConfigs/ # User-customizable configurations
├── scripts/ # Utility scripts
├── animations/ # Animation presets
├── hyprlock/ # Lock screen configurations
└── wallpaper_effects/ # Wallpaper management
Key Features
1. Modular Configuration System
The configuration is split into logical modules for easy customization:
# Main configuration sources
source= $UserConfigs/Startup_Apps.conf # Startup applications
source= $UserConfigs/ENVariables.conf # Environment variables
source= $UserConfigs/WindowRules.conf # Window and layer rules
source= $UserConfigs/UserDecorations.conf # Visual decorations
source= $UserConfigs/UserAnimations.conf # Animation settings
source= $UserConfigs/UserKeybinds.conf # Custom keybindings
source= $UserConfigs/UserSettings.conf # Main Hyprland settings
2. User Customization
Startup Applications (UserConfigs/Startup_Apps.conf
)
Configure which applications launch at startup:
# Example startup applications
exec-once = waybar
exec-once = swaync
exec-once = swww-daemon
exec-once = hypridle
Environment Variables (UserConfigs/ENVariables.conf
)
Set environment variables for your session:
# Example environment variables
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland
env = GDK_BACKEND,wayland,x11
Window Rules (UserConfigs/WindowRules.conf
)
Define how specific applications behave:
# Example window rules
windowrule = float, ^(pavucontrol)$
windowrule = float, ^(blueman-manager)$
windowrule = size 800 600, ^(pavucontrol)$
3. Animation System
Choose from multiple animation presets:
- Default: Balanced animations for daily use
- Minimal: Reduced animations for performance
- Dynamic: Enhanced animations for visual appeal
- Disabled: No animations for maximum performance
To change animations:
# Edit UserConfigs/UserAnimations.conf
source = $HOME/.config/hypr/animations/00-default.conf
4. Monitor Configuration
Configure multiple monitors through:
# monitors.conf - Generated by nwg-displays
monitor = DP-1,1920x1080@60,0x0,1
monitor = HDMI-A-1,1920x1080@60,1920x0,1
Customization Guide
Adding Custom Keybindings
Edit UserConfigs/UserKeybinds.conf
:
# Custom keybindings
bind = SUPER, T, exec, kitty
bind = SUPER, E, exec, thunar
bind = SUPER, B, exec, firefox
bind = SUPER SHIFT, Q, killactive
Configuring Workspaces
Edit workspaces.conf
:
# Workspace configuration
workspace = 1, monitor:DP-1, default:true
workspace = 2, monitor:DP-1
workspace = 3, monitor:HDMI-A-1, default:true
Custom Decorations
Edit UserConfigs/UserDecorations.conf
:
decoration {
rounding = 10
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
}
Performance Tuning
For better performance, edit UserConfigs/UserSettings.conf
:
general {
gaps_in = 5
gaps_out = 10
border_size = 2
no_border_on_floating = false
layout = dwindle
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
mouse_move_enables_dpms = true
key_press_enables_dpms = true
}
Scripts and Utilities
Key Scripts
- Refresh.sh: Reload Hyprland configuration
- ScreenShot.sh: Screenshot functionality
- WallpaperSelect.sh: Wallpaper management
- GameMode.sh: Toggle gaming optimizations
- Brightness.sh: Brightness control
- Volume.sh: Audio control
Using Scripts
# Reload configuration
~/.config/hypr/scripts/Refresh.sh
# Take screenshot
~/.config/hypr/scripts/ScreenShot.sh
# Change wallpaper
~/.config/hypr/scripts/WallpaperSelect.sh
Troubleshooting
Common Issues
- Applications not starting: Check
Startup_Apps.conf
syntax - Keybindings not working: Verify
UserKeybinds.conf
format - Performance issues: Try minimal animations or disable them
- Monitor issues: Reconfigure with
nwg-displays
Debug Commands
# Check Hyprland logs
journalctl -f -u hyprland
# Reload configuration
hyprctl reload
# List active windows
hyprctl clients
# Monitor information
hyprctl monitors
Advanced Configuration
Custom Window Rules
# Floating windows
windowrule = float, ^(calculator)$
windowrule = float, ^(file-roller)$
# Workspace assignments
windowrule = workspace 2, ^(firefox)$
windowrule = workspace 3, ^(code)$
# Opacity rules
windowrule = opacity 0.9, ^(kitty)$
windowrule = opacity 0.8, ^(thunar)$
Layer Rules
# Configure layer behavior
layerrule = blur, waybar
layerrule = blur, rofi
layerrule = ignorezero, waybar
Hyprland Official Docs
More Details : https://wiki.hypr.land/