mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-02 11:21:42 +00:00
Fix tool-bar and menu-bar toggles in Show/Hide menu to reflect the state of the current frame.
* lisp/tool-bar.el (toggle-tool-bar-mode-from-frame): New function. * lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): New function. (menu-bar-showhide-menu): Use them to change "Menu-bar" and "Tool-bar" toggles to reflect the state of the current frame. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-537
This commit is contained in:
parent
095fe28140
commit
6a5af08f8d
@ -404,17 +404,6 @@ is probably not very interesting for anyone else.)
|
||||
THINGS TO DO
|
||||
------------
|
||||
|
||||
** `tool-bar-mode', `scroll-bar-mode', `menu-bar-mode' and
|
||||
'fringe-mode' are modes global to the entire Emacs session, not
|
||||
just a single frame or a single terminal. This means that their
|
||||
status sometimes differs from what's actually displayed on the
|
||||
screen. As a consequence, the Options | Show/Hide menu sometimes
|
||||
shows incorrect status, and you have to select an option twice for
|
||||
it to have any visible effect on the current frame.
|
||||
|
||||
Change Emacs so that the status of the items in the Options |
|
||||
Show/Hide menu correspond to the current frame.
|
||||
|
||||
** emacsclient -t on the console does not work after su:
|
||||
|
||||
# su lorentey
|
||||
@ -1485,5 +1474,18 @@ DIARY OF CHANGES
|
||||
|
||||
(Done in patch-500.)
|
||||
|
||||
-- `tool-bar-mode', `scroll-bar-mode', `menu-bar-mode' and
|
||||
'fringe-mode' are modes global to the entire Emacs session, not
|
||||
just a single frame or a single terminal. This means that their
|
||||
status sometimes differs from what's actually displayed on the
|
||||
screen. As a consequence, the Options | Show/Hide menu sometimes
|
||||
shows incorrect status, and you have to select an option twice for
|
||||
it to have any visible effect on the current frame.
|
||||
|
||||
Change Emacs so that the status of the items in the Options |
|
||||
Show/Hide menu correspond to the current frame.
|
||||
|
||||
(Done in patch-537.)
|
||||
|
||||
;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d
|
||||
|
||||
|
@ -935,15 +935,15 @@ mail status in mode line"))
|
||||
:button `(:toggle . tooltip-mode)))
|
||||
|
||||
(define-key menu-bar-showhide-menu [menu-bar-mode]
|
||||
'(menu-item "Menu-bar" menu-bar-mode
|
||||
'(menu-item "Menu-bar" toggle-menu-bar-mode-from-frame
|
||||
:help "Toggle menu-bar on/off"
|
||||
:button (:toggle . menu-bar-mode)))
|
||||
:button (:toggle . (> (frame-parameter nil 'menu-bar-lines) 0))))
|
||||
|
||||
(define-key menu-bar-showhide-menu [showhide-tool-bar]
|
||||
(list 'menu-item "Tool-bar" 'tool-bar-mode
|
||||
:help "Turn tool-bar on/off"
|
||||
(list 'menu-item "Tool-bar" 'toggle-tool-bar-mode-from-frame
|
||||
:help "Toggle tool-bar on/off"
|
||||
:visible `(display-graphic-p)
|
||||
:button `(:toggle . tool-bar-mode)))
|
||||
:button `(:toggle . (> (frame-parameter nil 'tool-bar-lines) 0))))
|
||||
|
||||
(define-key menu-bar-options-menu [showhide]
|
||||
(list 'menu-item "Show/Hide" menu-bar-showhide-menu
|
||||
@ -1778,6 +1778,14 @@ turn on menu bars; otherwise, turn off menu bars."
|
||||
"Menu-bar mode disabled. Use M-x menu-bar-mode to make the menu bar appear."))
|
||||
menu-bar-mode)
|
||||
|
||||
(defun toggle-menu-bar-mode-from-frame (&optional arg)
|
||||
"Toggle menu bar on or off, based on the status of the current frame.
|
||||
See `menu-bar-mode' for more information."
|
||||
(interactive (list (or current-prefix-arg 'toggle)))
|
||||
(if (eq arg 'toggle)
|
||||
(menu-bar-mode (if (> (frame-parameter nil 'menu-bar-lines) 0) 0 1))
|
||||
(menu-bar-mode arg)))
|
||||
|
||||
(provide 'menu-bar)
|
||||
|
||||
;;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced
|
||||
|
@ -61,6 +61,16 @@ conveniently adding tool bar items."
|
||||
(display-graphic-p))
|
||||
(tool-bar-setup))))
|
||||
|
||||
;;;###autoload
|
||||
;; Used in the Show/Hide menu, to have the toggle reflect the current frame.
|
||||
(defun toggle-tool-bar-mode-from-frame (&optional arg)
|
||||
"Toggle tool bar on or off, based on the status of the current frame.
|
||||
See `tool-bar-mode' for more information."
|
||||
(interactive (list (or current-prefix-arg 'toggle)))
|
||||
(if (eq arg 'toggle)
|
||||
(tool-bar-mode (if (> (frame-parameter nil 'tool-bar-lines) 0) 0 1))
|
||||
(tool-bar-mode arg)))
|
||||
|
||||
;;;###autoload
|
||||
;; We want to pretend the toolbar by standard is on, as this will make
|
||||
;; customize consider disabling the toolbar a customization, and save
|
||||
|
Loading…
Reference in New Issue
Block a user