unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
@ 2014-11-20 16:27 Sam Steingold
  2015-04-11  9:15 ` Jan D.
  0 siblings, 1 reply; 21+ messages in thread
From: Sam Steingold @ 2014-11-20 16:27 UTC (permalink / raw)
  To: 19120

In GNU Emacs 25.0.50.5 (x86_64-apple-darwin14.0.0, NS appkit-1343.16 Version 10.10.1 (Build 14B25))
 of 2014-11-19 on sds-MacBook-Pro.local
Repository revision: f437176169cf1722f99938845c35eb40bf139b2d
Windowing system distributor `Apple', version 10.3.1343
Configured using:
 `configure --with-ns'

<f10> runs the command menu-bar-open
when I hit f10 I get the menu with 2 items ("search with google" and
"add to itunes as a spoken track") near the reg/yellow/green buttons in
the upper left corner.
I do _not_ get the actual menu bar
(Emacs/File/Edit/Options/Buffers/Tools/Field/Message/Text/Attacments/Help)


Configured features:
IMAGEMAGICK ACL GNUTLS LIBXML2 ZLIB

Important settings:
  value of $LANG: C
  locale-coding-system: utf-8-unix

Major mode: iESS

Minor modes in effect:
  diff-auto-refine-mode: t
  rcirc-track-minor-mode: t
  which-function-mode: t
  url-handler-mode: t
  show-paren-mode: t
  desktop-save-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Recent messages:
Quit
Executing SQL command...
Quit [2 times]
Executing SQL command...done
Mark saved where search started
C-c C-t is undefined [2 times]
C-c C-l r is undefined
Scanning for dabbrevs...done [2 times]
dabbrev--substitute-expansion: Search failed: "Advertising"
Executing SQL command...done

Load-path shadows:
None found.

Features:
(shadow bbdb-message mailalias cookie1 nnir emacsbug sendmail
smerge-mode pp ispell log-edit pcvs-util vc-bzr vc-sccs vc-svn vc-cvs
vc-rcs tramp tramp-compat tramp-loaddefs trampver grep cal-move cal-x
cal-china cal-bahai cal-islam cal-julian holidays hol-loaddefs cal-iso
cal-hebrew lunar solar cal-dst appt diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs jka-compr eieio-opt speedbar sb-image ezimage
dframe find-func apropos inf-lisp cl-indent skeleton sort gnus-cite
smiley shr mm-archive gnus-bcklg mule-util url-expand url-util
url-methods gnus-async gnus-dup qp mail-extr gnus-ml hl-line help-mode
debug dabbrev disp-table misearch multi-isearch spam spam-stat gnus-uu
yenc nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap
utf-7 gnus-cache gnus-sum time-stamp bbdb-gnus gnutls network-stream
starttls nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range
gnus-win remember image-mode info js cperl-mode conf-mode dired-aux
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
make-mode tex-mode sh-script smie python json message rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums gmm-utils mailheader bug-reference dired vc-hg vc-dir ewoc vc
vc-dispatcher sql view vc-git diff-mode easy-mmode pig-mode add-log
package epg-config midnight warnings gnus gnus-ems nnheader mail-utils
wid-edit bbdb-mua bbdb-com crm mailabbrev bbdb-loaddefs bbdb bbdb-site
timezone rcirc server which-func imenu url-handlers url-parse
auth-source cl-macs eieio byte-opt bytecomp byte-compile cl-extra cconv
eieio-core gnus-util mm-util mail-prsvr password-cache url-vars paren
help-at-pt desktop frameset cus-start cus-load ido ess-toolbar ess-mouse
mouseme thingatpt browse-url ess-menu ess-swv ess-noweb
ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l
ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs
make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug
format-spec ess-roxy advice help-fns hideshow ess-help ess-developer
ess-r-args ess-s-l ess ess-inf comint ansi-color ring ess-mode
ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat
ess-site cl gv cl-loaddefs cl-lib time-date tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
cocoa ns multi-tty emacs)

Memory information:
((conses 16 681614 96441)
 (symbols 48 70959 0)
 (miscs 40 7667 2548)
 (strings 32 200638 5512)
 (string-bytes 1 5201413)
 (vectors 16 54443)
 (vector-slots 8 919902 43141)
 (floats 8 942 2302)
 (intervals 56 27513 7)
 (buffers 976 140))

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
http://www.childpsy.net/ http://openvotingconsortium.org
http://americancensorship.org http://dhimmi.org http://thereligionofpeace.com
If Microsoft wrote poetry, it would have patented dactyl and anapest.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2014-11-20 16:27 bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar Sam Steingold
@ 2015-04-11  9:15 ` Jan D.
  2015-04-12  7:29   ` Sam Steingold
  0 siblings, 1 reply; 21+ messages in thread
From: Jan D. @ 2015-04-11  9:15 UTC (permalink / raw)
  To: sds; +Cc: 19120

Hi.

There is a sort of implementation of this in trunk.  It opens the menu bar menus as a popup, but does not activate the menu bar like on X.  It seems to be hard to do in NS.

	Jan D.

> 20 nov 2014 kl. 17:27 skrev Sam Steingold <sds@gnu.org>:
> 
> In GNU Emacs 25.0.50.5 (x86_64-apple-darwin14.0.0, NS appkit-1343.16 Version 10.10.1 (Build 14B25))
> of 2014-11-19 on sds-MacBook-Pro.local
> Repository revision: f437176169cf1722f99938845c35eb40bf139b2d
> Windowing system distributor `Apple', version 10.3.1343
> Configured using:
> `configure --with-ns'
> 
> <f10> runs the command menu-bar-open
> when I hit f10 I get the menu with 2 items ("search with google" and
> "add to itunes as a spoken track") near the reg/yellow/green buttons in
> the upper left corner.
> I do _not_ get the actual menu bar
> (Emacs/File/Edit/Options/Buffers/Tools/Field/Message/Text/Attacments/Help)
> 
> 
> Configured features:
> IMAGEMAGICK ACL GNUTLS LIBXML2 ZLIB
> 
> Important settings:
>  value of $LANG: C
>  locale-coding-system: utf-8-unix
> 
> Major mode: iESS
> 
> Minor modes in effect:
>  diff-auto-refine-mode: t
>  rcirc-track-minor-mode: t
>  which-function-mode: t
>  url-handler-mode: t
>  show-paren-mode: t
>  desktop-save-mode: t
>  shell-dirtrack-mode: t
>  tooltip-mode: t
>  global-eldoc-mode: t
>  eldoc-mode: t
>  electric-indent-mode: t
>  mouse-wheel-mode: t
>  menu-bar-mode: t
>  file-name-shadow-mode: t
>  global-font-lock-mode: t
>  font-lock-mode: t
>  blink-cursor-mode: t
>  auto-composition-mode: t
>  auto-encryption-mode: t
>  auto-compression-mode: t
>  column-number-mode: t
>  line-number-mode: t
> 
> Recent messages:
> Quit
> Executing SQL command...
> Quit [2 times]
> Executing SQL command...done
> Mark saved where search started
> C-c C-t is undefined [2 times]
> C-c C-l r is undefined
> Scanning for dabbrevs...done [2 times]
> dabbrev--substitute-expansion: Search failed: "Advertising"
> Executing SQL command...done
> 
> Load-path shadows:
> None found.
> 
> Features:
> (shadow bbdb-message mailalias cookie1 nnir emacsbug sendmail
> smerge-mode pp ispell log-edit pcvs-util vc-bzr vc-sccs vc-svn vc-cvs
> vc-rcs tramp tramp-compat tramp-loaddefs trampver grep cal-move cal-x
> cal-china cal-bahai cal-islam cal-julian holidays hol-loaddefs cal-iso
> cal-hebrew lunar solar cal-dst appt diary-lib diary-loaddefs cal-menu
> calendar cal-loaddefs jka-compr eieio-opt speedbar sb-image ezimage
> dframe find-func apropos inf-lisp cl-indent skeleton sort gnus-cite
> smiley shr mm-archive gnus-bcklg mule-util url-expand url-util
> url-methods gnus-async gnus-dup qp mail-extr gnus-ml hl-line help-mode
> debug dabbrev disp-table misearch multi-isearch spam spam-stat gnus-uu
> yenc nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual
> gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap
> utf-7 gnus-cache gnus-sum time-stamp bbdb-gnus gnutls network-stream
> starttls nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
> mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range
> gnus-win remember image-mode info js cperl-mode conf-mode dired-aux
> cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
> make-mode tex-mode sh-script smie python json message rfc822 mml mml-sec
> mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
> ietf-drums gmm-utils mailheader bug-reference dired vc-hg vc-dir ewoc vc
> vc-dispatcher sql view vc-git diff-mode easy-mmode pig-mode add-log
> package epg-config midnight warnings gnus gnus-ems nnheader mail-utils
> wid-edit bbdb-mua bbdb-com crm mailabbrev bbdb-loaddefs bbdb bbdb-site
> timezone rcirc server which-func imenu url-handlers url-parse
> auth-source cl-macs eieio byte-opt bytecomp byte-compile cl-extra cconv
> eieio-core gnus-util mm-util mail-prsvr password-cache url-vars paren
> help-at-pt desktop frameset cus-start cus-load ido ess-toolbar ess-mouse
> mouseme thingatpt browse-url ess-menu ess-swv ess-noweb
> ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l
> ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs
> make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug
> format-spec ess-roxy advice help-fns hideshow ess-help ess-developer
> ess-r-args ess-s-l ess ess-inf comint ansi-color ring ess-mode
> ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat
> ess-site cl gv cl-loaddefs cl-lib time-date tooltip eldoc electric
> uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
> fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
> lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
> scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese hebrew greek romanian slovak czech european ethiopic
> indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
> abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
> text-properties overlay sha1 md5 base64 format env code-pages mule
> custom widget hashtable-print-readable backquote make-network-process
> cocoa ns multi-tty emacs)
> 
> Memory information:
> ((conses 16 681614 96441)
> (symbols 48 70959 0)
> (miscs 40 7667 2548)
> (strings 32 200638 5512)
> (string-bytes 1 5201413)
> (vectors 16 54443)
> (vector-slots 8 919902 43141)
> (floats 8 942 2302)
> (intervals 56 27513 7)
> (buffers 976 140))
> 
> -- 
> Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
> http://www.childpsy.net/ http://openvotingconsortium.org
> http://americancensorship.org http://dhimmi.org http://thereligionofpeace.com
> If Microsoft wrote poetry, it would have patented dactyl and anapest.
> 
> 






^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2015-04-11  9:15 ` Jan D.
@ 2015-04-12  7:29   ` Sam Steingold
  2015-04-12  8:04     ` Jan D.
  0 siblings, 1 reply; 21+ messages in thread
