Window classes are identifiers used by KWin to distinguish different applications and window types. Better Blur DX uses window classes to determine which windows should have blur applied when using force blur functionality.
What Are Window Classes?
Every window in KWin has associated class information that typically includes:
Resource Class: The general application class (e.g., firefox, konsole)
Resource Name: A more specific identifier (e.g., Navigator for Firefox)
Window Title: The current title of the window (dynamic)
For Better Blur DX, you primarily use the resource class or resource name to identify windows.
Method 1: Using qdbus (Recommended)
The qdbus command-line tool provides the most comprehensive window information.
Open a terminal
Launch Konsole or your preferred terminal emulator.
Run the query command
Execute the following command: qdbus org.kde.KWin /KWin org.kde.KWin.queryWindowInfo
Your cursor will change to a crosshair or selection cursor.
Click on the target window
Click on the window you want to identify. The terminal will display detailed information about that window.
Find the class information
Look for these fields in the output: resourceClass: konsole
resourceName: konsole
You can use either value in Better Blur DX settings.
Example Output
$ qdbus org.kde.KWin /KWin org.kde.KWin.queryWindowInfo
# Click on a Firefox window
caption: Mozilla Firefox
resourceClass: firefox
resourceName: Navigator
role: browser
windowType: Normal
...
In this example, you could use either firefox or Navigator to target Firefox windows.
The resourceClass is typically the most reliable identifier as it’s consistent across different window instances of the same application.
Method 2: Using Window Settings Dialog
KDE provides a graphical method to identify window classes through the window configuration dialog.
Right-click the window titlebar
On the window you want to identify, right-click its titlebar.
Open special settings
Select More Actions → Configure Special Window Settings… or Configure Special Application Settings…
Find the window class
Look for the field labeled Window class (application) near the top of the dialog. It typically shows in the format: resourceName resourceClass For example: Navigator firefox
Extract the class name
If the window class shows two words (e.g., Navigator firefox), you can use either:
The first word: Navigator
The second word: firefox
The entire string: Navigator firefox (though usually unnecessary)
Using just the resourceClass (second word) is typically more reliable and recommended.
Common Window Class Patterns
Applications with single-word class
konsole konsole → Use: konsole
dolphin dolphin → Use: dolphin
kate kate → Use: kate
When both values are the same, use either one.
Applications with different resource name and class
Navigator firefox → Use: firefox (recommended) or Navigator
code code-oss → Use: code-oss (recommended) or code
Prefer the resourceClass (second value) for consistency.
Applications with spaces in class names
jetbrains-pycharm jetbrains-pycharm → Use: jetbrains-pycharm
Use the exact string including hyphens.
Method 3: Using xprop (X11 Only)
This method only works on X11 sessions, not on Wayland. For Wayland, use Method 1 (qdbus) instead.
If you’re running KDE on X11, you can use xprop:
Run xprop
Your cursor will change to a crosshair.
Click the target window
Click on the window you want to identify.
Read the output
The output will be in the format: WM_CLASS(STRING) = "resourceName", "resourceClass"
For example: WM_CLASS(STRING) = "Navigator", "firefox"
Use the second value (firefox) for Better Blur DX.
Using Window Classes in Better Blur DX
Once you’ve identified the window classes, add them to Better Blur DX configuration.
Open Better Blur DX settings
Go to System Settings → Desktop Effects → Better Blur DX (click settings icon)
Navigate to Force Blur section
Find the Classes of windows to force blur text field.
Add window classes
Enter one window class per line: konsole
dolphin
kate
firefox
code-oss
You don’t need quotes or any special formatting—just the class name, one per line.
Choose blur mode
Decide whether to:
Blur matching windows (only these windows get blur)
Blur all except matching (these windows DON’T get blur, everything else does)
Apply settings
Click Apply or OK to save the configuration.
Regex Pattern Matching
Better Blur DX supports regular expressions (regex) for more flexible window matching.
Basic Regex Examples
Match multiple similar classes
To match all JetBrains IDEs: This matches:
jetbrains-pycharm
jetbrains-idea
jetbrains-webstorm
etc.
Case-insensitive matching
To match Firefox regardless of capitalization: This matches: firefox, Firefox, FIREFOX, etc.
Match multiple specific applications
To match either Konsole or Alacritty: This matches either window class exactly.
Match windows with specific patterns
To match all windows ending in “terminal”: This matches:
gnome-terminal
xfce4-terminal
lxterminal
etc.
Regex Syntax Reference
Pattern Description Example .Any single character k.te matches kate*Zero or more of previous fire.* matches firefox, firewall+One or more of previous fire+ matches fire, firee^Start of string ^konsole matches only if starts with “konsole”$End of string dolphin$ matches only if ends with “dolphin”|OR operator (kate|kwrite) matches either[abc]Any character in set [kd]ate matches kate or date[^abc]Any character NOT in set [^k]ate matches date but not kate(?i)Case insensitive (?i)firefox matches any case
Regex patterns can be powerful but also error-prone. Test your patterns carefully to ensure they match only the intended windows. Invalid regex patterns may cause the effect to not apply correctly.
Common Window Classes Reference
Here’s a quick reference of common KDE and third-party application window classes:
KDE Applications
konsole # Konsole terminal
dolphin # Dolphin file manager
kate # Kate text editor
kwrite # KWrite text editor
gwenview # Gwenview image viewer
okular # Okular document viewer
spectacle # Spectacle screenshot tool
krunner # KRunner application launcher
plasmashell # Plasma desktop shell (panels, widgets)
systemsettings # System Settings
kdevelop # KDevelop IDE
Common Third-Party Applications
firefox # Mozilla Firefox
chromium # Chromium browser
chrome # Google Chrome (typically: google-chrome)
thunderbird # Mozilla Thunderbird
code-oss # VS Code (open source build)
code # VS Code (proprietary build)
alacritty # Alacritty terminal
kitty # Kitty terminal
gimp-2.10 # GIMP (version specific)
inkscape # Inkscape
blender # Blender
steam # Steam client
spotify # Spotify
discord # Discord
Special Window Types
plasmashell # All Plasma UI elements (panels, widgets, etc.)
krunner # Application launcher
ksmserver # Session manager
Plasma components typically handle their own blur and usually don’t need force blur. Only add these if you have specific requirements.
Dialogs and menus often inherit the parent application’s window class. To blur them:
Enable Blur menus in Better Blur DX settings
Add the parent application’s class to the force blur list
For standalone dialogs, use qdbus to identify their specific class.
Troubleshooting
Window class doesn't seem to work
Verify the class name is exactly correct (case-sensitive)
Make sure there are no extra spaces or special characters
Try using the other value (resourceName vs resourceClass)
Check if the window provides its own blur region (force blur won’t override this)
Restart KWin after making changes: logout/login or kwin_wayland --replace &
Some windows of the same application blur, others don't
The application may use different window classes for different window types:
Check each window individually with qdbus
Add all relevant classes to the list
Consider using regex to match multiple related classes
Regex pattern doesn't match as expected
Test your regex pattern with an online regex tester
Remember that regex is case-sensitive by default (use (?i) for case-insensitive)
Escape special characters with backslash: \., \(, \), etc.
Start simple and gradually add complexity
Ensure you have Qt D-Bus tools installed: Arch Linux: Debian/Ubuntu: sudo apt install qt6-tools-dev-tools
Fedora: sudo dnf install qt6-qttools
Best Practices
Use resourceClass when available
The resourceClass (typically the second value) is usually more reliable than resourceName for identifying applications consistently.
Test one class at a time
When adding multiple window classes, test each one individually to ensure it works before adding more. This makes troubleshooting easier.
Document your regex patterns
If using complex regex patterns, keep notes about what each pattern is intended to match. This helps when you need to modify them later.
Consider performance
Adding many windows to force blur can be GPU-intensive. Only add windows that actually benefit from blur and where you’ve made them transparent.
Use 'Blur all except' for gaming
If you want blur on most windows but need to exclude games and video players for performance, use the “Blur all except matching” mode and list the exceptions.
Next Steps
Configuration Explore all configuration options for fine-tuning blur behavior
Window Transparency Learn how to make windows transparent to see the blur effect