Thanks, that clarifies it, we were talking about two different window states.
IsFullScreen reports whether the window is in genuine full-screen mode. It is not intended to report whether the window is maximised. These are separate states on Linux, macOS and Windows.
Your button test confirms that SetFullScreen() and IsFullScreen are working correctly. The GNOME gesture and the Maximise title-bar command maximise the window instead, so IsFullScreen correctly remains False.
I agree that Objo should expose the maximised state separately. I have now added a new read-only property:
Window.IsMaximised As Boolean
It will be available in the next Objo Studio release: https://feedback.objo.dev/feature/740
Your original example can then be written as:
Event Resize()
Me.TitleBarVisible = Not Me.IsMaximised
End Event
Incidentally, the lack of a visible change in the original test did not necessarily mean that Resize() failed to run. Because IsFullScreen remained False, the code simply assigned True to TitleBarVisible again.
For your other suggestion, information about physical monitors is already available through the Display class. It provides the display count, dimensions, usable area, scale factor, primary display and the display containing a particular window.
Virtual desktops/workspaces are a different, platform-specific concept and are not currently exposed. If you have a particular workflow that requires an application to inspect or control virtual desktops, please open a separate suggestion so we can discuss the desired behaviour independently.