Ventto / mons

POSIX Shell script to quickly manage monitors on X
MIT License
632 stars 39 forks source link

Extend to left doesn't work #22

Closed jarbowski closed 6 years ago

jarbowski commented 6 years ago

Hi, I have 2 monitors: HDMI1 on the left, and VGA1 (set as primary) on the right. Extend to right works but I extend to left, mons behaves like HDMI1 would be set as primary and VGA1 extended on the right. mons still shows that VGA1 is set as primary. Thanks

jarbowski commented 6 years ago

oh, I use mons 0.8.1 on a Void Linux box

Ventto commented 6 years ago

Hi @jarbowski, Thanks for your feedback.

Setting:

Using -e option:

t=0:        [ HDMI ] -  [ VGA ]
----
-e rigtht:  [ VGA ]  -  [ HDMI ]     (correct)
-e left:    [ VGA ]  -  [ HDMI ]     (incorrect)

Correct ?

jarbowski commented 6 years ago

Hi, I have this:

Monitors: 2
Mode: extend
1:   HDMI1    (enabled)
2:*  VGA1     (enabled)

I don't have (ok) nor (failed) message but basically: mons -e right: it works but as my second monitor is on my left, it appears on my left and works as if it were on my right mons -e left: my primary screen toggles to the HDMI1(left) monitor and extends to VGA1 (right) But mons still shows:

Monitors: 2
Mode: extend
1:   HDMI1    (enabled)
2:*  VGA1     (enabled)

I wrote almost the same thing but yes, it's correct

Ventto commented 6 years ago

There is no 'ok' or 'failed' message. I've written it as reference to differentiate expected view from your unexpected one. Indeed, it is not really clear regarding the context (last comment's been edited).

Currently, mons output doesn't print monitor locations. Regarding your last comment, your output is totally normal.

So, finally you've got a second monitor physically on your left and you wish the -e left option to extend your VGA1 primary monitor on the left. But it appears that -e left has a unexpected behaviour.

Ventto commented 6 years ago

Please, share the xrandr command output before and then after running mons -e left.

jarbowski commented 6 years ago

Before mons -o:

Screen 0: minimum 8 x 8, current 1440 x 900, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected (normal left inverted right x axis y axis)
   1366x768      59.79 +
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
VGA1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 260mm
   1440x900      59.89*+  74.98  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   832x624       74.55  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

After mons -e left:

Screen 0: minimum 8 x 8, current 2806 x 900, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 700mm x 390mm
   1366x768      59.79*+
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
VGA1 connected primary 1440x900+1366+0 (normal left inverted right x axis y axis) 410mm x 260mm
   1440x900      59.89*+  74.98  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   832x624       74.55  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Ventto commented 6 years ago

ok, before (mons -o):

You mean mons -e left ?

Please @jarbowski, use markdown to emphasis your command lines and outputs. That helps people to read.

EDIT: I've added markdown syntax to your post above and deleted your following post which was a duplicata.

Ventto commented 6 years ago

If I summarize the output, I get this:

Screen 0: current 1440 x 900
HDMI1 connected (normal left inverted right x axis y axis)
   1366x768      59.79 + 
VGA1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 
   1440x900      59.89*+  74.98  
Screen 0: current 2806 x 900
HDMI1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 
   1366x768      59.79*+
VGA1 connected primary 1440x900+1366+0 (normal left inverted right x axis y axis) 
   1440x900      59.89*+  74.98  

Translating in a schema:

t=0:        [ HDMI1 ] -  ( VGA1 )
-e rigtht:               ( VGA1 )  -  [ HDMI1 ]  
-e left:    [ HDMI1 ] -  ( VGA1 )

Regarding xrandr output, coordinates are correct:

VGA1 as primary monitor, HDMI1 will be placed on the left or on the right according to the -e option.

So visibly, mons -e left does its job.

Extend to right works but I extend to left, mons behaves like HDMI1 would be set as primary and VGA1 extended on the right. mons still shows that VGA1 is set as primary.

mons isn't meant to set the primary monitor as moving the second one left.

jarbowski commented 6 years ago

sorry, it's a xfce issue:

https://unix.stackexchange.com/questions/290346/xfce4-display-settings-why-is-there-no-extend-to-the-left/350670#350670

I'll have to get back to a custom openbox setup... anyway, thanks for this piece of code