my Top pageドジ話の目次前のドジ話次のドジ話

自分専用のテキストエディター

  1999年10月25日(月)

  コンパイルの方法と Makefile について、少しずつ判ってきました。
簡単なものは何とかコンパイルしてインストール出来るようになりま
した。が、まだまだ先は険しいようです。
  ですが、コンパイルの方法を勉強している過程で面白いものに出っ
喰わしました。この本文もそれで書いています。何と日本語エディタ
ーが出来てしまいました。正直言って、

  「エーッ!! 何でこう簡単にこんなものが出来るんだ??」

っていう信じられない状態にいます。
以前、大嫌いなM$社のVBで作ろうとしたことがありましたが、挫折しま
した。
それが、いとも簡単に出来るとは驚いています。またまた UNIX 世界の
素晴らしさに驚き呆れています。

  Tcl/Tk で出来ました。

# Tool Command Language/Toolkit の略で ティックル・ティーケーと言う。

  メモ帳よりも軽快に動きます。まだ基本機能しか有りませんが、色んな
機能を追加して面白いものにしていこうと思っています。画像等も扱える
ようにしたら面白いでしょうね。
  この日本語エディターのプログラムの大きさですが、プログラム長はたっ
たの40行で、サイズも下記のようにたったの1.1kBで、出来ました。

-rwxrwxr-x   1 manpou   manpou       1105 Nov  4 21:25 Texteditor

# プログラム作成後、実行権を付け、% wish Texteditor & で起動します。
# 「Ctrl」+「\」 で日本語入力 ON
# 「Shift」+「Space」 で日本語入力 OFF

以前から作ろうと思っていたプログラムがありますが、これを使えば
楽に作れそうです。便利なツールを見付けることができました。
XF86Setup 等もこれで出来ているようですね。Vine Linux のディレクト
リをたどったら、ごっそり「.tcl」ファイルが見付かりました。PC-UNIX
で素晴らしい GUI 世界を楽しみたいと思います。

まさか自分専用の日本語エディターが手にはいるとは、、、。
信じられない。

上が起動画面で、以下がそのソースです。
# Linux Japan 8月号、Tcl/Tk入門(秀和システムズ)を参考
---------- ~/Texteditor ------------------------------
#!/usr/bin/wish

kanji defaultInputCode EUC
text .t0 -width 50 -height 20 -background #ffffff -yscrollcommand ".s1 set"
scrollbar .s1 -orient vertical -command ".t0 yview"
frame .f0

menubutton .b0 -text "ファイル" -menu .b0.m0
menu .b0.m0
.b0.m0 add command -label "新規..." -command { .t0 delete 1.0 end }
.b0.m0 add command -label "開く..." -command { 
.t0 delete 1.0 end
set F [open [tk_getOpenFile]]
while {[gets $F line]>=0} {.t0 insert end $line\n}
close $F
}
.b0.m0 add command -label "保存" -command { 
toplevel .dialog
label .dialog.l0 -text "保存先のファイル"
entry .dialog.e0 -background #ffffff -textvariable Hozonsaki
button .dialog.b0 -text "OK" -command {
exec touch $Hozonsaki
set fileID [open $Hozonsaki w]
puts $fileID [.t0 get 1.0 end]
close $fileID
destroy .dialog
}
pack .dialog.l0 .dialog.e0 .dialog.b0
}
.b0.m0 add separator
.b0.m0 add command -label "終了" -command {exit}

pack .b0 -in .f0 -side left
grid .f0 -row 0 -column 0 -columnspan 2 -sticky ew
grid .t0 -row 2 -column 0 -sticky nsew
grid .s1 -row 2 -column 1 -sticky ns
grid rowconfigure  . 2 -weight 100
grid columnconfigure . 0 -weight 100
------------------------------------------------------------

my Top pageドジ話の目次前のドジ話次のドジ話