Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Upstream rebase #23

Closed
wants to merge 100 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
f6d8c59
Introduce Pure GTK3 port
Oct 28, 2017
b721cbc
Add set_undecorated frame parameter
Jan 8, 2018
f15c6a4
Add set_skip_taskbar frame parm
Jan 8, 2018
1b621c8
Don't mark name_list_element as it's not required
Jan 10, 2018
045e252
Add support for cursor_foreground_colors
Jan 13, 2018
a9c8a56
Fix xdg-open handling
May 12, 2018
53cb431
replace listn with list.
Apr 3, 2019
ed1f7d1
Simplify compilaiton condtion
Apr 3, 2019
12cc104
Cleanup x_* to gui_ to match upstream work
May 3, 2019
cdc04b4
Implement menubar for pgtk emacs
fejfighter Jun 15, 2019
f4920a6
Add pgtk-read-file-name function
Jun 22, 2019
330a346
Migrate to Emacs_GC
Jun 25, 2019
164800d
Add Preferred geometry settings
Jun 25, 2019
592badc
Early toolbar improvements
fejfighter Jun 12, 2020
1d549fa
Add support for make-frame-(in)visible
Jul 2, 2019
85441c9
Add Stipple support for PGTK
Jul 5, 2019
fbba846
Addframe highlighting support
Jul 6, 2019
19da22e
Add support for handing the internal border
Jul 6, 2019
da3c351
border_color/pixel width
Jul 7, 2019
ea3ecd3
init border_pixel.
Jul 26, 2019
68b99a3
Implement invisible-pointer to create blinking effect
Jul 7, 2019
519a4ac
Implement Meta key detection
Jul 9, 2019
31bba95
Use gsettings instead of X resource database
Jul 17, 2019
6957f94
Add PGTK support for fullscreen
Jul 18, 2019
9d9c828
TIMERFD support for PGTK, prevent calling when timerfd<0
Jul 18, 2019
bfbcb11
implement set-tool-bar-position and set-sticky
Jul 20, 2019
b3a20d7
Implement Scroll-bar-forground and scroll-bar-background
Jul 21, 2019
fde74fa
implement pgtk-frame-list-z-order same as frame-list.
Jul 25, 2019
ae3bb14
implement restacking and cleanup frame z order
Jul 25, 2019
fd61a86
improve some efficiency - simplify draws
Jul 29, 2019
24d8263
Improve drawing efficency by refactoring code
Jul 29, 2019
bc35a1e
Make multipdisplay work by limiting selection while enabed
Jul 31, 2019
9eb35f9
experimental support of tab-bar.
Oct 8, 2019
9e56fa9
Support focus on click event
Oct 12, 2019
232c129
implement pre-edit input method
Nov 13, 2019
526f727
Let gtk handle scaling.
Nov 21, 2019
b1cc62c
Add support for Jpeglib
Jan 11, 2020
385e85c
End Resize flickering by copying surface rather than just clearing
Jan 13, 2020
806b764
Before sleep, dispatch draw events.
Jan 21, 2020
d2a29e8
emacsclient should use both of DISPLAY and WAYLAND_DISPLAY.
Mar 23, 2020
992ef48
update redisplay_interface.
Mar 24, 2020
9752896
Bring pgtk more inline with X11-cairo builds
Jan 14, 2020
e021e23
End Resize flickering by copying surface rather than just clearing
Jan 13, 2020
c9e6b44
Some work toward posframe on wayland
Jan 9, 2020
ef67659
Set screen/display dpi res to make broadway work as expected
Feb 18, 2020
cbd28cd
improve code readability.
Mar 30, 2020
49645df
minimize gtkutil.c differences.
Mar 30, 2020
04bfe70
implement popup/context menu
Apr 3, 2020
de7b0da
use pgtk_menu_set_in_use.
Apr 5, 2020
984f9cc
restore frame_rehighlight_hook.
Apr 11, 2020
4de4d9e
follow x_set_internal_border_width change.
Apr 11, 2020
014d56f
* src/pgtkterm.c: Remove incorrect mark_object call.
Apr 27, 2020
5a72a07
* pgtk-win.el: fix compile-time warnings.
May 1, 2020
8669feb
Make icons and titles work like on X
May 6, 2020
fe2297c
* pgtkmenu.c (set_frame_menubar): fix empty menu.
May 6, 2020
d68633b
* src/pgtkterm.c (pgtk_defined_color): support gtk special colors
May 12, 2020
a167e23
* src/pgtkmenu.c (set_frame_menubar): Suppress gcc warning
May 17, 2020
e649275
* src/pgtkterm.c: change coding style
May 23, 2020
d109dab
* src/pgtkfns.c: change coding style
May 24, 2020
72f79d8
* src/pgtkselect.c: change coding style
May 24, 2020
af5b725
* src/pgtkmenu.c: change coding style
May 24, 2020
964dfcf
* src/pgtkgui.h: change coding style
May 24, 2020
209c611
* src/pgtkterm.h: Remove unused code
May 24, 2020
0056ca2
* src/pgtkterm.h: Change coding style
May 24, 2020
f761a09
* src/pgtkim.c: Change coding style
May 24, 2020
3b161dd
* src/pgtkselect.h: Change coding style
May 24, 2020
25cf592
Change coding style
May 26, 2020
1fe7caf
Fix coding style
May 26, 2020
20dbd4e
Change coding style
May 26, 2020
89cbe37
* src/keyboard.c (make_lispy_event): Fix coding style
May 26, 2020
383ced7
Fix migrating Child frames
fejfighter Jun 25, 2020
27a92f7
Add font chooser functionality
fejfighter Jun 29, 2020
af1e279
Restore support for terminal only emacs in PGTK (add --with-pgtk)
fejfighter Jul 2, 2020
6c43496
Fix font lock is not applied on continued lines
Jul 13, 2020
e7190d8
Fix non-English layout does not work
Jul 20, 2020
2d5ffa5
Make pointer visible when motion notify event
Aug 6, 2020
be47e34
Re-port image drawing code from X
Aug 10, 2020
51462ce
Add PGTK to system-configuration-features
Aug 13, 2020
2dd20b2
Self-implement tooltip
Aug 14, 2020
6df8556
Remove duplicated syms_of_xwidget call
Aug 16, 2020
9704e23
Enable GtkIMContext by default
Aug 22, 2020
e75ce03
Add support for x-support-frames
fejfighter Aug 27, 2020
28073ba
Re-implement childframe with emacsgtkfixed
Sep 6, 2020
7c8da33
Exclude Xlib's modifier keys
Sep 21, 2020
0b69b73
Fix crash when child frame updates toolbar
Sep 29, 2020
b60d4c9
Fix crash on creating child frames.
Sep 29, 2020
d899fc1
Fix tooltips don't hide on events
Sep 28, 2020
640f770
Fix mouse cursor doesn't appear on motion events on xwidgets
Sep 29, 2020
bb6862d
Fix crash on drag and drop
Oct 3, 2020
4dbea5b
Fix Gtk warnings
Oct 5, 2020
7b6fea8
Avoid mutating invocation-name (tiny change)
kira-bruneau Oct 15, 2020
d437aab
Avoid gtk warnings on X
Oct 16, 2020
c1fbfb3
Don't use gtk_window_resize to resize offscreen window
Oct 16, 2020
948e2fa
Avoid weird behavior when resizing with top-left corner
Oct 18, 2020
e405404
Fix startup failure on svg-unsupported environments
Oct 26, 2020
886fcb2
Update copyright dates for PGTK files
Nov 18, 2020
8fa5427
lisp/term/pgtk-win.el: Add copyright file header
Nov 18, 2020
b1b7440
Work around gtk_im_context_filter_keypress() issue with super key
Nov 18, 2020
731b5e8
Add copyright line
Nov 20, 2020
d6ef9af
Fix crash when .schema.xml is not installed
Nov 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -298,3 +298,6 @@ nt/emacs.rc
nt/emacsclient.rc
src/gdb.ini
/var/

