From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?I=C3=B1igo?= Serna Newsgroups: gmane.emacs.devel Subject: Advicing select-windows, shr rendering, and per-buffer-theme package Date: Fri, 18 Mar 2016 12:04:14 +0100 Message-ID: <87wpp0xd1t.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1458299094 8824 80.91.229.3 (18 Mar 2016 11:04:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 18 Mar 2016 11:04:54 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 18 12:04:43 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1agsCx-0004Mu-Ig for ged-emacs-devel@m.gmane.org; Fri, 18 Mar 2016 12:04:43 +0100 Original-Received: from localhost ([::1]:42895 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1agsCx-0002PH-25 for ged-emacs-devel@m.gmane.org; Fri, 18 Mar 2016 07:04:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37292) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1agsCc-0002Hh-GB for emacs-devel@gnu.org; Fri, 18 Mar 2016 07:04:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1agsCX-0000UV-Nl for emacs-devel@gnu.org; Fri, 18 Mar 2016 07:04:22 -0400 Original-Received: from mail-wm0-x22c.google.com ([2a00:1450:400c:c09::22c]:38707) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1agsCX-0000UK-Ge for emacs-devel@gnu.org; Fri, 18 Mar 2016 07:04:17 -0400 Original-Received: by mail-wm0-x22c.google.com with SMTP id l68so31711705wml.1 for ; Fri, 18 Mar 2016 04:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=user-agent:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=zN0vJ3VIdEBtq+ARDlDYaZj81/nAR+3tHZyhRFCrIPs=; b=ZDYd/yB8URxjRHVmiHNIlm1jh4ADBnCW1Se4FjQmePOdVU0CcZli4lKDxGU5JW9az7 dhzE0xQr2Zjp3ZIe0mk/qQd0lfB3NqukyqzbwpGUTLiZXvgaGjXEPmUP5xUPjPlUmJRz QqmKBkLsfaNbZ1DzGRqRMnqffA1zTDpy0Bf4K9KcJEFUtmS2+vSiVZuXv5kCga0P28fM 6PFWPS1Sfswacmrr7fwLxR2uCruBpNHk7EXlMaW7e0dFyaLGOsPlM9TeKBDIrNZsxfA/ GZZqHxmDSsafINgAet6FnmonaYTHgRw3bI9Ycn7nRoYP01OTbGvU8e3FwZb11vLSyN4H 8+zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version:content-transfer-encoding; bh=zN0vJ3VIdEBtq+ARDlDYaZj81/nAR+3tHZyhRFCrIPs=; b=KZIDeAQxrpVu6l4GIjKZCAPSnpbm5sMyK4sYVGHZFGG61jm3o6+tPlCl1PL3uiOmek aJzL0v0FGnrv5jPc1mPPg01Hm4mLIGipU08nsV5rhBhxwM3hxweHoXwXcYMpNvyZNf81 AetaVIWNYOJ6K0tBRwz7WvUtL2axyHQWtjwsYu/2BZA+83FYysXS6F63YkPuX58W1F6V zgV/WFckQbe8sBMN4yeNYyY/g7oRmPE+7xBsdgNQ2zEtvz/Obe2Uw2E0eBI5y3kwSEnY CagZY3BWv7Cgjs45/k0QrI5LqvyntNdq6dsSnTZ5GWsad6Hzqfy9L87yCM3xp1X2I3Av mysQ== X-Gm-Message-State: AD7BkJKm1ODMDHl6FwQSJidp497MwPLamFpUIq3DsEjSiD9Fit/kN3Ah7c2gWEsWBdDwng== X-Received: by 10.194.184.234 with SMTP id ex10mr14676455wjc.8.1458299056223; Fri, 18 Mar 2016 04:04:16 -0700 (PDT) Original-Received: from inigo.katxi.org.gmail.com (62.57.74.108.dyn.user.ono.com. [62.57.74.108]) by smtp.gmail.com with ESMTPSA id jo6sm11733579wjb.48.2016.03.18.04.04.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 18 Mar 2016 04:04:15 -0700 (PDT) User-agent: mu4e 0.9.16; emacs 25.1.50.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::22c X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:201821 Archived-At: Hi, I'm the author of “per-buffer-theme”, a simple package available in MELPA [1], which changes emacs theme when switching to a buffer according to some configured rules (f.e. use a dark theme when coding, light theme for email or web navigation). It advices `select-window', checks buffer name or major-mode, and changes theme. It worked correctly and fast with emacs 24.5, but now with emacs 25.x it produces additional “flickering” when switching buffers, especially for eww/shr buffers, where it makes package useless. I think problem comes that, when switching to a eww/shr buffer, shr rendering uses many temporal buffers, so theme changes many times producing that "flickering" effect. But I'm not sure as my elisp skills and emacs internals knowledge is quite limited. I don't know how to solve it… I've tested with before/after variations to `advice-add' but results are similar. First versions used `window-configuration-change-hook' but add-advice to select-window was much better option then. Any ideas? Thanks in advance, Iñigo Serna [1] http://melpa.org/#/per-buffer-theme https://bitbucket.org/inigoserna/per-buffer-theme.el