xyzzy
Top Page > browser.dll Tips


install

 browser.dllとbrowserex.lを組み込むことで、html+-modeからxyzzy内でHTMLファイルのブラウザ表示画面をプレビューできるようになります。IE4以上(多分5以降だと思うが)必須になりますが。

browser.dll

 まず、browser.dllをDLします。元々の作者であるs.oowadaさんの「SO no page ^^;」よりも、それを改造されたいまいたけをさんの「ななしの人の部屋」のものの方が機能面でよいようです。特に問題がない限り、「static link版」をDLして下さい。アーカイブの中で必要なのはbrowser.dllだけなので、これを「~xyzzy」(=xyzzyのHOMEディレクトリ)に置きます。

browserex.l

 次に、OHKUBOさんのサイト「雑記帖」からbrowserex.lをDLします。「xyzzy について少し」から「browserex」に飛んで落としてください。それから、アーカイブの中の「browserex.l」を「~xyzzy/site-lisp」にコピーします。ファイルの中身は特にいじらずに、xyzzy上でバイトコンパイルします。M-x byte-compile-fileを実行して、browserex.lを選んでください。その上で、browserex.lを読み込むように設定すれば、とりあえずは使用可能です。

siteinit.l(追加)
(load-library "browserex")

各種設定

キーバインド

siteinit.l(追加)

 デフォルトではキーバインドは特に設定されていないので、siteinit.lに記述します。以下の関数が使用できます。まあ、OHKUBOさんのサイトに十分な見本が公開されているので、ほとんどそれの解説ってことになりますが(右側はその見本によるキーバインドです)。

ブラウザ画面表示
bx:navigate
 指定したURIをブラウザ画面で開きます。xyzzyを最大化して表示します。
bx:navigate-current-buffer M-F9
 現在のバッファをブラウザで表示します。xyzzyのウィンドウサイズは維持されたまま、内部でフレーム分割されます。
bx:navigate-current-buffer-directory M-F10
 現在のバッファが開いているファイルの存在するディレクトリを、エクスプローラで表示します。表示方法はbx:navigate-current-bufferと同じです。
bx:rotate-browser M-F11
 ブラウザフレーム(エクスプローラによるディレクトリ表示を含みます)の位置を変更します。実行するたびに、ファイル編集フレームの左→上→右→下→左と変わります。
bx:close-browser M-F12
 ブラウザフレームを閉じます。
bx:browserex-mouse-menu-popupbx:browserex-apps-popup
 URIかローカルアドレスを右クリックして、ポップアップメニューからそのアドレスを開くことができます。
ブラウザ画面スクロール
bx:browserex-scroll-up M-Up
bx:browserex-scroll-down M-Down
bx:browserex-scroll-left M-Left
bx:browserex-scroll-right M-Right
 フォーカスは編集フレームに置いたまま、ブラウザ画面を1文字or1行ずつスクロールします。
bx:browserex-scroll-up
bx:browserex-scroll-down
 フォーカスは編集フレームに置いたまま、ブラウザ画面をスクロールします。
 この関数は「前後にスクロールする」というだけなので、スクロールの量を別に設定する必要があります。
一画面スクロールの場合
(global-set-key #\M-PageUp #'(lambda () (interactive)
    (bx:browserex-scroll-up :unit :page)))
(global-set-key #\M-PageDown #'(lambda () (interactive)
    (bx:browserex-scroll-down :unit :page)))
バッファ先頭・末尾へ移動する場合
(global-set-key #\M-Home #'(lambda () (interactive)
    (bx:browserex-scroll-up :unit :all)))
(global-set-key #\M-End #'(lambda () (interactive)
    (bx:browserex-scroll-down :unit :all)))
ブラウザ移動、その他(要「いまいたけをさん版
bx:go-back-browser M-S-Left
 履歴上で1つ前のページに戻ります。ブラウザの「戻る」と同じです。
bx:go-forward-browser M-S-Right
 履歴上で1つ先のページに進みます。ブラウザの「進む」と同じです。
bx:go-home-browser M-S-Home
 Internet Explorerの「インターネットオプション」で設定した「ホームページ」に移動します。ブラウザの「ホーム」と同じです。
bx:show-location-browser M-F7
 現在表示しているアドレスを表示します。

ブラウザフレームのサイズ

siteinit.l(追加)
(setq bx:*browser-width* [ピクセル数])
(setq bx:*browser-height* [ピクセル数])
for example...
(setq bx:*browser-width* 400)
(setq bx:*browser-height* 200)

commentary

 ブラウザフレームのサイズを指定します。widthが横幅、heightが縦幅です。ブラウザが編集フレームの左右にあるときは横幅が、上下にあるときは縦幅が使われます。それ以外はxyzzyのウィンドウサイズのままです。

デフォルトのURI

siteinit.l(追加)
(setq bx:*browser-start-page* "[アドレス]")
for example...
(setq bx:*browser-start-page* "http://www.google.com/")

commentary

 bx:navigateを実行したときにデフォルトで表示されるアドレスを指定します。

xyzzyを最大化してブラウザ画面を表示
 →Written by OHKUBO

siteinit.l(追加)
;; ndiary-mode から拝借。
(require "wip/winapi")
(defun toggle-navigate-current-buffer ()
  (interactive)
  (cond
   ((bx:browser-open-p)
    (bx:close-browser)
    (winapi:ShowWindow (get-window-handle) 9))
   (t
    (winapi:ShowWindow (get-window-handle) 3)
    (bx:navigate-current-buffer :position bx:XPIS_LEFT
                                :size 480))))
(global-set-key #\M-F8 'toggle-navigate-current-buffer)

commentary

 実行すると、ブラウザ画面がないときは、xyzzyを最大化して現在のバッファのファイルをブラウザ画面で表示します。ブラウザ画面があるときは、xyzzyを元のサイズに戻してブラウザ画面を閉じます。
 下から3行目の「position bx:XPIS_LEFT」で、ブラウザ画面の表示位置を変更できます。XPIS_TOP(上)、XPIS_RIGHT(右)、XPIS_BOTTOM(下)です。
 下から2行目の「size 480」でフレームのサイズを指定できます。
 なお、これらの指定は*browser-width*とは無関係です。

▲トップページに戻る▲

keybind

key

function

cunstomize

keyword

Reference

example

others

html+-mode

browser.dll

install

customize

Tips