• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

C++ System Call von Firefox / open in new tab

Hallo,

ich habe mein System so eingestellt, dass URLs in neuen Tabs vom Firefox aufgemacht werden, also z.B. wenn ich auf einen Link in einer Mail klicke. Funktioniert prima.

Ich habe jetzt ein C++ geschrieben welches aufruft

string execute = "firefox test.html &";
system(execute.c_str());

Hier wird leider kein neuer Tab aufgemacht sondern immer der aktuelle Fensterinhalt ueberschreiben. Was muss ich tun damit ich obiges Verhalten hin bekomme?

danke.

PS: Bitte nicht schreiben ich solle kmail debuggen um zu sehen wie die das machen... ich bin Anfaenger und wuerde den Wald vor lauter Baeumen nicht mehr sehen.
 
Was passiert denn, wenn Du
Code:
firefox test.html &
in einer Shell ausführst?

Klappt es dann wie gewünscht oder wird auch dann der letzte Tab überschrieben?

Wenn auch dann der letzte Tab überschrieben wird, ist es ein Firefox-Problem und kein Problem mit Deinem Programm.
 
sei firefox 1.5 geht das anders mit dem Tab

Code:
#!/bin/bash
# alte Version
#/usr/lib/firefox/firefox-bin -remote "openUrl($1, new-tab)" || /usr/lib/firefox/firefox-bin $1

# new since 1.5.x
firefox -new-tab $1
 
Also ich habe firefox 1.0.x

firefox test.html & in der bash macht das File auch nicht im neuen Tab auf.

Was du oben unter alte Version geschrieben hast verstehe ich nicht - klappt auch nicht. Soll ich die komplette Zeile also inkl. || .... eingeben? da passiert rein gar nichts....

danke J.
 
tja, dann hast du wohl kein firefox-RPM installiert.

aber dennoch sollte dein firefox disesen Befehl verstehen.

der Befehl:
Code:
/usr/lib/firefox/firefox-bin -remote "openUrl($1, new-tab)" || /usr/lib/firefox/firefox-bin $1
testet ob eine Firefox Instanz läuft und falls ja wird ein neuer Tab aufgemacht, falls nicht wird ein Firefox gestartet. Evtl musst du den Pfad zu DEINEM firefox anpassen. Für SuSE-Pakete gilt dieser Pfad.

und seit Firefox 1.5.x muss es eben so heissen:
Code:
firefox -new-tab $1

In beiden Befehlen ist $1 eine übergebene URL !
 
Das mit $1 war klar. Ich nutze Suse 10.0 und habe firefox ueber yast installiert. Davon abgesehen, dass firefox-bin bei mir unter /opt/MozillaFirefox/ liegt habe ich es so eingegben

/opt/MozillaFirefox/lib/firefox-bin -remote "openURL(/tmp/FreeCallSendData1000.html, new-tab)" || /opt/MozillaFirefox/lib/firefox-bin /tmp/FreeCallSendData1000.html

Die bash kehrt zum prompt zurueck und das wars dann.
 
Oben