transparent fullscreen on-top click-through WebKit web view, for making cool desktop HUDs
No breaking changes.
Features:
Fixes:
Breaking changes:
--webkit-settings
now takes the settings dash-separated
(previously: underscore_separated
). This puts them in line with what the properties are called in the underlying WebKitSettings
object, which documentation is linked from the readme. You can see the available settings with --webkit-settings help
.Features:
'composited-changed'
event. It is raised when the ability of your desktop to render transparency changes. You can use it to decide what to do when you accidentally close your compositor; a good idea might be just to close the window.window.close()
now closes the overlay window and exits the hudkit process.Fixes:
--webkit-settings
are now read at run-time from your installed WebKit library. Previously, it was a hardcoded list. This is nice because it lets --webkit-settings help
display allowed values and deprecation warnings, and the list of options will stay up-to-date with less effort as upstream WebKit developers add features.To call asynchronous functions in the JS API, instead of this:
Hudkit.getMonitorLayout((e, monitors) => {
// do stuff with `monitors`
})
you now do this:
const monitors = await Hudkit.getMonitorLayout()
Same for Hudkit.showInspector
and Hudkit.setClickableAreas
. The readme has been updated accordingly.
Until WebKit starts supporting the TC39 top-level await
standard proposal, this means you have to wrap your whole thing in an async function, so if you're getting a SyntaxError
, see my new addition to the FAQ.
That is all. Bumped the major version number just for this, because it is an API break even though nothing particularly substantive has changed.
Your holiness returns, bearing many gifts:
example/
, xrandr
your monitors around, and observe absolute stability in the face of change.SIGUSR1
if you left your keys in the car.localhost
and revealing your shocking monitor layout to the bad guys, see my notes about Content-Security-Policy.Happy hacking!
Report bugs!
Decided to tag a v1, since this is actually properly usable in a fairly general sense now, with multi-monitor support, and monitor dimensions in JS context.