Thanks, yeah I did not submit an issue there because I don't like the bug report website form. But that is another story.

I looked at the PR, seems to be pretty straightforward. Thinking about this, I have not tested how it behaves with the fullscreen property instead of the maximized property as I rarely use that. Maybe that also needs to be covered.

On 29/03/2025 13:24, Thiago Milczarek Sayão wrote:
I did not find a bug report, so I did one and provided a fix:

https://github.com/openjdk/jfx/pull/1748



Em sáb., 29 de mar. de 2025 às 08:26, Thiago Milczarek Sayão <thiago.sa...@gmail.com> escreveu:

    @Christopher Schnick <mailto:crschn...@xpipe.io>

    Hi, did you open a bug? I have a fix for this.

    Thanks

    -- Thiago.

    Em seg., 17 de mar. de 2025 às 09:49, Christopher Schnick
    <crschn...@xpipe.io> escreveu:

        So on Windows at least, it will change the width temporarily
        and then revert back to the original width value. So you will
        receive two width change events if you listen to the stage
        width property. The maximized property is not changed.

        I guess this also not optimal handling of this. Ideally, no
        changes would be made in that case.

        On 17/03/2025 10:53, Thiago Milczarek Sayão wrote:
        Hi Christopher,

        It seems like a simple fix.

        How does it behave on other platforms? Does it ignore the
        resize, restore the window to its unmaximized state before
        resizing, or keep it maximized while adjusting the
        unmaximized size.

        -- Thiago






        Em dom., 16 de mar. de 2025 às 05:25, Christopher Schnick
        <crschn...@xpipe.io> escreveu:

            Hello,

            we encountered an issue on Linux where resizing the stage
            while it is maximized breaks the size of the scene. You
            can see a video of this at
            https://github.com/xpipe-io/xpipe/issues/485 . The root
            cause is that the stage size is modified.

            When doing this, it temporarily or permanently switches
            to the size the stage had prior to being maximized,
            leading to either a flicker or a permanently broken scene
            that has the wrong size. This happens on Gnome and KDE
            for me with the latest JavaFX ea version.

            Here is a simple reproducer:

            import javafx.application.Application;
            import javafx.scene.Scene;
            import javafx.scene.control.Button;
            import javafx.scene.layout.Region;
            import javafx.scene.layout.StackPane;
            import javafx.stage.Stage;

            import java.io.IOException;
            import java.util.Base64;

            public class MaximizeLinuxBugextends Application {

                 @Override public void start(Stage stage)throws IOException {
                     Scene scene =new Scene(createContent(),640,480);
                     var s ="data:text/css;base64," + 
Base64.getEncoder().encodeToString(createCss().getBytes());
                     scene.getStylesheets().add(s);
                     stage.setTitle("Hello!");
                     stage.setScene(scene);
                     stage.show();
                     stage.centerOnScreen();
                     stage.setMaximized(true);
                 }

                 private StringcreateCss() {
                     return """ * { -fx-border-color: red; -fx-border-width:
            1; } """;
                 }

                 private RegioncreateContent() {
                     var button =new Button("Click me!");
                     button.setOnAction(event -> {
                         var w =button.getScene().getWindow();
                         w.setWidth(w.getWidth() -1);
                         event.consume();
                     });
                     var stack =new StackPane(button);
                     return stack;
                 }

                 public static void main(String[] args) {
                     launch();
                 }
            }


            Best
            Christopher Schnick

Reply via email to