TigerVNC / tigervnc

High performance, multi-platform VNC client and server
https://tigervnc.org
GNU General Public License v2.0
5.24k stars 954 forks source link

TigerVNC Viewer opens under (hidden by) Windows taskbar when taskbar is at top of screen #1844

Open jim271828 opened 1 month ago

jim271828 commented 1 month ago

Describe the bug

TigerVNC Viewer opens under Windows taskbar when taskbar is at top of screen, causing the TigerVNC title bar to be obscured.

To Reproduce

Rasp Pi 3B+ Bookworm set to display 1600x1200. Physical display is 1920x1200. Win10 with taskbar positioned at the top of the screen (rather than at the default position = bottom of screen). When TigerVNC Viewer opens, the top of its window is positioned at screen pixel height = 0, ie., top physical row of pixels, underneath the taskbar, making the TIgerVNC title bar inaccessible. It should open at the first pixel row vertically-below the taskbar.

Expected behavior

If the Windows taskbar is at the top of the screen, the TigerVNC Viewer window should be positioned with its top at the first visible row of pixels vertically-below the Win taskbar, so that the TigerVNC title bar is visible just below the Win taskbar.

Additional context

This is a common issue. Maybe this is helpful: https://stackoverflow.com/questions/1264406/how-do-i-get-the-taskbars-position-and-size

To get TigerVNC to position in the proper vertical position, when it opens with its title bar under the taskbar, grab a side of the TigetVNC window and resize it slightly. When the window resizes, it'll position properly vertically, with the title bar showing (making it possible to use the X button to close the window).

CendioOssman commented 1 month ago

Thanks for your report.

I could reproduce this, but only when the server session is at least as large as the client monitor (which is also the case for your scenario).

We don't explicitly specify a position, though, only a size. So this is unfortunately likely a bug in FLTK or Windows. Which makes it more annoying to resolve, as we would rather not mess with the window manager more than necessary.

Someone will need to investigate further so we can understand the issue better, and try to make an as minimal workaround as possible.