2008-10-02 18 views
7

पर स्टैंडअलोन एडोब फ्लैशप्लेयर को प्रोग्रामेटिक रूप से लॉन्च करना स्टैंडअलोन फ़्लैशप्लेयर एक .swf फ़ाइल के अलावा कोई तर्क नहीं लेता है जब आप इसे कमांड लाइन से लॉन्च करते हैं। मुझे प्लेयर को पूर्ण स्क्रीन, खिड़की की सीमाओं और इस तरह की आवश्यकता नहीं है। प्रोग्राम शुरू होने के बाद यह ctrl + f को मारकर पूरा किया जा सकता है। मैं इसे प्रोग्रामेटिक रूप से करना चाहता हूं क्योंकि मुझे बिना किसी मानवीय बातचीत के पूर्ण स्क्रीन में लॉन्च करने की आवश्यकता है।लिनक्स/एक्स 11

मेरा अनुमान है कि मुझे कुछ लोगों को खिड़की पर एक हैंडल प्राप्त करने की आवश्यकता है और फिर इसे "ctrl + f" कीस्ट्रोक की तरह दिखने वाला एक ईवेंट भेजें।

यदि इससे कोई फर्क पड़ता है, तो ऐसा लगता है कि फ्लैशप्लेयर एक gtk एप्लिकेशन है और मेरे पास pygtk इंस्टॉल के साथ पायथन है।

अद्यतन (समाधान मैं ... का इस्तेमाल किया ypnos 'जवाब के लिए धन्यवाद):

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

+1 महान प्रश्न! :) मैं थोड़ी देर के लिए यह देख रहा था –

उत्तर

7

आप एक समर्पित एप्लिकेशन का उपयोग कर सकते हैं जो कि विंडो प्रबंधक को कीस्ट्रोक भेजता है, जिसे स्क्रीन पर सक्रिय विंडो के रूप में शुरू होने पर इसे फ़्लैश करने के लिए पास किया जाना चाहिए। हालांकि, फ्लैश शुरू करने और खिड़की दिखाई देने के बीच देरी के कारण यह काफी त्रुटि प्रवण है।

उदाहरण के लिए, अपनी स्क्रिप्ट कुछ इस तरह कर सकता है: flashplayer * नींद 3 & & xsendkey नियंत्रण + एफ

आवेदन xsendkey यहां पाया जा सकता .swf: http://people.csail.mit.edu/adonovan/hacks/xsendkey.html दिया एक विशिष्ट विंडो के बिना, यह इसे रूट विंडो पर भेज देगा, जिसे आपके विंडो मैनेजर द्वारा संभाला जाता है। आप xprop या इससे संबंधित कुछ का उपयोग कर विंडो विंडो को पहले पता लगाने का भी प्रयास कर सकते हैं।

एक और विकल्प एक विंडो प्रबंधक है, जो आपकी सेटिंग्स को याद रखने में सक्षम है और स्वचालित रूप से उन्हें लागू करता है। उदाहरण के लिए Fluxbos इस सुविधा प्रदान करता है। फ्लैशप्लेयर का आकार बदलने का समर्थन करता है, तो आप विंडो को सजावट कम करने और इसे पूरी स्क्रीन पर खींचने के लिए फ्लक्सबॉक्स सेट कर सकते हैं। यह भी बहुत अच्छा नहीं है, क्योंकि यह संभवतः आपके द्वारा खोले गए सभी फ़्लैशप्लेयर विंडो को प्रभावित करेगा।

+0

xprop + xsendkey चाल करता है। एक बार जब मैं इसे सभी पाइपिंग और अजीब चीजें इसे स्वचालित करने के लिए निकाला जाता हूं तो मैं अपना सटीक बैश कमांड पोस्ट करूंगा। – afarnham

+1

./flashplayer http://example.com/example.swf और नींद 3 && ~/xsendkey -window "एडोब फ़्लैश प्लेयर 10" नियंत्रण + एफ – afarnham

+0

कि काफी समय लगा :) लेकिन साझा करने के लिए धन्यवाद! – ypnos

