Index: openttd-1.0.2/src/video/sdl_v.cpp
===================================================================
--- openttd-1.0.2.orig/src/video/sdl_v.cpp	2010-06-28 22:59:57.000000000 +0200
+++ openttd-1.0.2/src/video/sdl_v.cpp	2010-06-28 22:59:59.000000000 +0200
@@ -26,6 +26,11 @@
 #include "sdl_v.h"
 #include <SDL.h>
 
+#ifdef MAEMO
+#include <SDL/SDL_syswm.h>
+#include <X11/Xlib.h>
+#endif
+
 static FVideoDriver_SDL iFVideoDriver_SDL;
 
 static SDL_Surface *_sdl_screen;
@@ -336,6 +341,7 @@
 
 	if (bpp == 0) usererror("Can't use a blitter that blits 0 bpp for normal visuals");
 
+#ifndef MAEMO
 	char icon_path[MAX_PATH];
 	if (FioFindFullPath(icon_path, lengthof(icon_path), DATA_DIR, "openttd.32.bmp") != NULL)$
 		/* Give the application an icon */
@@ -346,6 +352,7 @@
 		SDL_CALL SDL_WM_SetIcon(icon, NULL);
 		SDL_CALL SDL_FreeSurface(icon);
 	}
+#endif
 
 	if (_scaled) {
 		SDL_FreeSurface(_sdl_screen);
@@ -376,10 +383,27 @@
 
 	InitPalette();
 
+#ifdef MAEMO
+	SDL_SysWMinfo info;
+	SDL_VERSION(&info.version);
+
+	if (SDL_GetWMInfo(&info)) {
+		Display *dpy = info.info.x11.display;
+		Window win;
+
+		if (dpy) {
+			win = info.info.x11.fswindow;
+			if (win) XStoreName(dpy, win, "OpenTTD");
+			win = info.info.x11.wmwindow;
+			if (win) XStoreName(dpy, win, "OpenTTD");
+		}
+	}
+	SDL_CALL SDL_ShowCursor(SDL_DISABLE);
+#else
 	snprintf(caption, sizeof(caption), "OpenTTD %s", _openttd_revision);
 	SDL_CALL SDL_WM_SetCaption(caption, caption);
 	SDL_CALL SDL_ShowCursor(0);
-
+#endif
 	GameSizeChanged();
 
 	return true;
