Nw.js: NW2 (and NW1 since 0.43.3): (Linux) Transparency and resize handling in frameless windows not working as intended

Created on 19 Jan 2020  路  8Comments  路  Source: nwjs/nw.js

NWJS Version : 0.43.6
Operating System : Linux (Tested on KDE Plasma and gnome-shell)

Expected behavior

On Linux, a frameless (frame: false in manifest) nw.js window should be transparent (transparent: true in manifest) and you should be able to resize this window (resizable: true in manifest) when you put the mouse pointer on its corners

7230

Actual behavior

On Linux, in the latest versions even if you disable the new nw2 mode (--disable-features=nw2) the problem persists. I found that the last version that worked fine at least disabling the nw2 mode was 0.43.2, after this version the transparency is completely broken in both modes. The resize handling instead is broken only in 0.43.2 with nw2 enabled, afterwards It seems to work fine.

How to reproduce

Just open a nw window on linux with this manifest :

{
    "name": "nw-demo",
    "version": "0.0.1",
    "main": "index.html",
    "window": {
        "width": 600,
        "height": 600,
        "frame": false,
        "transparent": true,
        "position": "center",
        "resizable": true
    },
    "chromium-args": ""
}

SCREENSHOTS :

NW JS VERSION : 0.43.6 , nw1 MODE
TRANSPARENCY : IT DOESNT WORK!
RESIZE HANDLING : IT WORKS!

43-6nw1

NW JS VERSION : 0.43.6 , nw2 MODE
TRANSPARENCY : IT DOESNT WORK!
RESIZE HANDLING : IT WORKS!

43-6nw2


LAST FULLY WORKING VERSION (PARTIALLY, RESIZE HANDLING IT DOESNT EXIST IN NW2 MODE)

NW JS VERSION : 0.43.2 , nw1 MODE
TRANSPARENCY : IT WORKS!
RESIZE HANDLING : IT WORKS!

43-2nw1


NW JS VERSION : 0.43.2 , nw2 MODE
TRANSPARENCY : IT WORKS!
RESIZE HANDLING : IT DOESNT WORK!

43-2nw2

Most helpful comment

This is fixed in git and will be available in the next nightly build.

All 8 comments

Just to be clear , all these issues are fixed on Windows 10 using the latest nw.js version (0.43.6)

I can confirm it is actually a bug, I have the same issue on Fedora Linux. Didn't test Windows.

@jtg-gg do you have time (and Linux system) to help on this? I found that transparency is working if libEGL.so and libGLESv2.so is missing or removed from the NW directory.

@jtg-gg I just got some lead on the issue, will look to fix it soon. Thanks.

This is fixed in git and will be available in the next nightly build.

I can confirm that the latest nightly build works great! Thank you so much!

thx @rogerwang for handling the issue

Yes I just tried the nightly build and I confirm too it's finally fixed now even with hardware acceleration enabled ! Thank you for this important fix!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

niutech picture niutech  路  4Comments

adam-lynch picture adam-lynch  路  4Comments

imyzf picture imyzf  路  4Comments

nawazishali picture nawazishali  路  3Comments

hooker99 picture hooker99  路  4Comments