私はemacsのために私自身のマイナーモードを作っています。今、私はmodelineにボタンを追加したいと思います。このボタンをクリックすると、ポップアップメニューが表示されます。このメニューの項目は、ユーザーの操作によって異なります。私は `minor-mode-alist 'を使ってmodelineに関数ボタンを追加する方法があることを知っていますが、どのように動的メニューを作るのか分かりません。emacsのモードラインにダイナミックメニューのボタンを追加しますか?
8
A
答えて
1
私はより適切な方法を見つけました: あなたはマイナモードを定義するときは、指定することができます軽量のparam
(define-minor-mode my-minor-mode
"docstring"
nil
:lighter (:eval (format "%s%.5s" "#" "some code if you want dynamic label"))
;or just string :lighter "static string"
:keymap my-minor-mode-map
... ... ... rest of code ....
、あなたがeasymenu使用することができます。
(require 'easymenu)
(easy-menu-define my-minor-mode-menu
my-minor-mode-map
"Menu for my-minor-mode"
'("some text"
"-")) ;separator
; and then add menu items with easy-menu-add-item and remove with easy-menu-remove-item
; it's nothing hard. Read the docs ;)
をこのメニューでは、グローバルメニューに追加されますあなたが指定した原因:軽いパラメ)をクリックするとポップアップ表示されます。
6
ソリューションは、設立:)
まず:二
(defconst my-mode-line-map
(let ((map (make-sparse-keymap)))
(define-key map [mode-line down-mouse-1]
(make-sparse-keymap))
map))
:モードラインするpropertized文字列のリストを追加します。いくつかのキーマップを定義
(setq global-mode-string
(append global-mode-string
(list
(propertize string-name
'local-map my-mode-line-map
'mouse-face 'mode-line-highlight))))
サード:今、あなたがアイテムを追加することができます
(define-key my-mode-line-map
(vconcat [mode-line down-mouse-1]
(list some_generated_id_for_future_use))
(cons name function))
... with with
(define-key my-mode-line-map
(vconcat [mode-line down-mouse-1]
(list id_of_button_that_u_gave_when_add))
nil)
関連する問題
- 1. Emacsはモードラインにどのマイナーモードをリストするのですか?
- 2. ダイナミックメニューのテーマをASPに追加する:メニュー
- 3. Emacsにクイック起動バーを追加しますか?
- 4. デザインイメージのボタンにハイパーリンクを追加していますか?
- 5. css/htmlのボタンにsvgアイコンを追加しますか?
- 6. ダイアログのヘッダー部分にボタンを追加していますか?
- 7. イメージにボタンのテキストを追加しますか? objective-c
- 8. 追加されたリスト項目にjQuery UIボタンを追加しますか?
- 9. 動的にスクロールビューにボタンを追加して追加する
- 10. UITableViewスワイプに追加ボタンを追加
- 11. jqgridのアクションボタンの前に追加ボタンを追加する方法
- 12. Xcodeボタンにラベルを追加するボタン
- 13. DataGridの最後の行にボタンを追加します。
- 14. iphoneのキーボードの上部にテキストボックスとボタンを追加します
- 15. 私のUINavigationBarの戻るボタンにグラデーションを追加します。
- 16. ringに追加するemacsコマンド
- 17. Drupal - すべての送信ボタンにクラスを追加します。
- 18. ボタンに画像アイコンを追加しますか?
- 19. tkinterボタンを機能させてリストに追加しますか?
- 20. UITextfield iphoneにボタンを追加しますか?
- 21. Qtダイアログに最小化ボタンを追加しますか?
- 22. Finderツールバーにボタンを追加しますか?
- 23. Emacsメジャーモードへのプリプロセッサの追加
- 24. iPhone - UITableViewで編集ボタンを選択したときに「追加」ボタンを追加
- 25. Androidアプリをギャラリーの[共有]ボタンに追加します
- 26. 既存のサイトにボタンを追加します
- 27. iOSはUITableViewHeaderFooterViewの右側にボタンを追加します
- 28. NSRunAlertPanelのボタンにアクションを追加します。
- 29. 単語のテキストボックスにボタンを追加します
- 30. は、テーブルビューのセルにボタンを追加します。