【よくわかる(?)メニューバーの作り方】

UNIXユーザーの方へ
muleのメニューバーを追加しましょう


ソースなので読みにくくてごめんね (^_^;)
  1. メニュータイトルをつくる(おじいちゃん)
    ;-----+
    ;TEMP | Buffers File Edit Help
    ;=====+================+====================================
    
    (setq menu-bar-temp-menu (make-sparse-keymap "temp"))
    (define-key global-map [menu-bar temp-menu]
      (cons "TEMP" menu-bar-temp-menu))
    

  2. メニューと親をつくる
    ;-----+
    ;TEMP | Buffers File Edit Help
    ;=====+=================+====================================
    ;TEMP1                  |
    ;-----------------------|
    ;Exit Emacs (C-x C-c)   |
    ;-----------------------+
    
    (setq menu-bar-temp-menu (make-sparse-keymap "temp"))
    (define-key global-map [menu-bar temp-menu]
      (cons "TEMP" menu-bar-temp-menu))
    
    (setq menu-bar-temp1-menu (make-sparse-keymap "temp1"))
    ;;;先に書いたメニューが下にくる
    (define-key menu-bar-temp-menu [exit-emacs]
      '("Exit Emacs" . save-buffers-kill-emacs))
    (define-key menu-bar-temp-menu [separator-temp1]
     '("--"))
    (define-key menu-bar-temp-menu [temp1-menu]
      '("TEMP1" . save-buffers-kill-emacs))
    

  3. メニューと親と、さらに子供をつくる
    ;-----+
    ;TEMP | Buffers File Edit Help
    ;=====+=================+====================================
    ;TEMP1                |>| TEMP2    |
    ;-----------------------|----------+
    ;Exit Emacs (C-x C-c)   |
    ;-----------------------+
    
    (setq menu-bar-temp-menu (make-sparse-keymap "temp"))
    (define-key global-map [menu-bar temp-menu]
      (cons "TEMP" menu-bar-temp-menu))
    
    (setq menu-bar-temp1-menu (make-sparse-keymap "temp1"))
    (define-key menu-bar-temp-menu [exit-emacs]
      '("Exit Emacs" . save-buffers-kill-emacs))
    (define-key menu-bar-temp-menu [separator-temp1]
      '("--"))
    (define-key menu-bar-temp-menu [temp1-menu]
      (cons "TEMP1" menu-bar-temp1-menu))
    
    (define-key menu-bar-temp1-menu [temp2-menu]
      '("TEMP2" . save-buffers-kill-emacs))
    

  4. メニューと親と子供と、さらに孫をつくる
    ;-----+
    ;TEMP | Buffers File Edit Help
    ;=====+=================+==========+========================
    ;TEMP1                |>| TEMP2  |>|Exit Emacs (C-x C-c)|
    ;-----------------------|----------+--------------------+
    ;Exit Emacs (C-x C-c)   |
    ;-----------------------+
    
    (setq menu-bar-temp-menu (make-sparse-keymap "temp"))
    (define-key global-map [menu-bar temp-menu]
      (cons "TEMP" menu-bar-temp-menu))
    
    (setq menu-bar-temp1-menu (make-sparse-keymap "temp1"))
    (define-key menu-bar-temp-menu [exit-emacs]
      '("Exit Emacs" . save-buffers-kill-emacs))
    (define-key menu-bar-temp-menu [separator-temp1]
     '("--"))
    (define-key menu-bar-temp-menu [temp1-menu]
      (cons "TEMP1" menu-bar-temp1-menu))
    
    (setq menu-bar-temp2-menu (make-sparse-keymap "temp2"))
    (define-key menu-bar-temp1-menu [temp2-menu]
      (cons "TEMP2" menu-bar-temp2-menu))
    
    (define-key menu-bar-temp2-menu [exit-emacs]
      '("Exit Emacs" . save-buffers-kill-emacs))
    

  5. 子供のメニューを増やす
    ;-----+
    ;TEMP | Buffers File Edit Help
    ;=====+=================+=======================+=======================
    ;TEMP1                |>| TEMP2               |>| Exit Emacs5 (C-x C-c)|
    ;-----------------------|-----------------------+----------------------+
    ; Exit Emacs1 (C-x C-c) | Exit  Emacs3 (C-x C-c)|
    ;-----------------------|-----------------------+
    ; Exit Emacs2 (C-x C-c) | Exit  Emacs4 (C-x C-c)|
    ;-----------------------+-----------------------+
    
    (setq menu-bar-temp-menu (make-sparse-keymap "temp"))
    (define-key global-map [menu-bar temp-menu]
      (cons "TEMP" menu-bar-temp-menu))
    
    (setq menu-bar-temp1-menu (make-sparse-keymap "temp1"))
    (define-key menu-bar-temp-menu [exit2]
      '("Exit Emacs2" . save-buffers-kill-emacs))
    (define-key menu-bar-temp-menu [separator1]
     '("--"))
    (define-key menu-bar-temp-menu [exit1]
      '("Exit Emacs1" . save-buffers-kill-emacs))
    (define-key menu-bar-temp-menu [separator2]
     '("--"))
    (define-key menu-bar-temp-menu [temp1-menu]
      (cons "TEMP1" menu-bar-temp1-menu))
    
    (setq menu-bar-temp2-menu (make-sparse-keymap "temp2"))
    (define-key menu-bar-temp1-menu [exit4]
      '("Exit Emacs4" . save-buffers-kill-emacs))
    (define-key menu-bar-temp1-menu [separator-temp1]
     '("--"))
    (define-key menu-bar-temp1-menu [exit3]
      '("Exit Emacs3" . save-buffers-kill-emacs))
    (define-key menu-bar-temp1-menu [separator-temp2]
     '("--"))
    (define-key menu-bar-temp1-menu [temp3-menu]
      (cons "TEMP2" menu-bar-temp2-menu))
    
    (define-key menu-bar-temp2-menu [exit5]
      '("Exit Emacs5" . save-buffers-kill-emacs))
    

↑でわからない人は、ここにも、作り方あります。


[1つ戻る] [みずきのページへ] [ホームへ戻る]