Configuration
Configuring Hyprland
Section titled “Configuring Hyprland”The following and also many other things are powered by Hyprland.
- global keybindings
- environment variables
- display/monitors/workspaces
- window animations/decorations
- …
Reference: Hyprland Wiki
To configure Hyprland, edit the files under ~/.config/hypr/custom/ which are sourced by ~/.config/hypr/hyprland.conf).
- Hyprland reads
hyprland.conf. When it sees asourcekeyword, it reads the sourced file, then keeps going.
The install.sh script will not overwrite ~/.config/hypr/custom/.
Also, as for ~/.config/hypr/hyprland.conf, it will not be overwritten when it exists, but a ~/.config/hypr/hyprland.conf.new will be generated. The *.new file is only for format reference, and has no effect at all.
Enabling blur for apps
Section titled “Enabling blur for apps”In ~/.config/hypr/hyprland/rules.conf, comment out (with a #) or remove the following line
windowrule = noblur,.* # Disables blur for windows. Substantially improves performance.Configuring AGS
Section titled “Configuring AGS”The following and also some other things are powered by AGS.
- top bar
- side bars
- cheatsheet
- notification
- overview widget
For end users
Section titled “For end users”Edit ~/.config/ags/user_options.jsonc, which won’t be overwritten by install.sh when you update
You can configure stuff like
- Default ChatGPT-like assistant provider
- Animation speed
- Time format
- …
Set date and time format
Section titled “Set date and time format”In ~/.config/ags/user_options.jsonc, edit the “time” section according to this format.
You may also run man date for time format.
Set city for weather widget
Section titled “Set city for weather widget”When no battery is detected (typically a desktop computer), the battery widget and the utility widget will not be displayed. Instead, a weather widget will appear in this position.
The city for weather is detected by curl ipinfo.io by default, or explicitly set in ~/.config/ags/user_options.jsonc.
Set keybinds
Section titled “Set keybinds”The keybinds to be configured are limited and you need to refer to gdk document to know the keys, but it works.
See #5 for more.
Custom widget
Section titled “Custom widget”You can use the output of a bash script for a widget. If ~/.cache/ags/user/scripts/custom-module-poll.sh exists, AGS will display its output every 5000ms by default in place of system resources indicators
For example, to display the available storage space of path /:
#!/bin/bash
export LANG=C
disk_info=$(df -h /)
available=$(echo "$disk_info" | awk 'NR==2 {print $4}')
total=$(echo "$disk_info" | awk 'NR==2 {print $2}')
echo "$available/$total"And a less configurable 2-line version, if you prefer:
#!/bin/bash
LANG=C df -h / | awk 'NR==2 {printf "%s/%s\n", $4, $2}'For futher customization:
- Polling interval, in milliseconds:
~/.cache/ags/user/scripts/custom-module-interval.txt(default = 5000) - Left-click action script:
~/.cache/ags/user/scripts/custom-module-leftclick.sh - Right-click action script:
~/.cache/ags/user/scripts/custom-module-rightclick.sh
For nerds (doubts you aren’t)
Section titled “For nerds (doubts you aren’t)”- See AGS Docs
- Also Dev notes (see the sidebar)
Resize the UI / change font size
Section titled “Resize the UI / change font size”Changing the font size will also change the UI scale for AGS.
- Using
gsettings:
# Syntax
gsettings set org.gnome.desktop.interface font-name 'FONT_NAME FONT_SIZE'
# Default of these dotfiles
gsettings set org.gnome.desktop.interface font-name 'Rubik 11'Configure Screen Lock
Section titled “Configure Screen Lock”Auto Screen Lock
Section titled “Auto Screen Lock”Reference: Hyprland Wiki
Edit ~/.config/hypr/hypridle.conf to your needs.
Custom Hyprlock
Section titled “Custom Hyprlock”Reference: Hyprland Wiki
Hyprlock is the default screenlock provider.
Edit ~/.config/hypr/hyprlock.conf as you want.
For example, to set the date and time format, change the value of the text which corresponds to the lock.
Use another screenlock provider
Section titled “Use another screenlock provider”Reference: Arch Wiki
Take swaylock as example.
Edit ~/.config/hypr/hypridle.conf and modify the value of $lock_cmd as follows:
$lock_cmd = swaylockAnd ensure hypridle is running (typically it should autostart if you have exec-once = hypridle in Hyprland config).
As a result, loginctl lock-session will call swaylock to lock the screen.
Cloudflare WARP
Section titled “Cloudflare WARP”- This might help you bypass your ISP’s restrictions and provide a faster internet
- There will be a button on the right sidebar to toggle WARP if it’s installed
- To install Cloudflare WARP, run
yay -S cloudflare-warp-bin && sudo systemctl enable warp-svc --now