unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* emacs for pure Gtk3
@ 2020-04-26  7:56 Yuuki Harano
  2020-04-26  8:52 ` 조성빈
                   ` (7 more replies)
  0 siblings, 8 replies; 90+ messages in thread
From: Yuuki Harano @ 2020-04-26  7:56 UTC (permalink / raw)
  To: emacs-devel

Hi,

You may know, I ported emacs for pure Gtk3, especially for wayland native.

https://github.com/masm11/emacs

I created a new window-system, pgtk, which doesn't use libX11 directly.

What do you think? I want to merge to mainline.
-- 
Yuuki Harano



^ permalink raw reply	[flat|nested] 90+ messages in thread
* Re: emacs for pure Gtk3
@ 2020-04-27 11:54 Jeff Walsh
  2020-04-28  8:32 ` martin rudalics
  0 siblings, 1 reply; 90+ messages in thread
From: Jeff Walsh @ 2020-04-27 11:54 UTC (permalink / raw)
  To: rudalics; +Cc: emacs-devel

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


> Thank you!
> 
> Building on Debian with GTK+ Version 3.24.5, cairo version 1.16.0, and
> gcc (Debian 8.3.0-6) 8.3.0 configured as
> 
> CFLAGS='-O0 -g3 -no-pie' ../configure --without-x --with-cairo
> --with-modules --with-gif=ifavailable --with-tiff=ifavailable
> --with-gnutls=no --without-pop --enable-gcc-warnings=warn-only
> --enable-checking=yes --enable-check-lisp-object-type=yes
> 
> fails here thusly:
> 
>   CC       pgtkterm.o
> ../../src/pgtkterm.c: In function ‘mark_pgtkterm’:
> ../../src/pgtkterm.c:168:25: error: incompatible type for argument 1 
> of
> ‘mark_object’
>      mark_object (dpyinfo->rdb);
>                   ~~~~~~~^~~~~
> In file included from ../../src/pgtkterm.c:39:
> ../../src/lisp.h:3785:26: note: expected ‘Lisp_Object’ {aka 
> ‘struct
> Lisp_Object’} but argument is of type ‘XrmDatabase’ {aka 
> ‘void *’}
>  extern void mark_object (Lisp_Object);
>                           ^~~~~~~~~~~
> make[1]: *** [Makefile:405: pgtkterm.o] Fehler 1
> make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet....
> make[1]: Verzeichnis 
> „/home/martin/emacs-git/masm/obj-pure-gtk/src“ wird
> verlassen
> make: *** [Makefile:431: src] Fehler 2
> 
> Any ideas?

Hi Martin,

I had a look at this, it seems that the line can be deleted.

I have a PR up on Yuuki Harano's Repo, or you can grab a cleaned up 
version here:
<https://github.com/fejfighter/emacs/tree/pgtk-xrdb-mark>

it seems to compile and run without error using the flags you provided.

Hope that helps,

Jeff Walsh






[-- Attachment #2: Type: text/html, Size: 3999 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread
* Re: emacs for pure Gtk3
@ 2020-04-28  3:19 Jeff Walsh
  2020-04-28  7:27 ` Eli Zaretskii
  2020-05-08  6:54 ` Jostein Kjønigsen
  0 siblings, 2 replies; 90+ messages in thread
From: Jeff Walsh @ 2020-04-28  3:19 UTC (permalink / raw)
  To: eliz; +Cc: emacs-devel

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

> 
*From*: Eli Zaretskii *Subject*: Re: emacs for pure Gtk3 *Date*: Mon, 
27 Apr 2020 18:03:54 +0300
> >/ Date: Mon, 27 Apr 2020 21:37:27 +0900 (JST)/
> >/ Cc: address@hidden/
> >/ From: Yuuki Harano <address@hidden>/
> >/ /
> >/ >   . You don't seem to have a copyright assignment on file.  This 
> would/
> >/ >     be a significant contribution to Emacs, for which we must 
> have/
> >/ >     such an assignment from you before bringing this code into 
> the/
> >/ >     Emacs repository.  Would you be willing to start the legal/
> >/ >     paperwork now?  If so, I will send you the form to fill./
> >/ /
> >/ Yes.  Please send me it./
> 
> Form sent off-list.
> 
> >/ By the way, this fork contains much code written by @fejfighter./
> >/ He said "for now: Yes I do agree to assign my code to the FSF." 
> here,/
> >/ <https://github.com/masm11/emacs/pull/11#issuecomment-600856858> ./
> >/ What to do?/
> 
> He should fill the form I sent to you, separately, and email it
> according to instructions.

No worries, happy to do so.

> 
> >/ Because I was not going to merge to mainline when I started 
> porting,/
> >/ older commit messages are in Japanese.  If you don't like Japanese/
> >/ messages, I can make one big commit instead of existing commits./
> 
> That's probably the best.  But there's time before that happens, and
> you can meanwhile keep the original log messages while the code is on
> the branch.
> 
> >/ Since pgtk emacs is configured with '--without-x', existing X code/
> >/ is disabled.  If configured with '--with-x', the existing X 
> support/
> >/ should be enabled as before./
> 
> Would configuring --with-x disable Pgtk support code?  That is, do the
> X and Pgtk support contradict each other, and cannot live in the same
> binary?  Or maybe I don't have a clear idea what exactly gets disabled
> when building with Pgtk -- can you elaborate?
> 
/I think this may need a little more work in configure.ac/
/In essence it's not that different to --with-ns or --with-w32./
/it just happens to re-use a chunk of the gtkutil.c code where 
possible./
/
/
/Effectively it selects pgtkterm.h instead of xterm.h/



> >/ Pgtk emacs supports X window system too through Gtk library./
> >/ It can handle Wayland, X window system, and TTY in the same 
> session./
> >/ But segmentation fault may occur when running on X and Wayland/
> >/ in the same session./
> 
> I guess those segfaults need to be fixed, because having a GUI Emacs
> that can only run on Wayland would be a limitation that users might be
> unhappy about?

it will run on wayland or xwayland or X11 from the same binary, but not 
on wayland and X11 concurrently.

I'm not sure of a use-case for this, but I'm hoping someone is able to 
provide one.

> 
> >/ I don't know about Lisp threads.  I have never supported it 
> explicitly./
> >/ Pgtk emacs may not support it./
> 
> Well, for starters see if test/src/thread-tests.el runs and succeeds
> in your Pgtk build.

I get:

make lisp/thread-tests
make[1]: Entering directory '/home/fejfighter/dev/emacs-gtk/test'
  GEN      lisp/thread-tests.log
Running 3 tests (2020-04-28 12:52:55+1000, selector `(not (tag 
:unstable))')
  skipped  1/3  thread-tests-list-threads-error-when-not-configured 
