unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Android port of Emacs
@ 2023-06-16 11:20 Eli Zaretskii
  2023-06-16 13:03 ` Po Lu
                   ` (7 more replies)
  0 siblings, 8 replies; 334+ messages in thread
From: Eli Zaretskii @ 2023-06-16 11:20 UTC (permalink / raw)
  To: emacs-devel; +Cc: Po Lu

I apologize in advance for not bringing this up earlier.  However,
better late than later or never.

I wonder whether the Android port of Emacs, which is being developed
by Po Lu for the past few months, should be part of the upstream Emacs
and whether it should be distributed as part of the Emacs release
tarballs.  The advantage of having the Android support bundled is that
we allow people to build the Android port right out of the release
tarball.  However, Android is a proprietary platform, so it isn't one
of the systems that we are required to target.  I also don't think
Android (and smartphones in general) will become the main, or even
important, platform for Emacs any time soon.

There are some significant disadvantages of the Android support:

  . it makes the Emacs distribution significantly larger (I think no
    other port, not even the MS-Windows or macOS ports, add so much
    stuff to the distribution)
  . significant portions of the Android support are (and AFAIU must
    be) implemented in Java, which is not used anywhere else in Emacs;
    Emacs developers are therefore not expected to be Java experts,
    and we have no Java-oriented coding conventions in Emacs
  . it requires non-trivial knowledge of the Android platform,
    including its unique requirements and limitations
  . its integration adds some non-trivial hair to many existing Emacs
    APIs and processing, whose purpose is only clear if one considers
    the special Android quirks
  . currently, we have a single developer who understands the
    specifics of the Android port and works on developing it; it is
    not good for Emacs to depend on a single individual for a port
    that should be kept alive and up-to-date for the observable future

Given these IMO significant downsides, I wonder whether we should
maintain the Android support as part of the upstream project.  It
sounds like a non-trivial maintenance burden that relies on a single
developer.  Should we really commit ourselves to this additional work,
from now on?

An alternative would be for the Android support to be a separate
project on Savannah.  Maybe in the long run this would be better?

I think this deserves a serious discussion and a more-or-less
agreed-upon decision, before we decide to land the Android branch and
thus commit ourselves to supporting the Android port.

Once again, apologies for bringing this up so late.  When the work on
this port started, I had no idea the result will be anywhere near
where it is today, or I would speak up much earlier.



^ permalink raw reply	[flat|nested] 334+ messages in thread
* Re: Android port of Emacs
@ 2023-07-02 14:53 Ant
  0 siblings, 0 replies; 334+ messages in thread
From: Ant @ 2023-07-02 14:53 UTC (permalink / raw)
  To: dmitry; +Cc: emacs-devel

I had some idea in this regard: either remap physical buttons 
(Volume-up/volume-down) or toolbar icons to modifiers/prefix keys. For 
the toolbar, you could put it in bottom position (Po Lu added support 
for this recently in feature/android) so that it would behave similarly 
to the modifiers bar in Termux.





