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.

Wofi is a Wayland-native application launcher that integrates tightly with Hyprland. It replaces rofi or dmenu with a purpose-built GTK3 interface that supports .desktop file scanning, icon display, and custom CSS theming. In this setup Wofi is bound to Super + R and opens a compact centered window styled with the Dracula color palette. Typing filters the application list in real time; pressing Enter launches the selected app.

How to launch Wofi

Wofi is invoked via the $menu variable defined in hyprland.conf:
$menu = wofi --show drun
bind = $mainMod, R, exec, $menu
The --show drun flag tells Wofi to scan for .desktop entries (installed applications) rather than running arbitrary commands. You can also invoke it directly from a terminal:
wofi --show drun

Config options

show=drun
width=30%
height=40%
always_parse_args=true
show_all=false
print_command=true
insensitivy=true
allow_images=true
style=/home/matias/.config/wofi/style.css
OptionValueDescription
showdrunShows .desktop application entries
width30%Launcher window takes up 30% of the screen width
height40%Launcher window takes up 40% of the screen height
always_parse_argstrueRe-parses command-line arguments on every launch
show_allfalseHides entries that have NoDisplay=true in their .desktop file
print_commandtruePrints the selected command to stdout when Wofi is used non-interactively
insensitivytrueMakes the search case-insensitive (note: the key is intentionally misspelled in the source file)
allow_imagestrueDisplays application icons next to their names
stylepath to style.cssPoints to the custom CSS file
The insensitivy key in the config file contains a typo (missing a second t). This is valid as written — Wofi accepts it — but if you encounter search issues you can try correcting it to insensitivity=true.

CSS styling

The launcher uses Dracula’s purple (#bd93f9) as its primary accent color and the standard Dracula surface (#282a36) as the background.

Window and container

window {
    margin: 0px;
    background-color: transparent;
    font-family: "JetBrainsMono Nerd Font";
    font-size: 14px;
}

#outer-box {
    margin: 2px;
    border: 2px solid #bd93f9;
    background-color: #282a36;
    border-radius: 12px;
    padding: 5px;
}

#inner-box {
    margin: 0px;
    border: none;
    background-color: transparent;
}
The outer window itself is transparent; the visible chrome comes from #outer-box, which has a 2-pixel purple border and a 12-pixel border radius. This matches the rounded aesthetic of other components in the setup.

Search input

#input {
    margin: 5px;
    border: none;
    color: #f8f8f2;
    background-color: #44475a;
    border-radius: 8px;
    padding: 8px;
    outline: none;
}
The search box uses Dracula’s slightly lighter comment color (#44475a) to distinguish it from the list area, with white text (#f8f8f2) and no visible border outline.

Entry list and selection

#entry {
    margin: 2px 0px;
    border: none;
    padding: 5px;
    outline: none;
}

#entry:selected {
    background-color: #bd93f9;
    border-radius: 8px;
    outline: none;
}

#text:selected {
    color: #282a36;
    font-weight: bold;
}

#entry:hover {
    background-color: #bd93f9;
    border-radius: 8px;
}

#entry:hover #text {
    color: #282a36;
    font-weight: bold;
}
Both keyboard selection and mouse hover apply the same purple highlight with dark text, so the interaction model is consistent regardless of how you navigate the list. Scrollbars are hidden entirely to keep the interface clean:
scrollbar, trough, slider {
    opacity: 0;
    background-color: transparent;
    border: none;
}

Build docs developers (and LLMs) love