From: Sam Steingold @ 2015-04-12  7:29 UTC (permalink / raw)
  To: Jan D.; +Cc: 19120

Yes, _I_ did that implementation. :-)
still, it would be nice to be able to tell emacs to pass certain keys to the OS.
it _can_ be done on w32, so why not here too?

On Sat, Apr 11, 2015 at 5:15 AM, Jan D. <jan.h.d@swipnet.se> wrote:
> Hi.
>
> There is a sort of implementation of this in trunk.  It opens the menu bar menus as a popup, but does not activate the menu bar like on X.  It seems to be hard to do in NS.
>
>         Jan D.
>
>> 20 nov 2014 kl. 17:27 skrev Sam Steingold <sds@gnu.org>:
>>
>> In GNU Emacs 25.0.50.5 (x86_64-apple-darwin14.0.0, NS appkit-1343.16 Version 10.10.1 (Build 14B25))
>> of 2014-11-19 on sds-MacBook-Pro.local
>> Repository revision: f437176169cf1722f99938845c35eb40bf139b2d
>> Windowing system distributor `Apple', version 10.3.1343
>> Configured using:
>> `configure --with-ns'
>>
>> <f10> runs the command menu-bar-open
>> when I hit f10 I get the menu with 2 items ("search with google" and
>> "add to itunes as a spoken track") near the reg/yellow/green buttons in
>> the upper left corner.
>> I do _not_ get the actual menu bar
>> (Emacs/File/Edit/Options/Buffers/Tools/Field/Message/Text/Attacments/Help)
>>
>>
>> Configured features:
>> IMAGEMAGICK ACL GNUTLS LIBXML2 ZLIB
>>
>> Important settings:
>>  value of $LANG: C
>>  locale-coding-system: utf-8-unix
>>
>> Major mode: iESS
>>
>> Minor modes in effect:
>>  diff-auto-refine-mode: t
>>  rcirc-track-minor-mode: t
>>  which-function-mode: t
>>  url-handler-mode: t
>>  show-paren-mode: t
>>  desktop-save-mode: t
>>  shell-dirtrack-mode: t
>>  tooltip-mode: t
>>  global-eldoc-mode: t
>>  eldoc-mode: t
>>  electric-indent-mode: t
>>  mouse-wheel-mode: t
>>  menu-bar-mode: t
>>  file-name-shadow-mode: t
>>  global-font-lock-mode: t
>>  font-lock-mode: t
>>  blink-cursor-mode: t
>>  auto-composition-mode: t
>>  auto-encryption-mode: t
>>  auto-compression-mode: t
>>  column-number-mode: t
>>  line-number-mode: t
>>
>> Recent messages:
>> Quit
>> Executing SQL command...
>> Quit [2 times]
>> Executing SQL command...done
>> Mark saved where search started
>> C-c C-t is undefined [2 times]
>> C-c C-l r is undefined
>> Scanning for dabbrevs...done [2 times]
>> dabbrev--substitute-expansion: Search failed: "Advertising"
>> Executing SQL command...done
>>
>> Load-path shadows:
>> None found.
>>
>> Features:
>> (shadow bbdb-message mailalias cookie1 nnir emacsbug sendmail
>> smerge-mode pp ispell log-edit pcvs-util vc-bzr vc-sccs vc-svn vc-cvs
>> vc-rcs tramp tramp-compat tramp-loaddefs trampver grep cal-move cal-x
>> cal-china cal-bahai cal-islam cal-julian holidays hol-loaddefs cal-iso
>> cal-hebrew lunar solar cal-dst appt diary-lib diary-loaddefs cal-menu
>> calendar cal-loaddefs jka-compr eieio-opt speedbar sb-image ezimage
>> dframe find-func apropos inf-lisp cl-indent skeleton sort gnus-cite
>> smiley shr mm-archive gnus-bcklg mule-util url-expand url-util
>> url-methods gnus-async gnus-dup qp mail-extr gnus-ml hl-line help-mode
>> debug dabbrev disp-table misearch multi-isearch spam spam-stat gnus-uu
>> yenc nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual
>> gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap
>> utf-7 gnus-cache gnus-sum time-stamp bbdb-gnus gnutls network-stream
>> starttls nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
>> mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range
>> gnus-win remember image-mode info js cperl-mode conf-mode dired-aux
>> cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
>> make-mode tex-mode sh-script smie python json message rfc822 mml mml-sec
>> mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
>> ietf-drums gmm-utils mailheader bug-reference dired vc-hg vc-dir ewoc vc
>> vc-dispatcher sql view vc-git diff-mode easy-mmode pig-mode add-log
>> package epg-config midnight warnings gnus gnus-ems nnheader mail-utils
>> wid-edit bbdb-mua bbdb-com crm mailabbrev bbdb-loaddefs bbdb bbdb-site
>> timezone rcirc server which-func imenu url-handlers url-parse
>> auth-source cl-macs eieio byte-opt bytecomp byte-compile cl-extra cconv
>> eieio-core gnus-util mm-util mail-prsvr password-cache url-vars paren
>> help-at-pt desktop frameset cus-start cus-load ido ess-toolbar ess-mouse
>> mouseme thingatpt browse-url ess-menu ess-swv ess-noweb
>> ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l
>> ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs
>> make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug
>> format-spec ess-roxy advice help-fns hideshow ess-help ess-developer
>> ess-r-args ess-s-l ess ess-inf comint ansi-color ring ess-mode
>> ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat
>> ess-site cl gv cl-loaddefs cl-lib time-date tooltip eldoc electric
>> uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
>> fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
>> lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
>> scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
>> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
>> korean japanese hebrew greek romanian slovak czech european ethiopic
>> indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
>> abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
>> text-properties overlay sha1 md5 base64 format env code-pages mule
>> custom widget hashtable-print-readable backquote make-network-process
>> cocoa ns multi-tty emacs)
>>
>> Memory information:
>> ((conses 16 681614 96441)
>> (symbols 48 70959 0)
>> (miscs 40 7667 2548)
>> (strings 32 200638 5512)
>> (string-bytes 1 5201413)
>> (vectors 16 54443)
>> (vector-slots 8 919902 43141)
>> (floats 8 942 2302)
>> (intervals 56 27513 7)
>> (buffers 976 140))
>>
>> --
>> Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
>> http://www.childpsy.net/ http://openvotingconsortium.org
>> http://americancensorship.org http://dhimmi.org http://thereligionofpeace.com
>> If Microsoft wrote poetry, it would have patented dactyl and anapest.
>>
>>
>



