Frage

Der Standalone-Flashplayer hat keine Argumente anders als eine .swf-Datei, wenn Sie es von der Kommandozeile starten. Ich brauche den Spieler vollen Umfang nutzen zu gehen, keine Fensterrahmen und so weiter. Dies kann durch Drücken von Strg + f erreicht werden, sobald das Programm gestartet wird. Ich möchte dies programmatisch tun, wie ich es brauche, ohne menschliche Interaktion in vollem Umfang nutzen zu starten.

Meine Vermutung ist, dass ich einige brauchen, wie ein Griff in das Fenster und dann ein Ereignis senden, die wie die „Strg + F“ Tastendruck sieht.

Wenn es einen Unterschied macht, es sieht aus wie ein Flashplayer GTK-Anwendung ist, und ich habe Python mit pygtk installiert.

UPDATE (die Lösung, die ich ... dank ypnos' Antwort verwendet wird):

./flashplayer http://example.com/example.swf & sleep 3 && ~/xsendkey -window "Adobe Flash Player 10" Control+F
War es hilfreich?

Lösung

Sie können eine spezielle Anwendung verwendet werden, die den Tastendruck an den Fenstermanager sendet, die dann zu blinken passieren sollte, wenn das Fenster beginnt als das aktive Fenster auf dem Bildschirm zu sein. Das ist ziemlich fehleranfällig, aber aufgrund von Verzögerungen zwischen Start Blitz und wenn das Fenster wird angezeigt.

Zum Beispiel könnte Ihr Skript so etwas tun: Flashplayer * .swf Schlaf 3 && xsendkey Strg + F

Die Anwendung xsendkey finden Sie hier: http: //people.csail .mit.edu / adonovan / Hacks / xsendkey.html Ohne ein bestimmtes Fenster gegeben, wird es an die Root-Fenster senden, die von der Fenster-Manager gehandhabt wird. Sie könnten auch die Fenster-ID zunächst versuchen, herauszufinden, mit xprop oder etwas um sie.

Eine weitere Option ist ein Fenstermanager, die Ihre Einstellungen zu erinnern, die Lage ist, und sie automatisch anwenden. Fluxbos beispielsweise bietet diese Funktion. Sie könnten Fluxbox den Fensterdekor weniger und strecken sie über den gesamten Bildschirm zu machen, wenn Flashplayer Größe verändert unterstützt wird. Dies ist auch nicht so schön, wie es wahrscheinlich alle Flashplayer Fenster beeinflussen würden Sie jemals öffnen.

Andere Tipps

Ich habe dies tatsächlich getan vor langer Zeit, aber es war nicht kleinlich. Was wir getan haben ist der Sawfish Window-Manager verwenden und einen Haken schrieb das Flashplayer-Fenster zu erkennen, dann Streifen alle Dekorationen und lassen sie sie Vollbild.

Dies kann ohne Verwendung des Window-Managers möglich sein, indem sie von einer externen Anwendung für X-Window-Erstellung Ereignisse registriert, aber ich bin nicht vertraut genug mit X11, Ihnen zu sagen, wie das getan wird.

Eine andere Möglichkeit wäre eine pygtk Anwendung zu schreiben, die den eigenständigen Flash Player in einem gtk.Socket eingebettet und in der Größe selbst dann. Nach einem wenig Gedanken, könnte dies die beste Wahl sein.

nspluginplayer --fullscreen src=path/to/flashfile.swf

, die von dem ist [ http://gwenole.beauchesne.info/ / en / projects / nspluginwrapper] (nspluginwrapper Projekt)

  

Eine andere Möglichkeit wäre eine pygtk Anwendung zu schreiben, die den eigenständigen Flash Player in einem gtk.Socket eingebettet und in der Größe selbst dann. Nach einem wenig Gedanken, könnte dies die beste Wahl sein.

Das ist genau das, was ich tat. Zusätzlich zu, dass skaliert mein Player Flash-Inhalte über Xcomposite, Xfixes und Kairo. Ein .deb einschließlich Python Quelle hier: http://www.crutzi.info/crutziplayer

Ich habe diese mit openbox eines ähnlichen Mechanismus auf den einen getan verwenden, die bmdhacks erwähnt. Die Sache, die ich zur Kenntnis davon tat, war, dass der Standalone Flash Player ausgeführt deutlich schlechte Vollbild als der gleiche Spieler in einem maximierten undecorated Fenstern. (Das ist ärgerlicherweise nicht richtig wegen der menubar Vollbild). Ich habe mich gefragt, um es mit einem benutzerdefinierten gtk Thema laufen, um das Menü unsichtbar zu machen. Das ist nur ein Leistungsproblem though. Wenn Vollbild zur Zeit ok funktioniert, dann ist es unneccisarily kompliziert. Ich war auf einer OLPC XO läuft, ist die Leistung eher ein Problem gibt.

Ich hatte nicht viel Glück mit nspluginplayer (zu buggy glaube ich).

Schließlich hatte ich den Luxus, den Blitz zu machen, die so lief ich einfach Code in die Flash selbst platzieren konnte. Durch ein ähnliches Token, Da Sie Flash in Flash einbetten können, sollte es möglich sein, einen kleinen Stummel swf zu machen, die das Ziel sfw automatisch und enthält Vollbild geht.

Sie haben Acton Skript 3 cmd verwenden:

stage.displayState = StageDisplayState.FULL_SCREEN;

Siehe Adobe Action-Script 3-Programmierung.

Aber Vorsicht: in Vollbild, Sie Anzeige Leistungen verlieren

!

Ich habe dieses Problem bekam ... mehr unter Linux !!!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top