Erlauben Sie, dass Fenster das Panel oben oder unten überlappen

Erlauben Sie, dass Fenster das Panel oben oder unten überlappen

Ich möchte oft nur den oberen oder unteren Teil eines Fensters auf dem Bildschirm haben. Ich möchte nicht, dass ein Programm den ganzen Bildschirm einnimmt. Ich muss beispielsweise auf eine Berechnung verweisen, die unten in einem großen Fenster angezeigt wird. Um auf diese Berechnung zu verweisen und dann in einem anderen Fenster darüber zu schreiben, möchte ich die Berechnung so neu positionieren, dass nur der unterste Teil des Berechnungsfensters angezeigt wird. (Ich muss weder die Titelleiste noch die Pulldown-Menüs oder die ersten zwei Drittel des Berechnungsfensters sehen.)

Soweit mir bekannt ist, weisen derzeit alle „Desktops“ für Linux eine Einschränkung auf, die es unmöglich macht, ein Fenster so zu verschieben, dass es sich oben oder unten in der Mitte des Bildschirms befindet.

In den goldenen Tagen der Fenstermanager (WindowMaker war fantastisch!) war das kein Problem. Soweit ich mich erinnern kann, gab es keine erzwungenen „Grenzen“, die verhinderten, dass Bedienfelder verdeckt wurden. Das Problem begann, soweit ich mich erinnere, mit Gnome und KDE. Als Compiz auf den Markt kam, erzwang es eine Richtlinie, dass ein Fenster nicht so neu positioniert werden konnte, dass seine Titelleiste außerhalb des Bildschirms lag, aber ccsm hatte eine Option, die es einem eifrigen Benutzer ermöglichte, dies zu ändern (ich erinnere mich, sie hieß „constrain-Y“). Als ich anfing, OpenBox- und XFWM4-basierte Systeme zu verwenden, vermisste ich diese Möglichkeit.

Mir schien, dass die Autoren der Panels den Vorrang ihres Produkts zu aggressiv verteidigten. Ich muss die Gnome- oder XFCE4-Panels einfach nicht sehen, wenn ich gerade etwas schreibe.

Edit: Ich habe einen Screenshot gemacht, als ich die Antwort auf den Kommentar unten eingetippt habe. Siehe hier: Screenshot mit dem unteren Teil von Firefox

Antwort1

Vor einiger Zeit habe ich eine Lösung gefunden, die ich teilen möchte. Dabei wird verwendet wmctrl, ein für Debian/Ubuntu verfügbares Programm, das mit jedem EWMH/NetWM-kompatiblen X Window Manager interagieren kann. Ich habe damit Erfolg in OpenBox, XFWM4 und jedem anderen NetWM-Standard-kompatiblen Window Manager.

Hier ist ein 2-zeiliges Bash-Skript, das ich ``togglePanelBelow.sh`` nenne.

#!/bin/bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b remove,above"}' | bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b add,below"}' | bash

Dadurch können normale Fenster so neu positioniert werden, dass sie das Panel überlappen.

Dies wmctllistet die vorhandenen Fenster auf, filtert nach Fenstern mit „Panel“ im Namen und verwendet es dann wmctrlerneut, um diese Panels anzuweisen, unter den Fensterstapel zu gehen. Es sind zwei Schritte erforderlich, da das Skript irgendwann im Jahr 2015 nicht mehr funktionierte, weil die Eigenschaften nicht geändert werden konnten. Sie müssen entfernt und dann neu eingestellt werden.

Wenn Sie das Panel wie zuvor über normalen Fenstern sehen möchten, führen Sie aus togglePanelAbove.sh.

#!/bin/bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b remove,below"}' | bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b add,above"}' | bash

Wenn Sie ein Fenster halb auf dem Bildschirm positionieren und dann „togglePanelAbove“ ausführen, überlappt das Panel das Fenster.

Ich habe dafür Tastenkombinationen konfiguriert und es hat nie Probleme gegeben.

Dies ist nicht wirklich eine Frage, sondern nur ein „Seht euch mal dieses tolle Ding an, das ich gefunden habe“-Beitrag. Eine Frage wäre vielleicht: Funktioniert das in Ihrem gewählten Fenstermanager? Können Sie bestätigen, dass es in OpenBox und XFWM4 einwandfrei ist, und was ist mit anderen? Ich hatte zum Beispiel keine Lust, es in Enlightenment zu testen.

verwandte Informationen