2006年8月29日の日記の1番目の記事へのコメント

uim-toolbar-gtk-systray

なんかいつの間にか出なくなった・・・と思ったら超薄くなって出てました(;´Д`).・・・一体いつからなんじゃこりゃ.uim-1.2.1に上げたからか?でもこの辺最近いじられてないよなぁ・・・.あー,そういやmltermもビルドし直しか.

[コメントを書く]

ekato 2006/08/30(水) 12:47:55
systrayって一つの要求に対してアイコン一つしか表示できないように基本的になっているのでそれが原因だと思います。
ただ Gnome の notification area だとサイズに制限がないので大丈夫なんですけどね。確か icewm では一つのトレイの横幅が決め打ちになっているので、それを書換えないとだめだったような気がします。
nosuke さんの使っているパネルって何ですか?
nosuke 2006/08/30(水) 13:12:18
こんにちは.
> nosuke さんの使っているパネルって何ですか?
えーと,パネルを勘違いしてたら申し訳ないんですが,パネル自体はicewmのタスクバーを使ってて,アイコンの捕捉にはicewmについてるicewmtrayを使用しています.
ekato 2006/08/30(水) 13:52:02
なら、yxtray.cc の TICON_W_MAX をとりあえず書換えてみるとか。
本当なら、MAX 決め打ちじゃなくて size_request された値を使うのが正しいと思うんですけどね。

ツールバーみたいなものを systray に使うのは本来の目的ではないので、icewmでは考慮されていないんだと思います。KDE の systray もだめだったような気がします。
nosuke 2006/08/30(水) 13:59:21
ううーん,そうなんすか.となると今まで使えてたのが不思議ですね・・・.うーん
ekato 2006/08/30(水) 14:25:58
今まで使えてたんですか? toolbar-systray-gtk.c って変わって
ないはずですし…

ところで今 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));
nosuke 2006/08/30(水) 14:59:05
うお,パッチどうもです.
インストールしたもの巻き戻してみたら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
nosuke 2006/08/30(水) 15:17:44
あれ,今再度1.2.1に上げたら正常になりました.ううう,一体どういう加減なのか・・・.とりあえずicewm側に問題ありっぽいんで見てみます.お騒がせしました.
ekato 2006/08/30(水) 15:58:58
タイミング依存ぽいですよね。xfce4 とか KDE の systray でもサイズを反映してくれない場合があるみたいです。uim のツールバーみたいな可変長のアイコンを systray に使うのは想定外なんじゃないかな…
nosuke 2006/08/31(木) 02:11:38
うーん,なるほどタイミングの問題ですか.
toolbar-systray-gtk.cいじって個々のアイコンをバラバラにsystrayに登録するといいのかなぁ・・・.
ekato 2006/08/31(木) 15:54:42
さすがに、バラバラに登録は面倒ですね…

どうして 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

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2006年8月29日の日記の1番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年8月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