-- 
Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2015-04-12  7:29   ` Sam Steingold
@ 2015-04-12  8:04     ` Jan D.
  2015-04-14 20:41       ` Sam Steingold
  0 siblings, 1 reply; 21+ messages in thread
From: Jan D. @ 2015-04-12  8:04 UTC (permalink / raw)
  To: Sam Steingold; +Cc: 19120

Hi.

> 12 apr 2015 kl. 09:29 skrev Sam Steingold <sds@gnu.org>:
> 
> Yes, _I_ did that implementation. :-)

:-)

> still, it would be nice to be able to tell emacs to pass certain keys to the OS.
> it _can_ be done on w32, so why not here too?
> 

W32 and Cocoa are different API:s?

	Jan D.

> On Sat, Apr 11, 2015 at 5:15 AM, Jan D. <jan.h.d@swipnet.se> wrote:
>> Hi.
>> 
>> There is a sort of implementation of this in trunk.  It opens the menu bar menus as a popup, but does not activate the menu bar like on X.  It seems to be hard to do in NS.
>> 
>>        Jan D.
>> 
>>> 20 nov 2014 kl. 17:27 skrev Sam Steingold <sds@gnu.org>:
>>> 
>>> In GNU Emacs 25.0.50.5 (x86_64-apple-darwin14.0.0, NS appkit-1343.16 Version 10.10.1 (Build 14B25))
>>> of 2014-11-19 on sds-MacBook-Pro.local
>>> Repository revision: f437176169cf1722f99938845c35eb40bf139b2d
>>> Windowing system distributor `Apple', version 10.3.1343
>>> Configured using:
>>> `configure --with-ns'
>>> 
>>> <f10> runs the command menu-bar-open
>>> when I hit f10 I get the menu with 2 items ("search with google" and
>>> "add to itunes as a spoken track") near the reg/yellow/green buttons in
>>> the upper left corner.
>>> I do _not_ get the actual menu bar
>>> (Emacs/File/Edit/Options/Buffers/Tools/Field/Message/Text/Attacments/Help)
>>> 
>>> 
>>> Configured features:
>>> IMAGEMAGICK ACL GNUTLS LIBXML2 ZLIB
>>> 
>>> Important settings:
>>> value of $LANG: C
>>> locale-coding-system: utf-8-unix
>>> 
>>> Major mode: iESS
>>> 
>>> Minor modes in effect:
>>> diff-auto-refine-mode: t
>>> rcirc-track-minor-mode: t
>>> which-function-mode: t
>>> url-handler-mode: t
>>> show-paren-mode: t
>>> desktop-save-mode: t
>>> shell-dirtrack-mode: t
>>> tooltip-mode: t
>>> global-eldoc-mode: t
>>> eldoc-mode: t
>>> electric-indent-mode: t
>>> mouse-wheel-mode: t
>>> menu-bar-mode: t
>>> file-name-shadow-mode: t
>>> global-font-lock-mode: t
>>> font-lock-mode: t
>>> blink-cursor-mode: t
>>> auto-composition-mode: t
>>> auto-encryption-mode: t
>>> auto-compression-mode: t
>>> column-number-mode: t
>>> line-number-mode: t
>>> 
>>> Recent messages:
>>> Quit
>>> Executing SQL command...
>>> Quit [2 times]
>>> Executing SQL command...done
>>> Mark saved where search started
>>> C-c C-t is undefined [2 times]
>>> C-c C-l r is undefined
>>> Scanning for dabbrevs...done [2 times]
>>> dabbrev--substitute-expansion: Search failed: "Advertising"
>>> Executing SQL command...done
>>> 
>>> Load-path shadows:
>>> None found.
>>> 
>>> Features:
>>> (shadow bbdb-message mailalias cookie1 nnir emacsbug sendmail
>>> smerge-mode pp ispell log-edit pcvs-util vc-bzr vc-sccs vc-svn vc-cvs
>>> vc-rcs tramp tramp-compat tramp-loaddefs trampver grep cal-move cal-x
>>> cal-china cal-bahai cal-islam cal-julian holidays hol-loaddefs cal-iso
>>> cal-hebrew lunar solar cal-dst appt diary-lib diary-loaddefs cal-menu
>>> calendar cal-loaddefs jka-compr eieio-opt speedbar sb-image ezimage
>>> dframe find-func apropos inf-lisp cl-indent skeleton sort gnus-cite
>>> smiley shr mm-archive gnus-bcklg mule-util url-expand url-util
>>> url-methods gnus-async gnus-dup qp mail-extr gnus-ml hl-line help-mode
>>> debug dabbrev disp-table misearch multi-isearch spam spam-stat gnus-uu
>>> yenc nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual
>>> gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap
>>> utf-7 gnus-cache gnus-sum time-stamp bbdb-gnus gnutls network-stream
>>> starttls nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
>>> mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range
>>> gnus-win remember image-mode info js cperl-mode conf-mode dired-aux
>>> cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
>>> make-mode tex-mode sh-script smie python json message rfc822 mml mml-sec
>>> mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
>>> ietf-drums gmm-utils mailheader bug-reference dired vc-hg vc-dir ewoc vc
>>> vc-dispatcher sql view vc-git diff-mode easy-mmode pig-mode add-log
>>> package epg-config midnight warnings gnus gnus-ems nnheader mail-utils
>>> wid-edit bbdb-mua bbdb-com crm mailabbrev bbdb-loaddefs bbdb bbdb-site
>>> timezone rcirc server which-func imenu url-handlers url-parse
>>> auth-source cl-macs eieio byte-opt bytecomp byte-compile cl-extra cconv
>>> eieio-core gnus-util mm-util mail-prsvr password-cache url-vars paren
>>> help-at-pt desktop frameset cus-start cus-load ido ess-toolbar ess-mouse
>>> mouseme thingatpt browse-url ess-menu ess-swv ess-noweb
>>> ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l
>>> ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs
>>> make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug
>>> format-spec ess-roxy advice help-fns hideshow ess-help ess-developer
>>> ess-r-args ess-s-l ess ess-inf comint ansi-color ring ess-mode
>>> ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat
>>> ess-site cl gv cl-loaddefs cl-lib time-date tooltip eldoc electric
>>> uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
>>> fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
>>> lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
>>> scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
>>> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
>>> korean japanese hebrew greek romanian slovak czech european ethiopic
>>> indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
>>> abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
>>> text-properties overlay sha1 md5 base64 format env code-pages mule
>>> custom widget hashtable-print-readable backquote make-network-process
>>> cocoa ns multi-tty emacs)
>>> 
>>> Memory information:
>>> ((conses 16 681614 96441)
>>> (symbols 48 70959 0)
>>> (miscs 40 7667 2548)
>>> (strings 32 200638 5512)
>>> (string-bytes 1 5201413)
>>> (vectors 16 54443)
>>> (vector-slots 8 919902 43141)
>>> (floats 8 942 2302)
>>> (intervals 56 27513 7)
>>> (buffers 976 140))
>>> 
>>> --
>>> Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
>>> http://www.childpsy.net/ http://openvotingconsortium.org
>>> http://americancensorship.org http://dhimmi.org http://thereligionofpeace.com
>>> If Microsoft wrote poetry, it would have patented dactyl and anapest.
>>> 
>>> 
>> 
> 
> 
> 
> -- 
> Sam Steingold <http://sds.podval.org> <http://www.childpsy.net/>






^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2015-04-12  8:04     ` Jan D.
@ 2015-04-14 20:41       ` Sam Steingold
  2015-04-19  7:44         ` Jan D.
  0 siblings, 1 reply; 21+ messages in thread
