Vision: the pixels don't add up!

I am designing Vision displays for your run of the mill 1920 x 1080 monitors. I have set up a scheme where I have TOP docked window used for a Title bar and floating Main window. The Title window height is 100(px?) and the Main window is 880(px?) making a total of 980. When I view this desktop on a my 1920 x 1080 monitor, I get vertical scroll bars on the Main window and components towards the bottom are not visible without scrolling. That is surprising to me because I figured I'd have 100 pixels to spare.

I thought maybe this was Windows OS Display Zoom, or issues with launching Vision client with F10 from Designer, but I've changing the zoom, my primary monitor, and launching from Vision Client Launcher, and none of them seem to resolve this issue.

What don't I know? I am using Ignition 8.1 Vision on Windows 11 Pro.

Just a little more diagnostic information:
I created another Docked Window, SOUTH, and even this is not visible without scrolling. So it would appear that I am not scrolling the Main display, but I am scrolling the entire desktop.

Good afternoon all,

I posted about this last night, but not sure if I was being clear. For some reason, my Vision Desktops are opening with greater size than I have monitor for. In the attached picture, you can see I don't have any windows outside the bounds of the monitor, yet I still have a vertical scroll bar on the desktop.

I have tried to change the Project settings for Infinite Desktop, Start Maximized.... no difference. I always have this dead space and scroll bars. What is going on with this?

Please don't double post the same question/problem on multiple topics :slight_smile:

As for your question...
What's the 'User Interface' -> 'Minimum Size' property set to?
https://docs.inductiveautomation.com/display/DOC81/Vision+Project+Properties#VisionProjectProperties-VisionUserInterfaceProperties

I'll also add that generally in UI, and especially in Vision, trying to count pixels like this leads to madness. You're much, much better off designing for the smallest resolution you expect to support (ideally at a consistent aspect ratio) and allowing Vision to scale things up based on your layout constraints.

1 Like

My bad! Thanks for combining threads.

Minimum size is set to 800 x 600. I am designing for slightly under 1080 x 1920, but really anything with that aspect ratio should work appropriately with scaling. I don't ever expect this thing to be opened on something smaller that 1080 x 1920. High-def is quickly becoming the new low-def

I think I figured out what my issue was; my side floating window had a hidden vertical line on it that was extending beyond the 1080 resolution. My goal is to have this floating window "like" a docked window, but floating over the main display from top to bottom. I use little button on the edge to show/hide the window (but really I am just resizing it.) Ideally I'd like to have this window from top to bottom of the screen, like a docked window, but...

When the side navigation is set up as a Docked window WEST, it looks perfect as the windows goes all the way from the top of the screen to the bottom as desired.
However, the nav window is NOT drawn on top of the Main window, even though I set the nav window layer to 1 and the main to 0. I was hoping the docking / main was layer based. The issue is, when I resize the nav window on show/hide, empty desktop shows up behind where the Nav window used to be.

For easier viewing, I've changed the background fill of the docked windows:

Open to suggestions to achieve the combination of full-length on the side, but also on top of the main window.

By default, the main window will stretch to fill the "empty" space if the docked window is actually closed. Depending on how you're hiding it, it probably isn't triggering a width recalculation? It's hard to say.
This is an extremely simple test case - the red is the docked window, the green is the main window. The only script is opening and closing the docked window.
Kapture 2023-02-01 at 13.30.05

if event.source.selected:
	system.nav.closeWindow("Dock")
else:
	system.nav.openWindow("Dock")

This the approach I originally tried, but it doesn't really accomplish the aesthetic I'm looking for, which is an overlap.

I am using a width recalculation because my show/hide button is on the window that will never be closed/swapped. Is the layer pretty much ignored for docked windows?

Yes, the layer is only relevant within one particular window.
I'm not sure what the best way would be to get the result you want. Maybe having the "docked" window not really be a docked window, and in fact be a floating window, if you can position it just so? Then it will truly float (with some other caveats...). A true docked window will, as far as I know, always "cut in" to the main window's area; there's no way to have the main window always be the full width while the side window is a true docked window.

2 Likes

I think I am going to float it, and just use a startup script to resize and position the window appropriately based on the Y resolution the screen its being viewed on. Not perfect, but good enough. Thank you for your insights!

1 Like