STEPS TO REPRODUCE 1. Launch Kate using Kickoff or the Task Manager 2. Open Konsole 3. enter `kate [path to file]` OBSERVED RESULT Kate opens the file, but does not get brought forward automatically. EXPECTED RESULT Kate opens the file, but gets brought forward.
This is kate at fault.
It's not just Kate, happens happen for any app though.
We have a few options here, all with different downsides. We could *somehow* have konsole put an XDG_ACTIVATION token into the current bash whenever konsole gets focus. I don't know if this is feasible, we're already forked from konsole at this point. We could have it so calling request_activate with an invalid token still activates the window when "Focus stealing prevention" is set to None/Low. Fastest and laziest solution that works well shortterm, but will definitely come back to haunt us when inevitability no-one fixes anything. We could have kstart5 or equivalent import the window activation protocol, then it can create a token. It means people using an alias, but that's probably fine. We could do something konsole specific https://invent.kde.org/utilities/konsole/-/commit/29440f0c2453552a050815b80a3fac3129fdf254 and requires all people to either use an alias or work it into a kstart5 equivalent.
> We could have it so calling request_activate with an invalid token still activates the > window when "Focus stealing prevention" is set to None/Low. Definitely get what you mean about fastest and laziest solution that will come back to haunt us, but I feel like it's the only general purpose way to do this short of re-engineering the entirely world around us. If we don't do this, we will still be tracking down bugs forever--just different ones, in each individual app--but the user experience will suffer in the meantime. Asking people to use an alias or kstart is probably not going to work as it requires that people 1) know this 2) remember to do it and 3) type more characters/do more work. In practice they won't.
As-is using kstart5 doesn't help. kstart5 is a windowless application, so it doesn't have a focussed surface that we can transfer focus from
*** Bug 473237 has been marked as a duplicate of this bug. ***
why double clicking a text file in dolphin raises already running Kate instance correctly? Why can't Konsole do the same?
Because of the issue tracked by this bug report.
(In reply to Nick Shaforostoff from comment #7) > why double clicking a text file in dolphin raises already running Kate > instance correctly? Why can't Konsole do the same? Because Dolphin knows that a file/window is being opened so it can request an activation token from the compositor. Konsole doesn't know that running "kate bla.txt" opens a file but "ls bla.txt" doesn't. Konsole only hosts bash or whatever shell you are using, it doesn't know what's happening inside that
Is there a workaround? This is very important part of my workflow
Ok, so at least I have got it working locally git clone https://invent.kde.org/utilities/konsole.git --branch release/22.12 cd konsole git cherry-pick 29440f0c2453552a050815b80a3fac3129fdf254 mkdir build cd build cmake .. sudo mv bin/konsole /usr/bin/konsole vim /usr/local/bin/open to add: XDG_ACTIVATION_TOKEN=`qdbus $KONSOLE_DBUS_SERVICE $KONSOLE_DBUS_WINDOW org.kde.konsole.Window.activationToken` kate $@ chmod a+x /usr/local/bin/open and BTW a related BUG: 442721
after apt dist-upgrade which updated kde to 23.08.1 the mentioned workaround no longer works :(