From: Sam Steingold @ 2015-04-14 20:41 UTC (permalink / raw)
  To: Jan D.; +Cc: 19120

Hi,

> * Jan D. <wna.u.q@fjvcarg.fr> [2015-04-12 10:04:09 +0200]:
>
>> still, it would be nice to be able to tell emacs to pass certain keys to the OS.
>> it _can_ be done on w32, so why not here too?
>
> W32 and Cocoa are different API:s?

I think it is done here:
http://www.math.s.chiba-u.ac.jp/~mituharu/emacs-mac.git
by YAMAMOTO Mitsuharu.

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1347
http://www.childpsy.net/ http://think-israel.org http://www.memritv.org
http://camera.org http://ffii.org http://mideasttruth.com http://memri.org
If money were measured in piles, I would have had a pit of it.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2015-04-14 20:41       ` Sam Steingold
@ 2015-04-19  7:44         ` Jan D.
  2021-10-20  2:59           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 21+ messages in thread
From: Jan D. @ 2015-04-19  7:44 UTC (permalink / raw)
  To: sds; +Cc: 19120


> 14 apr 2015 kl. 22:41 skrev Sam Steingold <sds@gnu.org>:
> 
> Hi,
> 
>> * Jan D. <wna.u.q@fjvcarg.fr> [2015-04-12 10:04:09 +0200]:
>> 
>>> still, it would be nice to be able to tell emacs to pass certain keys to the OS.
>>> it _can_ be done on w32, so why not here too?
>> 
>> W32 and Cocoa are different API:s?
> 
> I think it is done here:
> http://www.math.s.chiba-u.ac.jp/~mituharu/emacs-mac.git
> by YAMAMOTO Mitsuharu.

