[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[vine-users:06648] wmapm



松林です。

wdm のパッケージについてのコメントは引続きお待ちしています。


ところで、Subject の件ですが、
当方で使っている VAIO-505SX にて wmapm を使用していますが
(Vine 1.0 の頃から .tar.gz を make; make install して
使ってました)、どうもバッテリー残量が正しく表示されませんでした。
というより、AC on / off に関わらず --:-- と表示されてました。

ソースコードを読み解いてみると、/proc/apm に分単位で
書かれている場合は問題なく動作する様に見えましたが、
当方では秒単位で書かれており、wmapm がこれをうまく
扱ってないようでした。

# 一応、「秒単位であれば分単位に変換する」という意図の
# コードはある様に見えますが、一部間違っている様に
# 見受けられました。

以下の様なパッチを作ることで、上述の問題は解決しました。
Vine 1.1 には wmapm-3.01-3vl1.i386.rpm が含まれておりましたので
一応御報告まで。


====================================================
 MATSUBAYASHI, 'Shaolin' Kohji
 mailto:shaolin@rins.st.ryukoku.ac.jp
 http://oscar.math.ryukoku.ac.jp/~shaolin/index.html


--------8<--------8<--------8<--------8<--------8<--------8<--------

diff -uNr wmapm-3.01.orig/wmapm/wmapm.c wmapm-3.01/wmapm/wmapm.c
--- wmapm-3.01.orig/wmapm/wmapm.c	Mon Jan  4 02:27:09 1999
+++ wmapm-3.01/wmapm/wmapm.c	Thu Jun 10 02:10:36 1999
@@ -386,7 +386,10 @@
 	     *
 	     */
 #ifdef Linux     /* FreeBSD's apm info does not support time left */
-	    if (my_cur_info.battery_time >= 1440) {
+
+		time_left = (my_cur_info.using_minutes) ? my_cur_info.battery_time : my_cur_info.battery_time / 60;
+
+	    if (time_left >= 1440) {
 
 		/*
 		 *  If battery_time is too large, it likely means that there is
@@ -396,9 +399,7 @@
 		 */
 		copyXPMArea(83, 106, 41, 9, 15, 7);
 
-	    } else if (my_cur_info.battery_time >= 0) {
-
-		time_left = (my_cur_info.using_minutes) ? my_cur_info.battery_time : my_cur_info.battery_time / 60;
+	    } else if (time_left >= 0) {
 
 	        hour_left = time_left / 60;
 	        min_left  = time_left % 60;

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: