I use KDE on arch and would like to achieve the following behavior:

Whatever way I launch Konsole, I want it to check whether there already is a Konsole instance. If one exists, it should be brought into focus, and if no instance exists, one should be launched.

I am unable to find such an option in the Konsole settings, even though I found a roughly 1 year old forum entry mentioning such a setting. Was it removed or am I just blind? Or do I need some optional dependency?

Alternatively, it would be fine if this could simply kick in when I use my Super+K shortcut, which I’ve set up. Maybe there’s a way to call Konsole from the terminal like that? I tried using konsole --force-reuse but it didn’t seem to do the trick, and konsole --new-tab does not bring Konsole into the foreground.

Edit: Here’s a script that does this, by @[email protected]

#!/bin/bash
WIN="$(kdotool search --class org.kde.konsole | head -1)"
if [[ "$WIN" != "" ]]; then 
    kdotool windowactivate "$WIN"
else 
    konsole
fi

kdotool is available in AUR as kdotool-git

  • @Audalin
    link
    English
    58 months ago

    If you don’t find such a setting, you can try writing a script that checks if it’s running already (e.g. with pgrep), activates the window if found (no idea how to do that in Wayland properly) and launches a new instance otherwise. Then use a custom .desktop launcher for Konsole.

    • silly goose meekahOP
      link
      English
      48 months ago

      Thanks for your reply :) I might look into it if I don’t find anything easier

      • @Audalin
        link
        English
        8
        edit-2
        8 months ago

        Here’s a KDE-specific script with kdotool (Wayland always needs custom solutions for simple things):

        #!/bin/bash
        WIN="$(kdotool search --class org.kde.konsole | head -1)"
        if [[ "$WIN" != "" ]]; then 
            kdotool windowactivate "$WIN"
        else 
            konsole
        fi
        
          • @Audalin
            link
            English
            38 months ago

            Well, that’s exactly what I did. My point was rather that there’s no single consistent way to do this across different DEs with different Wayland implementations - and that’s supposedly considered a feature from Wayland design’s perspective.

          • silly goose meekahOP
            link
            English
            18 months ago

            How have you read the part you quoted without reading the package name right in front of it?