1

I have a 3-monitor setup, except that 1 of my monitors is attached to a KVM switch that I switch between my computers. It seems like when Awesome WM starts up without the 3rd monitor accessible to it, it refuses to recognize it from that point on until the next reboot (simply restarting Awesome WM doesn't work).

The odd thing is, xrandr is aware of the monitor, and I can even see my mouse pointer appear there when I move it into the 3rd monitor, but the rest of it is black. Dragging windows there makes them disappear and Awesome WM does not render anything on this screen until the reboot.

I'm assuming this has something to do with how Awesome recomputes the screen geometry available to it but I'm not sure how to force it to recompute it? I've already enabled both secondary monitors via a couple bash commands I use:

xrandr --output DP-2-2 --auto --right-of eDP-1
xrandr --output DP-2-1 --auto --right-of DP-2-2

When I run xrandr --current, it claims all 3 monitors are connected and shows correct resolution for each. I did some searching, but there isn't much help on this issue, I believe it's a similar issue to the one reported here: https://www.reddit.com/r/awesomewm/comments/6rhvp9/switching_monitor_setups

How do I get Awesome to redraw into the 3rd monitor and use it correctly? Also, how can I get Awesome to dynamically handle addition/removal of monitors (this is a laptop connected to a docking station)? I tried screenful, but that repo seems out of date and seems to do more harm than good for me, with monitor flickering if I start with multiple and then unplug from docking station.

Alexander Tsepkov
  • 3,946
  • 3
  • 35
  • 59
  • Do I understand it correctly: You can drag a window with the mouse to the other monitor and the mouse pointer appears on the monitor, but the window disappears? That... should be almost impossible unless you have zaphod mode. Can you run `xdpyinfo | grep 'screen #'` and tell us how many protocol screens there are? It should be only one. Otherwise it is impossible to move windows between screens in X11. You can then spawn windows on the other screen e.g. with `DISPLAY=:0.1 xterm` – Uli Schlachter May 05 '19 at 10:18
  • Your understanding is correct, only the portion of the window on the black screen disappears, however, the part of the window on the original screen still gets drawn. The command you suggested only outputs `screen #0:`. Spawning a command with `DISPLAY=:0.1` reports that it can't open the display, only :0.0 works, and uses the same display as the terminal executing the command (tried on all 3 displays by dragging the terminal there - on the one not rendering I don't see it spawn). I can also grab the window I dragged to not-rendering monitor and bring it back - by remembering its position). – Alexander Tsepkov May 05 '19 at 19:28
  • Uhm, okay. Only other thing that comes to my mind: Is this AwesomeWM-specific? Do things work with e.g. Fluxbox? – Uli Schlachter May 06 '19 at 06:28
  • I installed Awesome WM on top of Xfce version of Linux Mint, when I switch to Xfce, all 3 monitors work, so it seems like this is an Awesome WM issue. – Alexander Tsepkov May 06 '19 at 13:51

1 Answers1

0

If you have a compositor like compton running, try restarting it after turning on the screen with (x|a)randr and optionally refreshing awesome.

Conner Phillips
  • 403
  • 4
  • 7