For some unknown reason, KDE defaults to debug-level logging. To stop it printing
all that stuff, run kdebugdialog and turn all the options off.
The messages are actually displayed by ROX-Session, but are sent by other applications. Since error messages mean that something has gone wrong, you should report a bug against the program producing them (NOT against ROX-Session!).
You can set how long the messages are displayed for from ROX-Session's Options box, and you can see a log of old messages there too. You can also see the log by right-clicking on the messages as they're shown, which is useful if you need more time to read them, or if you want to copy-and-paste into a bug report.
If you really need to disable messages (because some application is just too noisy), you can do this in its AppRun file:
exec some_app "$@" 2>&1
The extra 2>&1 at the end of the exec line causes errors to be treated as normal (non-error) output, so ROX-Session won't display them.
To hide messages from your window manager, create a script containing:
#!/bin/sh exec window_manager "$@" 2>&1
Then use the name of that script in the ROX-Session Session Settings box.
Note that we do not provide any way to supress all error messages from all applications (despite frequent requests). Ignoring errors is never the right thing to do, and providing this option to users would be irresponsible. Although you may think that the warnings you see are harmless, the same bug could be causing serious trouble to other users. The developers may spend weeks trying to track down the problem, when the message you saw would have located the problem instantly.