2006年8月29日の日記を表示中
2006年 8月29日 (火)
■uim-toolbar-gtk-systray
なんかいつの間にか出なくなった・・・と思ったら超薄くなって出てました(;´Д`).・・・一体いつからなんじゃこりゃ.uim-1.2.1に上げたからか?でもこの辺最近いじられてないよなぁ・・・.あー,そういやmltermもビルドし直しか.
[コメントを書く]
■ファミコン妄想
中身全然わかってないんですが,PPUは毎フレーム,ネームテーブルを見てキャラロムからDMAか何かで対応するマップを読み出してVRAM上に背景構築するんですかね?1.79MHzで毎クロック1byte(4ドット)読み出すなら,15,360サイクルあれば読み終わるから余裕で間に合うよなぁ・・・.メモリが1サイクルで読めればですが.
たとえばカセット側にFPGA置いたりして,ダブルバッファリングみたなことして,元々用意してたデータをものすごい勢いでブリットしまくって,キャラロムを動的に生成してファミコン側に見せると,ファミコンの描画限界を超えてすげーこと(大量の弾幕とかデカキャラ動かすとか)できるんじゃねーの?とか妄想してみましたが,8×8×256 だと,256×240 には全然足りんな.
あ,待てよ,4ドット単位で読み出されんなら,FPGA内のRAMに256×240のメモリ用意しといて,ネームテーブルは全部BGの0番とか指しておきながら,0番を読む度にアドレス増やしながらメモリの中身返すとかやれば何でもできるんじゃ・・・.どーですかね?>ぼすけさん
でもなんつーか誰でも思いつきそうだよなこんなの(´・ω・`).大体最初の前提が嘘くさいし(^^;.そもそも何をどこにブリットするとかもファミコン側じゃ処理が全然追いつかなくて,結局FPGA側のプロセッサ使うとかになって,ファミコンはI/Oだけ・・・とかなりそうで微妙だよなぁ(;´Д`)
[コメントを書く]
- nosuke 2006/08/30(水) 12:11:36
- あーパレットに制限があるからだめそうだ・・・
■ninix-aya-3.8.9
諸般の事情で記念にninix-ayaのバージョンを3.8.4から3.8.9に上げてみたんですが,ゴーストの顔突いたら母ちゃんかんべんでクラッシュするようになっちまいました.ううう,これではパチュリー以外に切り替えられんではないか・・・.
3.8.5から順番に上げてったら,3.8.8からダメな事が判明(´・ω・`)
Traceback (most recent call last): File "./ninix/ghost.py", line 961, in do_idle_tasks self.__sakura.process_script() File "./ninix/sakura.py", line 549, in process_script self.interpret_script() File "./ninix/sakura.py", line 1079, in interpret_script self.__script_tag[name](self, args) File "./ninix/sakura.py", line 809, in __yen_q newline_required) File "./ninix/balloon.py", line 328, in append_link self.window[side].append_link(label, value, newline_required) AttributeError: BalloonWindow instance has no attribute 'append_link'
うーん・・・Pythonは(も)お手上げ・・・.なんか古いのかな?
[コメントを書く]
- nosuke 2006/08/30(水) 12:53:36
- あーBalloonWindowクラスからappend_linkメソッドが消えている・・・
- nosuke 2006/09/01(金) 12:19:33
- 3.8.9aで直ってたー
2006年8月29日の日記を表示中
ただ Gnome の notification area だとサイズに制限がないので大丈夫なんですけどね。確か icewm では一つのトレイの横幅が決め打ちになっているので、それを書換えないとだめだったような気がします。
nosuke さんの使っているパネルって何ですか?
> nosuke さんの使っているパネルって何ですか?
えーと,パネルを勘違いしてたら申し訳ないんですが,パネル自体はicewmのタスクバーを使ってて,アイコンの捕捉にはicewmについてるicewmtrayを使用しています.
本当なら、MAX 決め打ちじゃなくて size_request された値を使うのが正しいと思うんですけどね。
ツールバーみたいなものを systray に使うのは本来の目的ではないので、icewmでは考慮されていないんだと思います。KDE の systray もだめだったような気がします。
ないはずですし…
ところで今 icewm 試してみたんですけど、icewm だけじゃなくて
uim のほうにも以下の変更が必要でした…
Index: toolbar-systray-gtk.c
===================================================================
--- toolbar-systray-gtk.c (revision 3859)
+++ toolbar-systray-gtk.c (working copy)
@@ -53,6 +53,8 @@
uim_toolbar_check_helper_connection(user_data);
uim_helper_client_get_prop_list();
uim_toolbar_get_im_list();
+
+ gtk_widget_show_all(user_data);
}
@@ -78,8 +80,6 @@
icon = uim_toolbar_trayicon_new();
g_signal_connect(G_OBJECT(tray), "embedded", G_CALLBACK(embedded_cb), icon);
- gtk_widget_show_all(icon);
-
gtk_container_add(GTK_CONTAINER(tray), icon);
gtk_widget_show(GTK_WIDGET (tray));
インストールしたもの巻き戻してみたらuim-1.2.0beta + icewm-1.2.26の組合せではちゃんと動きました.icewm-1.2.26のソース見たらyxtray.ccの中身がちょっと違いますね・・・.
uim-1.2.1 + icewm-1.2.26だとダメみたいです(昨日のスクリーンショットは多分この組合せ).うーん
http://garakuta.homelinux.org/~nosuke/tsubo/files/linux/uim-toolbar-gtk-systray-20060830.png
toolbar-systray-gtk.cいじって個々のアイコンをバラバラにsystrayに登録するといいのかなぁ・・・.
どうして gnome で問題がなく xfce4 でだめなのか見てみましたら、gnome ではドックした時点でのアイコンのサイズに制限するコードがコメントアウトしてありました。
以下の変更で xfce4 でも問題なくなるみたいです。
--- libxfcegui4-4.2.3/libxfcegui4/xfce_systemtray.c.orig 2005-11-06 01:58
:45.000000000 +0900
+++ libxfcegui4-4.2.3/libxfcegui4/xfce_systemtray.c 2006-08-31 15:38:07.0000
00000 +0900
@@ -473,6 +473,7 @@
*/
req.width = req.height = 1;
gtk_widget_size_request (GTK_WIDGET(socket), &req);
+ /*
if ((req.width < 16) || (req.height < 16))
{
gint nw = MAX (24, req.width);
@@ -481,6 +482,7 @@
req.width, req.height, nw, nh);
gtk_widget_set_size_request(icon, nw, nh);
}
+ */
gtk_widget_show(icon);
}
else