Skip to content

Commit

Permalink
(#26) Add experimental Live Update feature
Browse files Browse the repository at this point in the history
  • Loading branch information
rexim committed Dec 4, 2019
1 parent ee1c520 commit f2647da
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ $ ln -s /path/to/boomer/overlay/ boomer
$ nix-env -iA nixos.boomer
```

## Experimental Live Update

See issue [#26]. For an experimental Live Update feature compile the application with the following flags:

```console
$ nimble build -d:live
```

The feature is really unstable and experimental, so use it at your own risk.

## References

- https://github.com/nim-lang/x11/blob/bf9dc74dd196a98b7c2a2beea4d92640734f7c60/examples/x11ex.nim
Expand All @@ -46,3 +56,5 @@ You can support my work via

- Twitch channel: https://www.twitch.tv/subs/tsoding
- Patreon: https://www.patreon.com/tsoding

[#26]: https://github.com/tsoding/boomer/issues/26
20 changes: 20 additions & 0 deletions src/boomer.nim
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,24 @@ proc main() =
glXSwapBuffers(display, win)
glFinish()

when defined(live):
screenshot = XGetSubImage(display, root,
0, 0,
screenshot.width.cuint,
screenshot.height.cuint,
AllPlanes,
ZPixmap,
screenshot,
0, 0)
glTexImage2D(GL_TEXTURE_2D,
0,
GL_RGB.GLint,
screenshot.width,
screenshot.height,
0,
# TODO(#13): the texture format is hardcoded
GL_BGRA,
GL_UNSIGNED_BYTE,
screenshot.data)

main()

0 comments on commit f2647da

Please sign in to comment.