From unknown Sun Aug 17 02:00:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56708: 29.0.50; [PATCH] Limit extreme shadow thickness on Lucid Resent-From: Manuel Giraud Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 22 Jul 2022 17:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56708 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 56708@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.165851102725562 (code B ref -1); Fri, 22 Jul 2022 17:31:01 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jul 2022 17:30:27 +0000 Received: from localhost ([127.0.0.1]:42423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEwTp-0006eB-UT for submit@debbugs.gnu.org; Fri, 22 Jul 2022 13:30:26 -0400 Received: from lists.gnu.org ([209.51.188.17]:46690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEwTm-0006dy-I1 for submit@debbugs.gnu.org; Fri, 22 Jul 2022 13:30:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEwTm-0001Dl-Cl for bug-gnu-emacs@gnu.org; Fri, 22 Jul 2022 13:30:22 -0400 Received: from ledu-giraud.fr ([51.159.28.247]:4567) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEwTj-0006pj-IQ for bug-gnu-emacs@gnu.org; Fri, 22 Jul 2022 13:30:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=dG9uBQnZAU2Xm8QT 8bhjyafhBppXaKjfXCB+s7Rg60A=; h=date:subject:to:from; d=ledu-giraud.fr; b=hWH7g307aooxDAlny/ycINLuNqftVuCrY/9Het9mWSCCt6aRg6 dGZHUckwOqh9FnJbdbx1gy2tDeoO8R4h9roODK76g0wRMGykLb/Bpy7a7pu3R3Ss7WGfGq fwavtilIVKGXB6vZMWHyqMkIQlCRl9mq6sjNoamKXd9APyKBOoN5El86iFUPmZn9NN9j51 7vjrDuvrJD09Juu8G8uRwLmCuejLD1c3I3Df0CbzWsY8Q++0pHJ2Zrn0YUFMoP3hsBXR96 w2Vmv2A2YcPBVpgBpL10V9tqU4syAR1C7PBvhDAUTbtklIDzZceID2pzJBeElUqOaKkn3F bTfT6HerMPFg== Received: from elite.giraud ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id caf5e29e (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for ; Fri, 22 Jul 2022 19:30:14 +0200 (CEST) From: Manuel Giraud Date: Fri, 22 Jul 2022 19:30:12 +0200 Message-ID: <87pmhxqcm3.fsf@elite.giraud> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=51.159.28.247; envelope-from=manuel@ledu-giraud.fr; helo=ledu-giraud.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -2.4 (--) --=-=-= Content-Type: text/plain Hi, Here is a patch for the Lucid backend. Its goal is to limit the thickness of shadows on arrows, toggle buttons and radio buttons. Otherwise with a rather large value of the shadowThickness resource those three widgets are incorrectly displayed. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Limit-extreme-shadow-thickness-on-Lucid-backend.patch >From 50c6267a3ba3b05b64ac40686723199e679e5ffc Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Fri, 22 Jul 2022 19:23:04 +0200 Subject: [PATCH] Limit extreme shadow thickness on Lucid backend * lwlib/xlwmenu.c (tame_thickness): New function to limit shadow thickness on arrows and buttons in the Lucid backend. (draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus): Use it. --- lwlib/xlwmenu.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c index deea50c810..ce48fea078 100644 --- a/lwlib/xlwmenu.c +++ b/lwlib/xlwmenu.c @@ -561,6 +561,13 @@ size_menu (XlwMenuWidget mw, int level) } } +/* Used to limit shadows thickness on arrows, toggle buttons and radio + buttons. */ +static int +tame_thickness(int width, int thickness) +{ + return ((width < (3 * thickness)) ? (width / 3) : thickness); +} /* Display code */ @@ -575,7 +582,7 @@ draw_arrow (XlwMenuWidget mw, { Display *dpy = XtDisplay (mw); GC top_gc, bottom_gc; - int thickness = mw->menu.shadow_thickness; + int thickness = tame_thickness(width, mw->menu.shadow_thickness); int height = width; XPoint pt[10]; /* alpha = atan (0.5) @@ -655,6 +662,7 @@ draw_shadow_rectangle (XlwMenuWidget mw, Window window, int x, int y, bottom_gc = mw->menu.shadow_bottom_gc; } + /* Toggle button case */ if (!erase_p && width == height && width == toggle_button_width (mw)) { points [0].x = x; @@ -668,6 +676,8 @@ draw_shadow_rectangle (XlwMenuWidget mw, Window window, int x, int y, XFillPolygon (dpy, window, down_p ? mw->menu.button_gc : mw->menu.inactive_button_gc, points, 4, Convex, CoordModeOrigin); + + thickness = tame_thickness(width, mw->menu.shadow_thickness); } if (!erase_p && down_p) @@ -724,7 +734,7 @@ draw_shadow_rhombus (XlwMenuWidget mw, Window window, int x, int y, GC top_gc, GC bottom_gc) { Display *dpy = XtDisplay (mw); - int thickness = mw->menu.shadow_thickness; + int thickness = tame_thickness(width, mw->menu.shadow_thickness); XPoint points [4]; /* Choose correct GC with a standard default if NULL */ -- 2.37.0 --=-=-= Content-Type: text/plain In GNU Emacs 29.0.50 (build 1, x86_64-unknown-openbsd7.1, X toolkit, cairo version 1.17.6, Xaw scroll bars) of 2022-07-22 built on elite.giraud Repository revision: 1767f796b0e0649219e37b6b205f4d414a4364c6 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101003 System Description: OpenBSD elite.giraud 7.1 GENERIC.MP#620 amd64 Configured using: 'configure --prefix=/home/manuel/emacs --bindir=/home/manuel/bin --with-x-toolkit=athena --without-sound --without-compress-install CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBXML2 MODULES NOTIFY KQUEUE PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: C/*lh Minor modes in effect: bug-reference-prog-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t icomplete-mode: t display-time-mode: t display-battery-mode: t shell-dirtrack-mode: t global-so-long-mode: t repeat-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/manuel/.emacs.d/elpa/transient-20220717.1713/transient hides /home/manuel/emacs/share/emacs/29.0.50/lisp/transient Features: (shadow sort mail-extr emacsbug gnus-topic mm-archive url-http url-gw url-cache url-auth qp utf-7 nndoc nndraft nnmh network-stream nsm nnfolder nnml gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache nnrss w3m w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util whitespace gnus-dired magit-patch executable vc-svn bug-reference magit-extras cus-start pulse face-remap magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-base which-func vc-git diff-mode vc-dir ewoc vc vc-dispatcher magit-section benchmark dash compat-27 compat-26 compat compat-macs paredit edmacro icomplete time battery exwm-randr xcb-randr exwm-config exwm exwm-input xcb-keysyms exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xkb xcb-xproto xcb-types xcb-debug kmacro server stimmung-themes modus-operandi-theme modus-themes osm bookmark mingus libmpdee reporter edebug debug backtrace transmission diary-lib diary-loaddefs color calc-bin calc-ext calc calc-loaddefs rect calc-macs w3m-load mu4e mu4e-org mu4e-main mu4e-view mu4e-view-gnus mu4e-view-common mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions ido rfc2368 smtpmail mu4e-mark mu4e-proc mu4e-utils doc-view filenotify jka-compr image-mode exif mu4e-lists mu4e-message flow-fill mule-util hl-line mu4e-vars mu4e-meta supercite regi ebdb-message ebdb-gnus gnus-msg nnselect gnus-art mm-uu mml2015 ebdb-mua ebdb-com crm ebdb-format ebdb eieio-opt eieio-base timezone org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs gnus-sum shr pixel-fill kinsoku url-file url-dired svg dom gnus-group mm-url gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source imap rfc2104 utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus message yank-media rfc822 mml mailabbrev sendmail gmm-utils mailheader nnheader mail-utils range visual-basic-mode cl web-mode disp-table erlang-start smart-tabs-mode skeleton cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-langs cc-vars cc-defs cc-bytecomp slime-asdf grep slime-tramp tramp tramp-loaddefs trampver tramp-integration cus-edit cus-load wid-edit tramp-compat shell pcomplete parse-time iso8601 ls-lisp format-spec slime-fancy slime-indentation slime-cl-indent cl-indent slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree slime-scratch slime-presentations bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl elp slime-parse slime lisp-mnt gud apropos etags fileloop generator xref project arc-mode archive-mode noutline outline pp hyperspec thingatpt slime-autoloads dired-aux dired-x dired desktop frameset dired-loaddefs so-long advice notifications dbus xml repeat tex-site hyperbole-autoloads magit-autoloads git-commit-autoloads magit-section-autoloads dash-autoloads paredit-autoloads rust-mode-autoloads stimmung-themes-autoloads transient-autoloads with-editor-autoloads info speedbar imenu ezimage dframe compat-autoloads package let-alist browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mm-view mml-smime mml-sec epa gnus-util time-date smime gnutls puny dig mailcap url-handlers mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-parse auth-source eieio eieio-core password-cache json map byte-opt bytecomp byte-compile compile rx text-property-search comint files-x ansi-color ring cconv url-vars epg cl-extra help-mode derived cl-seq rfc6068 epg-config subr-x easy-mmode cl-macs inline cl-loaddefs cl-lib gv pcase rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind kqueue lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 2582707 223778) (symbols 48 91240 13) (strings 32 248509 22276) (string-bytes 1 8706255) (vectors 16 41986) (vector-slots 8 2001870 210320) (floats 8 724 448) (intervals 56 12484 547) (buffers 992 21)) -- Manuel Giraud --=-=-=-- From unknown Sun Aug 17 02:00:51 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Manuel Giraud Subject: bug#56708: closed (Re: bug#56708: 29.0.50; [PATCH] Limit extreme shadow thickness on Lucid) Message-ID: References: <87wnc439yf.fsf@yahoo.com> <87pmhxqcm3.fsf@elite.giraud> X-Gnu-PR-Message: they-closed 56708 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 56708@debbugs.gnu.org Date: Sat, 23 Jul 2022 01:17:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1658539022-913-1" This is a multi-part message in MIME format... ------------=_1658539022-913-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56708: 29.0.50; [PATCH] Limit extreme shadow thickness on Lucid which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 56708@debbugs.gnu.org. --=20 56708: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56708 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1658539022-913-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56708-done) by debbugs.gnu.org; 23 Jul 2022 01:16:26 +0000 Received: from localhost ([127.0.0.1]:42800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oF3ko-0000Do-0X for submit@debbugs.gnu.org; Fri, 22 Jul 2022 21:16:26 -0400 Received: from sonic315-21.consmr.mail.ne1.yahoo.com ([66.163.190.147]:44582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oF3kk-0000DU-OO for 56708-done@debbugs.gnu.org; Fri, 22 Jul 2022 21:16:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1658538977; bh=hcsUv7O5+F9lWaDAQP229Z7Xoo3LHPfhMZhDUhZJFtM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=p8IfNRAqIS5nFv/+o9wywE9huYX7m25EkA06xGZqsqxhjS1pIJJSV9A0aRd2d8LQ5KiLDNUJy7G7MGYa7N2Ud4f0dphkXU083wnreDW+udlzJALeWZ13hPg0Npwe9SDsMbEoOhfkEdoiy0aZJuw0fytRb2JDw154OUjs/1m7ibgLwBvelgsdg6jmEC0OayxR9bbQyqHP2hHXEe0wQ2CeuI0P3xY2D5rNSfp2RZsJjKActv7XLKnGKbCtT9mn9ruK93XfoLUIg5ANg5Vcla1LjQRTGznkBES18sREcwXz7M+VT1yy4VQQFs6nztq9tJelqmYEvFXEn9yS4vUy2/Gm8w== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1658538977; bh=At0Hr9iFunieEL85hl/dJAtKiOtxA2tdpJ4YqrZDlHh=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=hB3lBaMdTE++3HDsNy2budGmDmWHdsTqUwdXXQCCV/P7rYZv04dIbtoB1g2puaVJ4QQyXPu+YvBc9hPTEwfs6kB/+gefGSGJJ10c8S0hiACEQYZuWk4xnZenec8/D5627mux77ncy3xc1qs/Eq5MjB39KPClQ+k6ogMm31348SV5st1PKh9CBrrWsBcEPn/8xzx3whm1kri+qDIynj1/Vy/W1z0DHhwvqeFBUt1rWwXM4aH8BrfS4Gxa2FSUStdztyCBT3oGwBZMg0iSCk7SHALI2dupNEj0AqkaeHu2u5aZ2RIusHeM0pPs11qszGktUNT0Azy2oqxjHWCBzN3rcA== X-YMail-OSG: CY5Egh0VM1nT_JAjNNA_yMq7ZBTxH7j1cO2x6Q5.HRXNzevTd0spzp126nOyDit JK6l5sxLC8NRkYPNbu2MlZ2cQUJww.HyGNa1ZCQ2FqcOFC5Xm8NSXb0K3DVnt0Pk00hdLtVCXPSm HkLpXT4VCf0lG.cW75Cq5Uh2PiILbGKwbtK7GZEWaAv.BQwgcc..Rp97jtCsBP_sfJz.tbeegvFq YYCKi3CHxwD1GryQ7p2S1Gv4vxZxe7irChoUaH4UYHQkzaooq.ppRuhKh9CQfYKNRso_NM.HqAkY oZYFGQwVdteLgY.hQv...vdI9vP2Mf6pwVepgJh005EdNPlA4ewdqBsDKQFGbu.BCYx7lnyshYLn nou5ufSMwEjUNdA75xycaARXxLirUMk8TLAMUVBhmWMdoAkA8sDyqifdlPANE0jg4ts50vFUtWMP e709McjTccHT4CW.xxV8k0ImqUwNNMD9c0.u538lVDFaU1fTB62jgZkxuBMw0DRfIJAKS680VOBu uEjEry4W0sdC4zQRnL0LVhlpK16uq9c5Zw6xoaZjevhfCDkhtG088Sy_RewBZJr1fyA59n3CS_Ox xuneU1j3z_7ejjRYvl1jqewRM5aBFQlyUcFYAtbU44Y03FGgEvZLuS4rQrZdk.Kfxm7k86OVCn64 2dhGapKilM5YQuGa8O5Ew1hzH8rzoRkkeV91RFnItbjb7i6_tPB9VFVTJbgxE2xlc.9hL7yMG2Kq 5ImHeJKPXRdAhcSriFw.2woRmlqqpTRd7HttEGkQqBnsrMjcNpOfEJvuplsvjehfc8qYYxu92jgx Bd6r4P_THH74DfY6GNfyZVJlRYUlbs3rEgUTXMbHM1Aj25RTw7nbSr4BGr9DAc.Y_L.qX3fcMX0q haHWjJmDen015AjDC20RmOYI4YWk8ZGlH2MDdmCoF0qMR43fjt5FOWcKgJfyLUudqctSMj2D_QK4 Jj_1Tcm5U5v76jKkFzQQQmB5qQ4rB6PdTMgXwfLDMrzL9HfZ1l14Vj54J7OvB2BSDpRmCTbg05zG wQMZfEjsk3ZjtkufH4q20R97C1kjA.wGLk0qt2KdcWSwYJUuvVADN1BzHNaw4V8STF8xgefKGg_7 VKPI7V0bp_nyDJmpiNolV5rYY6U_mVbjLnNSToOd5Cn0q_5Lg4tW4cwdrq2adO_p8l3pidjtlHRr RWnUYD9ZUdxJ4XWI7uSb3M6lh5cbunGydZK_H7yuKanFn1Lc7nKc_JVFg0LfIElkNw6hvB6SaPuB ryURpG2KUCeNov1hjkcwxfOtLOrd.003tdG6xwfYU5FKfmrzvqPwZ0PaqmRwo3iAP87KlsczkTYS tobNen2P38D7Qe8j52QNttbW0oAA9bLTWs4TMS_BuTvzi.zKm7P8EE_uZp7IJHtq86ez98cz6Q3v R1enwKK3npuGBkLtzoH8NofKNnuCVXgS2A9D38Tb_.H3NKJ2edxegufG._t8Tbort_P8t.glQYHI Jay8utweDU9QDUyo8ezhmj1nVLydUb3aNQfNF6ayaLaAMoI4tYtVTE1UX1igZwi4q0NjaNm.8eMA QdsghIiw1mWslSdbDGRXLhFXTW68PhxzRA5DU4kzZREtjlRUrbXuZP1YD1hLUFOC9sdakedsgx.c AG9fJN_llLyua8Q5HlLKSvPWkF9ZQZjryIBCr3IBEEJHBitHb.lo9ap7uSWMEVKCBL3OJQ7vVgwd _N1lla8DsXoN.AQmCdKrLyVFYj_fq3p8mzCc.nlMXOZZ4ImQIqMZl0C_iCksSaup9Qe6F_nA95xo YQIwHkRl6sc9ThSYpbFDHa27d96c9K1ccvZ2OzB5oIk9NGdVdGjyfMN8T7F3Tt0oaxB6EJhMQu9D 8vSL3j0kcOV5OGBrLBtIq3AqsVFrlAyExKOX3mfJNz7DBC39MxRdCw.WjayTF2cK0LIF78RqmWWL RalzCDlNub_9Ysbp2kDTabJt_dMwc6I7dAxYx4hN3LBnpzsm3FMsM4PEHKqzUO_DfoG1qcLkRtqZ aQNJxtWcYCP8gv165Z47LMz97y7mnyBKZn9qYT_Jl_2IPQV0dEUj3yR.5jQi75SEPOfmn43BD_Gx z50rBlkWQrNDNVJJOMHjuzVKQk48HUBSumHC7YdVRUOPlFPAL9u0iL_YCnh9mN4pfFf23.DglPMW _DPkyfzNCmzQmIwzwlE.Kakdu_lOm5LjEvKlW9nEl3Pdu9I87czo9wm6vP.8xOolBEQMZcBntmwU I_JvjlrbZjTAjzuEBRzRzyk.6UO5rb9eqCzeW.FVt4dpwhdC0fxAlL0OTqMmKcp4- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.ne1.yahoo.com with HTTP; Sat, 23 Jul 2022 01:16:17 +0000 Received: by hermes--canary-production-sg3-854c886654-dqhqd (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID b480f7e19798ffb2e001d00301d56a50; Sat, 23 Jul 2022 01:16:14 +0000 (UTC) From: Po Lu To: Manuel Giraud Subject: Re: bug#56708: 29.0.50; [PATCH] Limit extreme shadow thickness on Lucid References: <87pmhxqcm3.fsf@elite.giraud> Date: Sat, 23 Jul 2022 09:16:08 +0800 In-Reply-To: <87pmhxqcm3.fsf@elite.giraud> (Manuel Giraud's message of "Fri, 22 Jul 2022 19:30:12 +0200") Message-ID: <87wnc439yf.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20447 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 635 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 56708-done Cc: 56708-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) Manuel Giraud writes: > Hi, > > Here is a patch for the Lucid backend. Its goal is to limit the > thickness of shadows on arrows, toggle buttons and radio buttons. > Otherwise with a rather large value of the shadowThickness resource > those three widgets are incorrectly displayed. I would rather leave it up to the user to set Emacs.*.shadowThickness correctly. This "DWIM" behavior leads to very confusing behavior for someone trying to set the resource, which is also why most other X programs don't have any resources that behave this way. Thanks, but I don't think this is right for Emacs. Closing. ------------=_1658539022-913-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 22 Jul 2022 17:30:27 +0000 Received: from localhost ([127.0.0.1]:42423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEwTp-0006eB-UT for submit@debbugs.gnu.org; Fri, 22 Jul 2022 13:30:26 -0400 Received: from lists.gnu.org ([209.51.188.17]:46690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oEwTm-0006dy-I1 for submit@debbugs.gnu.org; Fri, 22 Jul 2022 13:30:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEwTm-0001Dl-Cl for bug-gnu-emacs@gnu.org; Fri, 22 Jul 2022 13:30:22 -0400 Received: from ledu-giraud.fr ([51.159.28.247]:4567) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEwTj-0006pj-IQ for bug-gnu-emacs@gnu.org; Fri, 22 Jul 2022 13:30:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=dG9uBQnZAU2Xm8QT 8bhjyafhBppXaKjfXCB+s7Rg60A=; h=date:subject:to:from; d=ledu-giraud.fr; b=hWH7g307aooxDAlny/ycINLuNqftVuCrY/9Het9mWSCCt6aRg6 dGZHUckwOqh9FnJbdbx1gy2tDeoO8R4h9roODK76g0wRMGykLb/Bpy7a7pu3R3Ss7WGfGq fwavtilIVKGXB6vZMWHyqMkIQlCRl9mq6sjNoamKXd9APyKBOoN5El86iFUPmZn9NN9j51 7vjrDuvrJD09Juu8G8uRwLmCuejLD1c3I3Df0CbzWsY8Q++0pHJ2Zrn0YUFMoP3hsBXR96 w2Vmv2A2YcPBVpgBpL10V9tqU4syAR1C7PBvhDAUTbtklIDzZceID2pzJBeElUqOaKkn3F bTfT6HerMPFg== Received: from elite.giraud ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id caf5e29e (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for ; Fri, 22 Jul 2022 19:30:14 +0200 (CEST) From: Manuel Giraud To: bug-gnu-emacs@gnu.org Subject: 29.0.50; [PATCH] Limit extreme shadow thickness on Lucid Date: Fri, 22 Jul 2022 19:30:12 +0200 Message-ID: <87pmhxqcm3.fsf@elite.giraud> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=51.159.28.247; envelope-from=manuel@ledu-giraud.fr; helo=ledu-giraud.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -2.4 (--) --=-=-= Content-Type: text/plain Hi, Here is a patch for the Lucid backend. Its goal is to limit the thickness of shadows on arrows, toggle buttons and radio buttons. Otherwise with a rather large value of the shadowThickness resource those three widgets are incorrectly displayed. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Limit-extreme-shadow-thickness-on-Lucid-backend.patch >From 50c6267a3ba3b05b64ac40686723199e679e5ffc Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Fri, 22 Jul 2022 19:23:04 +0200 Subject: [PATCH] Limit extreme shadow thickness on Lucid backend * lwlib/xlwmenu.c (tame_thickness): New function to limit shadow thickness on arrows and buttons in the Lucid backend. (draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus): Use it. --- lwlib/xlwmenu.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c index deea50c810..ce48fea078 100644 --- a/lwlib/xlwmenu.c +++ b/lwlib/xlwmenu.c @@ -561,6 +561,13 @@ size_menu (XlwMenuWidget mw, int level) } } +/* Used to limit shadows thickness on arrows, toggle buttons and radio + buttons. */ +static int +tame_thickness(int width, int thickness) +{ + return ((width < (3 * thickness)) ? (width / 3) : thickness); +} /* Display code */ @@ -575,7 +582,7 @@ draw_arrow (XlwMenuWidget mw, { Display *dpy = XtDisplay (mw); GC top_gc, bottom_gc; - int thickness = mw->menu.shadow_thickness; + int thickness = tame_thickness(width, mw->menu.shadow_thickness); int height = width; XPoint pt[10]; /* alpha = atan (0.5) @@ -655,6 +662,7 @@ draw_shadow_rectangle (XlwMenuWidget mw, Window window, int x, int y, bottom_gc = mw->menu.shadow_bottom_gc; } + /* Toggle button case */ if (!erase_p && width == height && width == toggle_button_width (mw)) { points [0].x = x; @@ -668,6 +676,8 @@ draw_shadow_rectangle (XlwMenuWidget mw, Window window, int x, int y, XFillPolygon (dpy, window, down_p ? mw->menu.button_gc : mw->menu.inactive_button_gc, points, 4, Convex, CoordModeOrigin); + + thickness = tame_thickness(width, mw->menu.shadow_thickness); } if (!erase_p && down_p) @@ -724,7 +734,7 @@ draw_shadow_rhombus (XlwMenuWidget mw, Window window, int x, int y, GC top_gc, GC bottom_gc) { Display *dpy = XtDisplay (mw); - int thickness = mw->menu.shadow_thickness; + int thickness = tame_thickness(width, mw->menu.shadow_thickness); XPoint points [4]; /* Choose correct GC with a standard default if NULL */ -- 2.37.0 --=-=-= Content-Type: text/plain In GNU Emacs 29.0.50 (build 1, x86_64-unknown-openbsd7.1, X toolkit, cairo version 1.17.6, Xaw scroll bars) of 2022-07-22 built on elite.giraud Repository revision: 1767f796b0e0649219e37b6b205f4d414a4364c6 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101003 System Description: OpenBSD elite.giraud 7.1 GENERIC.MP#620 amd64 Configured using: 'configure --prefix=/home/manuel/emacs --bindir=/home/manuel/bin --with-x-toolkit=athena --without-sound --without-compress-install CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBXML2 MODULES NOTIFY KQUEUE PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: C/*lh Minor modes in effect: bug-reference-prog-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t icomplete-mode: t display-time-mode: t display-battery-mode: t shell-dirtrack-mode: t global-so-long-mode: t repeat-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/manuel/.emacs.d/elpa/transient-20220717.1713/transient hides /home/manuel/emacs/share/emacs/29.0.50/lisp/transient Features: (shadow sort mail-extr emacsbug gnus-topic mm-archive url-http url-gw url-cache url-auth qp utf-7 nndoc nndraft nnmh network-stream nsm nnfolder nnml gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache nnrss w3m w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util whitespace gnus-dired magit-patch executable vc-svn bug-reference magit-extras cus-start pulse face-remap magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-base which-func vc-git diff-mode vc-dir ewoc vc vc-dispatcher magit-section benchmark dash compat-27 compat-26 compat compat-macs paredit edmacro icomplete time battery exwm-randr xcb-randr exwm-config exwm exwm-input xcb-keysyms exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xkb xcb-xproto xcb-types xcb-debug kmacro server stimmung-themes modus-operandi-theme modus-themes osm bookmark mingus libmpdee reporter edebug debug backtrace transmission diary-lib diary-loaddefs color calc-bin calc-ext calc calc-loaddefs rect calc-macs w3m-load mu4e mu4e-org mu4e-main mu4e-view mu4e-view-gnus mu4e-view-common mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions ido rfc2368 smtpmail mu4e-mark mu4e-proc mu4e-utils doc-view filenotify jka-compr image-mode exif mu4e-lists mu4e-message flow-fill mule-util hl-line mu4e-vars mu4e-meta supercite regi ebdb-message ebdb-gnus gnus-msg nnselect gnus-art mm-uu mml2015 ebdb-mua ebdb-com crm ebdb-format ebdb eieio-opt eieio-base timezone org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs gnus-sum shr pixel-fill kinsoku url-file url-dired svg dom gnus-group mm-url gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source imap rfc2104 utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus message yank-media rfc822 mml mailabbrev sendmail gmm-utils mailheader nnheader mail-utils range visual-basic-mode cl web-mode disp-table erlang-start smart-tabs-mode skeleton cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-langs cc-vars cc-defs cc-bytecomp slime-asdf grep slime-tramp tramp tramp-loaddefs trampver tramp-integration cus-edit cus-load wid-edit tramp-compat shell pcomplete parse-time iso8601 ls-lisp format-spec slime-fancy slime-indentation slime-cl-indent cl-indent slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree slime-scratch slime-presentations bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl elp slime-parse slime lisp-mnt gud apropos etags fileloop generator xref project arc-mode archive-mode noutline outline pp hyperspec thingatpt slime-autoloads dired-aux dired-x dired desktop frameset dired-loaddefs so-long advice notifications dbus xml repeat tex-site hyperbole-autoloads magit-autoloads git-commit-autoloads magit-section-autoloads dash-autoloads paredit-autoloads rust-mode-autoloads stimmung-themes-autoloads transient-autoloads with-editor-autoloads info speedbar imenu ezimage dframe compat-autoloads package let-alist browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mm-view mml-smime mml-sec epa gnus-util time-date smime gnutls puny dig mailcap url-handlers mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-parse auth-source eieio eieio-core password-cache json map byte-opt bytecomp byte-compile compile rx text-property-search comint files-x ansi-color ring cconv url-vars epg cl-extra help-mode derived cl-seq rfc6068 epg-config subr-x easy-mmode cl-macs inline cl-loaddefs cl-lib gv pcase rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind kqueue lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 2582707 223778) (symbols 48 91240 13) (strings 32 248509 22276) (string-bytes 1 8706255) (vectors 16 41986) (vector-slots 8 2001870 210320) (floats 8 724 448) (intervals 56 12484 547) (buffers 992 21)) -- Manuel Giraud --=-=-=-- ------------=_1658539022-913-1-- From unknown Sun Aug 17 02:00:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56708: 29.0.50; [PATCH] Limit extreme shadow thickness on Lucid Resent-From: Manuel Giraud Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 25 Jul 2022 07:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56708 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Po Lu Cc: 56708-done@debbugs.gnu.org Received: via spool by 56708-done@debbugs.gnu.org id=D56708.16587342405335 (code D ref 56708); Mon, 25 Jul 2022 07:31:02 +0000 Received: (at 56708-done) by debbugs.gnu.org; 25 Jul 2022 07:30:40 +0000 Received: from localhost ([127.0.0.1]:49189 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oFsY3-0001Nz-Ot for submit@debbugs.gnu.org; Mon, 25 Jul 2022 03:30:39 -0400 Received: from ledu-giraud.fr ([51.159.28.247]:47861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oFsXy-0001Nm-Sy for 56708-done@debbugs.gnu.org; Mon, 25 Jul 2022 03:30:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=QZGe4uamWymkGZ3B 4y6DIRTZggo9KvH0iNlShiBot1U=; h=date:references:in-reply-to:subject: cc:to:from; d=ledu-giraud.fr; b=Y1Kvf3binumASTnN9tAt7HdhuMTUdLLyM4GORw gvKY6O7uLvaZiTATlihLFdjD1JKm1EJxX863dCJmPQwFJ8HrWAj5OJIXbFZEtuXfRk+MwP r/rEWV3wXBvPhNMJyYKILD1Url8dFWllD9H9+nNGUxqmgedHk5CNYrMUwI5LtYoWouffQH wWHCRa7k0ZtGnwmc1FU1pYlD33T/bxhkOvfvWe4IIFniADbVz3trurB57Dz7C6wzSmrbZV D5LCkJGhiZoFwBniTjWbCw6gYmMep0p+zAh07t8vf0y4mOyG5vHe54AwyS/3wvsa4Rcm53 bf76VWwr+TZPaquVShb8AKCg== Received: from elite.giraud ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 761ea085 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 25 Jul 2022 09:30:32 +0200 (CEST) From: Manuel Giraud In-Reply-To: <87wnc439yf.fsf@yahoo.com> (Po Lu's message of "Sat, 23 Jul 2022 09:16:08 +0800") References: <87pmhxqcm3.fsf@elite.giraud> <87wnc439yf.fsf@yahoo.com> Date: Mon, 25 Jul 2022 09:30:19 +0200 Message-ID: <87y1whved0.fsf@elite.giraud> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) Po Lu writes: [...] > I would rather leave it up to the user to set Emacs.*.shadowThickness > correctly. This "DWIM" behavior leads to very confusing behavior for > someone trying to set the resource, which is also why most other X > programs don't have any resources that behave this way. > > Thanks, but I don't think this is right for Emacs. Closing. Ok. Makes sense. Thank you. -- Manuel Giraud