Python-ClutterでX11ディスプレイをどのように設定しますか?私はそれをXSCREENSAVER_WINDOWに設定しようとしています。私はclutter.x11をインポートしてset_display()を使ってみましたが、これは正しいコマンドではないようです。誰もがこれを行う正しい方法を知っていますか?Pythonクラッター:ディスプレイを設定しますか?
2
A
答えて
0
私はthis threadを見つけて、アバター画像を見て、あなたのスレッドだと思っています; LemursDontExistで与えられたコードを投稿してみましょう。
短い説明:X Windowsでプログラムスクリーンセーバーを作るために、プログラムをチェックし、それはスクリーンセーバーとして実行されているであれば、それはのようなウィンドウ・システムによって呼び出された場合、それが意味しています。これは、環境変数DISPLAY
がXSCREENSAVER_WINDOW
に設定されているかどうかをチェックすることによって行われます。
この場合、プログラムはフルスクリーンになり、特定のイベントに反応する必要があります。これはまさに以下のコードが行うことです。この変数を設定することは、xscreensaverアプリケーションを通じて行われます。あなたはそれを自分でやってはいけません。
欠けているビットは、clutter-gtk
のpythonバインディングです。現在のUbuntuでは、パッケージ名はgir1.2-clutter-gtk-0.10
です。これで、クラスターAPIと共にカスタムウィンドウクラスを使用できます。 pythonと混乱を使用する方法の簡単な概要については
class GsThemeWindow(gtk.Window):
__gtype_name__ = 'GsThemeWindow'
def __init__(self):
super(GsThemeWindow, self).__init__()
self.connect("destroy", gtk.main_quit)
def do_realize(self):
ident = os.environ.get('XSCREENSAVER_WINDOW')
if not ident is None:
self.window = gtk.gdk.window_foreign_new(int(ident, 16))
self.window.set_events(gtk.gdk.EXPOSURE_MASK |
gtk.gdk.STRUCTURE_MASK)
x, y, w, h, depth = self.window.get_geometry()
self.size_allocate(gtk.gdk.Rectangle(x, y, w, h))
self.set_default_size(w, h)
self.set_decorated(False)
else:
self.window = gtk.gdk.Window(
self.get_parent_window(),
width=self.allocation.width,
height=self.allocation.height,
window_type=gtk.gdk.WINDOW_TOPLEVEL,
wclass=gtk.gdk.INPUT_OUTPUT,
event_mask=self.get_events() | gtk.gdk.EXPOSURE_MASK)
self.window.set_user_data(self)
self.style.attach(self.window)
self.set_flags(self.flags() | gtk.REALIZED)
(それは多くのことを変更されている)、this example
関連する問題
- 1. Python 3でクラッターを使用できますか?
- 2. Pythonクラッター:タイムラインがいつ終了するかを知る?
- 3. ディスプレイを設定する:ディスプレイのデフォルトとしてflex:cssの要素なし?
- 4. CSSディスプレイの設定が機能しません
- 5. tkinterディスプレイを更新または再設定する
- 6. Python LCDディスプレイ
- 7. Pythonのメンバーシップを設定します
- 8. Xcode Instruments 8.3ディスプレイ設定ボタンがありません
- 9. Hybridauth Facebookのディスプレイ設定が機能しない
- 10. OSXで網膜ディスプレイの設定を変更するには?
- 11. 私のディスプレイの解像度を設定する
- 12. 2次ディスプレイのWPFウィンドウの位置を設定する方法
- 13. ディスプレイよりも大きなSurfaceViewにカメラプレビューを設定する
- 14. iOS網膜ディスプレイ用にFlotを設定する方法
- 15. リモートユニックスシステムのディスプレイ環境変数を設定する
- 16. デフォルトのディスプレイをAndroidで設定する方法Dialog datepicker
- 17. Windows 10でディスプレイを1600 x 900に設定する
- 18. bashスクリプトを使ってpythonパスを設定しますか?
- 19. Python Pygame - ディスプレイを更新する
- 20. flex-direction:ディスプレイを指定する必要がありますか?
- 21. ディスプレイの解像度の制限を1に設定
- 22. このリレーショナルデータベースを正しく設定しましたか(python、sqlite3)
- 23. Pythonのqmlプロパティを設定していますか?
- 24. PythonでGtk3 HeaderBarの間隔を設定しますか?
- 25. Python MySQLdbでユーザー定義変数を設定できますか?
- 26. Pythonプロパティを__init __()から設定する
- 27. コマンドラインからpythonバージョンを設定する
- 28. 網膜ディスプレイをサポートするipadアプリケーションの画像を設定する方法
- 29. webpack設定で設定値を設定し、反応コンポーネントからアクセスします
- 30. pythonパッケージを設定する
を参照してください、あなたはスクリプトを実行する前に、DISPLAY環境変数を設定するか試してみましたその後、例えば'export DISPLAY = ':0.0''または' os.environ [' DISPLAY '] =':0.0''? –
これはスクリーンセーバーなので、これはうまくいくのではないでしょうか?私はこれを完全には理解していません。それは行くだろう。 –