2010年10月28日木曜日

jEdit の環境設定 - その 2 (コンテキストメニューの解除)

テキストではないファイルのアイコンを右クリックしたときも [Open with jEdit] がコンテキストメニューに入っていて煩わしいので削除したい。

とりあえず検索してみると……発見。
http://marc.info/?l=jedit-users&m=118434448102638

'Re: [ jEdit-users ] "Open With" jEdit context menu in explorer' - MARC
 :
HKCR->*->Shell->Open With jEdit

Just call "regedit" from the Run... command and delete that Key
 :

とのことなので、念のためにレジストリをエクスポートして、
削除。

[HKEY_LOCAL_MACHINE]
  - [SOFTWARE]
    - [Classes]
      - [*]
        - [Shell]
          + [Open with jEdit]

確認

  • jEdit 4.3.2 server mode, using Java 1.6.0_21
    Windows XP Professional 2003 Service Pack 3

jEdit の環境設定 - その 1 ([Utilities] > [Global Options...])

標準設定から変えたところ。
何かかえたらそのつどこのページに残すようにする。

  1. 起動すると、最後に開いていたファイルを開いてしまうのでやめる。
  2. 起動するときにタイトル画面が表示されないようにしたけれど、起動に失敗したのか、ただ遅いだけなのかわからないので表示する。
  3. 起動したときの tips をやめる。
  4. お気に入りのフォントを選らんで、
  5. きれいに Anti Alias で表示する。
jEdit
 + General
   [ ] Restore previously open files on startup …(1)
 + Appearance
   + Startup Options
     [*] Show splash screen on startup …(2)
     [ ] Show tips on startup …(3)
 + Text Area
   - Text font: "モトヤシータ゛3等幅 14 Plain" …(4)
   - Anti Aliased smooth text: "standard" …(5)

2010年10月6日水曜日