(0.000133 sec)
   passed  2/3  thread-tests-thread-list-send-error (0.000488 sec)
   passed  3/3  thread-tests-thread-list-show-backtrace (0.014913 sec)

Ran 3 tests, 2 results as expected, 0 unexpected, 1 skipped (2020-04-28 
12:52:55+1000, 0.015803 sec)

1 skipped results:
  SKIPPED  thread-tests-list-threads-error-when-not-configured

make[1]: Leaving directory '/home/fejfighter/dev/emacs-gtk/test'


which matches a master build checkout from 
e49d3a45cd4a0554aa98c45f0976ed513c500951 (approx 1300 Aus EST)



> 
> >/ Gtk supports w32, but I have never tested on w32./
> 
> This would be nice, but is much less important, IMO.  The most
> important task is to keep users of Posix systems happy with the Pgtk
> build.
> 
> Thanks.

FWIW, this seems to work fine with gtk-broadway, the in-browser 
implementation of GTK3, aside from keystroke-clashes with firefox.
it may be some indication of a minimally "X'd" emacs, but a w32 version 
would be better proof.

Regards,

Jeff Walsh
(fejfighter)






[-- Attachment #2: Type: text/html, Size: 7903 bytes --]

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

end of thread, other threads:[~2021-01-11 15:01 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-26  7:56 emacs for pure Gtk3 Yuuki Harano
2020-04-26  8:52 ` 조성빈
2020-04-26  9:35   ` Yuuki Harano
2020-04-26  9:52   ` Yuuki Harano
2020-04-26 14:01 ` Eli Zaretskii
2020-04-27 12:37   ` Yuuki Harano
2020-04-27 15:03     ` Eli Zaretskii
2020-04-28 13:42       ` Yuuki Harano
2020-04-28 14:34         ` Eli Zaretskii
2020-04-28 20:09           ` Alan Third
2020-04-29  8:34           ` Yuuki Harano
2020-04-29  6:16         ` Po Lu
2020-04-29  7:46           ` Yuuki Harano
2020-04-29  8:05             ` Po Lu
2020-04-27 15:35     ` Yuuki Harano
2020-11-17 14:50   ` Yuuki Harano
2020-11-17 15:24     ` Eli Zaretskii
2020-11-17 17:24       ` Robert Pluim
2020-11-24 13:12         ` Yuuki Harano
2020-11-24 14:41           ` Robert Pluim
2020-11-25 12:24             ` Yuuki Harano
2020-11-25 13:30               ` Robert Pluim
2020-11-24 19:25           ` martin rudalics
2020-11-25 12:19             ` Yuuki Harano
2020-11-25 13:22               ` martin rudalics
2020-11-25 18:35               ` martin rudalics
2020-11-25 23:06                 ` Tim Cross
2020-11-26 15:44                   ` martin rudalics
2020-11-26 13:39                 ` Yuuki Harano
2020-11-26 15:45                   ` martin rudalics
2020-11-27 12:59                     ` Yuuki Harano
2020-11-27 15:42                       ` martin rudalics
2020-11-27 15:52                         ` Yuuki Harano
2020-11-25 17:31           ` Eric Abrahamsen
2020-11-27 16:07             ` Yuuki Harano
2020-11-27 17:47               ` Eric Abrahamsen
2020-12-07 23:50                 ` Eric Abrahamsen
2020-12-11  3:40                   ` 황병희
2021-01-02 22:43           ` Dmitry Gutov
2021-01-03  1:18             ` 황병희
2021-01-03  3:11               ` Jose A. Ortega Ruiz
2021-01-03  8:13                 ` 황병희
2021-01-03  9:53             ` Daniele Nicolodi
2021-01-03 12:02               ` Dmitry Gutov
2021-01-10 14:10             ` Yuuki Harano
2021-01-11  2:52               ` Dmitry Gutov
2021-01-11  2:59                 ` Thien-Thi Nguyen
2021-01-11  3:06                   ` Dmitry Gutov
2021-01-11 11:58                 ` Yuuki Harano
2021-01-11 15:01                   ` Dmitry Gutov
2020-11-20 12:04       ` Yuuki Harano
2020-11-20 12:16         ` Eli Zaretskii
2020-11-25  2:17         ` Zhu Zihao
2020-11-25 10:02           ` Robert Pluim
2020-11-19  3:18     ` 황병희
2020-11-20  4:23       ` Tim Cross
2020-11-20  4:39         ` Eric Abrahamsen
2020-11-20  7:11           ` Tim Cross
2020-11-20  7:29             ` Jean Louis
2020-11-21 23:35               ` Tim Cross
2020-11-22  1:49                 ` 황병희
2020-11-20 16:33             ` Eric Abrahamsen
2020-04-26 18:00 ` martin rudalics
2020-04-26 18:43   ` Stefan Monnier
2020-04-27 15:43   ` Yuuki Harano
2020-04-28  8:32     ` martin rudalics
2020-04-27  2:33 ` 황병희
2020-04-27  8:37 ` Po Lu via Emacs development discussions.
2020-04-27 16:08   ` Yuuki Harano
2020-04-27 23:47     ` Po Lu
2020-04-27 23:49       ` Po Lu
2020-04-28  0:05       ` Dmitry Gutov
2020-04-28  6:08         ` Po Lu
2020-04-28  7:37           ` Eli Zaretskii
2020-04-29  6:13             ` Po Lu
2020-04-29  6:28   ` Po Lu
2020-04-29  8:12     ` Yuuki Harano
2020-04-30  0:15       ` Po Lu
2020-04-28  0:51 ` Daniele Nicolodi
2020-04-29  1:14 ` Andrew Cohen
2020-04-29 13:01 ` Robert Pluim
2020-04-29 15:03   ` martin rudalics
2020-04-29 15:17   ` Yuuki Harano
2020-04-29 16:58     ` Robert Pluim
  -- strict thread matches above, loose matches on Subject: below --
2020-04-27 11:54 Jeff Walsh
2020-04-28  8:32 ` martin rudalics
2020-04-28  3:19 Jeff Walsh
2020-04-28  7:27 ` Eli Zaretskii
2020-05-08  6:54 ` Jostein Kjønigsen
2020-05-08  6:59   ` Eli Zaretskii

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).