From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#70697: 30.0.50; Frame parameter alpha-background is ignored for fringe bitmaps & internal borders Date: Sat, 15 Jun 2024 19:20:21 +0800 Message-ID: <87tthu5u6i.fsf@yahoo.com> References: <86eda1kf2w.fsf@NOAH310-L.mail-host-address-is-not-set> <86y17ooj45.fsf@gnu.org> <87a5k4kb8o.fsf@yahoo.com> <87bk4hai6c.fsf@aleks.bg> <86v82avd5j.fsf@gnu.org> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28521"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Aleksandar Dimitrov , 70697@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jun 15 13:41:37 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sIRmr-0007Dr-8d for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 15 Jun 2024 13:41:37 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sIRmW-0005ue-UA; Sat, 15 Jun 2024 07:41:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sIRmQ-0005uF-Sr for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2024 07:41:11 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sIRmI-00009z-9d for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2024 07:41:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sIRmI-0001gg-Mn for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2024 07:41:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Jun 2024 11:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70697 X-GNU-PR-Package: emacs Original-Received: via spool by 70697-submit@debbugs.gnu.org id=B70697.17184516236373 (code B ref 70697); Sat, 15 Jun 2024 11:41:02 +0000 Original-Received: (at 70697) by debbugs.gnu.org; 15 Jun 2024 11:40:23 +0000 Original-Received: from localhost ([127.0.0.1]:37449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sIRle-0001eh-8k for submit@debbugs.gnu.org; Sat, 15 Jun 2024 07:40:23 -0400 Original-Received: from sonic309-20.consmr.mail.ne1.yahoo.com ([66.163.184.146]:33013) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sIRcJ-00005P-F2 for 70697@debbugs.gnu.org; Sat, 15 Jun 2024 07:30:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1718451035; bh=oUvto6+tSzwuMcO5J4K8Sizth7jJk5WnDyz3KA5I02c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=TLrmWU2Cuk5mJCfv6GFvR0CkKaaAVOGz7r3mhjx0nQmf2I4RUrmHbJi+LSmQ9R1x9P8e5veDXUWLZ0hpojq8IE8k9mL0VsASKCC5xbnxkDHHD8TGYvx37TTL034+o9aGUGoFTSaCZKrE4ZP9/j5C0A6sfSNEAdQyk8E96c3xQdtBlT1BH0j6Ggpoq1xpiOfaEoTx+mc7m/Ja77ebRkIIMyHI6uOta4keZ/YY1bZGHZZZKE+qevlHVrNKuyMNNbeV0nm5gQE0ABx33xxLHcseicoVDnS3XMWc2fksfqsqFDUOoxwKtrPJ7kqx01qionseWoO6dC71UOQRSqMIkHmGug== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1718451035; bh=Z4kOnovDnqLVaz8wxMbx90ru7VRgDeENEdWgUUBpTZb=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=FhAOlRU97XDDMVx+3VEGjj4Eo+JGtL52NDtJsvoNd1NbK69BeJrE8PeNBBnBg7nSX64LEmKPSFwWukwa2Dix6tBfrPJBuIBGfRlrCmip18l1HpI1HFVSYqtx6Qd+P0qW56xnVO7OCn6QnfXWctMfzvCyK2MYEiEpHHwf/yPL5noRHuF+llD1WJLd5fX9AmcjE/r8rR2JD3en/62U239yHG/+8BH/x/I+AMsI/E5URLTOr+/wBx3gvizI6KNnzIyHmxPArCy+E0W8Io1tOW17Cw1F+HxVDE0ftMuHJWq+sDnDGuM+DUli36KrISwMH2zPwwDbhp1zw8nLmiy0J9l5qA== X-YMail-OSG: .QLFl4kVM1lHX2BO8UWyXqXyGo6TfZvT2EUQa.sAQy21GI.O.msZdIxwTtogsdp WmN89dPnjO4M7ic.h4Y3OZYNN5oRdtTAlM2oYpWCf8VT7g1G08ZPlA4BF89lcmAUgktS9RgDgbzX oKyibsaajQ.fWVLzuW6wNKoQsTeCdf7zf1mKS5khXxuKc9XgxKzgkmY6yC8pdPZ.pO4xX7Ug6fou DIaopFsfeoLbJU7uHtrh4yts6tfAJuHr1GwitPnEJapr.Hbq2QfjFC0eGELRASiMqBJKPgmKz_nu khLFv1RlvBYRd4VqvcEa.ubder2uZhDG1_a3UKSZvoHjjqCMLjSdI9XvxJ_ayJSX2mSvIG6LoZ7f PSBvvzN76HoiJvIxYYPvfjf2UUAgvAneHAec4NJpCyTzRvCH0a9Gf2myx_Gu0CGgHL7lGfvBZKVT 194pc1gQa1qVcDrzB96FvliupDOP0Do4.bN.UXQXTJG5QXEGap2RHzjhs2qnL2yu5InXQMbVvnel o99JeTfMZyyl4WA0pgzVhyJRLVZrjTRFHfIA9QtrimxPt3mAiR1czPU2Nld9sBcYVyX1EGw_qY3_ FJxnXKBFWVAupR9i421QcCIpe522q3UxGkCQNVgQBf2xZEaNlo3gi71BIOgPTW3KsIXyNDg2BD4H _e5DpenZ5p.AkWyLrmGH9YDYoBo71DCprbH9J47khPUftVqjijh1lG4pWVAKYiz97VYIN1aG1w5U KxXFOkQ9MvycR45PU9mMRmw7j6R_dpiQTFjpuZ_lZXD.n2inWENHf6t.0_tLR6W4LzDUzDDjW4iR 0f2aMjqFVM5rYchXji3syCn_PkPLiIwNaeMP2mLvIU X-Sonic-MF: X-Sonic-ID: e61a83d5-418b-4a09-bab2-11797e0c71a9 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ne1.yahoo.com with HTTP; Sat, 15 Jun 2024 11:30:35 +0000 Original-Received: by hermes--production-sg3-7b469d9f6-2w46x (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 6fce5f797950e485b646a9a496e23717; Sat, 15 Jun 2024 11:20:28 +0000 (UTC) In-Reply-To: <86v82avd5j.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 15 Jun 2024 11:11:20 +0300") X-Mailer: WebService/1.1.22407 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:287282 Archived-At: Eli Zaretskii writes: > Ping! How should we proceed with this issue? > >> From: Aleksandar Dimitrov Alexander, is there something suspicious as to your mail host that is prompting mine to discard your responses? They aren't even classified Bulk Mail, just quietly disposed of. >> Welp, I never said I'm good at this :D >> I didn't know there was a difference between the --with-toolkit and >> --with-x-toolkit options. The former isn't documented in ./configure >> --help, it seems. I've opted to only use --with-x-toolkit from now on. >> >> I have conducted some experiments now: >> --with-x-toolkit=lucid & your patch: >> No transparency support. >> >> --with-x-toolkit=gtk3 & your patch: >> Transparency in fringes works. >> Internal borders are NOT transparent. >> This is identical to my previous test with --with-toolkit=lucid, which >> wasn't doing what I expected it to. >> >> --with-pgtk & your patch: >> Transparency in fringes DOES NOT work >> Internal borders ARE transparent >> (also, Emacs is very slow, e.g. when rendering company popups, but >> that's unrelated) >> >> All of these tests are conducted with the above Emacs version and on >> Wayland. Yes, thanks. Please try the patch attached: its effect should be to homogenize PGTK's display with the X port's. diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 49b7ea406f8..e379ed33c01 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -3594,20 +3594,7 @@ pgtk_draw_fringe_bitmap (struct window *w, struct glyph_row *row, pgtk_clip_to_row (w, row, ANY_AREA, cr); if (p->bx >= 0 && !p->overlay_p) - { - /* In case the same realized face is used for fringes and for - something displayed in the text (e.g. face `region' on - mono-displays, the fill style may have been changed to - FillSolid in pgtk_draw_glyph_string_background. */ - if (face->stipple) - fill_background_by_face (f, face, p->bx, p->by, p->nx, p->ny); - else - { - pgtk_set_cr_source_with_color (f, face->background, true); - cairo_rectangle (cr, p->bx, p->by, p->nx, p->ny); - cairo_fill (cr); - } - } + fill_background_by_face (f, face, p->bx, p->by, p->nx, p->ny); if (p->which && p->which < max_fringe_bmp @@ -5014,14 +5001,16 @@ pgtk_clear_under_internal_border (struct frame *f) if (face) { - fill_background_by_face (f, face, 0, margin, width, border); - fill_background_by_face (f, face, 0, 0, border, height); - fill_background_by_face (f, face, width - border, 0, border, - height); - fill_background_by_face (f, face, 0, (height - - bottom_margin - - border), - width, border); + pgtk_fill_rectangle (f, face->foreground, 0, margin, width, + border, false); + pgtk_fill_rectangle (f, face->foreground, 0, 0, border, height, + false); + pgtk_fill_rectangle (f, face->foreground, width - border, 0, + border, height, false); + pgtk_fill_rectangle (f, face->foreground, 0, (height + - bottom_margin + - border), + width, border, false); } else {