He fakes a keyclick on the apple menu.  Not that hard to do, patches welcome.

	Jan D.






^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2015-04-19  7:44         ` Jan D.
@ 2021-10-20  2:59           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-20  9:53             ` Robert Pluim
  0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-20  2:59 UTC (permalink / raw)
  To: Jan D.; +Cc: 19120, sds, alan

[-- Attachment #1: Type: text/plain, Size: 432 bytes --]

"Jan D." <jan.h.d@swipnet.se> writes:

> He fakes a keyclick on the apple menu.  Not that hard to do, patches welcome.

I think I may have found a cleaner solution to this.  But there is one
problem: only the code for GNUstep utilizing [NSMenu display] has been
tested.

I don't know if the Cocoa-specific code will work.  Sam, please test the
attached change, thanks.

Alan, how does this look to you?  Do you think it will work?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Support-opening-the-toolkit-menu-bar-on-NS.patch --]
[-- Type: text/x-patch, Size: 4230 bytes --]

From 4e3fe6b4c0027dada181892c019e49f8003612fe Mon Sep 17 00:00:00 2001
From: Po Lu <luangruo@yahoo.com>
Date: Wed, 20 Oct 2021 10:54:27 +0800
Subject: [PATCH] Support opening the toolkit menu bar on NS

* src/nsmenu.m (ns_activate_menubar, Fns_open_menubar): New functions.
* src/nsterm.m (ns_create_terminal): Add activate_menubar_hook.
* lisp/menu-bar.el (menu-bar-open): Use ns-menu-bar-open on Nextstep.
---
 lisp/menu-bar.el |  8 +++++---
 src/nsmenu.m     | 41 ++++++++++++++++++++++++++++++++++++++++-
 src/nsterm.m     |  1 +
 3 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 980ba2fcd1..2ef24cf111 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2659,9 +2659,10 @@ menu-bar-open
 this is the numeric argument to the command.
 This function decides which method to use to access the menu
 depending on FRAME's terminal device.  On X displays, it calls
