Window rule to close window?

submitted by

Is there a window rule for 'close' to be applied when an application starts, instead of 'Minimized'?

Why would anyone want to close an application at launch? Well, the appimage for Viber doesn't let you set Minimize to Tray at start-up. So, for now I use a window rule to minimize the window at least. 'Close' would send it to the tray, but I can't find such a rule.

2
14

Log in to comment

2 Comments

There used to be a thing in KDE where you could execute actions and macros based on window titles, but it's since been removed. I've had to recreate this behavior with a shell script, here's a modified version you can use if you use Xorg:

#!/bin/bash

xprop -spy -root _NET_ACTIVE_WINDOW | grep --line-buffered -o '0[xX][a-zA-Z0-9]\{7\}' |
while read -r id; do
    class="`xprop -id $id WM_CLASS 2> /dev/null | grep Viber`"
    if [ -n "$class" ]; then
        if xprop -id "$id" | grep -q 'WM_NAME(STRING) = "Viber Window Name"'; then
            echo "key alt+f4" | xdotool -
            # wait for the window to be closed
            xprop -spy -id $id > /dev/null 2>&1
            fi
    fi
done

The first Viber is is looking for the Viber in the application name, replace "Viber Window Name" with the actual window title you want to be closed. If you don't use Xorg, you'll have to find a replacement for both xprop and xdotool.

I am on Debian 13 KDE Plasma with Wayland. I tried kdotool as @Erwan suggests but as expected xprop doesn't return anything. Apparently, I will also have to use kwindowprop which will take a while to appear on Debian Stable.

There used to be a thing in KDE where you could execute actions and macros based on window titles

Now, that would be nice but unless there is another way it looks like I will have to wait.

Thanks for the help.