This change sets the program name to the
application ID, which helps various systems like
GTK and desktop environments map this running
application to its corresponding .desktop file.
This ensures better integration by allowing the
application to be recognized beyond its binary
name.
Currently, Flutter defaults to always using GTK
window decorations regardless of the window
manager, when running Wayland. This makes the app
look out of place on KDE Plasma and other Qt-based
desktop environments.
This change checks the XDG_CURRENT_DESKTOP
environment variable to determine the running
desktop environment, and if it is GNOME continues
to use the GTK header, otherwise it uses the Qt
header.