Skip to content

Releases: anko/hudkit

v4.1.0: Fix crashes and hangs, allow big API responses

03 May 01:38
Compare
Choose a tag to compare

No breaking changes.

Features:

  • The JS API can now handle data of arbitrary size. Just in case you have 500 monitors or something.

Fixes:

  • Patched many potential sources of crashes or memory corruption. I got inspired by #11 to use GLib data structures instead of directly handling memory, because programming is hard, and I am bad at it. 👏

v4.0.0: Composited-changed event & better settings

01 May 14:38
Compare
Choose a tag to compare

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:

  • Your JS can now listen to a '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.
  • Related to the above, calling window.close() now closes the overlay window and exits the hudkit process.

Fixes:

  • Better compilation instructions, and dependencies list for Linux Mint. (Thanks to @DrinkFromTheCup for feedback.)
  • The settings available via --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.

v3.0.0 "JS API Is Now `async`/`await` Compatible But Everything Else Is Literally The Same"

21 Feb 19:15
Compare
Choose a tag to compare

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.

v2.0.1

29 Oct 11:29
Compare
Choose a tag to compare
  • e7b97da Conditionally compile WebKit settings, depending on your WebKit version. This should make it compile for those of you stuck with out-of-date libraries (e.g. on Ubuntu)

v2.0.0 "New World Order"

28 Oct 19:06
Compare
Choose a tag to compare

Your holiness returns, bearing many gifts:

  • You can now set which areas of the overlay to make clickable. On demand. From JavaScript. (For ricers, this means you can make your taskbar interactive.)
  • The overlay window now resizes when you attach or detach monitors. You can even get notified of this in your page JS, so you can reposition your HUD. Try the example/, xrandr your monitors around, and observe absolute stability in the face of change.
  • The monitor list now includes the monitor connector's name. So you can properly identify which monitor is which when you disconnect or reconnect them.
  • Web Inspector (aka Developer Tools) now works. You can open it from the command line, from JS, or even with SIGUSR1 if you left your keys in the car.
  • The readme now talks about security. If you are paranoid about accidentally loading JS from outside localhost and revealing your shocking monitor layout to the bad guys, see my notes about Content-Security-Policy.
  • You can set WebKit initialisation settings on the command line. For nerds with advanced use-cases, who need to disable automatic media playback or something.
  • The readme now has an animated SVG rainbow badge that took me 2 hours to figure out how to make. 🌈 Go look at it, and read the readme while you're at it.

Happy hacking!

Report bugs!

v1.0.1

15 Jul 19:49
Compare
Choose a tag to compare
  • b92f16b The only notable bugfix: Positioning the overlay window correctly when Hudkit is started on a display other than the top-left-most one.

v1.0.0

16 Sep 16:19
Compare
Choose a tag to compare

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.