Wygląda na to, że problem polega na tym, że kiedy podłączam zewnętrzny ekran, miesza on z układem współrzędnych ekranu mojego Maca, skutecznie zmieniając początek mojego ekranu według rozdzielczości ekranu zewnętrznego.
Innymi słowy, z punktu widzenia XQuartz, pochodzenie ekranu mojego Maca zmienia się z 0,0 na 2560,1440 (co jest rozdzielczością mojego zewnętrznego ekranu).
Oznacza to, że jeśli Inkscape jest gdzieś blisko początku (0,0), ale nadal jest powiązany z głównym ekranem mojego Maca, nie pojawia się na ekranie zewnętrznym ani na ekranie głównym. Zasadniczo znajduje się w "zawieszeniu" między dwoma ekranami.
Rozwiązaniem jest przeniesienie okna Inkscape na nową współrzędną, która uwzględnia rozmiar ekranu zewnętrznego, i to jest miejsce, w którym wmctrl
przydaje się:
brew install wmctrlwmctrl -r Inkscape -e 0,2560,1440,1200,700
Oczywiście, że potrzebujesz aby zamienić 2560,1440
na rozdzielczość własnego ekranu zewnętrznego i 1200,700
w celu dopasowania do rozdzielczości ekranu głównego.
Aby było wygodniej Utworzyłem 2 alias, aby naprawić współrzędne odpowiednio dla mojego ekranu Maca i ekranu zewnętrznego:
alias fixInkscape = 'wmctrl -r Inkscape -e 0,2560,1440,1200,700 'alias fixInkscapeExt =' wmctrl -r Inkscape -e 0,0,0,2560,1300 '
Pamiętaj, że każdy alias działa tylko na ekranie, z którym jest powiązany Inkscape, nadal potrzebujesz przeciągnij i upuść okno w celu przełączania ekranów. wmctrl
nie zrobi tego automatycznie, ale z pewnością pomaga „wyłowić” go z otchłani.