-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
39 lines (36 loc) · 1.55 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Possible performance optimizations
* Use getShmImage extension for X11 server.
* TODO: Use double buffering when creating the texture, s.t. we do not
need to wait for OpenGL to finish drawing a frame before updating to
a new one?
Fetch xImage in separate thread -> push into pipeline for main
thread with ptr to preexisting texture?
* Use compositeoverlaywindow for masking:
Window overlay_window = XCompositeGetOverlayWindow(display, root);
Make GLFW Window with proper size and location child of overlay_window
via reparenting.
DONE?!
-- overlay <- xCompositeGetOverlayWindow dp root
-- xCompositeRedirectWindow dp w CompositeRedirectAutomatic
-- mapWindow dp overlay
-- reparentWindow dp meW overlay 0 0
* Use compositor instead of GLFW workaround...
-- set_override_redirect ptr True
-- changeWindowAttributes dp meW cWOverrideRedirect ptr
* TODO: Gif loader performance optimization.
* TODO: Proper logging interface abstraction instead of `print`.
# Notes
* NOTE: Need to set the events we are interested in ON the window we are
listening on!
* NOTE: A RUNNING compositemanager is ALSO required! MAYBE?
* zPixmap required!
https://stackoverflow.com/questions/34662275/xgetimage-takes-a-lot-of-time-to-run
# Features
* Toggle ClearScreen (background)
* Zoom monitor away
* Gradually increase visual screen shaking
* Flip screen (X and/or Y)
* Rollercoaster: Move screen and add delayed camera tracking
* Spawn GIF (+optional add sound) at random location for ~X seconds
* Your Highness, texture shader randomizing colors
* FLASHBANG