On 2025-02-10 20:36:00 David C. Rankin via tde-users wrote:
On 2/10/25 12:06 PM, Marvin Jones via tde-users wrote:
Whoopie! I had never learned of/about `kstart` before. But, also Whoopie! Because AI can probably help with lots of 'ordinary' Trinity issues that someone (newcomers) come up with.
Combining kstart and dcop you can do amazing things with konsole sessions. I've got a short shell script that calls kstart to start a konsole session and then starts 10 more sessions in tabs, renaming each tab and for remote connection tabs, ssh'ing into the remote host - all from an icon in Quicklancher in the task bar.
Well worth looking into dcop (yes old, yes it TDE only, ...) but it works like magic in TDE/KDE3.
To get started, just:
$ dcop konsole* konsole-2075
It's a chain, so you can see the capabilities below each entry simply by typing
$ dcop konsole-2075 (and next) (and next), etc...
For example:
$ dcop konsole-2075 qt KBookmarkManager-/home/david/.kde/share/apps/konsole/bookmarks.xml KBookmarkNotifier MainApplication-Interface konsole (default) konsole-mainwindow#1 ksycoca session-1 session-10 session-11 session-12 session-2 session-3 session-4 session-5 session-6 session-7 session-8 session-9
What can you do with 'qt'?
$ dcop konsole-2075 qt QCStringList functions() QCStringList interfaces() QCStringList objects() QCStringList find(QCString)
The "QCStringList" tells you what type value will be returned. The "function()" (obvious) "interfaces()" and "object()" will all list what is available for that type that you can use -- generically with dcop.
What can you do with "dcop konsole-2075 konsole"? or the "dcop konsole-2075 konsole-mainwindow#1"? have a look. For running open konsole sessions, if you want to to it to a session, you can, e.g.
$ dcop konsole-2075 session-1 QCStringList interfaces() QCStringList functions() void feedSession(QString text) void sendSession(QString text) bool closeSession() bool sendSignal(int signal) void clearHistory() void renameSession(QString name) QString sessionName() int sessionPID() QString schema() void setSchema(QString schema) QString encoding() void setEncoding(QString encoding) QString keytab() void setKeytab(QString keyboard) QSize size() void setSize(QSize size) QString font() void setFont(QString font)
You can literally control every aspect of konsole (or any TDE app) with dcop. Very handy. Really easy too. If I want to know the size?
$ dcop konsole-2075 session-1 size 115x58
Or rename a session, use renameSession(QString name), so set the size of the window, use setSize(QSize size), etc...
The only thing I haven't figured out a way to set is the tab-color, but that's for another day.
I find this discussion about Konsole interesting. When I log out of my desktop session and back in, each of my Konsole windows, and all of their tabs, are restored just as they were when I logged out. Perhaps my use of the Terminal Sessions applet provides this feature? I also use Konsole's bookmark feature to provide convenient access to selected locations in the filesystem tree.
Leslie -- Platform: Linux Distribution: openSUSE Leap 15.6 - x86_64 Desktop Environment: Trinity Qt: 3.5.0 TDE: R14.1.3 tde-config: 1.0