This allows us to completely replace libbamf in some specific cases (like system shell elements)
Co-authored-by: Danielle Foré <danielle@elementary.io>
* Drawing: Migrate functions removed from Granite 7
Some drawing utilities used by Gala were removed from Granite 7:
https://github.com/elementary/granite/pull/603
Add them to Gala.
* Drawing: Use drawings functions from Gala instead of Granite
* Initial work to replace window matching and icon loading
* Support file icons
* Start caching desktop file info, support StartupWMClass
* Remove bamf vapi
* Listen for changes to desktop files
* Rate limit cache updates
* Remove bamf from README
* Pixbuf caching and gapp matching
* Also cache unknown icons
* Get windows from group
* Add a fallback for failing to load icon
* Check sandbox prefixes
* Switch icon cache class to struct