Soo… If we could figure out how to do the first one via DBus/from the command line, you could put both in a script and bind that to a (global or so) shortcut, and be set. (?)
What qdbus command line exactly are you using to post input to the shell within Konsole?
I’ll have a look later when I’m at my desktop again (and hopefully will remember).
Thank you!
This is what I came up with.
So you’d save the scripts somewhere you like, and run the
useThisSession
one in the session you’d like to be the target.Then, you can run / bind to a shortcut / … the
runCommand
script, and it will show, raise, set Session, and run the command on the target saved earlier.useThisSession.sh
:#!/bin/bash # useThisSession echo MYCMD_SERVICE=$KONSOLE_DBUS_SERVICE > ~/.config/mycmdrc echo MYCMD_SESSION=${KONSOLE_DBUS_SESSION#/Sessions/} >> ~/.config/mycmdrc echo MYCMD_WINDOW=${KONSOLE_DBUS_WINDOW#/Windows/} >> ~/.config/mycmdrc
runCommand.sh
:#!/bin/bash # runCommand . ~/.config/mycmdrc qdbus $MYCMD_SERVICE /konsole/MainWindow_$MYCMD_WINDOW showNormal qdbus $MYCMD_SERVICE /konsole/MainWindow_$MYCMD_WINDOW raise qdbus $MYCMD_SERVICE /Windows/$MYCMD_WINDOW setCurrentSession $MYCMD_SESSION qdbus $KONSOLE_DBUS_SERVICE /Sessions/$MYCMD_SESSION runCommand "echo cmd"
For testing purposes, I’m using
"echo cmd"
instead of'!!'
(note the different type of quotes) to not cause any… unintended… executions.Running
qdbus $MYCMD_SERVICE /konsole/MainWindow_$MYCMD_WINDOW
will show you all methods available on the Window, eg, so you can pick&choose from those if you want different behaviour from show (& un-minimize) and raise.EDIT: syntax adjusted to work in ‘regular’ bash