diff options
author | Po Lu <luangruo@yahoo.com> | 2022-05-01 21:39:33 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-05-01 21:39:54 +0800 |
commit | 9370a4763aacbb9278b5be9c92a2484e3652bc29 (patch) | |
tree | fdc5b0fe1c999e79443cf3fbd669f4b8428c6f68 /src/nsfns.m | |
parent | 7c8bec9e1ffe087918f6f218fc4560fc968aebb2 (diff) | |
download | emacs-9370a4763aacbb9278b5be9c92a2484e3652bc29.tar.gz emacs-9370a4763aacbb9278b5be9c92a2484e3652bc29.tar.bz2 emacs-9370a4763aacbb9278b5be9c92a2484e3652bc29.zip |
Replace NS code that implemented font panels in a different way
* doc/emacs/macos.texi (Mac / GNUstep Events): Document removal
of `ns-change-font' event. The font panels are now implemented
normally, via `x-select-font'.
* lisp/term/common-win.el (x-setup-function-keys): Likewise.
* lisp/term/ns-win.el (global-map, ns-popup-font-panel): Remove.
(x-select-font, mouse-set-font, ns-input-font):
(ns-input-fontsize): Remove.
(ns-respond-to-change-font): Delete function.
* src/nsfns.m (Fns_popup_font_panel): Delete function.
(Fx_select_font): New function.
(syms_of_nsfns): Update subrs.
* src/nsterm.h (@interface EmacsView):
* src/nsterm.m (ns_select_1): New function.
(ns_select): Wrap around that instead.
([EmacsView changeFont:]): Exit nested event loop
([EmacsView showFontPanel:]): New function.
Diffstat (limited to 'src/nsfns.m')
-rw-r--r-- | src/nsfns.m | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/src/nsfns.m b/src/nsfns.m index 00d4a7d2bd2..b71a3d7376d 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -1593,26 +1593,22 @@ Some window managers may refuse to restack windows. */) } } -DEFUN ("ns-popup-font-panel", Fns_popup_font_panel, Sns_popup_font_panel, - 0, 1, "", - doc: /* Pop up the font panel. */) - (Lisp_Object frame) +DEFUN ("x-select-font", Fx_select_font, Sx_select_font, 0, 2, 0, + doc: /* Read a font using a Nextstep dialog. +Return a string describing the selected font. + +FRAME is the frame on which to pop up the font chooser. If omitted or +nil, it defaults to the selected frame. */) + (Lisp_Object frame, Lisp_Object ignored) { struct frame *f = decode_window_system_frame (frame); - id fm = [NSFontManager sharedFontManager]; - struct font *font = f->output_data.ns->font; - NSFont *nsfont; -#ifdef NS_IMPL_GNUSTEP - nsfont = ((struct nsfont_info *)font)->nsfont; -#endif -#ifdef NS_IMPL_COCOA - nsfont = (NSFont *) macfont_get_nsctfont (font); -#endif - [fm setSelectedFont: nsfont isMultiple: NO]; - [fm orderFrontFontPanel: NSApp]; - return Qnil; -} + Lisp_Object font = [FRAME_NS_VIEW (f) showFontPanel]; + if (NILP (font)) + quit (); + + return font; +} DEFUN ("ns-popup-color-panel", Fns_popup_color_panel, Sns_popup_color_panel, 0, 1, "", @@ -3299,7 +3295,7 @@ Default is t. */); defsubr (&Sns_emacs_info_panel); defsubr (&Sns_list_services); defsubr (&Sns_perform_service); - defsubr (&Sns_popup_font_panel); + defsubr (&Sx_select_font); defsubr (&Sns_popup_color_panel); defsubr (&Sx_show_tip); |