Klaus Schmidinger wrote: > A plugin may well call Skins.Message(), but only from the _main_ > thread. > > I'm thinking about a function like > > cOsdObject *cPlugin::Popup(void); > > which would be called in every turn of the main loop (i.e. from the > foreground thread) whenever there is no OSD display open. A plugin > could either return a cOsdObject that will be presented to the user, In this case the function wouldn't be called again, would it? Isn't it possible to use Skins.Message even with an osd already open? Maybe cOsdObject *cPlugin::Popup(bool canpopup) called regardless of an osd open (and canpopup set to false if the plugin cannot create a cOsdObject)? > or could directly display a message (even with user interaction, if > necessary) and retrun NULL. Of course, if a plugin's thread wants to > issue a message, it will have to store the message inside the plugin > and wait until asked through a call to its Popup() function. > > Would that be a useful solution? I think it would be useful. For example, I could use it in my actuator plugin to show the dish position instead of patching vdr as I do now, and as soon as the user presses a button I could close my cOsdObject and reinject the key to vdr. But it's not a complete solution, what if more than one plugin needs to show something on screen? I reckon there's no simple solution to that, but maybe the solution would be implementing something like the ttxsubs or subtitles patches do (something like more than one osd opened at once, with only the highest priority one actually shown), or some kind of windowing system...I really don't know. Bye -- - Yo tambi?n quiero una Europa libre de Patentes de Software - - I want a Software Patents Free Europe too! And you? - --------------------------------------------------------------- EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 256 bytes Desc: OpenPGP digital signature Url : http://www.linuxtv.org/pipermail/vdr/attachments/20050731/91cb82c3/signature-0001.pgp