[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MGL2 patch



神木です。

   >  | など、そうとうに嬉しい機能が入ったようなので mgl2 に移行したいのですが...
   >ぜひ 移行しましょう!

017p8 を拾ってきました。
とりあえず X での refresh がヘンだったので直してみました。末尾に付加します。

それと mgterm を libc5 で動かすには #include <ttyent.h> を comment out 
する必要がありました。linux 環境では ttyent 使ってなくて glibc 2.1 でも
comment out のままで make できたので linux の場合は外してあります。


ところで Makefile に "cc" が直書きされてるところがいくつかありますが、
hpcmips などクロスで作業してる方はもしかして Makefile 書き直してるんでしょうか。

MGL2 は target の幅がひろがって、しかも貧弱なことが多いということもあるし、
./Configure HOST TARGET に対応していただけると嬉しいです。



   >キャリブレーションは、hpcmips だけしか視野に入っていませんでした。
   ># calibdata とか 無理に合わせることはないんじゃないかと思います。

まあ UI の統一くらいはしたいということで (^^;


   >実は port-hpcmips-ja でも、全部はアナウンスしていないし...
   >どうしましょう。

特定の archetecture で動かすだけなら現状でもなんとかなるみたいなので
フォント配付の問題を除けば tar.gz に直リンクしてもいいかなあ。
って、よくみればすでに perl-mg2 からたどれるので open 同然ですね。
じゃあ、~/suz/MGL2 に link 張っていいかな...


   >ベースOS 毎に、小さいディストリビューションを作ろうという話題をする
   >ML があれば、そこにアナウンスするのが一番良いんですが... 
   >
   >Linux なら、linuxce-jp か morphy-linux なんでしょうか?

おもいっきり分散しています... sigh.

morphy-linux ML では mgl2 は「まだおもてにでてない」ことになっていますが、
URL 書いちゃっていいですよね。
もっとも、 mglsrvx -s に "cga" (640x200) 書き加えてみたらタスクバーが折り返したので
まだどっかいじらないといけないみたいですが。-t をつければふつうに動くけども。

ではでは。


-- 
神木一也
kensyu@y.email.ne.jp




--- ここから。
--- lib/emx11.c.org	Thu Mar  2 21:45:26 2000
+++ lib/emx11.c	Thu Mar  2 21:45:51 2000
@@ -610,10 +610,44 @@
        			emx11_refresh();
 		}
 		r_rect = 1;
-		r_minx = event.xexpose.x;
-		r_miny = event.xexpose.y;
-		r_maxx = event.xexpose.x + event.xexpose.width - 1;
-		r_maxy = event.xexpose.y + event.xexpose.height - 1;
+
+		{
+		    int t_minx, t_maxx, t_miny, t_maxy;
+
+		    t_minx = event.xexpose.x;
+		    t_miny = event.xexpose.y;
+		    t_maxx = event.xexpose.x + event.xexpose.width - 1;
+		    t_maxy = event.xexpose.y + event.xexpose.height - 1;
+
+		    switch (x_rotated) {
+		    default:
+		    case DIR_NORTH:
+			r_minx = t_minx;
+			r_maxx = t_maxx;
+			r_miny = t_miny;
+			r_maxy = t_maxy;
+			break;
+		    case DIR_EAST:
+			r_minx = t_miny;
+			r_maxx = t_maxy;
+			r_miny = physical_screen->height- 1 - t_maxx;
+			r_maxy = physical_screen->height- 1 - t_minx;
+			break;
+		    case DIR_SOUTH:
+			r_maxx = physical_screen->width - 1 - t_minx;
+			r_minx = physical_screen->width - 1 - t_maxx;
+			r_maxy = physical_screen->height- 1 - t_miny;
+			r_miny = physical_screen->height- 1 - t_maxy;
+			break;
+		    case DIR_WEST:
+			r_minx = physical_screen->width - 1 - t_maxy;
+			r_maxx = physical_screen->width - 1 - t_miny;
+			r_miny = t_minx;
+			r_maxy = t_maxx;
+			break;
+		    };
+		}
+
        		emx11_refresh();
 		break;
        	    case KeyPress:
--- mgterm/mgterm.c.org	Thu Mar  2 21:07:14 2000
+++ mgterm/mgterm.c	Thu Mar  2 21:08:01 2000
@@ -59,7 +59,11 @@
 #include <dlfcn.h>
 #include <fcntl.h>
 #include <utmp.h>
+
+#if ! defined (__linux__)
 #include <ttyent.h>
+#endif
+
 #include <grp.h>
 #include <pwd.h>
 #include <sys/stat.h>
--- ここまで。