Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflicting information in Window.Mode and DisplayServer.WindowMode description for exclusive mode #82213

Open
Lielay9 opened this issue Sep 23, 2023 · 2 comments

Comments

@Lielay9
Copy link
Contributor

Lielay9 commented Sep 23, 2023

Godot version

v4.2.dev5.official [e3e2528]

System information

Godot v4.2.dev5 - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4090 (NVIDIA; 31.0.15.3699) - AMD Ryzen 9 7950X 16-Core Processor (32 Threads)

Issue description

Documentation bug; relevant parts highlighted.

Window.Mode.MODE_EXCLUSIVE_FULLSCREEN (Outdated):

Exclusive full screen window mode. This mode is implemented on Windows only. On other platforms, it is equivalent to MODE_FULLSCREEN.

Only one window in exclusive full screen mode can be visible on a given screen at a time. If multiple windows are in exclusive full screen mode for the same screen, the last one being set to this mode takes precedence.

Regardless of the platform, enabling full screen will change the window size to match the monitor's size. Therefore, make sure your project supports multiple resolutions when enabling full screen mode.

DisplayServer.WindowMode.MODE_EXCLUSIVE_FULLSCREEN:

A single window full screen mode. This mode has less overhead, but only one window can be open on a given screen at a time (opening a child window or application switching will trigger a full screen transition).

Full screen window cover the entire display area of a screen, have no border or decorations. Display video mode is not changed.

On Windows: Depending on video driver, full screen transition might cause screens to go black for a moment.

On macOS: Exclusive full screen mode prevents Dock and Menu from showing up when the mouse pointer is hovering the edge of the screen.

On Linux (X11): Exclusive full screen mode bypasses compositor.

Note: Regardless of the platform, enabling full screen will change the window size to match the monitor's size. Therefore, make sure your project supports multiple resolutions when enabling full screen mode

The enum in Window should be deprecated and the Window.mode should use the DisplayServer variants (that's how it works internally). Until then, its documentation could directly link to the corresponding ones in DisplayServer to ensure they stay in sync.

Steps to reproduce

Read documentation. 🗿

Minimal reproduction project

/

@Lielay9 Lielay9 changed the title Conflicting information in Window.Mode and DisplayServer.WindowMode for exclusive mode Conflicting information in Window.Mode and DisplayServer.WindowMode description for exclusive mode Sep 23, 2023
@bitsawer
Copy link
Member

There is currently a fresh PR open updating these: #82179. Feel free to give feedback.

As for the duplicate enums, it's common to do that, for example matching Mesh and RenderingServer enums. I find it a bit troublesome too, but too late to change now.

@Lielay9
Copy link
Contributor Author

Lielay9 commented Sep 24, 2023

There is currently a fresh PR open updating these: #82179. Feel free to give feedback.

Quite the timing. Pull didn't exists yet when I noticed this in the morning.

but too late to change now.

Waiting for Godot 5 ™️. I still think linking to a single description could make sense to avoid future disparities. Then again, it does make the docs a little less ergonomic when reading the class with the "wrong" enum. 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants