From unknown Wed Jun 18 23:03:25 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#15837 <15837@debbugs.gnu.org> To: bug#15837 <15837@debbugs.gnu.org> Subject: Status: 24.3; invalid colour conversion from Gtk+3 to X11 Reply-To: bug#15837 <15837@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:03:25 +0000 retitle 15837 24.3; invalid colour conversion from Gtk+3 to X11 reassign 15837 emacs submitter 15837 =C5=81ukasz Stelmach severity 15837 normal tag 15837 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 08 13:28:02 2013 Received: (at submit) by debbugs.gnu.org; 8 Nov 2013 18:28:02 +0000 Received: from localhost ([127.0.0.1]:41933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Veqmn-0000tS-Gg for submit@debbugs.gnu.org; Fri, 08 Nov 2013 13:28:02 -0500 Received: from eggs.gnu.org ([208.118.235.92]:50409) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Veqmj-0000t7-Qi for submit@debbugs.gnu.org; Fri, 08 Nov 2013 13:27:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Veqip-00038U-Kz for submit@debbugs.gnu.org; Fri, 08 Nov 2013 13:27:52 -0500 Received: from lists.gnu.org ([2001:4830:134:3::11]:50408) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Veqip-00038N-HT for submit@debbugs.gnu.org; Fri, 08 Nov 2013 13:23:55 -0500 Received: from eggs.gnu.org ([208.118.235.92]:60390) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VeqfC-0008CQ-DR for bug-gnu-emacs@gnu.org; Fri, 08 Nov 2013 13:23:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VeqbW-0001M5-C4 for bug-gnu-emacs@gnu.org; Fri, 08 Nov 2013 13:20:06 -0500 Received: from smtpo.poczta.interia.pl ([217.74.65.153]:48214) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VeqbW-0001Lq-0o for bug-gnu-emacs@gnu.org; Fri, 08 Nov 2013 13:16:22 -0500 Received: from localhost (89-77-18-4.dynamic.chello.pl [89.77.18.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by www.poczta.fm (INTERIA.PL) with ESMTPSA for ; Fri, 8 Nov 2013 19:16:19 +0100 (CET) From: =?utf-8?Q?=C5=81ukasz?= Stelmach To: bug-gnu-emacs@gnu.org Subject: 24.3; invalid colour conversion from Gtk+3 to X11 X-Hashcash: 1:24:131108:bug-gnu-emacs@gnu.org::qs4Dxu97Dy3o62O7:007en Date: Fri, 08 Nov 2013 19:16:18 +0100 Message-ID: <87mwle21zh.fsf%stlman@poczta.fm> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Interia-Antivirus: OK DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=interia.pl; s=biztos; t=1383934579; bh=b/j2BYtT+JemngY5Y8mLlT7Ldm/HravBv5CR/0DA+TM=; h=Received:Received:From:To:Subject:X-Hashcash:Date:Message-ID: MIME-Version:Content-Type:Content-Transfer-Encoding: X-Interia-Antivirus; b=XIlJrnFhHHJQxwlDAUvd+Mz2y0OY53tYUlut3FfnrL/G5FBX8WnOXzpjT5Jjt4JzA jhw7ejTGkDGoJVTeu38gaUyO4aebSzg/LCTf3J4WkIke3+pmoJMnb4VCcuM5ibrWa4 c0pgjZXkkeX343OdoD9OA/yY5YyUZwf9XMPbjT4Q= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Hello, The function[1] that reads foreground and background colours from Gtk+3 (GdkRGBA) and converts them to X11 ones (XColor) uses improper intermediate representation. The Gtk coulour is formated as rgbi://. Although values prefixed with rgbi: are meant to be floating point values like the ones returned by gtk_style_context_get_*() functions but unlike Gtk colours they are meant to be linear intensity values and will be gamma corrected[2] using the tables[3] in Xlib. You can check the effect for yourself by running: xterm -bg '#777' xterm -bg 'rgb:7777/7777/7777' xterm -bg 'rgb:0.46667/0.46667/0.46667' The last one will be significantly lighter. 0.46667/0.46667/0.46667 is the value returned by Gtk when a colour is set to #777. A patch will follow this report. References: [1] http://git.savannah.gnu.org/cgit/emacs.git/tree/src/gtkutil.c?id=3Dc09a= 36ec78af479cb2ea39bf4bca8743cecd08df#n601 [2] http://cgit.freedesktop.org/xorg/doc/xorg-docs/tree/man/X.man?id=3D66e8= 00c69fa5348b01e4b9670d6274ba392db7e5#n562 [3] http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/xcms/LRGB.c?id=3D6= cb02b166361200da35ba14f52cd9aaa493eb0ea#n224 --=20 By=C5=82o mi bardzo mi=C5=82o. --- Rurku. = --- ... >=C5=81ukasz< --- To dobrze, =C5=BCe mnie s= =C5=82uchasz. ... Droga w=C5=9Br=C3=B3d jab=C5=82oni prowadzi w nieznane... From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 08 13:41:36 2013 Received: (at 15837) by debbugs.gnu.org; 8 Nov 2013 18:41:37 +0000 Received: from localhost ([127.0.0.1]:41961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Veqzw-0001H2-J6 for submit@debbugs.gnu.org; Fri, 08 Nov 2013 13:41:36 -0500 Received: from smtpo.poczta.interia.pl ([217.74.65.153]:35158) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Veqzt-0001Gf-Cw for 15837@debbugs.gnu.org; Fri, 08 Nov 2013 13:41:34 -0500 Received: from localhost (89-77-18-4.dynamic.chello.pl [89.77.18.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by www.poczta.fm (INTERIA.PL) with ESMTPSA; Fri, 8 Nov 2013 19:41:25 +0100 (CET) From: =?UTF-8?q?=C5=81ukasz=20Stelmach?= To: 15837@debbugs.gnu.org Subject: [PATCH] Pass colours using rgb: instead of rgbi: Date: Fri, 8 Nov 2013 19:41:05 +0100 Message-Id: <1383936065-16824-1-git-send-email-stlman@poczta.fm> X-Mailer: git-send-email 1.8.1.5 In-Reply-To: <87mwle21zh.fsf%stlman@poczta.fm> References: <87mwle21zh.fsf%stlman@poczta.fm> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Interia-Antivirus: OK X-IPL-SAS-SPAS: -0.5999999046 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=interia.pl; s=biztos; t=1383936087; bh=Jpr3ad38mkWg/wog3Z/fbLZSucDhHOo4LJ6KldCijz4=; h=Received:Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer: In-Reply-To:References:MIME-Version:Content-Type: Content-Transfer-Encoding:X-Interia-Antivirus:X-IPL-SAS-SPAS; b=O+yBrmnN43lbOGmhCiQZdxCDUGsp1W8CZoT0nOfe3XhtXBnpyO2bao2PYXbju3inF m+6rJGv5EsH7xfR2SPdDZVEYY9QLSqanZevStq+3Ev0N/IJiiHa2kyd98kbeIZjTvs A2XePIK6Tqr8mlEvCxhCZx/uI//k/OvYbVPZrDb0= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15837 Cc: =?UTF-8?q?=C5=81ukasz=20Stelmach?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) X procedures apply gamma correction to RGBi values which makes colours obtained from Gtk+ 3.0 and displayed by Emacs look different than in other Gtk applications. Signed-off-by: Łukasz Stelmach --- src/gtkutil.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gtkutil.c b/src/gtkutil.c index 7e304d4..b8d8610 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -596,14 +596,17 @@ xg_check_special_colors (struct frame *f, GtkStyleContext *gsty = gtk_widget_get_style_context (FRAME_GTK_OUTER_WIDGET (f)); GdkRGBA col; - char buf[sizeof "rgbi://" + 3 * (DBL_MAX_10_EXP + sizeof "-1.000000" - 1)]; + char buf[sizeof "rgb:rrrr/gggg/bbbb" ]; int state = GTK_STATE_FLAG_SELECTED|GTK_STATE_FLAG_FOCUSED; if (get_fg) gtk_style_context_get_color (gsty, state, &col); else gtk_style_context_get_background_color (gsty, state, &col); - sprintf (buf, "rgbi:%lf/%lf/%lf", col.red, col.green, col.blue); + sprintf (buf, "rgb:%04x/%04x/%04x", + (int)(col.red * 65535), + (int)(col.green * 65535), + (int)(col.blue * 65535)); success_p = (XParseColor (FRAME_X_DISPLAY (f), FRAME_X_COLORMAP (f), buf, color) != 0); -- 1.8.1.5 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 08 13:52:57 2013 Received: (at control) by debbugs.gnu.org; 8 Nov 2013 18:52:57 +0000 Received: from localhost ([127.0.0.1]:42001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VerAv-0001bc-7I for submit@debbugs.gnu.org; Fri, 08 Nov 2013 13:52:57 -0500 Received: from smtpo.poczta.interia.pl ([217.74.65.153]:40618) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VerAt-0001bP-ER for control@debbugs.gnu.org; Fri, 08 Nov 2013 13:52:55 -0500 Received: from [192.168.0.13] (89-77-18-4.dynamic.chello.pl [89.77.18.4]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by www.poczta.fm (INTERIA.PL) with ESMTPSA for ; Fri, 8 Nov 2013 19:52:49 +0100 (CET) Message-ID: <527D3300.7050200@poczta.fm> Date: Fri, 08 Nov 2013 19:52:48 +0100 From: Lukasz Stelmach User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131012 Thunderbird/17.0.9 MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: Re: bug#15837: Acknowledgement (24.3; invalid colour conversion from Gtk+3 to X11) References: <87mwle21zh.fsf%stlman@poczta.fm> In-Reply-To: X-Enigmail-Version: 1.5.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Interia-Antivirus: OK DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=interia.pl; s=biztos; t=1383936769; bh=mne8Ta5d9bJJJboYJ60Kwvm2SM/pKo6DkAF7pp8B2Q0=; h=Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To: Subject:References:In-Reply-To:X-Enigmail-Version:Content-Type: Content-Transfer-Encoding:X-Interia-Antivirus; b=mw2EEAvsA2WSi/P9bsRoyQfaaC2PVkHK0d5FUQWWfRikNeE8nphCMEZY6I6aTyF8d kXNj89bB3JCsycKwKKEh36og3+RzZ93mSp2j2HScNTaPtKEhqTF32+L1MlcPD44tdG ExdGw9C6ZkGCjJkYbGdk/eGkxlUJhRJ8Lic4kqDo= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) tags 15837 patch From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 09 06:21:03 2013 Received: (at 15837-done) by debbugs.gnu.org; 9 Nov 2013 11:21:03 +0000 Received: from localhost ([127.0.0.1]:43709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vf6b9-00040a-5L for submit@debbugs.gnu.org; Sat, 09 Nov 2013 06:21:03 -0500 Received: from mail01.bdtv.se ([176.10.222.34]:35883) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1Vf6b6-0003zy-CA for 15837-done@debbugs.gnu.org; Sat, 09 Nov 2013 06:21:01 -0500 Received: (qmail 16265 invoked by uid 89); 9 Nov 2013 11:20:58 -0000 Received: from h-46-59-42-57.na.cust.bahnhof.se (HELO coolsville.localdomain) (boel.djarv@bdtv.se@46.59.42.57) by mail01.bdtv.se with ESMTPA; 9 Nov 2013 11:20:58 -0000 Received: from [172.20.199.13] (unknown [172.20.199.13]) by coolsville.localdomain (Postfix) with ESMTPSA id E3E0D1A0135; Sat, 9 Nov 2013 11:20:57 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\)) Subject: Re: bug#15837: [PATCH] Pass colours using rgb: instead of rgbi: From: =?utf-8?Q?Jan_Dj=C3=A4rv?= In-Reply-To: <1383936065-16824-1-git-send-email-stlman@poczta.fm> Date: Sat, 9 Nov 2013 12:20:57 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <71BA90C3-DC75-47A7-8F70-2E37EC0072D9@swipnet.se> References: <87mwle21zh.fsf%stlman@poczta.fm> <1383936065-16824-1-git-send-email-stlman@poczta.fm> To: =?utf-8?Q?=C5=81ukasz_Stelmach?= X-Mailer: Apple Mail (2.1822) X-Spam-Score: 3.7 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Applied, thanks. Jan D. 8 nov 2013 kl. 19:41 skrev Łukasz Stelmach : [...] Content analysis details: (3.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [176.10.222.34 listed in psbl.surriel.com] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) X-Debbugs-Envelope-To: 15837-done Cc: 15837-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 3.7 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Applied, thanks. Jan D. 8 nov 2013 kl. 19:41 skrev Łukasz Stelmach : [...] Content analysis details: (3.7 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.7 RCVD_IN_PSBL RBL: Received via a relay in PSBL [176.10.222.34 listed in psbl.surriel.com] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) Applied, thanks. Jan D. 8 nov 2013 kl. 19:41 skrev =C5=81ukasz Stelmach : > X procedures apply gamma correction to RGBi values which makes colours > obtained from Gtk+ 3.0 and displayed by Emacs look different than in > other Gtk applications. >=20 > Signed-off-by: =C5=81ukasz Stelmach > --- > src/gtkutil.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) >=20 > diff --git a/src/gtkutil.c b/src/gtkutil.c > index 7e304d4..b8d8610 100644 > --- a/src/gtkutil.c > +++ b/src/gtkutil.c > @@ -596,14 +596,17 @@ xg_check_special_colors (struct frame *f, > GtkStyleContext *gsty > =3D gtk_widget_get_style_context (FRAME_GTK_OUTER_WIDGET (f)); > GdkRGBA col; > - char buf[sizeof "rgbi://" + 3 * (DBL_MAX_10_EXP + sizeof = "-1.000000" - 1)]; > + char buf[sizeof "rgb:rrrr/gggg/bbbb" ]; > int state =3D GTK_STATE_FLAG_SELECTED|GTK_STATE_FLAG_FOCUSED; > if (get_fg) > gtk_style_context_get_color (gsty, state, &col); > else > gtk_style_context_get_background_color (gsty, state, &col); >=20 > - sprintf (buf, "rgbi:%lf/%lf/%lf", col.red, col.green, col.blue); > + sprintf (buf, "rgb:%04x/%04x/%04x", > + (int)(col.red * 65535), > + (int)(col.green * 65535), > + (int)(col.blue * 65535)); > success_p =3D (XParseColor (FRAME_X_DISPLAY (f), FRAME_X_COLORMAP = (f), > buf, color) > !=3D 0); > --=20 > 1.8.1.5 >=20 >=20 >=20 From unknown Wed Jun 18 23:03:25 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 07 Dec 2013 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator