I3: Erstellen eines neuen Arbeitsbereichs mit einem neuen Terminal im Hintergrund

Erstellt am 13. Okt. 2019  ·  4Kommentare  ·  Quelle: i3/i3

Ich reiche ein…

 [x] Fehler
 [ ] Featureanfrage
 [ ] Dokumentationsanfrage
 [ ] Sonstiges (Bitte ausführlich beschreiben)

Aktuelles Verhalten


Es wird kein neuer Arbeitsbereich erstellt, nachdem ich den Befehl an i3-msg gesendet habe und ein neues Terminal im aktuellen Arbeitsbereich geöffnet wird

Erwartetes Verhalten


Ich versuche, ein neues Terminal in einem anderen Arbeitsbereich zu öffnen, dann zu meinem aktuellen Arbeitsbereich zurückzukehren und nicht zu diesem neuen Arbeitsbereich zu wechseln

Ich erwarte, während ich im dev1-Arbeitsbereich bin und indem ich diese Nachricht unten an i3-msg sende, wird ein neuer Arbeitsbereich mit einem Terminal darin erstellt. Ich möchte nicht sofort zu diesem Arbeitsbereich wechseln. Ich möchte, dass es im Hintergrund passiert und nicht zum neuen fokussierten Arbeitsbereich wird

i3-msg "workspace dev2; exec terminator -b; workspace dev1;"
## Reproduktionsanweisungen ## Umfeld Ausgabe von `i3 --moreversion 2>&-`:
 i3-Version: 
 i3 --mehrversion 2>&- || i3 --version
 Binäre i3-Version: 4.17.1-2-g225ebb0d (2019-08-30, Zweig "Master") © 2009 Michael Stapelberg und Mitwirkende
 Laufende i3-Version: 4.17.1-2-g225ebb0d (2019-08-30, Zweig "Master") (pid 10228)
 Geladene i3-Konfiguration: /home/ymo/.config/i3cmd/conf/config.dev (Zuletzt geändert: So 13 Okt 2019 10:14:27 EDT, 609 Sekunden her)

 Die gerade aufgerufene i3-Binärdatei: /opt/i3/i3-master-225ebb0d/bin/i3
 Die von Ihnen ausgeführte i3-Binärdatei: i3

 Logfile-URL:
 https://logs.i3wm.org/logs/5632254176919552.bz2

 - Linux-Verteilung und -Version:
 $ lsb_release -a 
 Es sind keine LSB-Module verfügbar.
 Vertriebs-ID: Ubuntu
 Beschreibung: Ubuntu 18.04.3 LTS
 Veröffentlichung: 18.04
 Codename: bionic

 - Verwenden Sie einen Compositor (zB xcompmgr oder compton):
 Kein Komponist. Das System ist das Standard-Ubuntu-System, abgesehen von der Tatsache, dass ich i3 vom neuesten Master neu kompiliert habe
4.17 bug

Hilfreichster Kommentar

Wie ich bereits zu dem anderen Thema kommentiert habe:

Es funktioniert auch nur, wenn die Anwendung das Startbenachrichtigungsprotokoll tatsächlich unterstützt. Andernfalls müssen Sie for_window-Zuweisungen verwenden

exec wird verwendet, um einen Prozess zu starten, aber wenn ein Prozess jemals ein Fenster öffnet, wann er dies tut oder wie viele es öffnet, ist ein völlig anderes Thema. Wechseln in einen Arbeitsbereich, Starten eines Prozesses und Zurückschalten bringt also nichts, da sich das Fenster zu einem späteren Zeitpunkt öffnet. Das Startbenachrichtigungsprotokoll ist das, was wir verwenden, um einen Prozess mit den Fenstern zu verknüpfen, die er öffnet, aber es erfordert die Unterstützung der Anwendung.

Ihre anderen Optionen hier sind, entweder for_window Zuweisungen zu verwenden (siehe auch diese: https://www.reddit.com/r/i3wm/wiki/faq/bind_emulator und https://www.reddit.com/ r/i3wm/wiki/faq/assign_emulator) oder Layout speichern und wiederherstellen (https://i3wm.org/docs/layout-saving.html), abhängig von Ihrem Anwendungsfall.

Alle 4 Kommentare

Wie ich bereits zu dem anderen Thema kommentiert habe:

Es funktioniert auch nur, wenn die Anwendung das Startbenachrichtigungsprotokoll tatsächlich unterstützt. Andernfalls müssen Sie for_window-Zuweisungen verwenden

exec wird verwendet, um einen Prozess zu starten, aber wenn ein Prozess jemals ein Fenster öffnet, wann er dies tut oder wie viele es öffnet, ist ein völlig anderes Thema. Wechseln in einen Arbeitsbereich, Starten eines Prozesses und Zurückschalten bringt also nichts, da sich das Fenster zu einem späteren Zeitpunkt öffnet. Das Startbenachrichtigungsprotokoll ist das, was wir verwenden, um einen Prozess mit den Fenstern zu verknüpfen, die er öffnet, aber es erfordert die Unterstützung der Anwendung.

Ihre anderen Optionen hier sind, entweder for_window Zuweisungen zu verwenden (siehe auch diese: https://www.reddit.com/r/i3wm/wiki/faq/bind_emulator und https://www.reddit.com/ r/i3wm/wiki/faq/assign_emulator) oder Layout speichern und wiederherstellen (https://i3wm.org/docs/layout-saving.html), abhängig von Ihrem Anwendungsfall.

Da dies eines der am häufigsten auftretenden Probleme ist, denke ich, dass wir ein Skript bereitstellen können, das wie eine einmalige for_window Regel funktioniert.

Eine andere Möglichkeit wäre das Erstellen von Match-Regeln zur Laufzeit und auch mit einem "Gültigkeitszähler" (oder ähnlichem). Ich habe das Gefühl, dass wir dafür schon einmal ein Problem hatten, aber es könnte geschlossen sein.

Danke Leute für eure Hilfe. Sehr geschätzt!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen