SDL applications and Maemo’s Task Navigator

When porting an SDL game or application to Maemo, if you wonder why the app doesn’t show up in the Task Navigator (at the bottom left-hand corner of the screen), you need to do two things. Example with Biloba:
Match the SDL window’s WM_CLASS and the .desktop StartupWMClass, the easiest being:

  • biloba.desktop:

Exec=/usr/bin/biloba.sh
StartupWMClass=biloba

  • /usr/bin/biloba.sh:

#!/bin/sh
export SDL_VIDEO_X11_WMCLASS=biloba
/usr/bin/biloba

Then, the window will probably appear as unnamed in the task list if the application is full-screen, in which case forcing the WM_NAME helps.