Alternatives for classic WebWindows?


Looks like classic WebWindows are finally going away:

In case someone doesn’t know what those were – you could create them from scripting (eg: var win = new WebWindow(...)) to display a floating HTML view.

There are now other kinds of HTML views. But unique to this kind was that they existed separately from the main application display – so (for example) could be positioned on one of your other monitors.

Anybody else still using classic WebWindows for stuff? (And if so – are you planning to just port them over and make do with OverlayWebWindows?)

And does anybody know of an alternative way to display a secondary, scriptable UI window?


Crap. I use then for my edit.js and chat.js … it’s much nicer being able to have script windows outside of Interface, e.g. on a second monitor. There was talk a while back about making OverlayWebWindow able to be dragged out of the Interface window but I don’t think this has been done and wouldn’t be surprised if it never is.

I’ll probably just switch over to using OverlayWebWindow.


It’s indeed annoying that qml etc. cannot be dragged outside the main window. I hope the add this soon. Do not make the same annoying mistake as secondlife where you not see anything because all the windows you have open.

In high fidelity i have already assets and edit at the same tome open. the your screen is already pretty filled.

Then you close the edit window, but edit does not get disabled. So a pile of problems.


##The WebWindow is dead, long live the WebWindow!

I managed to Frankenstein-together a WebWindow clone using OverlayWindow, QML and JavaScript.

Example URL (to load into Interface for testing): example.js
(after a second or two delay a non-embedded “WebWindow” should open showing the latest forums posts).

(2016.10.02) EDIT: window.EventBridge now boots automagically on the HTML side – so including WebWindowEx and setting WebWindow=WebWindowEx on the client side should be sufficient in most cases for WebWindow scripts to “just work” again.

Here is an example Client Script URL that boots an old test script in a wrapper that way: rewebwindow.js#test-webviews.js

(the first part of that URL is a bootstrap script – the second part is the actual test script, test-webviews.js, which creates a sample of the four types of HTML5 views available in HiFi including a WebWindow)

Full Github Gist: WebWindowEx

Example Client Script:

var WWEX_BASE = '';

Script.include(WWEX_BASE + 'WebWindowEx.js');
// bring WebWindow back to life by aliasing to WebWindowEx
var WebWindow = WebWindowEx;

// in theory everything on the scripting side should then work like before
var oldschool = new WebWindow('Title', 'about:blank', 800, 600);
// etc.

The WebWindowEx.js source has a few more details about which WebWindow getters, setters and signals are currently emulated. If anyone else uses and discovers any missing or misaligned methods lemme know.

An Alternative Entities Editor