GNU bug report logs - #1804
23.0.60; (with-ns) application preferences should be global

Previous Next

Packages: emacs, ns;

Reported by: Benjamin Smith-Mannschott <bsmith.occs <at> gmail.com>

Date: Tue, 6 Jan 2009 13:20:07 UTC

Severity: normal

Tags: moreinfo

Done: David Reitter <david.reitter <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1804 in the body.
You can then email your comments to 1804 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1804; Package emacs. (Tue, 06 Jan 2009 13:20:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Benjamin Smith-Mannschott <bsmith.occs <at> gmail.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 06 Jan 2009 13:20:08 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "B. Smith-Mannschott" <benpsm <at> gmail.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; (with-ns) application preferences should be global
Date: Tue, 6 Jan 2009 14:13:30 +0100
This is a usability bug.

Observed Behavior
=================

 1. Start Emacs; Open a second frame.
 2. (Two frames are open)
 3. Choose "Preferences..." from the application menu ("Emacs").
 4. (An "Emacs Preferences" Window opens)
 5. Click "Default Font..."
 6. (a font panel opens)
 7. Select a font
 8. (nothing happens)
 9. Click on a currently open emacs frame (not the Preferences window).
10. (the Preferences window loses keyboard focus)
11. Select a font (from the font panel)
12. (The font of the currently focused frame will change.)
13. (The font of the second frame will not change.)

Expected Behavior
=================

By convention, the "Preferences..." item in a Mac Application opens a
window in global settings that effect the entire application may be
manipulated.  This is what a user expects.

I would expect the "Default Font..." button to lead to a font panel
which sets the default font for all frames, persistently.

I would not expect it to require me to first focus a frame.

I would not expect it to to then change only the font for that frame.

See Also
========

The thread beginning with this message:

http://lists.gnu.org/archive/html/help-gnu-emacs/2009-01/msg00046.html

Configuration
=============

- gcc --version | head -n 1
  i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488)

In GNU Emacs 23.0.60.1 (i386-apple-darwin9.6.0, NS apple-appkit-949.43)
 of 2009-01-06 on Meheadable.local
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--with-ns''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  openwith-mode: t
  yas/minor-mode: t
  global-hl-line-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<backspace> <backspace> <backspace> <backspace> <backspace>
f o n t SPC c o n t r o l SPC C-d C-d C-d C-d C-d C-d
C-d C-d C-d C-d <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
s e l e c t i o n SPC <escape> q C-n C-n C-b C-b C-b
C-b C-f C-n C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-p C-a
C-k C-p C-p C-y C-o C-n C-n C-n C-k C-SPC C-n C-n C-n
C-g C-e C-x C-s C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n SPC SPC SPC
SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC ; ; SPC
s o m e SPC o f SPC t h e s e SPC C-n SPC SPC SPC SPC
SPC ; ; SPC p r o p e r t i e s SPC m a y C-n SPC SPC
SPC SPC SPC SPC SPC SPC SPC SPC ; ; SPC n o t SPC b
e SPC n e c e s s a r y C-p C-p C-b C-b C-b C-b C-b
C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b C-b
C-b C-b C-b C-a C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-b C-b C-k C-n C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-k C-n C-k C-b C-b C-b C-b C-b C-k C-x C-s <switch-frame>
<menu-bar> <help-menu> <send-emacs-bug-report>

Recent messages:
Mark saved where search started
Mark set [2 times]
Auto-saving...done
Wrote /Users/bsmith/Wiki/notes/EmacsBugNoCompletionOfFonts.txt
Mark set [2 times]
Quit
Wrote /Users/bsmith/Wiki/notes/EmacsBugNoCompletionOfFonts.txt
Auto-saving...done
Wrote /Users/bsmith/Wiki/notes/EmacsBugNoCompletionOfFonts.txt
byte-code: Beginning of buffer [8 times]
byte-code: Beginning of buffer




bug reassigned from package `emacs' to `emacs,ns'. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Wed, 07 Jan 2009 18:20:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1804; Package emacs,ns. (Tue, 28 Apr 2009 13:35:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Reitter <david.reitter <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Tue, 28 Apr 2009 13:35:04 GMT) Full text and rfc822 format available.

Message #12 received at 1804 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: David Reitter <david.reitter <at> gmail.com>
To: 1804 <at> debbugs.gnu.org,
        Benjamin Smith-Mannschott <bsmith.occs <at> gmail.com>
Subject: 23.0.60; (with-ns) application preferences should be global
Date: Tue, 28 Apr 2009 09:25:36 -0400
[Message part 1 (text/plain, inline)]
Ben,
> 7. Select a font 8. (nothing happens) 9. Click on a currently open  
> emacs frame (not the Preferences window). 10. (the Preferences  
> window loses keyboard focus) 11. Select a font (from the font panel)  
> 12. (The font of the currently focused frame will change.) 13. (The  
> font of the second frame will not change.)