^ permalink raw reply	[flat|nested] 334+ messages in thread
* Re: Android port of Emacs
@ 2023-07-06 15:48 Ant
  2023-07-07  2:46 ` Po Lu
  0 siblings, 1 reply; 334+ messages in thread
From: Ant @ 2023-07-06 15:48 UTC (permalink / raw)
  To: luangruo; +Cc: emacs-devel

* Po Lu:

 > I think I will look into providing modifier keys using the tool bar.


Thank you for the addition. They for sure make Emacs for Android (or 
handheld devices in general) much more comfortable to use.

The fact that having a modifier on temporarily overrides the text 
conversion style is very handy. I'd like to have modifiers on physical 
keys too, so I chose to re-use some of your functions:

(define-key local-function-key-map (kbd "<volume-up>") 
#'tool-bar-event-apply-meta-modifier)

(define-key local-function-key-map (kbd "<volume-down>") 
#'tool-bar-event-apply-control-modifier)

And it works good, except when I want both modifiers on: pressing 
<volume-up> and then <volume-down> is recognized as M-<volume-down>.  
The tool-bar-apply-modifiers function does address this issue and in 
fact it is possible to activate multiple modifiers through the new tool 
bar feature, but I'm unable to dig further and try to make it fit with 
physical keys.

I just wanted to address this for everyone who wants to insert modifiers 
on Emacs for Android. And also, thank you again Po Lu for the addition.





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

end of thread, other threads:[~2023-08-10 13:45 UTC | newest]

Thread overview: 334+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-16 11:20 Android port of Emacs Eli Zaretskii
2023-06-16 13:03 ` Po Lu
2023-06-16 13:17   ` Po Lu
2023-06-16 15:16 ` Dr. Arne Babenhauserheide
2023-06-16 15:32   ` Eli Zaretskii
2023-06-16 16:34     ` Dr. Arne Babenhauserheide
2023-06-16 19:34       ` Bob Rogers
2023-06-16 23:46       ` Po Lu
2023-06-18  2:10       ` Richard Stallman
2023-06-17  0:49     ` Konstantin Kharlamov
2023-06-17  6:20       ` Eli Zaretskii
2023-06-17  9:28         ` Dr. Arne Babenhauserheide
2023-06-17 13:34         ` Konstantin Kharlamov
2023-06-17 16:47           ` Alfred M. Szmidt
2023-06-17 18:11             ` contributing to Emacs Konstantin Kharlamov
2023-06-17 18:36               ` Alfred M. Szmidt
2023-06-17 19:39                 ` Konstantin Kharlamov
2023-06-17 21:00                   ` Alfred M. Szmidt
2023-06-17 21:10                     ` Konstantin Kharlamov
2023-06-17 21:19                       ` Alfred M. Szmidt
2023-06-17 21:26                         ` Konstantin Kharlamov
2023-06-17 22:25                           ` Alfred M. Szmidt
2023-06-17 22:39                             ` Konstantin Kharlamov
2023-06-18  5:20                               ` Eli Zaretskii
2023-06-18  8:53                                 ` Konstantin Kharlamov
2023-06-18  9:01                                   ` Po Lu
2023-06-18  9:23                                     ` Konstantin Kharlamov
2023-06-18  9:25                                       ` Po Lu
2023-06-18 10:04                                         ` Konstantin Kharlamov
2023-06-18 10:07                                           ` Po Lu
2023-06-18  9:57                                       ` Alfred M. Szmidt
2023-06-18  9:01                                   ` Eli Zaretskii
2023-06-18  9:06                                     ` Eli Zaretskii
2023-06-18  9:21                                       ` Konstantin Kharlamov
2023-06-18 12:00                                         ` Michael Albinus
2023-06-18 13:29                                         ` [External] : " Drew Adams
2023-06-18 22:46                                           ` Konstantin Kharlamov
2023-06-19  2:30                                             ` Eli Zaretskii
2023-06-18  9:18                                     ` Konstantin Kharlamov
2023-06-18  9:35                                       ` Eli Zaretskii
2023-06-18 21:16                                         ` Dmitry Gutov
2023-06-18 10:00                                   ` Philip Kaludercic
2023-06-18 10:15                                     ` Konstantin Kharlamov
2023-06-18 10:22                                       ` Philip Kaludercic
2023-06-23  6:49                                         ` Sean Whitton
2023-06-24 15:37                                           ` Philip Kaludercic
2023-06-25  7:40                                             ` Sean Whitton
2023-06-25 11:32                                               ` Setting 'vc-default-patch-addressee' in .dir-locals.el Philip Kaludercic
2023-06-18 12:13                                       ` contributing to Emacs Po Lu
2023-06-18 12:26                                         ` Konstantin Kharlamov
2023-06-18 13:43                                           ` Alfred M. Szmidt
2023-06-18 14:57                                             ` Dr. Arne Babenhauserheide
2023-06-18 16:29                                               ` Eli Zaretskii
2023-06-18 18:52                                                 ` Dr. Arne Babenhauserheide
2023-06-18 19:10                                                   ` Alfred M. Szmidt
2023-06-18 19:11                                                   ` Eli Zaretskii
2023-06-18 20:10                                                     ` Konstantin Kharlamov
2023-06-19  2:24                                                       ` Eli Zaretskii
2023-06-19  6:05                                                         ` Dr. Arne Babenhauserheide
2023-06-19 18:07                                                         ` David Masterson
2023-06-19 18:50                                                           ` Eli Zaretskii
2023-06-19 21:29                                                             ` Konstantin Kharlamov
2023-06-19 22:49                                                               ` David Masterson
2023-06-20 11:14                                                               ` Eli Zaretskii
2023-06-20 15:45                                                                 ` Konstantin Kharlamov
2023-06-20 16:14                                                                   ` Eli Zaretskii
2023-06-20 16:32                                                                     ` Lynn Winebarger
2023-06-20 16:42                                                                       ` Eli Zaretskii
2023-06-20 19:49                                                                     ` Konstantin Kharlamov
2023-06-24  1:44                                                                     ` Björn Bidar
2023-06-24  3:10                                                                       ` Po Lu
2023-06-24  7:00                                                                       ` Eli Zaretskii
2023-06-24  7:54                                                                         ` Michael Albinus
2023-06-25  2:25                                                                       ` Richard Stallman
2023-06-25 16:41                                                                         ` Corwin Brust
2023-06-25 23:31                                                                           ` Björn Bidar
2023-06-26 16:47                                                                             ` Ian Kelling
2023-06-27 11:08                                                                             ` Yuchen Pei
2023-06-27 13:52                                                                               ` Corwin Brust
2023-06-28  4:33                                                                               ` Björn Bidar
2023-06-29  3:03                                                                               ` Richard Stallman
2023-07-03  2:32                                                                                 ` Björn Bidar
2023-07-03  4:25                                                                                   ` Dr. Arne Babenhauserheide
2023-07-05  2:07                                                                                     ` Richard Stallman
2023-07-04  1:58                                                                                   ` Richard Stallman
2023-07-05 13:19                                                                                 ` Yuchen Pei
2023-07-09  2:53                                                                                   ` Richard Stallman
2023-06-27  1:05                                                                           ` Richard Stallman
2023-06-28  2:18                                                                           ` Richard Stallman
2023-06-20 16:24                                                                   ` Alfred M. Szmidt
2023-06-20 16:33                                                                   ` Dr. Arne Babenhauserheide
2023-06-19 22:47                                                             ` David Masterson
2023-06-20  1:17                                                               ` Po Lu
2023-06-20  2:24                                                                 ` David Masterson
2023-06-20  7:01                                                                 ` Alfred M. Szmidt
2023-06-21  0:51                                                                 ` Richard Stallman
2023-06-21  4:13                                                                   ` Po Lu
2023-06-21  4:23                                                                   ` David Masterson
2023-06-23  1:47                                                                     ` Richard Stallman
2023-06-23  2:28                                                                       ` Po Lu
2023-06-25  2:25                                                                         ` Richard Stallman
2023-06-20 11:20                                                               ` Eli Zaretskii
2023-06-18  8:34                               ` Alfred M. Szmidt
2023-06-18  8:58                                 ` Konstantin Kharlamov
2023-06-18  0:50                             ` Po Lu
2023-06-20  2:55                               ` Richard Stallman
2023-06-20  3:39                                 ` Po Lu
2023-06-21  9:20                                   ` Gregory Heytings
2023-06-22  1:56                                   ` Richard Stallman
2023-06-22  2:23                                     ` Po Lu
2023-06-22  7:47                                       ` Philip Kaludercic
2023-06-22  7:59                                         ` Po Lu
2023-06-22  8:38                                         ` Dr. Arne Babenhauserheide
2023-06-20 11:30                                 ` Eli Zaretskii
2023-06-17 21:44                         ` chad
2023-06-18  9:26                     ` Dr. Arne Babenhauserheide
2023-06-18 10:05                       ` Eli Zaretskii
2023-06-18 10:30                         ` Dr. Arne Babenhauserheide
2023-06-18 10:52                           ` Eli Zaretskii
2023-06-18 11:00                             ` Dr. Arne Babenhauserheide
2023-06-18 10:57                       ` Konstantin Kharlamov
2023-06-18  8:59                   ` Dr. Arne Babenhauserheide
2023-06-18  9:30                     ` Konstantin Kharlamov
2023-06-18  9:34                       ` Konstantin Kharlamov
2023-06-18  9:56                       ` Konstantin Kharlamov
2023-06-18 10:02                         ` Eli Zaretskii
2023-06-18 10:13                           ` Konstantin Kharlamov
2023-06-18 10:22                             ` Eli Zaretskii
2023-06-18 10:27                               ` Konstantin Kharlamov
2023-06-18 10:36                                 ` Eli Zaretskii
2023-06-18 10:44                                   ` Konstantin Kharlamov
2023-06-18 10:59                                     ` Eli Zaretskii
2023-06-18 11:14                                       ` Konstantin Kharlamov
2023-06-18 11:32                                         ` Eli Zaretskii
2023-06-18 11:54                                           ` Konstantin Kharlamov
2023-06-18 12:18                                             ` Eli Zaretskii
2023-06-18 12:24                                               ` Konstantin Kharlamov
2023-06-18 15:20                                                 ` Dr. Arne Babenhauserheide
2023-06-18 10:54                                 ` Dr. Arne Babenhauserheide
2023-06-18 11:11                                   ` Konstantin Kharlamov
2023-06-18 12:10                                 ` Po Lu
2023-06-18 12:28                                   ` Konstantin Kharlamov
2023-06-18 12:51                                     ` Eli Zaretskii
2023-06-18 13:02                                       ` Konstantin Kharlamov
2023-06-18 13:13                                         ` Eli Zaretskii
2023-06-18 13:32                                     ` Po Lu
2023-06-18 13:50                                       ` Konstantin Kharlamov
2023-06-18 10:12                         ` Po Lu
2023-06-18 10:22                           ` Konstantin Kharlamov
2023-06-18 12:09                             ` Po Lu
2023-06-18 12:30                               ` Konstantin Kharlamov
2023-06-18 13:29                                 ` Po Lu
2023-06-18 13:55                                   ` Konstantin Kharlamov
2023-06-18 12:33                               ` Konstantin Kharlamov
2023-06-18 13:30                                 ` Po Lu
2023-06-18 13:57                                   ` Konstantin Kharlamov
2023-06-23  6:51                           ` Sean Whitton
2023-06-23  7:06                             ` Po Lu
2023-06-23  7:14                               ` Sean Whitton
2023-06-23  7:17                             ` Eli Zaretskii
2023-06-24  7:21                               ` Sean Whitton
2023-06-24  7:43                                 ` Eli Zaretskii
2023-06-24 12:36                                   ` Konstantin Kharlamov
2023-06-24 14:44                                     ` Eli Zaretskii
2023-06-24 16:17                                       ` Konstantin Kharlamov
2023-06-24 17:13                                         ` Eli Zaretskii
2023-06-25  7:39                                   ` Sean Whitton
2023-06-18  9:43                     ` Eli Zaretskii
2023-06-18 10:19                       ` Dr. Arne Babenhauserheide
2023-06-18 10:31                         ` Eli Zaretskii
2023-06-18 10:50                           ` Dr. Arne Babenhauserheide
2023-06-18 11:29                             ` Eli Zaretskii
2023-06-16 15:49 ` Android port of Emacs Thomas Fitzsimmons
2023-06-16 16:28   ` Eli Zaretskii
2023-06-16 23:45   ` Po Lu
2023-06-16 21:19 ` chad
2023-06-17  0:11   ` Po Lu
2023-06-17  6:18     ` Eli Zaretskii
2023-06-17  6:38       ` Po Lu
2023-06-17  6:47         ` Eli Zaretskii
2023-06-17  7:08           ` Po Lu
2023-06-17  7:27             ` Eli Zaretskii
2023-06-17  7:41               ` Po Lu
2023-06-17  8:47                 ` Eli Zaretskii
2023-06-17  9:36             ` Dr. Arne Babenhauserheide
2023-06-17  9:57               ` Po Lu
2023-06-18  7:33           ` Sean Whitton
2023-06-30 22:09       ` Stefan Monnier via Emacs development discussions.
2023-06-17  6:00   ` Eli Zaretskii
2023-06-17  6:57     ` Po Lu
2023-06-17  7:10       ` Po Lu
2023-06-17  7:21       ` Eli Zaretskii
2023-06-17  7:33         ` Po Lu
2023-06-17  7:54           ` Alfred M. Szmidt
2023-06-17  8:02             ` Po Lu
2023-06-17  8:43           ` Eli Zaretskii
2023-06-17 16:47             ` Alfred M. Szmidt
2023-06-18  0:36               ` Po Lu
2023-06-19  2:13               ` Richard Stallman
2023-06-19  7:51             ` Manuel Giraud via Emacs development discussions.
2023-06-19  8:22               ` Po Lu
2023-06-19 16:42                 ` Eli Zaretskii
2023-06-19 17:54               ` Eli Zaretskii
2023-06-18  1:10     ` Dmitry Gutov
2023-06-18  1:24       ` Po Lu
2023-06-18  2:07         ` Óscar Fuentes
2023-06-20 13:29           ` Po Lu
2023-06-22 22:49             ` Gregory Heytings
2023-06-23  0:22               ` Po Lu
2023-06-23  7:37                 ` Gregory Heytings
2023-06-23  8:52                   ` Po Lu
2023-06-26 15:18                     ` Gregory Heytings
2023-06-27  0:39                       ` Po Lu
2023-07-01 14:13                         ` Gregory Heytings
2023-06-24 12:17             ` Óscar Fuentes
2023-06-24 13:01               ` Po Lu
2023-06-24 13:57                 ` Óscar Fuentes
2023-06-25  0:07                   ` Po Lu
2023-06-25  2:02                     ` Óscar Fuentes
2023-06-25  4:04                       ` Po Lu
2023-07-01 19:02                         ` Spencer Baugh
2023-07-02  5:09                           ` Po Lu
2023-07-02 12:50                             ` Dmitry Gutov
2023-07-02 12:59                               ` Po Lu
2023-07-02 13:15                                 ` Eli Zaretskii
2023-07-13 13:54                                   ` Gregory Heytings
2023-07-13 23:56                                     ` Po Lu
2023-07-02 13:16                                 ` Dmitry Gutov
2023-07-02 15:45                                   ` Spencer Baugh
2023-07-02 16:29                                     ` Dmitry Gutov
2023-07-02 17:28                                       ` Dmitry Gutov
2023-07-02 18:48                                       ` Spencer Baugh
2023-07-02 23:53                                     ` Po Lu
2023-07-02 23:51                                   ` Po Lu
2023-07-04 12:34                               ` Jean Louis
2023-07-04 15:46                                 ` Dmitry Gutov
2023-07-05  0:18                                   ` Jean Louis
2023-07-11 20:53                                   ` Bryce
2023-07-02  9:31                         ` Arsen Arsenović
2023-07-02 11:29                           ` Po Lu
2023-07-02 14:52                             ` Dr. Arne Babenhauserheide
2023-07-02 15:26                             ` Arsen Arsenović
2023-07-03  0:03                               ` Po Lu
2023-07-04 18:59                                 ` Arsen Arsenović
2023-06-25  4:45                       ` Takesi Ayanokoji
2023-06-25  5:56                         ` Po Lu
2023-06-25 10:07                           ` Takesi Ayanokoji
2023-06-25 10:21                             ` Po Lu
2023-06-25 11:35                               ` Eli Zaretskii
2023-06-26  6:11                               ` Takesi Ayanokoji
2023-06-18  2:46         ` Dmitry Gutov
2023-06-18  3:05           ` Po Lu
2023-06-18 22:35             ` Dmitry Gutov
2023-06-19  0:39               ` Po Lu
2023-06-19 12:04                 ` Dmitry Gutov
2023-06-18  5:31       ` Eli Zaretskii
2023-06-18  5:48         ` Po Lu
2023-06-18  7:33           ` Eli Zaretskii
2023-06-18 22:26         ` Dmitry Gutov
2023-06-21  0:50       ` Richard Stallman
2023-06-21 11:32         ` Eli Zaretskii
2023-06-23  1:47           ` Richard Stallman
2023-06-23  7:04             ` Eli Zaretskii
2023-06-23  9:05               ` Po Lu
2023-06-23 10:23                 ` Eli Zaretskii
2023-06-23 11:38                   ` Po Lu
2023-06-23 12:08                     ` Eli Zaretskii
2023-06-24  1:19                       ` Po Lu
2023-06-24  6:54                         ` Eli Zaretskii
2023-06-24 15:19                           ` Robert Pluim
2023-06-24 18:56                           ` Alan Mackenzie
2023-06-25  0:12                             ` Po Lu
2023-06-29 20:34                           ` Filipp Gunbin
2023-06-30  0:35                             ` Po Lu
2023-06-30  3:21                             ` Takesi Ayanokoji
2023-06-30  4:54                             ` Jean Louis
2023-06-24  1:39                       ` Dmitry Gutov
2023-06-24  7:06                         ` Eli Zaretskii
2023-06-24 22:23                           ` Dmitry Gutov
2023-06-25  0:10                             ` Po Lu
2023-06-25  2:26                               ` Dmitry Gutov
2023-06-25  4:15                                 ` Po Lu
2023-06-25  5:10                             ` Jean Louis
2023-06-25  5:57                               ` Po Lu
2023-06-30  4:57                                 ` Jean Louis
2023-06-30  5:12                                   ` Po Lu
2023-07-04 12:27                                     ` Jean Louis
2023-06-26  2:12                       ` Richard Stallman
2023-06-23 12:33               ` Dr. Arne Babenhauserheide
2023-06-24  7:30               ` Sean Whitton
2023-06-25  2:25               ` Richard Stallman
2023-06-25  2:40                 ` Po Lu
2023-06-27  1:07                   ` Richard Stallman
2023-06-25  5:38                 ` Eli Zaretskii
2023-06-27  1:07                   ` Richard Stallman
2023-06-17 23:16 ` Gregory Heytings
2023-06-18  0:42   ` Po Lu
2023-06-18  6:20     ` Gregory Heytings
2023-06-18  6:56       ` Po Lu
2023-06-18 22:53         ` Gregory Heytings
2023-06-19  0:34           ` Po Lu
2023-06-19 14:27             ` Gregory Heytings
2023-06-21  0:52               ` Richard Stallman
2023-06-21  9:20                 ` Gregory Heytings
     [not found]                   ` <87r0q53vi7.fsf@dick>
2023-06-23  1:47                     ` Richard Stallman
2023-06-19 16:19             ` Eli Zaretskii
2023-06-20  1:13               ` Po Lu
2023-06-20  5:57                 ` chad
2023-06-20 11:25                 ` Eli Zaretskii
2023-06-21  9:19                 ` Gregory Heytings
2023-06-18  0:57   ` Po Lu
2023-06-30 21:53   ` Stefan Monnier via Emacs development discussions.
2023-07-01 14:13     ` Gregory Heytings
2023-07-01 14:35       ` Stefan Monnier
2023-07-01 15:09         ` Gregory Heytings
2023-07-02 15:43           ` Stefan Monnier
2023-07-13 13:55             ` Gregory Heytings
2023-07-13 16:53               ` Stefan Monnier
2023-07-13 23:55                 ` Po Lu
2023-07-17  1:50                 ` Po Lu
2023-08-10 11:28                 ` Gregory Heytings
2023-08-10 12:50                   ` Po Lu
2023-08-10 13:26                   ` Eric S Fraga
2023-08-10 13:45                     ` Eli Zaretskii
2023-08-10 13:33                   ` Stefan Monnier
2023-07-02  9:00       ` Dr. Arne Babenhauserheide
2023-06-18 20:39 ` Thanos Apollo
2023-06-19 16:08   ` Eli Zaretskii
2023-06-30 21:44   ` Stefan Monnier via Emacs development discussions.
2023-06-25 23:37 ` Björn Bidar
2023-06-30 21:40 ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2023-07-02 14:53 Ant
2023-07-06 15:48 Ant
2023-07-07  2:46 ` Po Lu

Code repositories for project(s) associated with this public 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).