Speichern von Fensterpositionen (und vorzugsweise auch Größen) in Ubuntu 14.04

13

Ich habe gerade Ubuntu 14.04 neben Windows installiert und finde eine Sache sehr irritierend. Das heißt, wenn ich eine Anwendung öffne, wird sie oben links auf dem Bildschirm geöffnet.

Das erste, was ich für jede geöffnete Anwendung tun muss, ist, sie in die Mitte des Bildschirms zu verschieben (oder wo immer ich will). Dann schließe ich später die App. Aber beim nächsten Mal ist es wieder oben links auf dem Bildschirm!

Ich habe verwandte Fragen zu AskUbuntu und im Internet gelesen. Allerdings habe ich mich gefragt , ob es für 14.04 Benutzer eine bessere Lösung für dieses Problem gibt , da diese Fragen in Bezug auf Ubuntu 12 .04 gestellt wurden . Sollte so etwas nicht in den Einstellungen sein? Ich meine, das ist wirklich nur gesunder Menschenverstand. Ist es nicht Ich weiß es wirklich nicht mehr.

jay_t55
quelle
3
Mit CCSM (Compiz Config Settings Manager) können Sie die Fenstereinstellungen steuern. sudo apt-get compizconfig-settings-manager(falls noch nicht installiert)
Keine Zeit

Antworten:

5

( Meine andere Antwort beschreibt, warum das Wiederherstellen einer Fensterposition für den allgemeinen Fall nicht möglich ist.)

In besonderen Fällen, in denen das Speichern und Wiederherstellen einer Fensterposition möglich ist, können Sie mithilfe von Shell-Skripten die Position oder Geometrie (Geometrie ist Position plus Größe) für Fälle speichern und wiederherstellen, die von der Fenstermanagerkonfiguration nicht verarbeitet werden können (siehe unten).

Es gibt verschiedene Befehlszeilentools zum Lesen und Festlegen der Eigenschaften von Fenstern, z. B. wmifaceund wmctrl.
Ein minimales Beispiel:

Abrufen der Geometrie eines Fensters im X-Geometrieformat (normalerweise BxH + X + Y) (Beachten Sie die Y-Koordinate - ich verwende 16 virtuelle Compiz-Desktops / -Ansichtsfenster):

$ wmiface windowGeometry 46137711
1256x814+1186+5005

Verschieben Sie das Fenster an eine andere Stelle (beachten Sie das andere Format für Geometrie):

wmctrl -i  -r 46137711 -e "0,1186,4005,1256,814"


Ein anderer Ansatz besteht darin, feste Positionen für bestimmte Fenster zu definieren, anstatt deren Position wiederherzustellen. Dies kann normalerweise in den Details der Konfiguration der Fensterbehandlung konfiguriert werden, wie z ccsm.

Volker Siegel
quelle
In der obigen Antwort, wmifacedie ein bisschen veraltet ist und nicht für Ubuntu gepackt ist, kann sie durch xdotool getwindowgeometryoder ersetzt werden wmctrl -lGi | grep(Hexadezimal-Konvertierung erforderlich). Für mich ignorieren beide ein Panel am unteren Bildschirmrand, aber da es auch wmctrl -lGiseine Größe wiedergibt, kann die Fensterposition / -größe nach einiger Zeit gesichert und wiederhergestellt werden. Was auch immer der Anwendungsfall sein mag.
Ufos
Im Allgemeinen habe ich mich dazu entschlossen, auf wmctrl -lGidie gleiche Weise wie in der Antwort beschrieben zu sichern und wiederherzustellen.
Ufos
3

Installieren Sie ccsm (CompizConfigSettingsManager).

Führen Sie nach dem Start von ccsm (über die Unity Search-Schaltfläche gestartet) die folgenden Schritte aus:

(Klicken Sie auf) Windows Manager
(Klicken Sie auf) Windows platzieren

Verwenden Sie diese Einstellungen:

Problemumgehungen Unticked
Multi Output ModePlace across all outputs

Der Platzierungsmodus Smart ist der Schlüssel zum Speichern Ihrer gewünschten Position.

Bitte beachten Sie, dass einige Anwendungen so programmiert sind, dass sie die von Ihrem System vorgegebenen Einstellungen überschreiben.

LD James
quelle
2

Fensterpositionen sind nicht so einfach zu handhaben, wie es der "gesunde Menschenverstand" vermuten lässt.
Eine Position ist relativ zu einer Referenz - wie "der Bildschirm". Es gibt jedoch so viele Varianten dessen, was "der Bildschirm" hier bedeuten könnte (siehe unten), dass es nicht möglich ist, Positionen generell zu speichern.

Natürlich kann dies auf verschiedene Arten geschehen, die an eine bestimmte Umgebung angepasst sind - aber wenn es darum geht, "nur eine Position zu speichern und später wiederherzustellen", ist dies nicht möglich, da das Koordinatensystem, in dem die Position wiederhergestellt werden soll, unklar ist.

Was ist also schwierig daran, ein Fenster an einer bestimmten Position auf einem Bildschirm anzuzeigen?

Unter Ubuntu kann sich - wie auf jedem modernen X11-basierten System - der "Bildschirm" während der Laufzeit auf verschiedene Weise ändern.

Beispielsweise kann sich die Form ändern. Von einem Rechteck zu zwei Rechtecken nebeneinander zu drei Rechtecken mit unzugänglichem Zwischenraum. Der "virtuelle Desktop" kann sich ändern. Das Ansichtsfenster kann sich ändern. Beeinflusst jeweils die Koordinaten, die wiederhergestellt werden würden.

Ein besonderes Problem besteht darin, sicherzustellen, dass nichts aus dem aktuell zugänglichen Bereich des "Bildschirms" verschoben wird.


Zum Seitenproblem des Öffnens von Fenstern oben links: Sie können einen von mehreren Algorithmen auswählen, um zu entscheiden, wo ein neues Fenster in den Einstellungen für die Fensterbehandlung platziert werden soll (z. B. in ccsm). Beispielsweise könnten Sie sie dort öffnen lassen, wo sich der aktuelle Mauszeiger befindet.

Volker Siegel
quelle
1

Nur für den Fall, dass jemand hier landet und wirklich will, dass Windows dort ist, wo Sie es hingestellt haben - installieren Sie Enlightenment Desktop. Sie können mit der rechten Maustaste auf das Symbol oben links auf jeder Seite klicken, ein Fenster auswählen, sich erinnern und Größe und Position auswählen. Ich liebe diese Option und bin einer der Gründe, warum ich bei e17 bleibe.

Ikura Prime
quelle
Enligihtment ist wie "Erinnern an Fensterpositionen" auf Steroiden.
WinEunuuchs2Unix