-
Couldn't load subscription status.
- Fork 110
Description
Per: https://www.gnustep.org/resources/OpenStepSpec/ApplicationKit/Classes/NSFontManager.html
NSFontManager accepts messages from font conversion user-interface objects such as the Font menu or the Font panel (see NSFontPanel for more details) and appropriately converts the current font in the selection by sending a changeFont: message up the responder chain.
Based on experimentation:
2025-09-30 04:36:17.583 TextEdit[80363:100990] Begin responder enumeration:
2025-09-30 04:36:17.584 TextEdit[80363:100990] NSPanel responds to changeFont:: NO
2025-09-30 04:36:17.584 TextEdit[80363:100990] NSApplication responds to changeFont:: NO
No responder is found that could possibly respond to this message.
It's notable that there's a FIXME note at
https://github.com/gnustep/libs-gui/blob/master/Source/NSFontManager.m#L1031-L1034
In application code that invokes the panel, there is also an implementation of changeFont: implying that the original author expected the invoking object to be part of the responder chain.
- Should the invoking object be part of the responder chain "for free"
or
- Should the invoking object be required to set itself as the delegate and a code change in
NSFontManageris required to try the delegate first before spray-n-praying to the responder chain?
I'm very unpracticed at ObjC/GS development, so I don't know whether the caller should be rolled into the responding chain automatically. That'd be ergonomic, but it's Magic ™️ . The latter is unmagical, reqiures one more line in application code, but is traceable and very unsurprising. It would require a small code change.
If 2 is viable, I'd be happy to submit the patch I'm using which Works for Me ™️