From: Yuuki Harano Date: Tue, 25 Jun 2019 15:30:33 +0000 (+0900) Subject: Add Preferred geometry settings X-Git-Tag: emacs-29.0.90~3847 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=164800da6f673afeba729befbfbfd0e6131eadb8;p=emacs.git Add Preferred geometry settings * ../src/pgtkterm.h (struct pgtk_output): * ../src/pgtkterm.c (pgtk_set_window_size): * ../src/gtkutil.c (x_wm_set_size_hint): * ../src/emacsgtkfixed.c (emacs_fixed_get_preferred_width) (emacs_fixed_get_preferred_height): Fixup toolbar handling toolbar, menubar の ON/OFF でサイズが変化していっていたのを修正。 --- diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c index aeca3d4f7cc..4128f81cce9 100644 --- a/src/emacsgtkfixed.c +++ b/src/emacsgtkfixed.c @@ -188,11 +188,13 @@ emacs_fixed_get_preferred_width (GtkWidget *widget, EmacsFixedPrivate *priv = fixed->priv; #ifdef HAVE_PGTK int w = priv->f->output_data.pgtk->size_hints.min_width; + if (minimum) *minimum = w; + if (natural) *natural = priv->f->output_data.pgtk->preferred_width; #else int w = priv->f->output_data.x->size_hints.min_width; -#endif if (minimum) *minimum = w; if (natural) *natural = w; +#endif } static void @@ -204,11 +206,13 @@ emacs_fixed_get_preferred_height (GtkWidget *widget, EmacsFixedPrivate *priv = fixed->priv; #ifdef HAVE_PGTK int h = priv->f->output_data.pgtk->size_hints.min_height; + if (minimum) *minimum = h; + if (natural) *natural = priv->f->output_data.pgtk->preferred_height; #else int h = priv->f->output_data.x->size_hints.min_height; -#endif if (minimum) *minimum = h; if (natural) *natural = h; +#endif } diff --git a/src/gtkutil.c b/src/gtkutil.c index 6c0d42103b1..10120422ae3 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -1696,8 +1696,10 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position) sizeof (size_hints)) != 0) { block_input (); +#ifndef HAVE_PGTK gtk_window_set_geometry_hints (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), NULL, &size_hints, hint_flags); +#endif f->output_data.xp->size_hints = size_hints; f->output_data.xp->hint_flags = hint_flags; unblock_input (); diff --git a/src/pgtkterm.h b/src/pgtkterm.h index 622b5ef76fe..6bb03697a50 100644 --- a/src/pgtkterm.h +++ b/src/pgtkterm.h @@ -297,6 +297,7 @@ struct pgtk_output /* The last size hints set. */ GdkGeometry size_hints; long hint_flags; + int preferred_width, preferred_height; /* The widget of this screen. This is the window of a top widget. */ GtkWidget *widget;