suche WINDOWID variable

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

suche WINDOWID variable

Beitrag von weedy » 26.07.2018 20:45:50

Hi,

ich habe hier ein Ubuntu System, das hat in jeder bash die Umgebungsvariable WINDOWID, die besagt, in welcher X-Terminalemulation die bash gestartet wurde.

Dann habe ich noch ein Debian Jessie, das hat diese WINDOWID nicht und ich weiß einfach nicht, wo die herkommt und wie ich die einschalten kann.

Wenn jemand bescheid weiß, wie ich an diese Variable komme, dann wäre das ziemlich genial.

Danke im Voraus.

Gruß
weedy.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: suche WINDOWID variable

Beitrag von eggy » 26.07.2018 21:07:22

Kurzes Suchmachinenbefragen lässt vermuten, dass es vom Terminalemulator abhängt, ob die Variable gesetzt ist oder nicht.
Benutzt Du evtl nen anderes Terminal in Ubuntu als in Debian (oder in ner anderen Version)?

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: suche WINDOWID variable

Beitrag von weedy » 26.07.2018 21:18:08

eggy hat geschrieben: ↑ zum Beitrag ↑
26.07.2018 21:07:22
Kurzes Suchmachinenbefragen lässt vermuten, dass es vom Terminalemulator abhängt, ob die Variable gesetzt ist oder nicht.
Benutzt Du evtl nen anderes Terminal in Ubuntu als in Debian (oder in ner anderen Version)?
Tatsache, Du hast recht. Unter ubuntu nutze ich das xfce4-terminal und unter debian jessie lxterminal. Ich dachte allen ernstes, weil diese WINDOWID unter xfce4-terminal und gnome-terminal sichtbar ist, dass diese nicht von der Terminalemulation selber kommen, sondern irgendwie von X, was ja auch sinnvoll wäre.

Dann stellt sich mir jetzt nur noch die Frage, wie ich dem lxterminal beibringe, eine WINDOWID zu generieren.

Gruß

Huo
Beiträge: 605
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: suche WINDOWID variable

Beitrag von Huo » 26.07.2018 21:40:14

weedy hat geschrieben: ↑ zum Beitrag ↑
26.07.2018 21:18:08
Dann stellt sich mir jetzt nur noch die Frage, wie ich dem lxterminal beibringe, eine WINDOWID zu generieren.

Code: Alles auswählen

~$ xwininfo -int -name "lxterminal" | grep "Window id"
xwininfo: Window id: 41943041 "lxterminal"

Benutzeravatar
smutbert
Moderator
Beiträge: 8314
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: suche WINDOWID variable

Beitrag von smutbert » 26.07.2018 21:45:35

Eine ganz allgemeine Lösung ist imho nicht so einfach, aber abhängig davon was du vor hast, lässt sich vielleicht eine Lösung finden. Wenn das Terminal beispielsweise aktiv ist, kann man die Window ID recht leicht herausfinden, zum Beispiel mit Debianxdotool

Code: Alles auswählen

$ xdotool getactivewindow
das allerdings die ID nicht hexadezimal liefert. Dazu müsstest du das noch konvertieren

Code: Alles auswählen

$ WINDOWID=$(printf 0x%x $(xdotool getactivewindow))
Je nachdem was du vorhast könntest du diesen Befehl – in der nicht zwangsweise richtigen Annahme, dass ein neu gestartetes Terminalfenster das aktive Fenster ist – beim Start des Terminalemulators mit der ~/.bashrc ausführen lassen, sinnvollerweise so, dass der Befehl nur ausgeführt wird, wenn es sich auch um ein Terminalfenster handelt und nicht um eine auf einem Text-VT laufende Shell oä
Meist ist in einem Terminalfenster $TERM auf xterm* (oder eventuell rxvt*) gesetzt, dann ließe sich das so machen (die Abfrage hab ich aus der default-bashrc von Debian geklaut)

Code: Alles auswählen

case "$TERM" in
xterm*|rxvt*)
    WINDOWID=$(printf 0x%x $(xdotool getactivewindow))
    ;;
esac

Antworten