PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Firefox-Plugin für MythTV



Woosh
12-08-2007, 21:11
Hi Leute,

ich hab hier Ubuntu 7.04 und darauf MythTV und dessen Plugins (MythPlugins) installiert. Außerdem sind noch weitere selbst programmierte Plugins installiert. Das Hauptproblemkind ist Firefox. Der Quellcode des Plugins für MythTV:

#include <iostream>

#include <qapplication.h>
#include <unistd.h>

#include <mythtv/mythcontext.h>
#include <mythtv/mythdialogs.h>
#include <mythtv/mythplugin.h>
#include <mythtv/langsettings.h>

using namespace std;

extern "C" {
int mythplugin_init(const char *libversion);
int mythplugin_run(void);
int mythplugin_config(void);
}


int mythplugin_init(const char *libversion)
{
printf("Init ready!");
return 0;
}

int mythplugin_run(void)
{
system("firefox -fg --fullscreen");
return 0;
}

int mythplugin_config(void)
{
return 0;
}


Das Problem ist nun: Wenn man das Firefox-Plugin (welches dann per "system();" Firefox startet; sh. Quellcode oben) über einen Menüpunkt in MythTV startet und etwas eingibt, nimmt Firefox nur Tastatureingaben für sehr kurze Zeit (ca. 3 Sekunden) an. Danach nimmt die Tastatureingaben nicht mehr Firefox auf, sondern wieder Myth (welches natürlich im Hintergrund weiterläuft. Ich vermute, es liegt an den Mutter-Kind-Beziehung zwischen MythTV und dem durch MythTV geöffneten Firefox.

Wäre es vielleicht möglich, den Mutterprozess (in diesem Fall also MythTV) in einen "Wait-Zustand" zu versetzen, damit er erst wieder Tastatureingaben wahrnimmt, nachdem der Prozess zu Firefox geschlossen wurde? Oder gibt es andere Vorschläge, was man da machen könnte?

LG Woosh

PS: Das alles trifft allerdings nicht mehr zu, wenn Myth unter Gnome gestartet wird. Das will ich aber nicht. Das Programm soll unter purem X laufen, da ich es beim Systemstart per .xsession starte.

Woosh
19-08-2007, 21:46
Das Problem ist mittlerweile gelöst. Für alle, die es interessiert: Ich hab einfach die .xsession folgendermaßen editiert:

fvwm &
mythbackend &
mythfrontend
Das heißt: Ich brauche schlicht und einfach nen simplen Window-Manager und schon hat sich das Problemchen erledigt ;-)

LG Woosh