setcap nice for good performance when opening overlay when game is running below 60 fps. Maybe grab cursor with xi, as that will prevent games from detecting movement with xi2 api. Fullscreen on wayland doesn't render windows behind because it's a compositor optimization, to not draw anything behind (only draw the window directly without compositing). Fix this by drawing the window smaller, or have two windows (left and right half monitor width). Maybe change design to have black triangles appear and get larger until they fill the screen, with even spaces being left with no triangles. Exclude triangles from a diagonal line across the screen. Have buttons appear slanted in 3D. All of these things should be done with vertex buffer, for real 3D. WAYLAND_DISPLAY gamescope-0, DISPLAY=:1 (gamescope xwayland) Optimize list/page when having a few items in it (dont use vector>). Only redraw ui if changed (dirty state, propagate upward. Set dirty when adding widget or changing any visible properly on a widget or when event updates how the widget should be displayed). Use _NET_WM_ALLOWED_ACTIONS. Same for notifications. Handle events in draw function because the render position of elements is available there so why duplicate it in event handler. Add nvidia overclock option. Add support for window selection in capture. Add option to record the focused monitor. This works on wayland too when using kms capture since we can get cursor position without root and see which monitor (crtc) the cursor is on. Add option to select hevc_10bit and av1_10bit. For system startup dont allow default output/input audio, as that can change after startup. For example if default output is a bluetooth devices that gets connected after startup.