From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.bugs Subject: bug#28901: 25.3; Font selector fails to remember current font and size Date: Mon, 18 Nov 2019 10:34:54 +0100 Message-ID: References: <87lfsfaq5t.fsf@gnus.org> <87blt9sg07.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="141805"; mail-complaints-to="usenet@blaine.gmane.org" Cc: =?UTF-8?Q?Far=C3=A9?= , 28901@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Nov 18 10:36:12 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iWdS6-000ak6-Tc for geb-bug-gnu-emacs@m.gmane.org; Mon, 18 Nov 2019 10:36:11 +0100 Original-Received: from localhost ([::1]:59848 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWdS5-0002Qo-Jd for geb-bug-gnu-emacs@m.gmane.org; Mon, 18 Nov 2019 04:36:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59098) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWdRz-0002Qg-7v for bug-gnu-emacs@gnu.org; Mon, 18 Nov 2019 04:36:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWdRy-0004Zv-1y for bug-gnu-emacs@gnu.org; Mon, 18 Nov 2019 04:36:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34347) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iWdRx-0004Zp-Ou for bug-gnu-emacs@gnu.org; Mon, 18 Nov 2019 04:36:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iWdRx-0004fB-Ld for bug-gnu-emacs@gnu.org; Mon, 18 Nov 2019 04:36:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Nov 2019 09:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28901 X-GNU-PR-Package: emacs Original-Received: via spool by 28901-submit@debbugs.gnu.org id=B28901.157406970317853 (code B ref 28901); Mon, 18 Nov 2019 09:36:01 +0000 Original-Received: (at 28901) by debbugs.gnu.org; 18 Nov 2019 09:35:03 +0000 Original-Received: from localhost ([127.0.0.1]:43168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWdR1-0004ds-7t for submit@debbugs.gnu.org; Mon, 18 Nov 2019 04:35:03 -0500 Original-Received: from mail-wr1-f54.google.com ([209.85.221.54]:45243) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWdQz-0004dM-NP for 28901@debbugs.gnu.org; Mon, 18 Nov 2019 04:35:02 -0500 Original-Received: by mail-wr1-f54.google.com with SMTP id z10so18518214wrs.12 for <28901@debbugs.gnu.org>; Mon, 18 Nov 2019 01:35:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=cDSQYEsQ9vZSgWqjMylBF9G1zu9zMUDjI1nmR2/xXUg=; b=vhSBQxtDrC3IKdvr3gU76WIxcuOoiUmuBee4u2hUP2GPvsewZOM5fCdctF4ZZYX9zc vsgCHvZqWaM51A385oYsp1Nd+VUpBmJnpsxjJhE7sFn4e+kEzhF2de6zQX08zM3uFa0i E98t75AafYUbjW85v2QQpI18kVy4rybS2x1jMC8Jx4J3JcGWOr9U8RvpfUIOf1aj2Ie5 75yPb5dIGXxan74yXt4D5QtKCKEd2drjx92q9/Js4Lwf97CYrgNJ97IRWHr/C2MUHeOU TkX6UJjOv43D4VErAyNDoQHs/W+bSiyQ71f4i7lkn2BFClQTz6/vhbHKoKIICUd9KKLY lELw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=cDSQYEsQ9vZSgWqjMylBF9G1zu9zMUDjI1nmR2/xXUg=; b=a3NJoD6gtc8PTaZrPzGqIdwVJqU7tGpIs4e2I2Q3i/ASq6ziJxxLr4yQ03z3DWPV0F sijDHbKDOmJzb+XtXbMRbxyIpFH+AwCGqK5D6OrQmZmG2bz6rr7ZVCRUmqvo2xQCKxcV fh01szDDkPaojo/bm7A7x84Us+cnZ2kN5z/7HQE6aQvyJRklw/d3Rk85AH5UftzIemN9 N50gkQP0f1Y/ODi35fossvuFl5sT8X526koqzfgoIKfn+RqCWwE0QdxLhuSz0ShnP1H4 tdxCULTZ1P/wcpckRKDp9Lj6WpxHZPw4TuwX/GBfr9a1ATGUOBURFjBlYVFNUmC9Xv9K EilQ== X-Gm-Message-State: APjAAAU5f8SJniIoeLMTuRrmZjm2En2dx6m/qjjFI+V+wZywFGqS6Tmz ngcaWpAAYkeX6KTrooAdnlPORW7ze8o= X-Google-Smtp-Source: APXvYqwAgs+NdWGQxKPUEZLGlKuvkCQbeU1xvcabBD0js5DttW9X2rdev+xA6gvkx+kjApktee+tog== X-Received: by 2002:adf:f282:: with SMTP id k2mr15335439wro.387.1574069695332; Mon, 18 Nov 2019 01:34:55 -0800 (PST) Original-Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id x205sm21915597wmb.5.2019.11.18.01.34.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Nov 2019 01:34:54 -0800 (PST) In-Reply-To: <87blt9sg07.fsf@gnus.org> (Lars Ingebrigtsen's message of "Mon, 18 Nov 2019 10:14:32 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:171894 Archived-At: >>>>> On Mon, 18 Nov 2019 10:14:32 +0100, Lars Ingebrigtsen said: Lars> Robert Pluim writes: >> gtk_font_chooser_set_font? We already use that to set the default >> family, but we don=CA=BCt remember the size or the style. Lars> Yes, the problem is that apparently gtk_font_chooser_set_font doe= sn't Lars> allow you to specify those either. Or much of anything else, for= that Lars> matter. At least that seemed to be the case when I looked at thi= s some Lars> time back. You can=CA=BCt directly specify them, but you can at least remember the previous settings: commit ccb763dc743167445c898ba56abeb2fafe1504c3 Author: Robert Pluim AuthorDate: Mon Nov 18 10:18:25 2019 +0100 Commit: Robert Pluim CommitDate: Mon Nov 18 10:18:25 2019 +0100 Remember the full GTK font description =20=20=20=20 Remember the full font description instead of just the family so that size/style/weight settings are preserved. =20=20=20=20 * gtkutil.c (xg_get_font) [HAVE_GTK3]: Use the pango font description to set/get the current font (Bug#28901). diff --git a/src/gtkutil.c b/src/gtkutil.c index c4d2ef9d80..3447e86ccd 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -2282,7 +2282,16 @@ xg_get_font (struct frame *f, const char *default_na= me) default_name =3D x_last_font_name; =20 if (default_name) - gtk_font_chooser_set_font (GTK_FONT_CHOOSER (w), default_name); + { +#ifdef HAVE_GTK3 + PangoFontDescription *desc + =3D pango_font_description_from_string (default_name); + gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (w), desc); + pango_font_description_free (desc); +#else + gtk_font_chooser_set_font (GTK_FONT_CHOOSER (w), default_name); +#endif + } =20 gtk_widget_set_name (w, "emacs-fontdialog"); done =3D xg_dialog_run (f, w); @@ -2306,8 +2315,10 @@ xg_get_font (struct frame *f, const char *default_na= me) QCweight, XG_WEIGHT_TO_SYMBOL (weight), QCslant, XG_STYLE_TO_SYMBOL (style)); =20 + char *font_desc_str =3D pango_font_description_to_string (desc); + dupstring (&x_last_font_name, font_desc_str); + g_free (font_desc_str); pango_font_description_free (desc); - dupstring (&x_last_font_name, family); } =20 #else /* Use old font selector, which just returns the font name. */