* 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.
---
| 8 +++++---
| 41 ++++++++++++++++++++++++++++++++++++++++-
src/nsterm.m | 1 +
3 files changed, 46 insertions(+), 4 deletions(-)
--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
--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 related [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.
---
| 8 ++++---
| 55 ++++++++++++++++++++++++++++++++++++++++++++++++
src/nsterm.m | 1 +
3 files changed, 61 insertions(+), 3 deletions(-)
--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
--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 related [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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.