sp614x / optifine

1.8k stars 418 forks source link

[Suggestion] Borderless Fullscreen / Windowed Fullscreen #2516

Open ZwipZwapZapony opened 5 years ago

ZwipZwapZapony commented 5 years ago

Minecraft: Java Edition's only fullscreen option is "exclusive fullscreen". I personally prefer "borderless fullscreen", however, for a small variety of reasons, so I'd like to suggest that as an option for OptiFine, so that I won't have to use (other) third-party tools for that, though I don't know if this is something that's within OptiFine's scope of possible changes.

Some potential benefits of borderless fullscreen versus exclusive fullscreen:

Before 1.13, this could apparently be achieved using this Java launch argument: "-Dorg.lwjgl.opengl.Window.undecorated=true" ...Though I recall having very "mixed" results with that, but still, it might be relevant.

sp614x commented 5 years ago

According to this: https://github.com/libgdx/libgdx/issues/4785 LWJGL 3 automatically creates a borderless window if the video mode matches the desktop video mode. Also from the GLFW docs: https://www.glfw.org/docs/latest/window_guide.html#window_windowed_full_screen

ZwipZwapZapony commented 5 years ago

Despite the things that you linked to there, Minecraft doesn't use borderless fullscreen for me, regardless of whether the in-game fullscreen resolution is "Current" or "1920x1080 @ 60 (24-bit)", on my 1920x1080 resolution 60hz monitor.

It might be worth noting that Minecraft says "24-bit" in that resolution, while the NVIDIA Control Panel says "32-bit" about my monitor (and cannot be changed to 24-bit), so if there's an inconsistency between what Minecraft expects and what my monitor is, it's those extra "8 bits". (My monitor uses 8 bits per colour channel, though, so it's not actually not 24-bit.) I don't know if that's the problem here, nor how I could fix that if so.

CDWimmer commented 4 years ago

Not to gravedig but I further this issue. Minecraft as-is either runs as exclusive fullscreen or as a window. Borderless-windowed is no longer an option as the argument that previously worked doesn't as was said. It's a pain because things like overlays don't show up in exclusive fullscreen when it would be very useful for them to do so, especially for things like StreamLab's in-game overlays. Nothing I do to the settings causes it to create a borderless window.

ichimo commented 4 years ago

Not to gravedig but I further this issue. Minecraft as-is either runs as exclusive fullscreen or as a window. Borderless-windowed is no longer an option as the argument that previously worked doesn't as was said. It's a pain because things like overlays don't show up in exclusive fullscreen when it would be very useful for them to do so, especially for things like StreamLab's in-game overlays. Nothing I do to the settings causes it to create a borderless window.

Theres programs like Borderless on steam that I've been using to maximize fullscreen minecraft, worth looking into if people really want to. I haven't had any graphical or window related issues while using the one I mentioned just to note.

xGnoSiSx commented 4 years ago

Not to gravedig but I further this issue. Minecraft as-is either runs as exclusive fullscreen or as a window. Borderless-windowed is no longer an option as the argument that previously worked doesn't as was said. It's a pain because things like overlays don't show up in exclusive fullscreen when it would be very useful for them to do so, especially for things like StreamLab's in-game overlays. Nothing I do to the settings causes it to create a borderless window.

I'm coming from LibGDX, a library that consumes the same API for graphics and I face the exact opposite problem. I can't setup any fullscreen exclusive mode with GLF/LWJGL3.0.

Oh and 24 vs 32bits: It's a usual mix up when specs don't mention the 8 bits for the ALPHA - its RGBA.

Lentern commented 3 years ago

Ever since 1.13, Minecraft has used a borderless window. The only issue is that the windows minimizes when you tab out, essentially making the feature useless (see MC-158117).