From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#32672: 27.0.50; image resize on window resizing Date: Sun, 09 Sep 2018 18:54:27 +0300 Organization: LINKOV.NET Message-ID: <87pnxmyjgt.fsf@mail.linkov.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1536509356 20848 195.159.176.226 (9 Sep 2018 16:09:16 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 9 Sep 2018 16:09:16 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) To: 32672@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Sep 09 18:09:11 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fz2Gt-0005Kl-7p for geb-bug-gnu-emacs@m.gmane.org; Sun, 09 Sep 2018 18:09:11 +0200 Original-Received: from localhost ([::1]:47940 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fz2Iz-0003fh-IC for geb-bug-gnu-emacs@m.gmane.org; Sun, 09 Sep 2018 12:11:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46039) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fz2Im-0003dh-E2 for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 12:11:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fz2Ih-0003c8-5s for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 12:11:08 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:46421) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fz2Ig-0003bw-Vm for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 12:11:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fz2Ig-0006rp-JF for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 12:11:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 09 Sep 2018 16:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 32672 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.153650945326373 (code B ref -1); Sun, 09 Sep 2018 16:11:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 9 Sep 2018 16:10:53 +0000 Original-Received: from localhost ([127.0.0.1]:51438 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fz2IX-0006rH-KP for submit@debbugs.gnu.org; Sun, 09 Sep 2018 12:10:53 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:53086) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fz2IV-0006r2-W0 for submit@debbugs.gnu.org; Sun, 09 Sep 2018 12:10:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fz2IO-0003B3-Ab for submit@debbugs.gnu.org; Sun, 09 Sep 2018 12:10:46 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:58610) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fz2IN-0003AW-G0 for submit@debbugs.gnu.org; Sun, 09 Sep 2018 12:10:44 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45670) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fz2IH-0003Mq-Gh for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 12:10:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fz23g-0002w5-5L for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 11:55:32 -0400 Original-Received: from pop.dreamhost.com ([64.90.62.162]:37546 helo=pdx1-sub0-mail-a38.g.dreamhost.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fz23f-0002sV-Rp for bug-gnu-emacs@gnu.org; Sun, 09 Sep 2018 11:55:32 -0400 Original-Received: from pdx1-sub0-mail-a38.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTP id 142B47F250 for ; Sun, 9 Sep 2018 08:55:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to :subject:date:message-id:mime-version:content-type; s= linkov.net; bh=4fPGONWJR2c6CUEqJ8LlHuX/BDc=; b=d/zAPo9RBI/hYs0a1 814I0UxiWoR/if5VIoc2eohlZ4Vgvo2ig37xcSXMms1wO+o361W+0XpzVkewIslD hNSVYWa8NvrRrxUwMgVqkwy4CfiveEsXE0F/ZdGJqSTKkIwJGrinc1CYCZvx2bpc R2oo2qcqe6MxjQMjJZrGeZbXkA= Original-Received: from localhost.linkov.net (m91-129-104-147.cust.tele2.ee [91.129.104.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTPSA id 60F047F24E for ; Sun, 9 Sep 2018 08:55:30 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:150162 Archived-At: --=-=-= Content-Type: text/plain Like dynamically reformatting Man-mode buffers on window resizing in bug#32536 it would be useful to do the same for image-mode. By default, when an image is visited, it gets resized to fit into the window. But on window shrinking, parts of the image become truncated, and on window enlarging too much of empty space is wasted since the image is not zoomed. This patch relies on improvements in bug#32637. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=image-mode.1.patch diff --git a/lisp/image-mode.el b/lisp/image-mode.el index 19fa28d440..9c7199ba9e 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el @@ -574,6 +574,7 @@ image-mode (add-hook 'change-major-mode-hook 'image-toggle-display-text nil t) (add-hook 'after-revert-hook 'image-after-revert-hook nil t) + (add-hook 'window-size-change-functions 'image-window-size-change nil t) (run-mode-hooks 'image-mode-hook) (let ((image (image-get-display-property)) (msg1 (substitute-command-keys @@ -822,6 +823,17 @@ image-after-revert-hook (get-buffer-window-list (current-buffer) 'nomini 'visible)) (image-toggle-display-image))) +(defun image-window-size-change (frame) + (walk-windows (lambda (window) + (when (or (/= (window-pixel-width-before-size-change window) + (window-pixel-width window)) + (/= (window-pixel-height-before-size-change window) + (window-pixel-height window))) + (with-current-buffer (window-buffer window) + (when (derived-mode-p 'image-mode) + (image-after-revert-hook))))) + 'nomini frame)) + ;;; Animated images --=-=-=--