I don't think that the font panel should apply globally (at least not  
in GNU Emacs); also because it gives the user less control.
However, it should set the font for future frames, because there is no  
other way to set that through the GUI (w/o customization buffer).   
Perhaps that would serve as a working compromise.  For that, try the  
code below.

(defun ns-respond-to-change-font ()
  "Respond to changeFont: event, expecting ns-input-font and\n\
ns-input-fontsize of new font."
  (interactive)
  (let ((face 'default))
    (set-face-attribute face t
			:family ns-input-font
			:height (* 10 ns-input-fontsize))
    (set-face-attribute face (selected-frame)
			:family ns-input-font
			:height (* 10 ns-input-fontsize))
    (let ((spec
	   (list (list t (face-attr-construct 'default)))))
      (put face 'customized-face spec)
      (custom-push-theme 'theme-face face 'user 'set spec)
      (put face 'face-modified nil))))

[smime.p7s (application/pkcs7-signature, attachment)]

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1804; Package emacs,ns. (Mon, 04 May 2009 16:25:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Reitter <david.reitter <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Mon, 04 May 2009 16:25:06 GMT) Full text and rfc822 format available.

Message #17 received at 1804 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: David Reitter <david.reitter <at> gmail.com>
To: B Smith-Mannschott <bsmith.occs <at> gmail.com>
Cc: 1804 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (with-ns) application preferences should be global
Date: Mon, 4 May 2009 12:20:12 -0400
[Message part 1 (text/plain, inline)]
When did you last pull?

The font panel isn't shown from Preferences for me.  Prefs should show  
the same as M-x customize RET.
(The prefs panel that we used to have is gone.)
Can you confirm so we can close this?

If it was there and showed the font panel, then I would absolutely  
agree with you...

Btw, even if it is shown (using M-x ns-popup-font-panel, which I  
blieve is the only way to bring it up now), it does not clearly show  
its association with a window.  This, however, is a Cocoa problem with  
the design of the panel.

- David



On May 4, 2009, at 12:11 PM, B Smith-Mannschott wrote:

> On Tue, Apr 28, 2009 at 15:25, David Reitter  
> <david.reitter <at> gmail.com> wrote:
>> Ben,
>>>
>>> 7. Select a font 8. (nothing happens) 9. Click on a currently open  
>>> emacs
>>> frame (not the Preferences window). 10. (the Preferences window  
>>> loses
>>> keyboard focus) 11. Select a font (from the font panel) 12. (The  
>>> font of the
>>> currently focused frame will change.) 13. (The font of the second  
>>> frame will
>>> not change.)
>>
>> I don't think that the font panel should apply globally
>
> It should be clear form the context that produces it, what the font
> panel will affect. As it stands, it's displayed by Preferences in the
> *Application* menu. This makes it global, by implication. If font
> control isn't intended to be global, then it simply shouldn't be made
> available through the application-wide Preferences window.
>
>> (at least not in GNU
>> Emacs); also because it gives the user less control.
>
> This line of argument *can* be used to paper over all manner of
> usability sins, but in the case of Emacs it's correct. It is in Emacs'
> nature to be all dials, toggles and blinkenlights.
>
>> However, it should set the font for future frames, because there is  
>> no other
>> way to set that through the GUI (w/o customization buffer).   
>> Perhaps that
>> would serve as a working compromise.  For that, try the code below.
>
> I'll give the code a spin the next time I'm on my mac. I still
> thinking removing this option from the application-wide preferences
> window is the simplest way not to violate the user's expectations.
> (Naturally, the functionality still needs to be accessible and
> discoverable thorough other means.)
>
>> (defun ns-respond-to-change-font ()
>>  "Respond to changeFont: event, expecting ns-input-font and\n\
>> ns-input-fontsize of new font."
>>  (interactive)
>>  (let ((face 'default))
>>    (set-face-attribute face t
>>                        :family ns-input-font
>>                        :height (* 10 ns-input-fontsize))
>>    (set-face-attribute face (selected-frame)
>>                        :family ns-input-font
>>                        :height (* 10 ns-input-fontsize))
>>    (let ((spec
>>           (list (list t (face-attr-construct 'default)))))
>>      (put face 'customized-face spec)
>>      (custom-push-theme 'theme-face face 'user 'set spec)
>>      (put face 'face-modified nil))))

[smime.p7s (application/pkcs7-signature, attachment)]

Tags added: moreinfo Request was from Glenn Morris <rgm <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Wed, 17 Jun 2009 20:25:07 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1804; Package emacs,ns. (Thu, 18 Jun 2009 12:40:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Reitter <david.reitter <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Thu, 18 Jun 2009 12:40:06 GMT) Full text and rfc822 format available.

Message #24 received at 1804 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: David Reitter <david.reitter <at> gmail.com>
To: 1804 <at> debbugs.gnu.org, done1804 <at> debbugs.gnu.org
Subject: closing
Date: Thu, 18 Jun 2009 08:33:27 -0400
Closing this because the preferences panel is no longer part of our NS  
port.



bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Thu, 16 Jul 2009 14:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 155 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.