Mac
Ruhezustand im Coherence-Modus
Auf dem iMac nutze ich Windows im Coherence-Modus. Das bedeutet, dass eine Windows-Anwendung so angezeigt wird, als wäre sie eine native Mac-Anwendung. Natürlich so, wie sie auch unter Windows zu sehen ist, aber eben ohne einen Windows-Desktop im Hintergrund.
Schon seit längerem hat mich gestört, dass sich die Schrift im Quelltextfenster von Visual Studio manchmal extrem vergrößert bzw. verkleinert, wenn man unmittelbar nach dem Aufwachen aus dem Ruhezustand mit dem Trackpad scrollen möchte. Es hat sich gezeigt, dass dies nur passiert, wenn Visual Studio im Vordergrund ist, wenn man den iMac mit Alt+Cmd+Eject in den Ruhezustand versetzt. In diesem Fall führt auch das Drücken von F4 sofort nach dem Aufwachen zum Schließen von Visual Studio. Das Problem tritt nicht auf, wenn eine Mac-Anwendung im Vordergrund ist oder vor dem Ruhezustand der Desktop angeklickt wird.
In dieser Woche bin ich das Problem endlich einmal angegangen und habe den Support von Parallels kontaktiert. Dieser hat sich bei mir eingeloggt und ein paar Sachen probiert, was aber nicht zu einer Lösung führte.
Ein intensives Nachdenken führte mich dann aber zur Ursache dieses Phänomens. Ist eine Windows-Anwendung beim Drücken von Alt+Cmd+Eject im Vordergrund, dann bekommt Windows nur die gedrückte Alt-Taste mit und setzt das entsprechende Status-Flag. Anschließend wird der iMac (und damit auch die Windows-VM) sofort in den Ruhezustand versetzt. Nach dem Aufwachen ist für Windows die Alt-Taste immer noch gedrückt, weil es vom Loslassen der Taste nichts mitbekommen hat. So führt z.B. ein Drücken von F4 zum sofortigen Schließen der Anwendung, ohne dass die Alt-Taste dazu gedrückt werden muss.
Zur Behebung dieses Problems müsste Parallels also das Drücken von Alt+Cmd+Eject erkennen und in diesem Fall auf das Weiterleiten der Alt-Taste an Windows verzichten. Darauf habe ich aber keinen Einfluss und mich deshalb auf die Suche nach einer eigenen Lösung gemacht.
Erforderlich sind dafür nur zwei Programme, die eigentlich auf jedem Mac installiert sind. Mit Karabiner ändert man die Eject-Taste auf F15. Anschließend erstellt man im BetterTouchTool für Cmd+Eject eine neue Aktion Sleep Computer, die hier als Cmd+F15 angezeigt wird. Nun kann man den iMac mit Cmd+Eject in den Ruhezustand versetzen, ohne Windows zu verwirren.