i3 und vmware: Wie erkennt man eine Auflösungsänderung und stellt die aktuelle Auflösung auf die neue Auflösung ein?

7

Ich benutze VMware, um Arch Linux auszuführen. Ich habe i3-Lücken eingerichtet und alles ist korrekt eingerichtet, während ich Lemonbar verwende. Mein einziges Problem ist jedoch, dass Lemonbar für die aktuelle Auflösung eingestellt ist. Wenn ich die Größe von VMware ändere, ändert sich die Auflösung und die Leiste wird nicht mehr richtig angezeigt. Was ist der beste Weg, um die Auflösung zu aktualisieren, wenn ich die Größe des VMware-Fensters verändere?

Ich verwende die neueste VMware Fusion 8.1. Im Moment verwende ich Zitronenleiste, die die aktuelle Auflösung über xrandr -q und awk ermittelt, um die Breite der aktuellen Auflösung zu ermitteln.

Andrew Phan
quelle

Antworten:

1

Eine Sache, die Sie tun könnten, ist das X11-Protokoll zu überwachen, dh tailf /var/log/Xorg.0.log.
Ich weiß nicht, wie VMware die Auflösung ändert, aber es protokolliert wahrscheinlich eine Nachricht im Protokoll, wenn dies der Fall ist, etwa:

[ 55152.166] (II) modeset(0): Allocate new frame buffer 6548x2160 stride

Dieses Protokoll kann normalerweise von einem normalen Benutzer gelesen werden, sodass Sie kein Root-Protokoll dafür benötigen.
Wenn Sie tailfstattdessen verwenden tail -f, sollte theoretisch auch noch weniger Ressourcen benötigt werden (siehe diese Antwort .)

Wenn VMware einen Befehl zum Ändern der Auflösung beim Ändern der Größe verwendet, können Sie diesen Befehl alternativ "entführen" und durch Ihren eigenen Wrapper-Befehl ersetzen, ihn das tun lassen, was Sie benötigen, und anschließend den ursprünglichen Befehl ausführen.
Da ich VMware nicht verwende, bin ich mir nicht sicher, wie sie genau damit umgehen, daher weiß ich nicht, ob dies funktionieren würde.

SharkWipf
quelle