Virtual Monitor Seems to Replace First Monitor
Closed this issue · 9 comments
I have three screens, the laptop (eDP-1-1) on the left and two external monitors (DP-1-2-2 and DP-1-3-2) to the right. I'm using xmonad as my window manager with 9 workspaces.
If I put the clipscreen monitor on screen 2 or 3, screen 1 can no longer display workspaces. Otherwise, clipscreen seems to work as designed: I can drag windows on top of it.
If I put the clipscreen monitor on screen 1, as soon as a drag a window over the clipscreen monitor, it starts acting like screen 1, displaying a workspace, and I can switch which workspace is displayed within the clipscreen screen.
If I disable the external monitors and start clipscreen on the laptop screen, no workspace is displayed. If I start an application, e.g. xeyes, and drag it into the clipscreen window, a workspace is displayed. If I change the workspace, nothing is displayed until I drag a window over the clipscreen monitor, which causes the workspace to be displayed.
sorry. no idea. I only ever tested this on my single monitor setup. happy about pull requests addressing the issue.
I think fixing this would require some way of telling xmonad to not try to manage the virtual monitor.
same thing on awesome window manager. It replaces the first screen and seems to assign the windows from the first screen to the second screen. It is even OK for the windowmanager to manage that screen, fullscreen works nicely in that rectangle! Just clipscreen should create an additional screen instead of replacing screen 1.
I googled a bit, but I couldn't find a way to add the new monitor to the end of the list. Even when using xrandr --setmonitor on the command line it will create the new monitor as monitor 0. There is probably a way to reorder the monitors afterwards but I have no idea how.
I did notice that --listmonitors complained about an unknown output for the clipscreen monitor. I fixed that, but I don't know if that changes anything for this particular problem.
Commenting out remove_monitor(d, root);
, I still see the first monitor being replaced.
Before starting clipscreen:
$ xrandr --listmonitors
Monitors: 3
0: +*eDP-1-1 1920/344x1080/194+0+0 eDP-1-1
1: +DP-1-3-2 2560/597x1440/336+1920+0 DP-1-3-2
2: +DP-1-2-2 2560/597x1440/336+4480+0 DP-1-2-2
After starting clipscreen:
Monitors: 3
0: clipscreen 943/943x551/551+549+354 eDP-1-1
1: +DP-1-3-2 2560/597x1440/336+1920+0 DP-1-3-2
2: +DP-1-2-2 2560/597x1440/336+4480+0 DP-1-2-2
Yes, right, that wasn't it. Yesterday's commit fixed it for me.
Yes, 788c145 pretty much fixes the issue by creating a new monitor:
$ xrandr --listmonitors
Monitors: 4
0: +*eDP-1-1 1920/344x1080/194+0+0 eDP-1-1
1: clipscreen 1291/1291x737/737+5047+376
2: +DP-1-3-2 2560/597x1440/336+1920+0 DP-1-3-2
3: +DP-1-2-2 2560/597x1440/336+4480+0 DP-1-2-2
It's a little wonky because the workspace displayed on the first monitor moves to the monitor with the new virtual monitor, but it then works as expected, allowing me to drag windows over it, and xmonad no longer displays workspaces in the virtual monitor.
Thanks, @splitbrain.
Good to hear that the major issue is fixed. Im closing this now. If anyone can figure out how to add the monitor at the end of the list, I'd be happy about a PR.