From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#57813: Icon images are non-functional Date: Sat, 17 Sep 2022 22:37:22 +0300 Organization: LINKOV.NET Message-ID: <86mtaxaj2l.fsf@mail.linkov.net> References: <86pmfxlp7s.fsf@mail.linkov.net> <861qsca9cn.fsf@mail.linkov.net> <867d2476u4.fsf@mail.linkov.net> <831qsb6g69.fsf@gnu.org> <86illnpzgh.fsf@mail.linkov.net> 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="32787"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) Cc: 57813@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Sep 17 21:43:10 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 1oZdiX-0008Oj-Rd for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 17 Sep 2022 21:43:10 +0200 Original-Received: from localhost ([::1]:34438 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oZdiW-0000Ze-BB for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 17 Sep 2022 15:43:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZdiQ-0000ZW-Rj for bug-gnu-emacs@gnu.org; Sat, 17 Sep 2022 15:43:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:48144) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oZdiQ-0004g9-Jd for bug-gnu-emacs@gnu.org; Sat, 17 Sep 2022 15:43:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oZdiQ-0002LW-DE for bug-gnu-emacs@gnu.org; Sat, 17 Sep 2022 15:43: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: Sat, 17 Sep 2022 19:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57813 X-GNU-PR-Package: emacs Original-Received: via spool by 57813-submit@debbugs.gnu.org id=B57813.16634437769007 (code B ref 57813); Sat, 17 Sep 2022 19:43:02 +0000 Original-Received: (at 57813) by debbugs.gnu.org; 17 Sep 2022 19:42:56 +0000 Original-Received: from localhost ([127.0.0.1]:47222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZdiK-0002LC-8d for submit@debbugs.gnu.org; Sat, 17 Sep 2022 15:42:56 -0400 Original-Received: from relay3-d.mail.gandi.net ([217.70.183.195]:44139) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oZdiG-0002Kv-5T for 57813@debbugs.gnu.org; Sat, 17 Sep 2022 15:42:54 -0400 Original-Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id AC56860003; Sat, 17 Sep 2022 19:42:44 +0000 (UTC) In-Reply-To: <86illnpzgh.fsf@mail.linkov.net> (Juri Linkov's message of "Fri, 16 Sep 2022 10:09:50 +0300") 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:242908 Archived-At: --=-=-= Content-Type: text/plain > Next I could try to add an option to display these outline images in > margins. Here is a preliminary patch, but using buffer-local left-margin-width exhibits strange behavior: margins don't always appear immediately after switching the buffer. --=-=-= Content-Type: image/png Content-Disposition: inline; filename=outline-minor-mode-use-margins.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=outline-minor-mode-use-margins.patch diff --git a/lisp/outline.el b/lisp/outline.el index 25ef1616b9..3b8e68bfe1 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -292,6 +292,16 @@ outline-minor-mode-use-buttons :safe #'booleanp :version "29.1") +(defcustom outline-minor-mode-use-margins '(derived-mode . special-mode) + "Whether to display clickable buttons on the margins. +The value should be a `buffer-match-p' condition. + +These buttons can be used to hide and show the body under the heading. +Note that this feature is meant to be used in editing buffers." + :type 'buffer-predicate + :safe #'booleanp + :version "29.1") + (define-icon outline-open nil '((image "outline-open.svg" "outline-open.pbm" :height 15 :ascent center) @@ -437,8 +447,10 @@ outline-minor-mode-highlight-buffer (and (eq outline-minor-mode-highlight t) (not (get-text-property (match-beginning 0) 'face)))) (overlay-put overlay 'face (outline-font-lock-face))) - (when (outline--use-buttons-p) - (outline--insert-open-button))) + (cond ((outline--use-margins-p) + (outline--insert-open-button t)) + ((outline--use-buttons-p) + (outline--insert-open-button)))) (goto-char (match-end 0)))))) ;;;###autoload @@ -453,6 +465,9 @@ outline-minor-mode (key-description outline-minor-mode-prefix) outline-mode-prefix-map) (if outline-minor-mode (progn + (when (outline--use-margins-p) + (setq-local left-margin-width (1+ left-margin-width)) + (setq-local fringes-outside-margins t)) (when outline-minor-mode-highlight (if (and global-font-lock-mode (font-lock-specified-p major-mode)) (progn @@ -473,6 +488,9 @@ outline-minor-mode (font-lock-remove-keywords nil outline-font-lock-keywords)) (remove-overlays nil nil 'outline-overlay t) (font-lock-flush)) + (when (outline--use-margins-p) + (setq-local left-margin-width (1- left-margin-width)) + (setq-local fringes-outside-margins nil)) (setq line-move-ignore-invisible nil) ;; Cause use of ellipses for invisible text. (remove-from-invisibility-spec '(outline . t)) @@ -483,6 +501,10 @@ outline--use-buttons-p (and outline-minor-mode (buffer-match-p outline-minor-mode-use-buttons (current-buffer)))) +(defun outline--use-margins-p () + (and outline-minor-mode + (buffer-match-p outline-minor-mode-use-margins (current-buffer)))) + (defvar-local outline-heading-alist () "Alist associating a heading for every possible level. Each entry is of the form (HEADING . LEVEL). @@ -1012,10 +1034,34 @@ outline--make-button-overlay (overlay-put o 'face (plist-get icon 'face)))) o)) -(defun outline--insert-open-button () +(defun outline--make-margin-overlay (type) + (let ((o (seq-find (lambda (o) + (overlay-get o 'outline-margin)) + (overlays-at (point))))) + (unless o + (setq o (make-overlay (point) (1+ (point)))) + (overlay-put o 'follow-link 'mouse-face) + (overlay-put o 'mouse-face 'highlight) + (overlay-put o 'outline-margin t)) + (let ((icon + (icon-elements (if (eq type 'close) 'outline-close 'outline-open))) + (inhibit-read-only t)) + (overlay-put o 'before-string + (propertize " " 'display `((margin left-margin) + ,(or (plist-get icon 'image) + (plist-get icon 'string)))))) + o)) + +(defun outline--insert-open-button (&optional margins-p) (with-silent-modifications (save-excursion - (beginning-of-line) + (beginning-of-line) + (if margins-p + (let ((o (outline--make-margin-overlay 'open))) + (overlay-put o 'help-echo "Click to hide") + (overlay-put o 'keymap + (define-keymap + "" #'outline-hide-subtree))) (when (derived-mode-p 'special-mode) (let ((inhibit-read-only t)) (insert " ") @@ -1025,12 +1071,18 @@ outline--insert-open-button (overlay-put o 'keymap (define-keymap "RET" #'outline-hide-subtree - "" #'outline-hide-subtree)))))) + "" #'outline-hide-subtree))))))) -(defun outline--insert-close-button () +(defun outline--insert-close-button (&optional margins-p) (with-silent-modifications (save-excursion - (beginning-of-line) + (beginning-of-line) + (if margins-p + (let ((o (outline--make-margin-overlay 'close))) + (overlay-put o 'help-echo "Click to show") + (overlay-put o 'keymap + (define-keymap + "" #'outline-show-subtree))) (when (derived-mode-p 'special-mode) (let ((inhibit-read-only t)) (insert " ") @@ -1040,23 +1092,25 @@ outline--insert-close-button (overlay-put o 'keymap (define-keymap "RET" #'outline-show-subtree - "" #'outline-show-subtree)))))) + "" #'outline-show-subtree))))))) (defun outline--fix-up-all-buttons (&optional from to) - (when (outline--use-buttons-p) - (when from - (save-excursion - (goto-char from) - (setq from (line-beginning-position)))) - (outline-map-region - (lambda () - (if (save-excursion - (outline-end-of-heading) - (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) - (overlays-at (point)))) - (outline--insert-close-button) - (outline--insert-open-button))) - (or from (point-min)) (or to (point-max))))) + (let ((buttons-p (outline--use-buttons-p)) + (margins-p (outline--use-margins-p))) + (when (or buttons-p margins-p) + (when from + (save-excursion + (goto-char from) + (setq from (line-beginning-position)))) + (outline-map-region + (lambda () + (if (save-excursion + (outline-end-of-heading) + (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) + (overlays-at (point)))) + (outline--insert-close-button margins-p) + (outline--insert-open-button margins-p))) + (or from (point-min)) (or to (point-max)))))) (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1") --=-=-=--