Befehl zum Verschieben eines Fensters auf alle Desktops

8

Ich möchte in der Lage sein, ein vorhandenes Fenster mit einem skriptfähigen Befehl auf alle Desktops zu verschieben (zu pinnen), anstatt über das Fenstermenü.

wmctrl -r <WIN> -t <DESK>verschiebt ein Fenster auf einen anderen Desktop, aber ich habe keine Möglichkeit gefunden, dies zu verwenden, um das Fenster auf allen Desktops anzuzeigen. wmctrl -lwird -1als Desktop-Nummer für Fenster angezeigt, die auf allen Desktops angezeigt werden, die Übergabe -1an -tfunktioniert jedoch nicht.

Ein ungelöster Fedora-Fehlerbericht scheint dieses Problem zu beheben : Anscheinend wird der Wert -1 intern von verwendet wmctrlund kann aus diesem Grund nicht an übergeben werden -t. Der Fehlerbericht erwähnt auch, dass Fenster mit einigen Fenstermanagern angeheftet werden können, indem dem Zielfenster die Sticky- Eigenschaft zugewiesen wird . Ich verwende jedoch Openbox und dieser Ansatz scheint für mich nicht zu funktionieren. Es gibt tatsächlich einen Patch für diesen Fehlerbericht. Ich habe es nicht versucht. Es ist aus dem Jahr 2009. Ich würde es vorziehen, Patches wmctrloder andere Dinge zu vermeiden .

Gibt es eine andere Möglichkeit, dieses Verhalten unter Openbox zu skripten?

intuitiv
quelle
Funktioniert auch nicht mit Metacity 2.22.0. Es scheint mir, dass die wmctrl-Entwicklung ins Stocken geraten ist. Der letzte Eintrag im Changelog stammt aus dem Jahr 2005. Das Problem liegt auf der Hand. Das Programm benötigt einen neuen Betreuer. Wenn Ihnen das Programm gefällt und das Programm gepatcht werden muss, tun Sie es. So funktioniert Open Source.
Ceving

Antworten:

4

Wie ein Benutzer in den Kommentaren sagte, wmctrlwurde es seit Oktober 2005 nicht mehr berührt. Es ist sehr wahrscheinlich, dass das Feature zu diesem Zeitpunkt funktioniert hat und seitdem aufgrund von Paketen, die sich um es herum ändern, kaputt gegangen ist.

Hier ist das wmctrl Changelog

n0pe
quelle
1

Ab wmctrl v1.07 -t -2funktioniert für mich.

Tim Green
quelle
1
Das hat früher bei mir funktioniert, aber jetzt nicht (immer noch auf v1.07). Allerdings -b add,stickyfunktioniert
David Fraser
hinzufügen, klebrig funktioniert nicht auf kde Plasma auf kubuntu. Aber -t -2 hat es geschafft, danke
Syco
Weder -tnoch stickyarbeiten für mich auf LXQt und Openbox.
Murphy
1

xdotool search --name xyz set_desktop_for_window 4294967295

Alastair Irvine
quelle
4294967295 ist -1 als vorzeichenlose 32-Bit-Ganzzahl. -1 kann nicht verwendet werden, da xdotool set_desktop_for_window -1es als Option interpretiert wird, obwohl es einem Befehl folgt und der von zurückgegebene Wert ist xdotool get_desktop_for_window.
Alastair Irvine