
Demo post — not real content
This article is a placeholder that exists to demonstrate how the V&G Blue Hugo theme renders a typical technical write-up. The Hyprland configuration shown below is illustrative; it is not a real personal setup and should not be copied verbatim.
I switched to Hyprland a year ago and never went back. It is fast, it is Wayland-native, and the config file reads like a tiny DSL instead of a maze of GNOME settings. This post is the minimal version of what I actually run — no fifty-line shadow tweaks, no thirty animated workspaces, just the parts that earn their place every day.
What you need
A short shopping list. Everything below is available in the Arch repos or the AUR:
hyprland— the compositor itselfwaybar— top status barwofi— application launcherkitty— terminal emulatorhyprlockandhypridle— lock screen and idle daemongrim+slurp— screenshotswl-clipboard— clipboard utilities
I avoid the all-in-one ricing packs. They give you a beautiful screenshot and a config you do not understand.
Window rules
Hyprland’s rule syntax is one of the reasons I stayed. You match by class, title, or both, and apply behavior declaratively:
# Float dialogs and pickers
windowrulev2 = float, class:^(pavucontrol)$
windowrulev2 = float, class:^(nm-connection-editor)$
windowrulev2 = float, title:^(Open File)$
# Keep media on workspace 5
windowrulev2 = workspace 5 silent, class:^(Spotify)$
windowrulev2 = workspace 5 silent, class:^(mpv)$
# No shadow on tiled terminals
windowrulev2 = noshadow, class:^(kitty)$
Tip. Run
hyprctl clientsto see the exactclassandtitlestrings of every open window. Half the time a rule fails because the regex matches an empty string.
Keybindings
I keep one modifier — SUPER — and resist the urge to add chord prefixes. Muscle memory is the whole point.
| Binding | Action |
|---|---|
| SUPER+Q | Launch terminal |
| SUPER+D | Open Wofi launcher |
| SUPER+W | Close active window |
| SUPER+F | Toggle fullscreen |
| SUPER+V | Toggle floating |
| SUPER+1..9 | Switch workspace |
| SUPER+SHIFT+1..9 | Move window to workspace |
| SUPER+L | Lock screen |
The corresponding section in hyprland.conf is just:
$mod = SUPER
$term = kitty
$menu = wofi --show drun
bind = $mod, Q, exec, $term
bind = $mod, D, exec, $menu
bind = $mod, W, killactive
bind = $mod, F, fullscreen, 0
bind = $mod, V, togglefloating
bind = $mod, L, exec, hyprlock
# Workspaces 1..9
bind = $mod, 1, workspace, 1
bind = $mod SHIFT, 1, movetoworkspace, 1
# ...repeat for 2..9
Status bar
Waybar covers the bar. My config is a single JSONC file, and the modules I keep are: workspaces, window title, clock, network, audio, battery. That is it. No weather widget I never look at.
{
"layer": "top",
"position": "top",
"height": 28,
"modules-left": ["hyprland/workspaces", "hyprland/window"],
"modules-center": ["clock"],
"modules-right": ["pulseaudio", "network", "battery"],
"clock": {
"format": "{:%a %d %b %H:%M}"
},
"battery": {
"format": "{capacity}% {icon}",
"format-icons": ["", "", "", "", ""]
}
}
The CSS is even shorter — match your theme accent, set a readable monospace font, ship it.
What I would skip
A short list of things I tried and removed:
- Heavy blur and shadow. Pretty in screenshots, distracting during work.
- Animated workspace switches above 200 ms. Anything longer feels broken once you do it a hundred times a day.
- A second status bar at the bottom. Twice the maintenance for half the information density.
- Dynamic wallpapers tied to the time of day. Cute for a week.
Wrap-up
The full dotfiles live in a small public repo — git clone it, read the four files, copy what you want. If something here looks too opinionated, that is fine: a desktop you have not customized is a desktop you do not own.
If you are still on the fence, give it a weekend. Wayland is no longer the future. It is the present.