# gsettings schema
/etc/*.gschema.valid
22 changes: 18 additions & 4 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,9 @@ icondir=$(datarootdir)/icons
# The source directory for the icon files.
iconsrcdir=$(srcdir)/etc/images/icons

# Where to install the gsettings schema file.
gsettingsschemadir = @gsettingsschemadir@

# ==================== Emacs-specific directories ====================

# These variables hold the values Emacs will actually use. They are
Expand Down Expand Up @@ -300,6 +303,8 @@ LN_S_FILEONLY = @LN_S_FILEONLY@
# We use gzip to compress installed .el and some .txt files.
GZIP_PROG = @GZIP_PROG@

GLIB_COMPILE_SCHEMAS = glib-compile-schemas

# ============================= Targets ==============================

# Program name transformation.
Expand Down Expand Up @@ -330,7 +335,9 @@ CONFIG_STATUS_FILES_IN = \
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}"

all: ${SUBDIR} info
gsettings_SCHEMAS = etc/org.gnu.emacs.defaults.gschema.xml

all: ${SUBDIR} info $(gsettings_SCHEMAS:.xml=.valid)

.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 etc-emacsver

Expand Down Expand Up @@ -468,7 +475,7 @@ $(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/m4/*.m4
## don't have to duplicate the list of utilities to install in
## this Makefile as well.

install: all install-arch-indep install-etcdoc install-arch-dep install-$(NTDIR) blessmail
install: all install-arch-indep install-etcdoc install-arch-dep install-$(NTDIR) blessmail install-gsettings-schemas
@true

## Ensure that $subdir contains a subdirs.el file.
Expand Down Expand Up @@ -760,7 +767,7 @@ install-strip:
### create (but not the noninstalled files such as 'make all' would create).
###
### Don't delete the lisp and etc directories if they're in the source tree.
uninstall: uninstall-$(NTDIR) uninstall-doc
uninstall: uninstall-$(NTDIR) uninstall-doc uninstall-gsettings-schemas
rm -f "$(DESTDIR)$(includedir)/emacs-module.h"
$(MAKE) -C lib-src uninstall
-unset CDPATH; \
Expand Down Expand Up @@ -857,7 +864,7 @@ clean_dirs = $(mostlyclean_dirs) nextstep

$(foreach dir,$(clean_dirs),$(eval $(call submake_template,$(dir),clean)))

clean: $(clean_dirs:=_clean)
clean: $(clean_dirs:=_clean) clean-gsettings-schemas
$(MAKE) -C admin/charsets $@
[ ! -d test ] || $(MAKE) -C test $@
-rm -f ./*.tmp etc/*.tmp*
Expand Down Expand Up @@ -1194,3 +1201,10 @@ gitmerge:
${GITMERGE_EMACS} -batch --no-site-file --no-site-lisp \
-l ${srcdir}/admin/gitmerge.el \
--eval '(setq gitmerge-minimum-missing ${GITMERGE_NMIN})' -f gitmerge

@GSETTINGS_RULES@

install-gsettings-schemas:
uninstall-gsettings-schemas:
clean-gsettings-schemas:
$(gsettings_SCHEMAS:.xml=.valid):
107 changes: 93 additions & 14 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@ AC_ARG_WITH([ns],[AS_HELP_STRING([--with-ns],
[use Nextstep (macOS Cocoa or GNUstep) windowing system.
On by default on macOS.])],[],[with_ns=maybe])
OPTION_DEFAULT_OFF([w32], [use native MS Windows GUI in a Cygwin build])
OPTION_DEFAULT_OFF([pgtk], [use pure GTK build without reliance on X libs (Wayland support) - Experimental])

OPTION_DEFAULT_ON([gpm],[don't use -lgpm for mouse support on a GNU/Linux console])
OPTION_DEFAULT_ON([dbus],[don't compile with D-Bus support])
Expand Down Expand Up @@ -1830,8 +1831,14 @@ AC_SUBST(AUTO_DEPEND)
## window-system-specific substs.

window_system=none

if test "${with_pgtk}" = "yes"; then
window_system=pgtk
fi


AC_PATH_X
if test "$no_x" != yes; then
if test "$no_x" != yes && test "${with_pgtk}" != "yes"; then
window_system=x11
fi

Expand Down Expand Up @@ -2239,6 +2246,11 @@ dnl use the toolkit if we have gtk, or X11R5 or newer.
w32 )
term_header=w32term.h
;;
pgtk )
term_header=pgtkterm.h
with_gtk3=yes
USE_X_TOOLKIT=none
;;
esac

if test "$window_system" = none && test "X$with_x" != "Xno"; then
Expand Down Expand Up @@ -2567,7 +2579,7 @@ fi

### Use -lrsvg-2 if available, unless '--with-rsvg=no' is specified.
HAVE_RSVG=no
if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${opsys}" = "mingw32"; then
if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${window_system}" = "pgtk" || test "${opsys}" = "mingw32"; then
if test "${with_rsvg}" != "no"; then
RSVG_REQUIRED=2.14.0
RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
Expand All @@ -2588,7 +2600,7 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${opsys}" =
fi

HAVE_IMAGEMAGICK=no
if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${HAVE_W32}" = "yes"; then
if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${window_system}" = "pgtk" || test "${HAVE_W32}" = "yes"; then
if test "${with_imagemagick}" != "no"; then
if test -n "$BREW"; then
# Homebrew doesn't link ImageMagick 6 by default, so make sure
Expand All @@ -2605,6 +2617,11 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${HAVE_W32}"
EMACS_CHECK_MODULES([IMAGEMAGICK], [Wand >= 6.3.5 Wand != 6.8.2])
fi

if test $HAVE_IMAGEMAGICK != yes; then
IMAGEMAGICK_MODULE="MagickWand-6.Q16HDRI >= 6.3.5 MagickWand-6.Q16HDRI != 6.8.2 MagickWand-6.Q16HDRI < 7 MagickCore-6.Q16HDRI >= 6.9.9 MagickCore-6.Q16HDRI < 7"
EMACS_CHECK_MODULES([IMAGEMAGICK], [$IMAGEMAGICK_MODULE])
fi

if test $HAVE_IMAGEMAGICK = yes; then
OLD_CFLAGS=$CFLAGS
OLD_LIBS=$LIBS
Expand Down Expand Up @@ -2671,6 +2688,9 @@ if test "${opsys}" != "mingw32"; then
AC_DEFINE([GLIB_DISABLE_DEPRECATION_WARNINGS], [1],
[Define to 1 to disable Glib deprecation warnings.])
fi
if test "$window_system" = pgtk; then
GLIB_GSETTINGS
fi
else
check_gtk2=yes
gtk3_pkg_errors="$GTK_PKG_ERRORS "
Expand Down Expand Up @@ -2812,6 +2832,17 @@ AC_SUBST(XWIDGETS_OBJ)
CFLAGS=$OLD_CFLAGS
LIBS=$OLD_LIBS

PGTK_OBJ=
PGTK_LIBS=
if test "$window_system" = "pgtk"; then
PGTK_OBJ="pgtkfns.o pgtkterm.o pgtkselect.o pgtkmenu.o pgtkim.o xsettings.o"
PGTK_LIBS="$GTK_LIBS -ldl"
HAVE_PGTK=yes
AC_DEFINE([HAVE_PGTK], 1, [Define to 1 if you have pure Gtk+-3.])
fi
AC_SUBST(PGTK_OBJ)
AC_SUBST(PGTK_LIBS)

dnl D-Bus has been tested under GNU/Linux only. Must be adapted for
dnl other platforms.
HAVE_DBUS=no
Expand Down Expand Up @@ -2841,7 +2872,7 @@ AC_SUBST(DBUS_OBJ)

dnl GSettings has been tested under GNU/Linux only.
HAVE_GSETTINGS=no
if test "${HAVE_X11}" = "yes" && test "${with_gsettings}" = "yes"; then
if test "${HAVE_X11}" = "yes" -o "${window_system}" = "pgtk" && test "${with_gsettings}" = "yes"; then
EMACS_CHECK_MODULES([GSETTINGS], [gio-2.0 >= 2.26])
if test "$HAVE_GSETTINGS" = "yes"; then
old_CFLAGS=$CFLAGS
Expand Down Expand Up @@ -2875,7 +2906,7 @@ fi
dnl GConf has been tested under GNU/Linux only.
dnl The version is really arbitrary, it is about the same age as Gtk+ 2.6.
HAVE_GCONF=no
if test "${HAVE_X11}" = "yes" && test "${with_gconf}" != "no"; then
if test "${HAVE_X11}" = "yes" -o "${window_system}" = "pgtk" && test "${with_gconf}" != "no"; then
EMACS_CHECK_MODULES([GCONF], [gconf-2.0 >= 2.13])
if test "$HAVE_GCONF" = yes; then
AC_DEFINE(HAVE_GCONF, 1, [Define to 1 if using GConf.])
Expand Down Expand Up @@ -3437,10 +3468,34 @@ if test "${HAVE_X11}" = "yes"; then
fi
fi
else # "${HAVE_X11}" != "yes"
HAVE_XFT=no
HAVE_FREETYPE=no
HAVE_LIBOTF=no
HAVE_M17N_FLT=no
if test $window_system = pgtk; then
EMACS_CHECK_MODULES([FONTCONFIG], [fontconfig >= 2.2.0])
EMACS_CHECK_MODULES([FREETYPE], [freetype2])
if test "$HAVE_FONTCONFIG" != yes -o "$HAVE_FREETYPE" != yes; then
AC_MSG_ERROR(fontconfig and freetype is required.)
fi
HAVE_LIBOTF=no
AC_DEFINE(HAVE_FREETYPE, 1,
[Define to 1 if using the freetype and fontconfig libraries.])
if test "${with_libotf}" != "no"; then
EMACS_CHECK_MODULES([LIBOTF], [libotf])
if test "$HAVE_LIBOTF" = "yes"; then
AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.])
AC_CHECK_LIB(otf, OTF_get_variation_glyphs,
HAVE_OTF_GET_VARIATION_GLYPHS=yes,
HAVE_OTF_GET_VARIATION_GLYPHS=no)
if test "${HAVE_OTF_GET_VARIATION_GLYPHS}" = "yes"; then
AC_DEFINE(HAVE_OTF_GET_VARIATION_GLYPHS, 1,
[Define to 1 if libotf has OTF_get_variation_glyphs.])
fi
fi
fi
else
HAVE_XFT=no
HAVE_FREETYPE=no
HAVE_LIBOTF=no
HAVE_M17N_FLT=no
fi
fi # "${HAVE_X11}" != "yes"

HAVE_HARFBUZZ=no
Expand All @@ -3452,6 +3507,7 @@ else
harfbuzz_required_ver=0.9.42
fi
if test "${HAVE_X11}" = "yes" && test "${HAVE_FREETYPE}" = "yes" \
|| test "$window_system" = "pgtk" \
|| test "${HAVE_W32}" = "yes"; then
if test "${with_harfbuzz}" != "no"; then
EMACS_CHECK_MODULES([HARFBUZZ], [harfbuzz >= $harfbuzz_required_ver])
Expand Down Expand Up @@ -3479,6 +3535,25 @@ AC_SUBST(LIBOTF_LIBS)
AC_SUBST(M17N_FLT_CFLAGS)
AC_SUBST(M17N_FLT_LIBS)

HAVE_CAIRO=no
if test "${HAVE_X11}" = "yes" -o "$window_system" = pgtk; then
if test "${with_cairo}" != "no"; then
CAIRO_REQUIRED=1.12.0
CAIRO_MODULE="cairo >= $CAIRO_REQUIRED"
EMACS_CHECK_MODULES(CAIRO, $CAIRO_MODULE)
if test $HAVE_CAIRO = yes; then
AC_DEFINE(USE_CAIRO, 1, [Define to 1 if using cairo.])
else
AC_MSG_ERROR([cairo requested but not found.])
fi

CFLAGS="$CFLAGS $CAIRO_CFLAGS"
LIBS="$LIBS $CAIRO_LIBS"
AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(CAIRO_LIBS)
fi
fi

if test "${HAVE_X11}" = "yes"; then
AC_CHECK_HEADER(X11/Xlib-xcb.h,
AC_CHECK_LIB(xcb, xcb_translate_coordinates, HAVE_XCB=yes))
Expand Down Expand Up @@ -3586,7 +3661,7 @@ AC_SUBST(LIBXPM)
### Use -ljpeg if available, unless '--with-jpeg=no'.
HAVE_JPEG=no
LIBJPEG=
if test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes" \
if test "${HAVE_X11}" = "yes" || test "$window_system" = "pgtk" || test "${HAVE_W32}" = "yes" \
|| test "${HAVE_NS}" = "yes"; then
if test "${with_jpeg}" != "no"; then
AC_CACHE_CHECK([for jpeglib 6b or later],
Expand Down Expand Up @@ -3740,7 +3815,7 @@ if test "${with_png}" != no; then
# mingw32 loads the library dynamically.
if test "$opsys" = mingw32; then
AC_CHECK_HEADER([png.h], [HAVE_PNG=yes])
elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes" \
elif test "${HAVE_X11}" = "yes" || test "$window_system" = "pgtk" || test "${HAVE_W32}" = "yes" \
|| test "${HAVE_NS}" = "yes"; then
EMACS_CHECK_MODULES([PNG], [libpng >= 1.0.0])
if test $HAVE_PNG = yes; then
Expand Down Expand Up @@ -3815,7 +3890,7 @@ if test "${opsys}" = "mingw32"; then
if test "${HAVE_TIFF}" = "yes"; then
AC_DEFINE(HAVE_TIFF, 1, [Define to 1 if you have the tiff library (-ltiff).])
fi
elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes" \
elif test "${HAVE_X11}" = "yes" || test "${window_system}" = "pgtk" || test "${HAVE_W32}" = "yes" \
|| test "${HAVE_NS}" = "yes"; then
if test "${with_tiff}" != "no"; then
AC_CHECK_HEADER(tiffio.h,
Expand Down Expand Up @@ -3844,7 +3919,7 @@ if test "${opsys}" = "mingw32"; then
if test "${HAVE_GIF}" = "yes"; then
AC_DEFINE(HAVE_GIF, 1, [Define to 1 if you have a gif (or ungif) library.])
fi
elif test "${HAVE_X11}" = "yes" && test "${with_gif}" != "no" \
elif test "${HAVE_X11}" = "yes" -o "${window_system}" = "pgtk" && test "${with_gif}" != "no" \
|| test "${HAVE_W32}" = "yes" || test "${HAVE_NS}" = "yes"; then
AC_CHECK_HEADER(gif_lib.h,
# EGifPutExtensionLast only exists from version libungif-4.1.0b1.
Expand Down Expand Up @@ -5231,6 +5306,7 @@ AC_SUBST(prefix)
AC_SUBST(exec_prefix)
AC_SUBST(bindir)
AC_SUBST(datadir)
AC_SUBST(gsettingsschemadir)
AC_SUBST(sharedstatedir)
AC_SUBST(libexecdir)
AC_SUBST(mandir)
Expand Down Expand Up @@ -5290,6 +5366,9 @@ if test "${HAVE_X_WINDOWS}" = "yes" ; then
FONT_OBJ="$FONT_OBJ ftfont.o"
fi
fi
if test "${window_system}" = "pgtk"; then
FONT_OBJ="ftfont.o ftcrfont.o"
fi
if test "${HAVE_HARFBUZZ}" = "yes" ; then
FONT_OBJ="$FONT_OBJ hbfont.o"
fi
Expand Down Expand Up @@ -5658,7 +5737,7 @@ optsep=
emacs_config_features=
for opt in XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS \
GCONF GSETTINGS GLIB NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT \
LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS X_TOOLKIT OLDXMENU X11 XDBE XIM \
LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS X_TOOLKIT OLDXMENU PGTK X11 XDBE XIM \
NS MODULES THREADS XWIDGETS LIBSYSTEMD JSON PDUMPER UNEXEC LCMS2 GMP; do

case $opt in
Expand Down
51 changes: 51 additions & 0 deletions etc/org.gnu.emacs.defaults.gschema.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2019-2020 Free Software Foundation, Inc. -->
<schemalist>

<schema id="org.gnu.emacs.defaults">

<key name='alpha' type='s'><default>''</default></key>
<key name='auto-raise-lower' type='s'><default>''</default></key>
<key name='auto-lower' type='s'><default>''</default></key>
<key name='auto-raise' type='s'><default>''</default></key>
<key name='background' type='s'><default>''</default></key>
<key name='background-mode' type='s'><default>''</default></key>
<key name='bitmap-icon' type='s'><default>''</default></key>
<key name='border-color' type='s'><default>''</default></key>
<key name='border-width' type='s'><default>''</default></key>
<key name='buffer-predicate' type='s'><default>''</default></key>
<key name='cursor-blink' type='s'><default>''</default></key>
<key name='cursor-type' type='s'><default>''</default></key>
<key name='cursor-color' type='s'><default>''</default></key>
<key name='font' type='s'><default>''</default></key>
<key name='font-backend' type='s'><default>''</default></key>
<key name='foreground' type='s'><default>''</default></key>
<key name='fullscreen' type='s'><default>''</default></key>
<key name='horizontal-scroll-bars' type='s'><default>''</default></key>
<key name='icon-name' type='s'><default>''</default></key>
<key name='inhibit-double-buffering' type='s'><default>''</default></key>
<key name='internal-border' type='s'><default>''</default></key>
<key name='internal-border-width' type='s'><default>''</default></key>
<key name='left-fringe' type='s'><default>''</default></key>
<key name='line-spacing' type='s'><default>''</default></key>
<key name='menu-bar' type='s'><default>''</default></key>
<key name='minibuffer' type='s'><default>''</default></key>
<key name='name' type='s'><default>''</default></key>
<key name='pointer-color' type='s'><default>''</default></key>
<key name='reverse-video' type='s'><default>''</default></key>
<key name='right-fringe' type='s'><default>''</default></key>
<key name='screen-gamma' type='s'><default>''</default></key>
<key name='scroll-bar' type='s'><default>''</default></key>
<key name='scroll-bar-background' type='s'><default>''</default></key>
<key name='scroll-bar-foreground' type='s'><default>''</default></key>
<key name='scroll-bar-height' type='s'><default>''</default></key>
<key name='scroll-bar-width' type='s'><default>''</default></key>
<key name='scroll-bars' type='s'><default>''</default></key>
<key name='title' type='s'><default>''</default></key>
<key name='tool-bar' type='s'><default>''</default></key>
<key name='vertical-scroll-bars' type='s'><default>''</default></key>
<key name='wait-for-w-m' type='s'><default>''</default></key>

</schema>

</schemalist>
5 changes: 5 additions & 0 deletions lib-src/emacsclient.c
Original file line number Diff line number Diff line change
Expand Up @@ -611,7 +611,12 @@ decode_options (int argc, char **argv)
alt_display = "w32";
#endif

#ifdef HAVE_PGTK
display = egetenv ("WAYLAND_DISPLAY");
alt_display = egetenv ("DISPLAY");
#else
display = egetenv ("DISPLAY");
#endif
}

if (!display)
Expand Down
Loading