BOSSoNe0013 / track-o-bot

The friendly Hearthstone Tracker (Linux port)
https://trackobot.com
GNU Lesser General Public License v2.1
39 stars 6 forks source link

Linux: don't translate coordinates from parent window to screen if parent is already screen #68

Closed MannyC closed 7 years ago

MannyC commented 7 years ago

I have two monitors, the left being 1920x1200 and the right being 1600x1200.

Generally I have Hearthstone full screen on the right monitor. I found that the overlay did not work. In the log I found: DEBUG: HS window changed 3840 0 1600 1200 Obviously, that 3840,0 coordinate is far to the right of my screen space.

I believe that this is caused due to the translation function attempting to translate from the window's coordinates relative to its parent into screen coordinates when the parent is already the screen.

However, I don't have any experience with xcb and I found the documentation somewhat lacking, so some sanity checking would be appreciated.

This fix does appear to work for me: DEBUG: HS window changed 1920 0 1600 1200 And it takes the translate path when in windowed mode.

angrylinuxuser commented 7 years ago

This is strange. I have similar setup and i don't have any issues with multi monitor setup. Could you post output of xrandr --query? Ps what DE are you using?

MannyC commented 7 years ago

Hmm. And you're fullscreening on the right hand monitor?

Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00  
   720x400       70.08  
DVI-0 disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1600x1200+1920+0 (normal left inverted right x axis y axis) 367mm x 275mm
   1600x1200     60.00*+
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  

GNOME Shell 3.18.5

angrylinuxuser commented 7 years ago

Well not exactly but i tried hs fullscreen on left and right monitors. I will try to imitate your setup later today and try to replicate your issue.

Does overlay work if the HS is windowed?

Even though this isn't a fix for this issue at hand could You check this branch ( https://github.com/angrylinuxuser/track-o-bot/commits/xcb_connection ). It's a small clean up i was going to send while back but i forgot :)

MannyC commented 7 years ago

xcb_connection was the the same. As a side note I had to apt-get install libqt5x11extras5-dev libxcb-util-dev to get it to build.

Yeah, the overlay works in windowed mode on either monitor (although it's often clipped as per https://github.com/BOSSoNe0013/track-o-bot/pull/69), including when maximized.

angrylinuxuser commented 7 years ago

@MannyC yup qt extras is required after my changes. Requirement for xcb-utils was a typo :)

Ok, i installed ubuntu with gnome3 and yup the issue is there. Your fix is working nice. However in kde issue isn't present. Now we have to wait for @BOSSoNe0013.

I also incorporated this into my branch. If bossone pull this in then ill rebase my branch and send it.