2022/07/28(木) [n年前の日記]
#1 [xscreensaver][python] xscreensaverからPythonスクリプトを起動できないか模索
xscreensaver用のスクリーンセーバを作る際に、C/C++ で書くのはちょっとハードルが高いなと。せめてPythonスクリプトを起動できたら楽になりそうだなと。
一応、そういったこともできるらしいのだけど…。
_A Python screensaver for xscreensaver (Linux) | alvinalexander.com
紹介されているソースは昔のPython用のソースだったようで。Ubuntu Linux 20.04 LTS ではもう利用できなくなった PyGTK を使ってたりする…。PyGObject を使うように書き換えないと…。よく見たら print も print() になってない…。
色々ググってたら、PyGTKCompat を使えばソースの改変を最小限にして過去の資産を活かせる、と知ったのだけど。
_Projects/PyGObject/PyGTKCompat - GNOME Wiki!
試してみたものの、gtk.gdk.Window() でエラーが出てしまう。Gtk2 と Gtk3 で渡す引数が違うのだろうか。
ちなみに、if self.flags() & gtk.REALIZED: は、if self.get_realized(): に変更してみた。それで合ってるのかどうか分からんけど…。
一応、そういったこともできるらしいのだけど…。
_A Python screensaver for xscreensaver (Linux) | alvinalexander.com
紹介されているソースは昔のPython用のソースだったようで。Ubuntu Linux 20.04 LTS ではもう利用できなくなった PyGTK を使ってたりする…。PyGObject を使うように書き換えないと…。よく見たら print も print() になってない…。
色々ググってたら、PyGTKCompat を使えばソースの改変を最小限にして過去の資産を活かせる、と知ったのだけど。
_Projects/PyGObject/PyGTKCompat - GNOME Wiki!
試してみたものの、gtk.gdk.Window() でエラーが出てしまう。Gtk2 と Gtk3 で渡す引数が違うのだろうか。
ちなみに、if self.flags() & gtk.REALIZED: は、if self.get_realized(): に変更してみた。それで合ってるのかどうか分からんけど…。
[ ツッコむ ]
以上です。