Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/matiasOliva64/dotfiles-Hyprland-fedora/llms.txt

Use this file to discover all available pages before exploring further.

Wlogout is a Wayland logout screen that presents a full-window grid of action buttons for common session and power management operations. In this setup it is triggered from two places: pressing Super + M in Hyprland or clicking the power button in Waybar. The interface is styled with the Dracula palette and displays six buttons — lock, hibernate, logout, shutdown, reboot, and suspend — each with an icon loaded from the system wlogout icon set.

How to trigger Wlogout

From Hyprland keybindings (hyprland.conf):
bind = $mainMod, M, exit,
The exit, dispatcher closes the Hyprland session directly. In practice, Super + M is listed as the exit binding in hyprland.conf, but the Waybar power button is what actually launches Wlogout ("on-click": "wlogout"). You can bind Wlogout to a key by replacing the exit, action with exec, wlogout.
From the Waybar power button (waybar/config):
"custom/power": {
  "format": "⏻",
  "tooltip-format": "Apagar / Cerrar sesión",
  "on-click": "wlogout"
}

Layout

The layout file defines six buttons as individual JSON objects. Each entry specifies a button label (used as a CSS id), the command to run, display text, and an optional keyboard shortcut.
{
    "label": "lock",
    "action": "hyprlock",
    "text": "Bloquear",
    "keybind": "l"
}
{
    "label": "hibernate",
    "action": "systemctl hibernate",
    "text": "Hibernar",
    "keybind": "h"
}
{
    "label": "logout",
    "action": "hyprctl dispatch exit 0",
    "text": "Cerrar Sesión",
    "keybind": "e"
}
{
    "label": "shutdown",
    "action": "systemctl poweroff",
    "text": "Apagar",
    "keybind": "s"
}
{
    "label": "reboot",
    "action": "systemctl reboot",
    "text": "Reiniciar",
    "keybind": "r"
}
{
    "label": "suspend",
    "action": "systemctl suspend",
    "text": "Suspender",
    "keybind": "u"
}
LabelKeybindAction
lockLRuns hyprlock to lock the screen
hibernateHSaves RAM to disk and powers off via systemctl hibernate
logoutEExits the Hyprland session via hyprctl dispatch exit 0
shutdownSPowers off the system via systemctl poweroff
rebootRReboots via systemctl reboot
suspendUSuspends to RAM via systemctl suspend
The lock button runs hyprlock, the Hyprland screen locker. Its configuration lives at hypr/hyprlock.conf.

Hyprlock (lock screen)

The lock button runs hyprlock. Its configuration at hypr/hyprlock.conf defines three sections: background, a clock label, and an input-field for the password prompt.
hyprlock.conf
general {
    no_fade_in = false
    grace = 0
    disable_loading = true
}

background {
    monitor =
    path = /home/$USER/Imágenes/wallpaper.jpg
    color = rgba(0, 0, 105, 1)
    noise = 0.0117
    contrast = 0.8916
    brightness = 0.8172
    vibrancy = 0.1696
    vibrancy_darkness = 0.0
}

# Clock label — centered on screen
label {
    monitor =
    text = $TIME
    color = rgba(200, 200, 200, 1.0)
    font_size = 64
    font_family = Cantarell Bold
    position = 0, 80
    halign = center
    valign = center
}

# Password input field
input-field {
    monitor =
    size = 250, 50
    outline_thickness = 3
    dots_size = 0.33
    dots_spacing = 0.15
    dots_center = true
    outer_color = rgb(151515)
    inner_color = rgb(200, 200, 200)
    font_color = rgb(10, 10, 10)
    fade_on_empty = true
    placeholder_text = <i>Hola, $USER...</i>
    hide_input = false
    position = 0, -20
    halign = center
    valign = center
}
The path in the background block uses $USER — replace /home/$USER/Imágenes/wallpaper.jpg with the actual path to your wallpaper file if the $USER variable is not resolved correctly by hyprlock in your environment.

CSS styling

Background

window {
    background-color: rgba(40, 42, 54, 0.9);
    font-family: "JetBrainsMono Nerd Font";
}
The full-screen overlay uses Dracula’s background color (#282a36, expressed here as rgba(40, 42, 54, ...)) at 90% opacity, so the desktop is still faintly visible behind the menu.

Buttons (default state)

button {
    color: #f8f8f2;
    background-color: #282a36;
    outline-style: none;
    border: 2px solid #bd93f9;
    border-radius: 20px;
    margin: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25%;
    transition: all 0.3s ease;
}
Each button has a 2-pixel purple border, a 20-pixel border radius, and a 25% background image showing the action icon from /usr/share/wlogout/icons/. The transition: all 0.3s ease property makes hover state changes animate smoothly.

Buttons (hover state)

button:hover {
    background-color: #bd93f9;
    color: #282a36;
    border: 2px solid #ff79c6;
}
On hover the button fills with Dracula purple and its border switches to Dracula pink (#ff79c6), creating a clear visual focus indicator. The icon color inverts to the dark background color for contrast.

Per-button icons

Each button’s background image is set by its CSS id, which matches the label value from the layout file:
#lock     { background-image: image(url("/usr/share/wlogout/icons/lock.png")); }
#logout   { background-image: image(url("/usr/share/wlogout/icons/logout.png")); }
#shutdown { background-image: image(url("/usr/share/wlogout/icons/shutdown.png")); }
#reboot   { background-image: image(url("/usr/share/wlogout/icons/reboot.png")); }
#hibernate { background-image: image(url("/usr/share/wlogout/icons/hibernate.png")); }
#suspend  { background-image: image(url("/usr/share/wlogout/icons/suspend.png")); }
If the icons do not appear, verify that the wlogout package is installed and that the PNG files exist under /usr/share/wlogout/icons/. On Fedora you can install it with sudo dnf install wlogout.

Build docs developers (and LLMs) love