1

मैं वास्तव में इस एक लंबे समय पहले किया है, लेकिन यह क्षुद्र नहीं था। हमने जो किया है वह Sawfish window manager का उपयोग करता है और फ्लैशप्लेयर विंडो को पहचानने के लिए एक हुक लिखा है, फिर सभी सजावट को पट्टी करें और इसे पूर्ण स्क्रीन स्नैप करें।

बाहरी अनुप्रयोग से एक्स विंडो निर्माण घटनाओं के लिए पंजीकरण करके विंडो प्रबंधक का उपयोग किए बिना यह संभव हो सकता है, लेकिन मैं आपको यह बताने के लिए एक्स 11 के साथ पर्याप्त परिचित नहीं हूं कि यह कैसे किया जाएगा।

एक और विकल्प एक pygtk एप्लिकेशन लिखना होगा जो gtk.Socket के अंदर स्टैंडअलोन फ़्लैश प्लेयर को एम्बेड करता है और उसके बाद स्वयं का आकार बदलता है। थोड़ी सी सोच के बाद, यह आपकी सबसे अच्छी शर्त हो सकती है।

0

मैं एक है कि bmdhacks का उल्लेख करने के लिए इसी तरह की एक प्रणाली का उपयोग करके इस OPENBOX का उपयोग किया गया है। जिस चीज से मैंने यह नोट किया था वह था कि स्टैंडअलोन फ्लैश प्लेयर ने अधिकतम खिलाड़ी की तुलना में एक ही खिलाड़ी की तुलना में काफी खराब फुलस्क्रीन का प्रदर्शन किया था। (कि, मेन्यूबार की वजह से परेशान रूप से पूर्णस्क्रीन नहीं है)। मैं मेनू को अदृश्य बनाने के लिए इसे कस्टम gtk थीम के साथ चलाने के बारे में सोच रहा था। हालांकि यह सिर्फ एक प्रदर्शन मुद्दा है। अगर फुलस्क्रीन वर्तमान में ठीक काम करता है, तो यह अनजाने में जटिल है। मैं ओएलपीसी एक्सओ पर चल रहा था, प्रदर्शन वहां एक मुद्दा है।

मैं nspluginplayer के साथ बहुत किस्मत नहीं था (भी मुझे लगता है कि छोटी गाड़ी)।

अंत में मैं फ्लैश कि इतने मैं बस फ्लैश में ही कोड लगा सके चल रहा था बनाने के लक्जरी था। इसी तरह के टोकन से, चूंकि आप फ्लैश के भीतर फ्लैश एम्बेड कर सकते हैं, इसलिए थोड़ा स्टब एसएफएफ़ बनाना संभव है जो पूर्णस्क्रीन स्वचालित रूप से चला जाता है और इसमें लक्ष्य एसएफडब्ल्यू होता है।

stage.displayState = StageDisplayState.FULL_SCREEN; 

देखें एडोब कार्रवाई स्क्रिप्ट 3 प्रोग्रामिंग:

0

आप एक्टन स्क्रिप्ट 3 cmd उपयोग करना होगा।

लेकिन सावधान रहें: पूर्ण स्क्रीन में, आप प्रदर्शन प्रदर्शन खो देंगे!

मुझे यह समस्या मिली है ... लिनक्स के तहत और अधिक !!!

1

एक और विकल्प एक pygtk एप्लिकेशन लिखना होगा जो gtk.Socket के अंदर स्टैंडअलोन फ़्लैश प्लेयर को एम्बेड करता है और फिर स्वयं का आकार बदलता है। थोड़ी सी सोच के बाद, यह आपकी सबसे अच्छी शर्त हो सकती है।

यह मैं वास्तव में क्या किया है। इसके अलावा, मेरा खिलाड़ी Xcomposite, Xfixes और Cairo के माध्यम से फ़्लैश सामग्री को स्केल करता है। अजगर स्रोत सहित एक .deb यहां पाया जा: http://www.crutzi.info/crutziplayer