Is setUndecorated() possible?

No, I agree with you, and your first answer - overriding initSurface() - is the way I do this. Depending on the renderer and the OS, fullScreen() can set flags on the window that you don’t want and can cause problems. The slightly longer-winded way you posted first is a safer bet. I only use the OpenGL renderers in PraxisLIVE. Interesting these return the window and not the canvas from getNative() so I override initSurface like (where wHints is my own config object) -

protected PSurface initSurface() {
    PSurface s = super.initSurface();
    s.setTitle(wHints.getTitle());
    GLWindow window = (GLWindow) surface.getNative();
    window.setAlwaysOnTop(wHints.isAlwaysOnTop());
    window.setUndecorated(wHints.isUndecorated());
    return s;
}
2 Likes