Waylandはデスクトップマスコットの夢を見るか(1)

Waylandにはデスクトップマスコットを動作させる上で問題となる仕様があります。

クライアントからウィンドウの位置を把握することも、制御することもできないという点です。(ポップアップウインドウについては、トップレベルウインドウとの相対位置を制御することができます。)

回避策(案): 透明で入力を受け付けないトップレベルウインドウを作成・最大化(フルスクリーン)しておき、他のウインドウはポップアップとして作成し、トップレベルに対する相対位置を制御することで、デスクトップ上の絶対位置を制御しているように見せかける。

クロモリリジッドフォーク

最近MTB用クロモリリジッドフォーク、特にディスクブレーキ台座付きストレートフォークの選択肢が増えてきています。

私はGOLDRUSHさんのFullMarksクロモリリジッドフォーク(旧型)を使用しています。
つい最近TUBAGRAさんからENNMA FORKが出ましたね。大変気になるフォークです。

今回はこの2つのフォークの違いについて少しだけ書きます。(単に自分のための覚書なんですが。)

肩下寸法の違いについてどちらが良いとかは諸説あると思いますので省略。インストールする上では、それよりもステアリングコラムの長さが要注意だと思います。
この2つ、スペック上50mmもステアリングコラムの長さが違います。
長い分には切れば良いのでは、と思われるかもしれませんが、BMX用フォークで主流のコラム内部にネジ山があるタイプのため単純に切れば良いというわけにはいきません。(まあ、ネジ山無視でスターファングルナットを入れてしまえば関係ないんですが。)ちなみに、FullMarks(旧型)の方は12mmくらいはネジ山にかかることなく切れました。
ENNMA FORKの170mmという数字はヘッドチューブ+ヘッドパーツ+ステムの長さによっては足りなくなる場合がありそうです。私のWANGA+CHRIS KING+THOMSONの組み合わせではギリギリ足りるかどうかといったところです。
ということで、フレームが変わらなければ次買うとしてもやっぱりFullMarksかなと。

それと私の経験上ですが、クロモリリジッドフォークをインストールする際は必ずクラウンレースの処理が必要でした。ということで、私はクラウンレースカッターを持っています。(下玉押し一体型フォークをインテグラルヘッドで使う場合は不要ですね。)

クラウンレース

思い付きで、現在使っていないフロントフォーク(クロモリ)のクラウンレースを加工してみました。

専用工具(クラウンレースカッター)は使用していません。それでも工夫して、手間と時間をかければこの程度の仕上がりにはなりました。

P1000231

どうやったかについては御想像にお任せします。

P1000233

 

本番

やっとsakura.rbをruby-gtk3リポジトリに追加しました。

未完成ですが、とにかく本体の部品はほぼ揃いました。ここからが移植の本番です。
# プラグインをどうするかは未定ですが、基本的にpython版にあった機能は削除しない方向で考えてます。

Webブラウザでninix-aya(新春一発ネタ)

単にninix-aya 4.99.xでGDKのバックエンドをBroadwayにしただけですが何か。

Screenshot from 2015-01-03 16:33:25

 

まず、Broadway display serverを起動します。

% broadwayd

次に、Webブラウザで http://localhost:8080/ にアクセス。

最後に、環境変数を設定してninix-ayaを起動します。

% GTK_IM_MODULE= GTK_MODULES=”” GDK_BACKEND=broadway BROADWAY_DISPLAY=:0 ninix

 

はるかな道程

次期ninix-ayaはPython3+Gtk3をやめて、Ruby+Gtk3で開発します。Python版の開発は4.4系, 4.99系共に本日をもって終了です。

結局、Gtk3は外せないということでこういう結論になりました。まだ本体の移植が終わっていませんし、互換栞などの移植にも相当の時間を取られるはずですのでリリース時期は未定です。

 

そろそろ決断

色々試して来ましたが、Python3+Qt5が最も可能性がありそうです。

  • Python3+Gtk3 → PyCairoの件が不調。それ以外は特に問題は無いのですが。
  • Python2+Gtk2 → いずれObsoleteになる。
  • Ruby+Gtk3 → 移植が必要なコードの量が一人でやるには多過ぎる。(特に栞)
  • Python3+Qt5 → そのまま移植出来ない部分(メニューなど)はあるが、致命的でない。栞のコードなどがそのまま使える。ツールキット移行のメリットも多そう。

Qt5の印象ですが、APIがQtで閉じていて、Gtkよりもマルチプラットホームである点が魅力的ですね。

Rubyはじめました

とりあえずninix-ayaのruby-gtk3版のリポジトリを作りました.

ninix/pix.pyのいくつかの機能を移植したpix.rbを置いてあります.

ruby pix.rb “サーフェスのPNGファイル”

とするとウィンドウが表示されるはずです.
pnaにも対応していますが, 暗号化ファイルは未対応です.