[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Über Skript mehrere Tabs in Konsole öffnen



Am Dienstag, 7. August 2012 schrieb Andre Tann:
> Servus zusammen,

Hi Andre,

> mit diesem [¹] Schnippsel versuche ich, eine konsole (also das
> KDE-Konsolen-Programm) und darin dann mehrere Tabs zu öffnen.
> Anschließend sollen ssh-Verbindungen auf allerlei Server hergestellt
> werden.
> 
> Das funktioniert im Prinzip auch soweit. Allerdings öffnen sich die
> Tabs nicht in einer neu gestarteten konsole, sondern in irgend einer
> konsole, die gerade irgendwo offen ist.
> 
> 
> Hat jemand eine Idee, wie ich erreichen kann, daß die Tabs in einer
> bestimmten, extra neu gestarteten Konsole öffnen?
[…]
> [1]
> 
> #!/bin/bash
[…]
> #####################################################################
> # Start sessions in konsole.
> function start_sessions()
[…]
>         echo "Creating $name: $command"
>         # Starting with a specific profile appears to be broken.
>         #local session_num=$(qdbus org.kde.konsole /Konsole newSession
>                                                        $profile $HOME)
>         local session_num=$(qdbus org.kde.konsole /Konsole newSession)

Von den anderen Methoden da, um Sitzungen nach links / rechts zu 
verschieben, denke ich, dass hier Tabs gemeint sind

Ein neues Fenster gibts mit

qdbus org.kde.konsole /MainApplication 
org.kde.KUniqueApplication.newInstance

Allerdings kommt da immer Null zurück. Ich weiß also noch nicht ganz, wie 
sich genau dieses Fenster dann verwenden läßt, zumal die newSession-
Methode offenbar keine Fenster-ID als Argument nimmt und die MainWindows 
keine Methode haben, die geeignet erscheint.

Es ist noch möglich an eine Fenster-ID zu kommen:

martin@merkaba:~> qdbus org.kde.konsole  /konsole/MainWindow_4 
org.kde.KMainWindow.winId           
58720533

Allerdings ist MainWindow_4 ja auch geraten. Und wo läßt sich die ID dann 
angeben?

Auf den ersten Blick sieht mir das nach einer Lücke in der DBUS-API von 
Konsole aus – wenn ich da jetzt nichts übersehe. Vielleicht gibts aber 
noch irgendwie ne Möglichkeit, das aktive Fenster zu setzen.

Merkwürdig, da die API ja sonst recht komplett ausschaut.


Ich empfehle einen Feature-Wunsch auf bugs.kde.org – an der Konsole 
arbeiten immer wieder KDE-Entwickler, könnte also gut sein, dass jemand da 
was einbaut. Ich würd das Skript als Beispiel mit in den Report und meine 
Versuche hier mit reinpacken.


Das mit den Profilen geht hier:

martin@merkaba:~> qdbus org.kde.konsole /Konsole profileList           
Terminal
Shell
Shell mit hellgelben Hintergrund
Shell mit weißem Hintergrund
martin@merkaba:~> qdbus org.kde.konsole /Konsole newSession "Shell mit 
hellgelben Hintergrund" /tmp
28
martin@merkaba:~>

Profil muss allerdings im Menü sein, die anderen sehe ich mit profileList() 
nicht. IMHO ein Bug.


Screen ist natürlich auch eine Alternative.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: