From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tyler Grinn Newsgroups: gmane.emacs.bugs Subject: bug#57140: New user option mouse-wheel-text-scale-buffer Date: Thu, 11 Aug 2022 09:20:39 -0400 Message-ID: <878rnuudaw.fsf@gmail.com> References: <871qtnudsc.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33320"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: 57140@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 11 15:22:36 2022 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 1oM88w-0008U5-L9 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 11 Aug 2022 15:22:34 +0200 Original-Received: from localhost ([::1]:42998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oM88v-0008N5-4j for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 11 Aug 2022 09:22:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oM88T-0008KZ-E3 for bug-gnu-emacs@gnu.org; Thu, 11 Aug 2022 09:22:07 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34061) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oM88Q-0004MK-2m for bug-gnu-emacs@gnu.org; Thu, 11 Aug 2022 09:22:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oM88P-0005uA-NU for bug-gnu-emacs@gnu.org; Thu, 11 Aug 2022 09:22:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tyler Grinn Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 11 Aug 2022 13:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57140 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.166022407622641 (code B ref -1); Thu, 11 Aug 2022 13:22:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 Aug 2022 13:21:16 +0000 Original-Received: from localhost ([127.0.0.1]:52043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM87f-0005t7-K4 for submit@debbugs.gnu.org; Thu, 11 Aug 2022 09:21:15 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:57932) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oM87b-0005sx-Ux for submit@debbugs.gnu.org; Thu, 11 Aug 2022 09:21:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oM87E-0007y8-Qc for bug-gnu-emacs@gnu.org; Thu, 11 Aug 2022 09:21:04 -0400 Original-Received: from mail-il1-x132.google.com ([2607:f8b0:4864:20::132]:43676) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oM879-0004E6-Qw for bug-gnu-emacs@gnu.org; Thu, 11 Aug 2022 09:20:45 -0400 Original-Received: by mail-il1-x132.google.com with SMTP id x2so3803768ilp.10 for ; Thu, 11 Aug 2022 06:20:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:to:from:from:to:cc; bh=SNb+2AuYJkAKLr6o9Cvrgz2G1N7b+AL7zX3CbOwA+qE=; b=bs4mQJV1pihFVxC1xsiq8kJn12ITlpTMQEDceNIIa7qtS9ZDjPySFirSV/3jskTZlE +1bHElqMfGZOemteDq4+iluw1qXKh+cZJ7dzS5zHZSRGNevpG57SpmG3d1P4dsnbvvZG t39zFzGYhW5NqbwQptV6da5wi5KWzJ72sYG2Nvgy6s6ebFPVCuZeFv1W0GYp6opJ0Egv v/jTyB/JGdhaTtoZQYNA+VD9FShoV+VnnrrW56D/OK8LRcTKOuG0Xqy2SGtyGMinIBr1 XO2qv5vzlGaWC3oJ35xVb7FdrPB9RGn6z3fb+5s72YgGvreALh3IjHEpSp3lr31MKJ6X 9sWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:to:from:x-gm-message-state:from:to:cc; bh=SNb+2AuYJkAKLr6o9Cvrgz2G1N7b+AL7zX3CbOwA+qE=; b=nWDrVEl7/Maybk/jYzBfCwitaKeaB75e/HmoKLFQ0xsQ3wrvl6dP8Npf2PZy9ktC9o EjKmzq3GYRhx5tLWjxWiFWDz8PQ32nPDSCB20UAzb+SVxA7/8C4q8Z8Z4BqyhA5XMCYs ZXkO2i2qFiragNQaE+mBfjelAu1RwYR2m/wgV670xTgh+NArAyb+HNRSxEJt5pBo07YH JQn4hqoX2aFik3lEWAYWDNdTXAp4ixvk5BVgfzfVS/bQv0ZubsQi0Xai/TkVjdqhxvvc GJLWV0nF2PGor4shODby3fusmXZMPfPFr4AiwGovZqvZ5fS+sL9z9r6/HupGbYjLprpZ nhHA== X-Gm-Message-State: ACgBeo2aTePIXG+2ndpThYYQdOottKr8o/u9zMdc8HoxmyL1xamu60MH IBd+cPn+ScwiD36dLwSeriNfQMe/udIvOg== X-Google-Smtp-Source: AA6agR6vagDpF2nWsmuCGunIwcUW2jWKXh3QPhXnjROkGkg7batC7idXCyyitCUfbuWQM250sT9ZFg== X-Received: by 2002:a05:6e02:1ca7:b0:2df:11b7:3fe1 with SMTP id x7-20020a056e021ca700b002df11b73fe1mr15588937ill.256.1660224041513; Thu, 11 Aug 2022 06:20:41 -0700 (PDT) Original-Received: from tyler-fedora ([107.181.195.249]) by smtp.gmail.com with ESMTPSA id e12-20020a0566380ccc00b003434d0ae6e8sm933011jak.118.2022.08.11.06.20.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Aug 2022 06:20:40 -0700 (PDT) In-Reply-To: <871qtnudsc.fsf@gmail.com> (Tyler Grinn's message of "Thu, 11 Aug 2022 09:10:11 -0400") Received-SPF: pass client-ip=2607:f8b0:4864:20::132; envelope-from=tylergrinn@gmail.com; helo=mail-il1-x132.google.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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" Xref: news.gmane.io gmane.emacs.bugs:239350 Archived-At: --=-=-= Content-Type: text/plain Tyler Grinn writes: > By default, mouse-wheel-(global-)text-scale increases or decreases the > text scale for every scroll event. I think it's a good idea to have an > option to buffer that (is that the right word?) so you can more easily > choose the text scale you want. I kept the default behavior intact. > > Best, > > Tyler There was a typo. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-new-user-option-mouse-wheel-text-scale-buffer.patch Content-Description: mouse-wheel-text-scale-buffer >From 94f0b6a2522050b8304aab0d85f3129805c1025e Mon Sep 17 00:00:00 2001 From: Tyler Grinn Date: Wed, 10 Aug 2022 22:32:12 -0400 Subject: [PATCH] Add new user option mouse-wheel-text-scale-buffer * lisp/mwheel.el (mouse-wheel-text-scale-buffer): New user option. (mouse-wheel-text-scale): Use it. (mouse-wheel-global-text-scale): Use it. --- lisp/mwheel.el | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/lisp/mwheel.el b/lisp/mwheel.el index ba5255fc07..16a63a8105 100644 --- a/lisp/mwheel.el +++ b/lisp/mwheel.el @@ -214,6 +214,14 @@ mouse-wheel-flip-direction :type 'boolean :version "26.1") +(defcustom mouse-wheel-text-scale-buffer 0 + "Buffer this many mouse scroll events before changing text scale. +By default, every scroll event will trigger one text scale adjustment. +Increase this number to hinder text scale adjustments while scrolling." + :group 'mouse + :type 'number + :version "29.1") + (defun mwheel-event-button (event) (let ((x (event-basic-type event))) ;; Map mouse-wheel events to appropriate buttons @@ -424,6 +432,9 @@ mwheel-scroll (put 'mwheel-scroll 'scroll-command t) +(defvar mouse-wheel-text-scale-counter 0 + "Keeps track of how many mouse events since last text-scale.") + (defun mouse-wheel-text-scale (event) "Adjust font size of the default face according to EVENT. See also `text-scale-adjust'." @@ -435,10 +446,16 @@ mouse-wheel-text-scale (unwind-protect (cond ((memq button (list mouse-wheel-down-event mouse-wheel-down-alternate-event)) - (text-scale-increase 1)) + (setq mouse-wheel-text-scale-counter (1- mouse-wheel-text-scale-counter)) + (when (< mouse-wheel-text-scale-counter (- mouse-wheel-text-scale-buffer)) + (setq mouse-wheel-text-scale-counter 0) + (text-scale-increase 1))) ((memq button (list mouse-wheel-up-event mouse-wheel-up-alternate-event)) - (text-scale-decrease 1))) + (setq mouse-wheel-text-scale-counter (1+ mouse-wheel-text-scale-counter)) + (when (> mouse-wheel-text-scale-counter mouse-wheel-text-scale-buffer) + (setq mouse-wheel-text-scale-counter 0) + (text-scale-decrease 1)))) (select-window selected-window)))) (declare-function global-text-scale-adjust "face-remap.el" (increment)) @@ -450,10 +467,16 @@ mouse-wheel-global-text-scale (unwind-protect (cond ((memq button (list mouse-wheel-down-event mouse-wheel-down-alternate-event)) - (global-text-scale-adjust 1)) + (setq mouse-wheel-text-scale-counter (1- mouse-wheel-text-scale-counter)) + (when (< mouse-wheel-text-scale-counter (- mouse-wheel-text-scale-buffer)) + (setq mouse-wheel-text-scale-counter 0) + (global-text-scale-adjust 1))) ((memq button (list mouse-wheel-up-event mouse-wheel-up-alternate-event)) - (global-text-scale-adjust -1)))))) + (setq mouse-wheel-text-scale-counter (1+ mouse-wheel-text-scale-counter)) + (when (> mouse-wheel-text-scale-counter mouse-wheel-text-scale-buffer) + (setq mouse-wheel-text-scale-counter 0) + (global-text-scale-adjust -1))))))) (defun mouse-wheel--add-binding (key fun) "Bind mouse wheel button KEY to function FUN. -- 2.37.1 --=-=-=--