2023/10/18(水) [n年前の日記]
#1 [ruby] FXRubyをWindows10上で試用
Windows10 x64 22H2上で、FXRuby を試用してみた。
_GitHub - larskanis/fxruby: FXRuby is an extension module for Ruby that provides an interface to the FOX GUI toolkit.
_fxruby | RubyGems.org | コミュニティのgemホスティングサービス
_File: README - Documentation for fxruby (1.6.46)
FXRubyは、Rubyから利用できるGUIライブラリ。 _FOX Toolkit というGUIライブラリをRubyから利用できるようにしたもの。かなり昔からあるけれど、他のRuby用GUIライブラリが軒並み開発停止になっている中、今でも開発が続いているあたり、かなり貴重なライブラリなのではないかと。
以下の環境で動作確認してみた。
ちなみに、自分、以前少しだけ試用してみたことがあるっぽい。
_mieki256's diary - FXRubyを勉強中
Windowsの場合は、これだけでインストールできる。今回は fxruby 1.6.46 x86-mingw32 がインストールされた。
_GitHub - larskanis/fxruby: FXRuby is an extension module for Ruby that provides an interface to the FOX GUI toolkit.
_fxruby | RubyGems.org | コミュニティのgemホスティングサービス
_File: README - Documentation for fxruby (1.6.46)
FXRubyは、Rubyから利用できるGUIライブラリ。 _FOX Toolkit というGUIライブラリをRubyから利用できるようにしたもの。かなり昔からあるけれど、他のRuby用GUIライブラリが軒並み開発停止になっている中、今でも開発が続いているあたり、かなり貴重なライブラリなのではないかと。
以下の環境で動作確認してみた。
- Windows10 x64 22H2 + Ruby 2.6.10 p210 i386-mingw32 (32bit版, x86) + fxruby 1.6.46 x86-mingw32
- Windows10 x64 22H2 + Ruby 3.2.2 i386-mingw32 (32bit版, x86, RubyInstaller2) + fxruby 1.6.46 x86-mingw32
ちなみに、自分、以前少しだけ試用してみたことがあるっぽい。
_mieki256's diary - FXRubyを勉強中
◎ インストール :
gem install fxruby
Windowsの場合は、これだけでインストールできる。今回は fxruby 1.6.46 x86-mingw32 がインストールされた。
◎ サンプルファイルで動作確認 :
以下のディレクトリにサンプルファイル群が入っている。
examples\ を別の場所にまるっとコピーして、その中で一通り動かしてみたけれど、FXRuby だけを使っているサンプルについては大体動かせた。他のライブラリまで要求するサンプルについては動作確認していない。
ただ、一見動いているようでも、一部のスクリプトは終了時に Segmentation fault を吐く。例えば dctest.rb は、Ruby 2.6.10 x86、Ruby 3.2.2 x86、どちらも Segmentation fault を吐いた。
更に、一部のスクリプトは、終了時に以下のメッセージを吐く。
(Rubyインストールフォルダ)\lib\ruby\gems\2.6.0\gems\fxruby-1.6.46-x86-mingw32\examples\
examples\ を別の場所にまるっとコピーして、その中で一通り動かしてみたけれど、FXRuby だけを使っているサンプルについては大体動かせた。他のライブラリまで要求するサンプルについては動作確認していない。
ただ、一見動いているようでも、一部のスクリプトは終了時に Segmentation fault を吐く。例えば dctest.rb は、Ruby 2.6.10 x86、Ruby 3.2.2 x86、どちらも Segmentation fault を吐いた。
更に、一部のスクリプトは、終了時に以下のメッセージを吐く。
../../../../ext/fox16_c/FXRuby.cpp(164): FXASSERT(SWIG_CheckConvert(rbObj, ty)) failed.例えば image.rb がこういうメッセージを吐いたりする。しかし、Ruby 2.6.10 x86 では吐くけれど、Ruby 3.2.2 x86 では吐かない。Ruby のバージョンによって問題が起きたり起きなかったりするっぽい。
◎ 問題点 :
少し触っているうちに、ふと気づいた。コレ、日本語入力ができないのでは…? scintilla-test.rb を動かして試した感じでは、IMEが無反応だった。
加えて、Alt + F4 でウインドウを閉じられない点も少し気になった。Windowsの作法に従ってないっぽい。でもまあ、他のアプリでもそういうのはあるから、そこらへんはまあいいか。
何にせよ、日本語入力ができない点は、日本語文化圏では結構痛い気がする。道理で日本国内では関連記事を全く見かけないわけで…。日本語入力を一切しないGUIアプリなら使えなくもない、みたいな話になるのだろうか。
以下の記事によると、入力はともかく、日本語表示はできるらしい。
_Rubyはじめました: rubyでGUIアプリ FxRubyのインストールとHello World!
更にググっていたら、大昔、2002年頃なら、パッチをあてることで入力できなくもない状態になってた時期もあるようで…。ただ、今ではパッチ関連のページすら消滅してる状況なので、もう誰も FOX Toolkit に日本語入力なんて期待していないということなのだろう…。
_Takahiro's inside out - fox-unicode (WebArchive)
_FOX Unicode 化 (WebArchive)
_Ruby de GUI
加えて、Alt + F4 でウインドウを閉じられない点も少し気になった。Windowsの作法に従ってないっぽい。でもまあ、他のアプリでもそういうのはあるから、そこらへんはまあいいか。
何にせよ、日本語入力ができない点は、日本語文化圏では結構痛い気がする。道理で日本国内では関連記事を全く見かけないわけで…。日本語入力を一切しないGUIアプリなら使えなくもない、みたいな話になるのだろうか。
以下の記事によると、入力はともかく、日本語表示はできるらしい。
_Rubyはじめました: rubyでGUIアプリ FxRubyのインストールとHello World!
更にググっていたら、大昔、2002年頃なら、パッチをあてることで入力できなくもない状態になってた時期もあるようで…。ただ、今ではパッチ関連のページすら消滅してる状況なので、もう誰も FOX Toolkit に日本語入力なんて期待していないということなのだろう…。
_Takahiro's inside out - fox-unicode (WebArchive)
_FOX Unicode 化 (WebArchive)
_Ruby de GUI
[ ツッコむ ]
以上です。