[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#6037: 24.0.50; menu-bar-mode function doesn't toggle

From: Kevin Rodgers
Subject: bug#6037: 24.0.50; menu-bar-mode function doesn't toggle
Date: Tue, 27 Apr 2010 23:42:23 -0600
User-agent: Thunderbird (Macintosh/20100228)

Stefan Monnier wrote:
Well the ideal is that hitting f12 should enable or disable the various
gui features that I typically don't care about such as the menu-bar and
so on.  Admittedly, the above code is a hack in an inbetween state.
Currently I have it revised like so:

(global-set-key [f12] '(lambda ()
                         (menu-bar-mode   'toggle)
                         (scroll-bar-mode 'toggle)

That makes sense.  But then I'd recommend the code below instead:

(global-set-key [f12] (lambda ()
                        (call-interactively 'menu-bar-mode)
                        (call-interactively 'scroll-bar-mode)

which will have the following impact:
- it will tell customize about those changes (so "M-x customize-variable
  RET menu-bar-mode" will not complain about a variable set from
  outside, and it will let you save the current state.

Really?  What is the connection between call-interactively and customize?

- You should be able to do C-u -1 f12 to forcibly turn off
  and C-u 1 f12 to forcibly turn on those GUI elements.

Really?  In the past I've had to bind prefix-arg to the value of
current-prefix-arg around call-interactively, to get the "interior"
command to inherit the prefix arg of the exterior command.

- You'll get a minibuffer messages about the menu-bar-mode being

Why doesn't scroll-bar-mode display the same messages?

- It will work across "all" Emacs versions (the above code will already
  work with emacs-2[234] and I'm not sure which other versions have
  menu-bar-mode and scroll-bar-mode, so maybe it's not that big
  a difference).

(FOO-bar-mode nil) should also toggle across those versions (and older versions)
 -- but does it?

Kevin Rodgers
Denver, Colorado, USA

reply via email to

[Prev in Thread] Current Thread [Next in Thread]