-`x-menu-bar-open'; on Windows, `w32-menu-bar-open'; otherwise it
-calls either `popup-menu' or `tmm-menubar' depending on whether
-`tty-menu-open-use-tmm' is nil or not.
+`x-menu-bar-open'; on Windows, `w32-menu-bar-open';
+on NS, `ns-menu-bar-open'; otherwise it calls either `popup-menu'
+or `tmm-menubar' depending on whether `tty-menu-open-use-tmm'
+is nil or not.
 
 If FRAME is nil or not given, use the selected frame."
   (interactive
@@ -2670,6 +2671,7 @@ menu-bar-open
     (cond
      ((eq type 'x) (x-menu-bar-open frame))
      ((eq type 'w32) (w32-menu-bar-open frame))
+     ((eq type 'ns) (ns-menu-bar-open frame))
      ((and (null tty-menu-open-use-tmm)
 	   (not (zerop (or (frame-parameter nil 'menu-bar-lines) 0))))
       ;; Make sure the menu bar is up to date.  One situation where
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 333a8b50a1..359a9c3bc8 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1451,7 +1451,30 @@ - (NSRect) frame
 
 @end  /* EmacsTooltip */
 
+void
+ns_activate_menubar (struct frame *frame)
+{
+  if (frame != SELECTED_FRAME ()
+      || !FRAME_EXTERNAL_MENU_BAR (frame))
+    return;
 
+  block_input ();
+  NSApplication *app = [NSApplication sharedApplication];
+  NSMenu *menu = [app mainMenu];
+  for (NSMenuItem *item in [menu itemArray])
+    {
+      if ([item hasSubmenu])
+	{
+#ifdef NS_IMPL_GNUSTEP
+	  [[item submenu] display];
+#else
+	  [menu performActionForItemAtIndex: [menu indexOfItem: item]];
+#endif
+	  break;
+	}
+    }
+  unblock_input ();
+}
 
 /* ==========================================================================
 
@@ -1883,7 +1906,6 @@ - (Lisp_Object)runDialogAt: (NSPoint)p
 
 @end
 
-
 /* ==========================================================================
 
     Lisp definitions
@@ -1906,6 +1928,22 @@ - (Lisp_Object)runDialogAt: (NSPoint)p
   return popup_activated () ? Qt : Qnil;
 }
 
+DEFUN ("ns-menu-bar-open", Fns_menu_bar_open, Sns_menu_bar_open, 0, 1, "i",
+       doc: /* Start key navigation of the menu bar in FRAME.
+This initially opens the first menu bar item and you can then navigate with the
+arrow keys, select a menu entry with the return key or cancel with the
+escape key.  If FRAME has no menu bar this function does nothing.
+
+If FRAME is nil or not given, use the selected frame.  */)
+  (Lisp_Object frame)
+{
+  struct frame *f = decode_window_system_frame (frame);
+
+  ns_activate_menubar (f);
+
+  return Qnil;
+}
+
 /* ==========================================================================
 
     Lisp interface declaration
@@ -1917,6 +1955,7 @@ - (Lisp_Object)runDialogAt: (NSPoint)p
 {
   defsubr (&Sns_reset_menu);
   defsubr (&Smenu_or_popup_active_p);
+  defsubr (&Sns_menu_bar_open);
 
   DEFSYM (Qdebug_on_next_call, "debug-on-next-call");
 }
diff --git a/src/nsterm.m b/src/nsterm.m
index e0b7143e29..cd322b1fce 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5071,6 +5071,7 @@ static Lisp_Object ns_new_font (struct frame *f, Lisp_Object font_object,
   terminal->delete_frame_hook = ns_destroy_window;
   terminal->delete_terminal_hook = ns_delete_terminal;
   terminal->change_tab_bar_height_hook = ns_change_tab_bar_height;
+  terminal->activate_menubar_hook = ns_activate_menubar;
   /* Other hooks are NULL by default.  */
 
   return terminal;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-20  2:59           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-20  9:53             ` Robert Pluim
  2021-10-20 10:26               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2021-10-20  9:53 UTC (permalink / raw)
  To: Po Lu; +Cc: 19120, sds, alan, Jan D.

>>>>> On Wed, 20 Oct 2021 10:59:45 +0800, Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:

    reports> "Jan D." <jan.h.d@swipnet.se> writes:
    >> He fakes a keyclick on the apple menu.  Not that hard to do, patches welcome.

    reports> I think I may have found a cleaner solution to this.  But there is one
    reports> problem: only the code for GNUstep utilizing [NSMenu display] has been
    reports> tested.

    reports> I don't know if the Cocoa-specific code will work.  Sam, please test the
    reports> attached change, thanks.

    reports> Alan, how does this look to you?  Do you think it will work?

It doesnʼt crash, and performActionForItemAtIndex is called, but it
doesnʼt actually cause anything to happen (on macOS).

Robert
-- 





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-20  9:53             ` Robert Pluim
@ 2021-10-20 10:26               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-20 12:36                 ` Robert Pluim
  0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-20 10:26 UTC (permalink / raw)
  To: Robert Pluim; +Cc: sds, 19120, Jan D., alan

Robert Pluim <rpluim@gmail.com> writes:

>     reports> I think I may have found a cleaner solution to this.  But there is one
>     reports> problem: only the code for GNUstep utilizing [NSMenu display] has been
>     reports> tested.
>
>     reports> I don't know if the Cocoa-specific code will work.  Sam, please test the
>     reports> attached change, thanks.
>
>     reports> Alan, how does this look to you?  Do you think it will work?

> It doesnʼt crash, and performActionForItemAtIndex is called, but it
> doesnʼt actually cause anything to happen (on macOS).
>
> Robert

Hmm, thanks.  Do you know of a good solution for this aside from
generating a fake mouse click event?





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-20 10:26               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-20 12:36                 ` Robert Pluim
  2021-10-20 20:47                   ` Alan Third
  0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2021-10-20 12:36 UTC (permalink / raw)
  To: Po Lu; +Cc: 19120, sds, alan

>>>>> On Wed, 20 Oct 2021 18:26:21 +0800, Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:

    >> It doesnʼt crash, and performActionForItemAtIndex is called, but it
    >> doesnʼt actually cause anything to happen (on macOS).
    >> 
    >> Robert

    Po> Hmm, thanks.  Do you know of a good solution for this aside from
    Po> generating a fake mouse click event?

No. Googling indicates that performActionForItemAtIndex is the way to
do this, so I donʼt know why it isnʼt working.

Robert
-- 





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-20 12:36                 ` Robert Pluim
@ 2021-10-20 20:47                   ` Alan Third
  2021-10-21  0:21                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 21+ messages in thread
From: Alan Third @ 2021-10-20 20:47 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Po Lu, 19120, sds

On Wed, Oct 20, 2021 at 02:36:47PM +0200, Robert Pluim wrote:
> >>>>> On Wed, 20 Oct 2021 18:26:21 +0800, Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:
> 
>     >> It doesnʼt crash, and performActionForItemAtIndex is called, but it
>     >> doesnʼt actually cause anything to happen (on macOS).
>     >> 
>     >> Robert
> 
>     Po> Hmm, thanks.  Do you know of a good solution for this aside from
>     Po> generating a fake mouse click event?
> 
> No. Googling indicates that performActionForItemAtIndex is the way to
> do this, so I donʼt know why it isnʼt working.

Is there a reason to avoid faking a mouse event?

Assuming the first answer here is correct:

    https://stackoverflow.com/questions/21583559/nsmenu-programmatically-select-item

it looks quite straightforward and clean.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-20 20:47                   ` Alan Third
@ 2021-10-21  0:21                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-23 10:18                       ` Alan Third
  0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-21  0:21 UTC (permalink / raw)
  To: Alan Third; +Cc: Robert Pluim, sds, 19120

Alan Third <alan@idiocy.org> writes:

> Is there a reason to avoid faking a mouse event?
>
> Assuming the first answer here is correct:
>
>     https://stackoverflow.com/questions/21583559/nsmenu-programmatically-select-item
>
> it looks quite straightforward and clean.

Aren't performClick and selectItemAtIndex only for popup menus, which
the system menu bar is not?

Thanks.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-21  0:21                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-23 10:18                       ` Alan Third
  2021-10-24  7:14                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-24  7:15                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 21+ messages in thread
From: Alan Third @ 2021-10-23 10:18 UTC (permalink / raw)
  To: Po Lu; +Cc: Robert Pluim, sds, 19120

On Thu, Oct 21, 2021 at 08:21:56AM +0800, Po Lu wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > Is there a reason to avoid faking a mouse event?
> >
> > Assuming the first answer here is correct:
> >
> >     https://stackoverflow.com/questions/21583559/nsmenu-programmatically-select-item
> >
> > it looks quite straightforward and clean.
> 
> Aren't performClick and selectItemAtIndex only for popup menus, which
> the system menu bar is not?

I guess so.

Since the macOS method doesn't work we'll need to retain the current
behaviour there. The rest of the code can therefore be #if'd off as
GNUstep only, perhaps with a short explanation why.

Also, can you please move ns_activate_menubar to somewhere near the
rest of the menu code? It should probably be above the implementation
of EmacsMenu.

-- 
Alan Third





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-23 10:18                       ` Alan Third
@ 2021-10-24  7:14                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-24  7:15                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-24  7:14 UTC (permalink / raw)
  To: Alan Third; +Cc: Robert Pluim, sds, 19120

Alan Third <alan@idiocy.org> writes:

> I guess so.
>
> Since the macOS method doesn't work we'll need to retain the current
> behaviour there. The rest of the code can therefore be #if'd off as
> GNUstep only, perhaps with a short explanation why.

But before I do that, I'd like to ask if the Carbon Emacs method would
be applicable for macOS.  Because earlier in this thread, it was
mentioned that the Mac Port supports this functionality.

> Also, can you please move ns_activate_menubar to somewhere near the
> rest of the menu code? It should probably be above the implementation
> of EmacsMenu.

Thanks.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-23 10:18                       ` Alan Third
  2021-10-24  7:14                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-24  7:15                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-24  9:36                           ` Alan Third
  1 sibling, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-24  7:15 UTC (permalink / raw)
  To: Alan Third; +Cc: Robert Pluim, sds, 19120

Alan Third <alan@idiocy.org> writes:

> I guess so.
>
> Since the macOS method doesn't work we'll need to retain the current
> behaviour there. The rest of the code can therefore be #if'd off as
> GNUstep only, perhaps with a short explanation why.

But before I do that, I'd like to ask if the Carbon Emacs method would
be applicable for macOS.  Because earlier in this thread, it was
mentioned that the Mac Port supports this functionality.

> Also, can you please move ns_activate_menubar to somewhere near the
> rest of the menu code? It should probably be above the implementation
> of EmacsMenu.

Thanks.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-24  7:15                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-24  9:36                           ` Alan Third
  2021-10-24  9:49                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 21+ messages in thread
From: Alan Third @ 2021-10-24  9:36 UTC (permalink / raw)
  To: Po Lu; +Cc: Robert Pluim, sds, 19120

On Sun, Oct 24, 2021 at 03:15:15PM +0800, Po Lu wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > I guess so.
> >
> > Since the macOS method doesn't work we'll need to retain the current
> > behaviour there. The rest of the code can therefore be #if'd off as
> > GNUstep only, perhaps with a short explanation why.
> 
> But before I do that, I'd like to ask if the Carbon Emacs method would
> be applicable for macOS.  Because earlier in this thread, it was
> mentioned that the Mac Port supports this functionality.

Probably. Unless it adds a load of dependencies on Carbon libs, which
sounds unlikely.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-24  9:36                           ` Alan Third
@ 2021-10-24  9:49                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-25  9:08                               ` Alan Third
  0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-24  9:49 UTC (permalink / raw)
  To: Alan Third; +Cc: Robert Pluim, sds, 19120

Alan Third <alan@idiocy.org> writes:

> Probably. Unless it adds a load of dependencies on Carbon libs, which
> sounds unlikely.

Hmm.  Does the function `PostEventToQueue' need any extra linker
options?

Thanks in advance.





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-24  9:49                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-25  9:08                               ` Alan Third
  2021-10-25 11:47                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 21+ messages in thread
From: Alan Third @ 2021-10-25  9:08 UTC (permalink / raw)
  To: Po Lu; +Cc: Robert Pluim, sds, 19120

On Sun, Oct 24, 2021 at 05:49:28PM +0800, Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > Probably. Unless it adds a load of dependencies on Carbon libs, which
> > sounds unlikely.
> 
> Hmm.  Does the function `PostEventToQueue' need any extra linker
> options?

I'm unsure, I can't find any documentation on it.

Perhaps we'd be better sticking with NSApplication's
'postEvent:atStart:'? I don't know if it can do the same thing.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-25  9:08                               ` Alan Third
@ 2021-10-25 11:47                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-11-24 22:54                                   ` Alan Third
  0 siblings, 1 reply; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-25 11:47 UTC (permalink / raw)
  To: Alan Third; +Cc: Robert Pluim, sds, 19120

[-- Attachment #1: Type: text/plain, Size: 182 bytes --]

Alan Third <alan@idiocy.org> writes:

> Perhaps we'd be better sticking with NSApplication's
> 'postEvent:atStart:'? I don't know if it can do the same thing.

Thanks, please test.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Support-opening-the-toolkit-menu-bar-on-NS.patch --]
[-- Type: text/x-patch, Size: 4523 bytes --]

From 24c019196c865268a2ad3aedf5706b54b80e4e2c Mon Sep 17 00:00:00 2001
From: Po Lu <luangruo@yahoo.com>
Date: Wed, 20 Oct 2021 10:54:27 +0800
Subject: [PATCH] Support opening the toolkit menu bar on NS

* src/nsmenu.m (ns_activate_menubar, Fns_open_menubar): New functions.
* src/nsterm.m (ns_create_terminal): Add activate_menubar_hook.
* lisp/menu-bar.el (menu-bar-open): Use ns-menu-bar-open on Nextstep.
---
 lisp/menu-bar.el |  8 ++++---
 src/nsmenu.m     | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/nsterm.m     |  1 +
 3 files changed, 61 insertions(+), 3 deletions(-)

diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index fafc99eb95..b66f620276 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -2659,9 +2659,10 @@ menu-bar-open
 this is the numeric argument to the command.
 This function decides which method to use to access the menu
 depending on FRAME's terminal device.  On X displays, it calls
-`x-menu-bar-open'; on Windows, `w32-menu-bar-open'; otherwise it
-calls either `popup-menu' or `tmm-menubar' depending on whether
-`tty-menu-open-use-tmm' is nil or not.
+`x-menu-bar-open'; on Windows, `w32-menu-bar-open';
+on NS, `ns-menu-bar-open'; otherwise it calls either `popup-menu'
+or `tmm-menubar' depending on whether `tty-menu-open-use-tmm'
+is nil or not.
 
 If FRAME is nil or not given, use the selected frame."
   (interactive
@@ -2670,6 +2671,7 @@ menu-bar-open
     (cond
      ((eq type 'x) (x-menu-bar-open frame))
      ((eq type 'w32) (w32-menu-bar-open frame))
+     ((eq type 'ns) (ns-menu-bar-open frame))
      ((and (null tty-menu-open-use-tmm)
 	   (not (zerop (or (frame-parameter nil 'menu-bar-lines) 0))))
       ;; Make sure the menu bar is up to date.  One situation where
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 29201e6907..b93d3a79bd 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -439,6 +439,44 @@
   ns_update_menubar (f, deep_p);
 }
 
+void
+ns_activate_menubar (struct frame *frame)
+{
+  if (frame != SELECTED_FRAME ()
+      || !FRAME_EXTERNAL_MENU_BAR (frame))
+    return;
+
+  block_input ();
+  NSApplication *app = [NSApplication sharedApplication];
+  NSMenu *menu = [app mainMenu];
+  for (NSMenuItem *item in [menu itemArray])
+    {
+      if ([item hasSubmenu])
+	{
+#ifdef NS_IMPL_GNUSTEP
+	  [[item submenu] display];
+#else
+	  NSWindow *window = [FRAME_NS_VIEW (frame) window];
+	  NSScreen *screen = [window screen];
+
+	  NSRect screen_frame = [screen frame];
+	  [app postEvent: [NSEvent mouseEventWithType: NSLeftMouseDown
+					     location: NSMakePoint (NSMinX (screen_frame),
+								    NSMinY (screen_frame) + 10)
+					modifierFlags: 0
+					    timestamp: 0
+					 windowNumber: [window windowNumber]
+					      context: [NSGraphicsContext currentContext]
+					  eventNumber: 0
+					   clickCount: 1
+					     pressure: 1.0f]
+		 atStart: YES];
+#endif
+	  break;
+	}
+    }
+  unblock_input ();
+}
 
 /* ==========================================================================
 
@@ -1916,6 +1954,22 @@ - (Lisp_Object)runDialogAt: (NSPoint)p
   return popup_activated () ? Qt : Qnil;
 }
 
+DEFUN ("ns-menu-bar-open", Fns_menu_bar_open, Sns_menu_bar_open, 0, 1, "i",
+       doc: /* Start key navigation of the menu bar in FRAME.
+This initially opens the first menu bar item and you can then navigate with the
+arrow keys, select a menu entry with the return key or cancel with the
+escape key.  If FRAME has no menu bar this function does nothing.
+
+If FRAME is nil or not given, use the selected frame.  */)
+  (Lisp_Object frame)
+{
+  struct frame *f = decode_window_system_frame (frame);
+
+  ns_activate_menubar (f);
+
+  return Qnil;
+}
+
 /* ==========================================================================
 
     Lisp interface declaration
@@ -1927,6 +1981,7 @@ - (Lisp_Object)runDialogAt: (NSPoint)p
 {
   defsubr (&Sns_reset_menu);
   defsubr (&Smenu_or_popup_active_p);
+  defsubr (&Sns_menu_bar_open);
 
   DEFSYM (Qdebug_on_next_call, "debug-on-next-call");
 }
diff --git a/src/nsterm.m b/src/nsterm.m
index c10b6feca1..d9c28cb191 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5078,6 +5078,7 @@ static Lisp_Object ns_new_font (struct frame *f, Lisp_Object font_object,
   terminal->delete_frame_hook = ns_destroy_window;
   terminal->delete_terminal_hook = ns_delete_terminal;
   terminal->change_tab_bar_height_hook = ns_change_tab_bar_height;
+  terminal->activate_menubar_hook = ns_activate_menubar;
   /* Other hooks are NULL by default.  */
 
   return terminal;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-10-25 11:47                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-11-24 22:54                                   ` Alan Third
  2021-11-25  0:43                                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 21+ messages in thread
From: Alan Third @ 2021-11-24 22:54 UTC (permalink / raw)
  To: Po Lu; +Cc: Robert Pluim, sds, 19120

On Mon, Oct 25, 2021 at 07:47:42PM +0800, Po Lu wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > Perhaps we'd be better sticking with NSApplication's
> > 'postEvent:atStart:'? I don't know if it can do the same thing.
> 
> Thanks, please test.

Hi, sorry for not getting back to you about this sooner.

This doesn't work. I've tried messing about with it a bit to see if I
can work out how to get it working, but no luck.

I suspect we need to send the message to the menu "window" instead of
the Emacs window, but I don't see any way to find it.

-- 
Alan Third





^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar
  2021-11-24 22:54                                   ` Alan Third
@ 2021-11-25  0:43                                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 21+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-11-25  0:43 UTC (permalink / raw)
  To: Alan Third; +Cc: Robert Pluim, sds, 19120

Alan Third <alan@idiocy.org> writes:

> Hi, sorry for not getting back to you about this sooner.
>
> This doesn't work. I've tried messing about with it a bit to see if I
> can work out how to get it working, but no luck.
>
> I suspect we need to send the message to the menu "window" instead of
> the Emacs window, but I don't see any way to find it.

That is disappointing.  I wonder if it would be possible to use the
Carbon Emacs approach wholesale.

Thanks.





^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-11-25  0:43 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-20 16:27 bug#19120: 25.0.50; macosx: f10 does NOT go to the menu bar Sam Steingold
2015-04-11  9:15 ` Jan D.
2015-04-12  7:29   ` Sam Steingold
2015-04-12  8:04     ` Jan D.
2015-04-14 20:41       ` Sam Steingold
2015-04-19  7:44         ` Jan D.
2021-10-20  2:59           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-20  9:53             ` Robert Pluim
2021-10-20 10:26               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-20 12:36                 ` Robert Pluim
2021-10-20 20:47                   ` Alan Third
2021-10-21  0:21                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-23 10:18                       ` Alan Third
2021-10-24  7:14                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-24  7:15                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-24  9:36                           ` Alan Third
2021-10-24  9:49                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-25  9:08                               ` Alan Third
2021-10-25 11:47                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-24 22:54                                   ` Alan Third
2021-11-25  0:43                                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).