[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/dired-preview 6673bb1cd3 67/67: Update to version 0.1.0
From: |
ELPA Syncer |
Subject: |
[elpa] externals/dired-preview 6673bb1cd3 67/67: Update to version 0.1.0 |
Date: |
Sat, 8 Jul 2023 15:57:56 -0400 (EDT) |
branch: externals/dired-preview
commit 6673bb1cd3f130ecb63641ea2510b38748bfcec3
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Update to version 0.1.0
---
CHANGELOG.org | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
README.org | 2 +-
dired-preview.el | 2 +-
3 files changed, 153 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.org b/CHANGELOG.org
new file mode 100644
index 0000000000..b89caa5378
--- /dev/null
+++ b/CHANGELOG.org
@@ -0,0 +1,151 @@
+#+TITLE: Change log of dired-preview.el
+#+AUTHOR: Protesilaos Stavrou
+#+EMAIL: info@protesilaos.com
+#+OPTIONS: ':nil toc:nil num:nil author:nil email:nil
+
+This document contains the release notes for each tagged commit on the
+project's main git repository: <https://git.sr.ht/~protesilaos/dired-preview>.
+
+The newest release is at the top. For further details, please consult
+the manual: <https://protesilaos.com/emacs/dired-preview>.
+
+* 0.1.0
+:PROPERTIES:
+:CUSTOM_ID: h:99cbb3dd-a0f1-4d2b-a945-58531f4ab189
+:END:
+
+The ~dired-preview~ package was in a public testing phase from DATE
+until today. In the meantime, lots of changes have been made in the
+interest of usability and robustness.
+
+** Global and buffer-local modes
+:PROPERTIES:
+:CUSTOM_ID: h:598de101-5c1f-4fbd-8f27-709375d8950b
+:END:
+
+The ~dired-preview-mode~ is a local minor mode, while
+~dired-preview-global-mode~ is its global counterpart. Both only take
+effect in Dired buffers.
+
+The idea for a global and a local mode is to empower the user to
+toggle the functionality on demand, such as when they are in a meeting
+and want to disable/enable previews in a given context.
+
+During the development phase, I had made an error regarding the scope
+of what should be a local minor mode. Thanks to Christian Tietze for
+pointing it out:
<https://lists.sr.ht/~protesilaos/general-issues/%3Cm1zg4noej2.fsf%40christiantietze.de%3E>.
+
+** Preview delay runs on an idle timer
+:PROPERTIES:
+:CUSTOM_ID: h:b80cc550-24ee-4817-be8c-c24c5e98e4c2
+:END:
+
+Originally, previews would run on a timer that would block Emacs.
+Whereas we now arrange to only trigger a preview when Emacs is idle
+for a customisable amount of seconds. Refer to the user option
+~dired-preview-delay~.
+
+** Trigger a preview in the post-command phase
+:PROPERTIES:
+:CUSTOM_ID: h:c298121a-5ba4-408b-b063-14022c307c47
+:END:
+
+In the original design, previews were triggered by bespoke
+~dired-preview~ commands that were remapped to =n= and =p= in Dired
+buffers. This had several downsides, namely, (i) the other motions
+would not pick up the trigger, (ii) we would have to remap all
+possible motions, and (iii) the code was needlessly complex.
+
+Currently, we install a local hook in the post-command phase, which
+will trigger a preview if the previous command was a Dired motion. In
+future versions, we may expand the list of commands that we check for.
+
+Thanks to Peter Prevos for reporting this in issue 1 on the GitHub
+mirror: <https://github.com/protesilaos/dired-preview/issues/1>.
+
+Thanks to Christian Tietze and Ed Hamilton for discussing this topic
+with me on the mailing list:
+<https://lists.sr.ht/~protesilaos/general-issues/%3Cm1zg4noej2.fsf%40christiantietze.de%3E>.
+Commit ae93720 by Christian Tietze is based on this discussion,
+although the implementation details have since been redone.
+
+During the development phase, I had made the mistake of checking the
+~last-command~, whereas I should be testing against the
+~this-command~. Thanks to Karthik Chikmagalur for pointing out my
+error:
+<https://lists.sr.ht/~protesilaos/general-issues/%3C87sfab8ixn.fsf%40gmail.com%3E>.
+
+** The placement of the preview window is customisable
+:PROPERTIES:
+:CUSTOM_ID: h:3033401f-878d-4298-9256-228d6c249b3a
+:END:
+
+We arrange to display previews in a side window. Due to the inherent
+complexity of the ~display-buffer~ function and its accoutrements, a
+user option is necessarily reserved for experienced users. To this
+end, we provide the ~dired-preview-display-action-alist-function~.
+Refer to the ~dired-preview-display-action-alist-dwim~ function for
+the implementation details.
+
+Thanks to Karthik Chikmagalur for making an initial suggestion about
+such a feature:
+<https://lists.sr.ht/~protesilaos/general-issues/%3C87jzvp484n.fsf%40gmail.com%3E>
+
+Thanks to Bruno Boal for discussing the user option and concomitant
+function with me and for checking the relevant definitions. This was
+done via a private channel and the information is shared with
+permission.
+
+** Window placement and deletion is more robust
+:PROPERTIES:
+:CUSTOM_ID: h:06e6249d-8755-450e-b65e-b8f999d982a4
+:END:
+
+The idea of "preview" windows is that they are not ordinary windows
+that the user can interact with. As such, they are to be deleted when
+some non-preview mode of action is taken.
+
+Testing for such cases was extensive and required lots of changes to
+the code base. Thanks to Bruno Boal for performing the tests with me,
+for brainstorming possible solutions, and for inspecting the
+implementation details. This was done via a private channel and the
+information is shared with permission.
+
+** We no longer try to preview irregular files
+:PROPERTIES:
+:CUSTOM_ID: h:a2ee3d09-7356-465c-8627-bdc56e9ec303
+:END:
+
+Before, ~dired-preview~ would attempt to produce a preview of named
+pipes and sockets. This was not intended and has since been
+addressed. Use 'file-regular-p' instead of 'file-exists-p'
+
+Thanks to Karthik Chikmagalur for bringing this matter to my attention
+and for recommending the use of ~file-regular-p~ instead of
+~file-exists-p~:
+<https://lists.sr.ht/~protesilaos/general-issues/%3C87pm5cnpaf.fsf%40gmail.com%3E>.
+
+** Preview buffers are killed up to a cumulative size threshold
+:PROPERTIES:
+:CUSTOM_ID: h:d8ba0949-76b0-4d3a-b0f3-1bfb62280483
+:END:
+
+In the original design, we were killing preview buffers all at once.
+This was wasteful because all the work we were doing in the background
+to, for example, fetch a large file was discarded even though the user
+could theoretically request another preview of it.
+
+The current approach is to keep around the newer buffers in order to
+speed up potential requests for another preview. Older buffers are
+discarded starting from the oldest. The clearance of older buffers is
+done until we reach a cumulative size of what is specified as the
+value of the variable ~dired-preview--buffers-threshold~.
+
+Note that the symbol includes double dashes, meaning that it is
+intended for "private" (internal) purposes. I am mentioning it here,
+because this seems like a good candidate for a future user option,
+subject to further refinements.
+
+Thanks to Bruno Boal for suggesting this idea and checking its
+implementation with me. This was done via a private channel and the
+information is shared with permission.
diff --git a/README.org b/README.org
index 3613a76d20..b6459f283d 100644
--- a/README.org
+++ b/README.org
@@ -5,7 +5,7 @@
#+options: ':t toc:nil author:t email:t num:t
#+startup: content
#+macro: stable-version 0.1.0
-#+macro: release-date N/A
+#+macro: release-date 2023-07-08
#+macro: development-version 0.2.0-dev
#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
#+macro: space @@texinfo:@: @@
diff --git a/dired-preview.el b/dired-preview.el
index 3e03d6da20..460434f131 100644
--- a/dired-preview.el
+++ b/dired-preview.el
@@ -5,7 +5,7 @@
;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/dired-preview
;; Mailing-List: https://lists.sr.ht/~protesilaos/general-issues
-;; Version: 0.0.0
+;; Version: 0.1.0
;; Package-Requires: ((emacs "27.1"))
;; Keywords: files, convenience
- [elpa] externals/dired-preview 6bdcc34f68 52/67: Use "below" instead of "bottom" for direction, (continued)
- [elpa] externals/dired-preview 6bdcc34f68 52/67: Use "below" instead of "bottom" for direction, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 22f44d083c 10/67: Clear previewed buffers after they are killed, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 91fc74d122 49/67: Stop using a side window for previews, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 24bf5bce79 50/67: Add FIXME for dired-preview-display-action-alist-dwim, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 53ebf5d655 51/67: Change how window size is determined (fix 24bf5bc), ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 0fa9aab1df 53/67: Add FIXME for how/why window parameters are unset, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview ea643a8912 54/67: Simplify dired-preview-trigger, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 4010cc9987 60/67: Implement garbage collection for buffer killing, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 4b89363599 61/67: Delete preview windows, including the selected one, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 98815455cb 65/67: Simplify README.md, pointing to the manual instead (per 33a27a6), ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 6673bb1cd3 67/67: Update to version 0.1.0,
ELPA Syncer <=
- [elpa] externals/dired-preview 4da6ee04bf 12/67: Make the display-buffer action alist customisable, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview f2a720ca8f 13/67: Update dired-preview-set-up-preview-window doc to reference user option, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 04bfb749c7 22/67: Move two forms closer to where they are used, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 4857868357 33/67: Harden dired-preview--close-previews-outside-dired conditionality, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 38fab3d419 38/67: Use 'file-regular-p' instead of 'file-exists-p', ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview f6bb0e3271 44/67: Add TODO to only accummulate a fixed size of buffers, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 00ab2337ca 46/67: Stop adding 'no-other-window' parameter, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview bac80501c8 55/67: Use 'unless' in dired-preview--close-previews-outside-dired, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview d9b779e2da 58/67: Use "-get" instead of "-return" in function symbols, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 7413c6f59a 62/67: Define dired-preview-global-mode, ELPA Syncer, 2023/07/08