ウェブブラウザの振るまい確認 - その 1 (<iframe onload="...)

Blogger 上で JavaScript - その 2 (onload) を書き終えてから、iframe の中の文書を書き換えたら、再び onload が呼ばれるかもしれないと、ふと気づいて、次の 3つのときにログを残して確認してみる。

  • onload が呼ばれたすぐ後
  • .open() の前
  • .close() の後

※ 実際のコードは (") は &quot; で (<) は &lt; で (>) は &gt;。

  • onload this.onload_count = (typeof(this.onload_count)!='number')?3: this.onload_count-1; if (this.onload_count <= 0) { return; } var log = document.getElementById('browserbehavior1'); log.innerHTML = '<div>onload:' + this.contentWindow.location.href + '</div>\n' + log.innerHTML; d=this.contentWindow.document; log.innerHTML = '<div>&nbsp; .open();</div>\n' + log.innerHTML; d.open(); d.write('<p style="font-size:80%;font-family:verdana,sans-serif;">Browser Behavior 1st</p>'); d.close(); log.innerHTML = '<div>&nbsp; .close();</div>\n' + log.innerHTML;

結果 - Firefox 3.6.9 on Windows XP SP2

  1. onload:about:blank
  2.   .open();
  3.   .close();

となって、再び onload は呼び出されないもよう。

結果 - Internet Explorer 7 on Windows XP SP2

  1. onload:about:blank
  2.   .open();
  3. onload:http://softie.blogspot.com/...
  4.   .open();
  5. onload:http://softie.blogspot.com/...
  6.   .open();
  7.   .close();
  8.   .close();
  9.   .close();

のような順番でログに残っているので、おそらく .close(); を実行すると onload が再び呼ばれてループするもよう。
onload のはじめで、2回目以降は実行されない工夫が必要。

検証用コンテンツ

iframe
logs

2010年10月4日月曜日

EmEditor Free Version 6.00.4 正規表現での置換で困ったこと

EmEditor Free を使って、下記のソースのようなソースを編集しているときに 33 ~ 37行のインデントを減らそうと矩形選択しようとしたら [編集(E)] メニューにない。どうやら Free 版の機能制限のひとつらしい。

  1. function on_load() {
  2. var el = document.createElement('img');
  3. var json_attrs = {
  4. 'id':'some_site'
  5. , 'alt':'some_site'
  6. , 'width':'600'
  7. , 'height':'200'
  8. , 'src':'/some_site.png' };
  9.  
  10. for each (var name in json_attrs) {
  11. var attr = document.createAttribute(name);
  12. attr.value = json_attrs[name];
  13. el.attributes.setNamedItem(attr);
  14. }

しかたがないので、正規表現で置換してみたところ。。。

  • 33 ~ 37行を選択
  • [検索(S)] メニューから [置換(R)] を選択
  • 下記の置換オプションで [置換(R)] ボタンをクリックして実行

※ テキストボックスへ入力した空白( )をアンダーバー(_)として表示

置換
検索する文字列(I):
^__
置換後の文字列(P):
 
大文字と小文字を区別する(C)
正規表現を使用する(X)
エスケープ シーケンスを使用する(E)
単語のみ検索する(W)
選択した範囲のみ(S)
終了したら閉じる(L)

左のスペースがすべて削除されてしまった。。。

  1. function on_load() {
  2. var el = document.createElement('img');
  3. var json_attrs = {
  4. 'id':'some_site'
  5. , 'alt':'some_site'
  6. , 'width':'600'
  7. , 'height':'200'
  8. , 'src':'/some_site.png' };
  9.  
  10. for each (var name in json_attrs) {
  11. var attr = document.createAttribute(name);
  12. attr.value = json_attrs[name];
  13. el.attributes.setNamedItem(attr);
  14. }

問題回避方法は

※ テキストボックスへ入力した空白( )をアンダーバー(_)として表示

置換
検索する文字列(I):
^__(_*)
置換後の文字列(P):
\1
大文字と小文字を区別する(C)
正規表現を使用する(X)
エスケープ シーケンスを使用する(E)
単語のみ検索する(W)
選択した範囲のみ(S)
終了したら閉じる(L)

Cygwin に後から追加したパッケージ一覧

command notes Category Package verified
gpg GNU Privacy Guard Utils gnupg .
wget GNU Wget Net wget .
tidy HTML Tidy Web tidy .
xsltproc XSLT Processor Libs libxslt .
ssh Secure Shell Net OpenSSH .
expect Expect Interpreters expect .
clear Utils ncurses .
openssl The OpenSSL base environment Net openssl .
python Interpriter python .
vi Vi IMProved - enhanced vi editor Editors vim .
httping Ping-like program for http-requests Web httping .
ping A basic network tool to test IP network conectivity Net ping 2014.09.21

必要なファイルのパッケージがわからないときは、次のウェブページでパッケージを探してから、Cygwin のインストールのときの(動きがおそすぎて泣けてくる)パッケージ検索画面で探す。

Setup Package Search
http://cygwin.com/packages/ 必要なファイルがどのパッケージに含まれているかを検索できるページ テキストボックスに "bin/clear" のように入力して検索する

2010年10月2日土曜日

Blogger 上で JavaScript - その 2 (onload)

iframe 要素に以下のイベントを追加
※ 実際のコードは (") は &quot; で (<) は &lt; で (>) は &gt;。
※ IE 対応のために先頭に 3行挿入(2010-10-06)

  • onload=" if (typeof(this.is_first_onload)=='boolean') return; this.is_first_onload = false; d=this.contentWindow.document; d.open(); d.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n' + '<html xmlns=quot;http://www.w3.org/1999/xhtml" xml:lang="en">\n' + '<head>\n' + ' <title>javascript on blogger - 2nd (onload)</title>\n' + '</head>\n' + '<body>\n' + ' <h1 style="font-size:80%;font-family:verdana,sans-serif;">javascript on blogger - 2nd (onload)</h1>\n' + '</body>\n' + '</html>\n'); d.close();"
iframe