summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-10-08 22:14:42 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-10-08 22:14:42 +0200
commitf64cb9ca984db32f5c650b3b460c5a46d6f34dad (patch)
tree9fbb6159800a4f244294604fffd1e457f9920b8d
parentb319be142404d2e86911c3f65896163b0aa04b7a (diff)
Unclutter File menu.
-rw-r--r--guile-studio-configure.scm52
1 files changed, 52 insertions, 0 deletions
diff --git a/guile-studio-configure.scm b/guile-studio-configure.scm
index f201da6..bd8e97c 100644
--- a/guile-studio-configure.scm
+++ b/guile-studio-configure.scm
@@ -82,6 +82,58 @@
(bindings--define-key global-map (vector 'menu-bar 'help-menu)
(cons (purecopy "Help") menu-bar-help-menu))
+ ;; Unclutter File menu
+ (setq menu-bar-file-menu
+ (let ((menu (make-sparse-keymap "File")))
+ (bindings--define-key menu (vector 'exit-emacs)
+ '(menu-item "Quit" save-buffers-kill-terminal
+ :help "Save unsaved buffers, then exit"))
+ (bindings--define-key menu (vector 'sep-exit)
+ menu-bar-separator)
+ (bindings--define-key menu (vector 'revert-buffer)
+ '(menu-item "Revert Buffer" revert-buffer
+ :enable
+ (or
+ (not
+ (eq revert-buffer-function 'revert-buffer--default))
+ (not
+ (eq revert-buffer-insert-file-contents-function
+ 'revert-buffer-insert-file-contents--default-function))
+ (and buffer-file-number
+ (not
+ (verify-visited-file-modtime
+ (current-buffer)))))
+ :help "Re-read current buffer from its file"))
+ (bindings--define-key menu (vector 'write-file)
+ '(menu-item "Save As..." write-file
+ :enable menu-bar-menu-frame-live-and-visible-p
+ :help "Write current buffer to another file"))
+ (bindings--define-key menu (vector 'save-buffer)
+ '(menu-item "Save" save-buffer :enable
+ (and (buffer-modified-p)
+ (buffer-file-name))
+ :help "Save current buffer to its file"))
+ (bindings--define-key menu (vector 'sep-save)
+ menu-bar-separator)
+ (bindings--define-key menu (vector 'kill-buffer)
+ '(menu-item "Close" kill-this-buffer :enable
+ (kill-this-buffer-enabled-p)
+ :help "Discard (kill) current buffer"))
+
+ (bindings--define-key menu (vector 'dired)
+ '(menu-item "Open Directory..." dired
+ :help "Read a directory, to operate on its files"))
+ (bindings--define-key menu (vector 'open-file)
+ '(menu-item "Open File..." menu-find-file-existing
+ :help "Read an existing file into an Emacs buffer"))
+ (bindings--define-key menu (vector 'new-file)
+ '(menu-item "Visit New File..." find-file
+ :enable menu-bar-non-minibuffer-window-p
+ :help "Specify a new file's name, to edit the file"))
+ menu))
+ (bindings--define-key global-map (vector 'menu-bar 'file)
+ (cons (purecopy "File") menu-bar-file-menu))
+
;; Check syntax on the fly
(require 'flycheck)
(flycheck-define-checker guile