SDL tells the window manager to disable compositing for its windows by
default in order to somewhat improve rendering performance. This is
unfortunate for a text editor one would be using concurrently with other
programs, because KDE misbehaves with its global taskbar if this is
done, and it also may freeze or otherwise break the display of running
Firefox windows. This misbehaviour affects all SDL windows including
e.g. games such as Factorio.
There is a global switch to ignore all applications making this request
in the KDE compositor settings called "Allow applications to block
compositing", as well as an option in the window rules dialog to do it
for individual windows by class, but we should try to do the right thing
by default. The user can decide to block compositing per-window with
these rules if they wish to preserve the previous behaviour.
Fixes#370.
* Added procedural macro crate
* Initial derive macro implementation
* Compiles for cursor settings
* Derive macro working correctly
* Derive macro working for all settings structs
* Cleanup
* Moved the binary back to the project root
* remove unused utils file
Co-authored-by: Tim Harding <Tim@TimHarding.co>
* fixing dpi
* refactor rendered window for better dpi scaling
* prevent cursor from animating out of the window bounds
Co-authored-by: Gabby Grinslade <grinsladeg@gmail.com>
* parse viewport events
* progress toward pixel scrolling
* ITS WORKING
* fix basic scrolling gaps
* add limit to number of old surfaces to store
* set cursor destination based on rendered location not global grid
* Moved refactoring to the new program structure
* Imported enum variants to qwerty layout files
* Changed keyboard impl from From to Into
* Simplified imports
* Implement From rather than Into