emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hyperbole bc0c4f74af 2/3: Expand window grids to file g


From: ELPA Syncer
Subject: [elpa] externals/hyperbole bc0c4f74af 2/3: Expand window grids to file glob patterns, file and buffer lists
Date: Sun, 23 Jan 2022 03:57:46 -0500 (EST)

branch: externals/hyperbole
commit bc0c4f74af00f423241999fdb07385409750c7f8
Author: Robert Weiner <rsw@gnu.org>
Commit: Robert Weiner <rsw@gnu.org>

    Expand window grids to file glob patterns, file and buffer lists
---
 ChangeLog          |  11 ++++++++
 HY-NEWS            |   5 +++-
 README.md          |   4 +--
 hbut.el            |  10 +++----
 hycontrol.el       |  59 +++++++++++++++++++++++++++++++++--------
 man/hyperbole.html |  75 ++++++++++++++++++++++++++++++++++++++++-------------
 man/hyperbole.info | Bin 573588 -> 574994 bytes
 man/hyperbole.pdf  | Bin 1326832 -> 1327957 bytes
 man/hyperbole.texi |  62 +++++++++++++++++++++++++++++++------------
 9 files changed, 173 insertions(+), 53 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4556312712..bf7b847d10 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2022-01-22  Bob Weiner  <rsw@gnu.org>
+
+* hycontrol.el (hycontrol-windows-grid-by-file-pattern): Add this command that 
creates
+    a windows grid from a glob file pattern.  Bound to {C--1 C-c @}.
+               (hycontrol-windows-grid-by-buffer-list):  Add this function 
which takes
+    a list of buffers and displays them in a windows grid.
+               (hycontrol-windows-grid-by-file-list): Add this function which 
takes
+    a list of files and displays them in a windows grid.
+  man/hyperbole.texi (Default Hyperbole Bindings, HyControl):
+  HY-NEWS (HYCONTROL): Document new above command.
+
 * kotl/kotl-mode.el (kotl-mode:set-or-remove-cell-attribute): Change to support
     0 root cell attribute set or remove via prefix arg.
   kotl/EXAMPLE.kotl: Update 'Cell Attributes' description with the above 
change.
diff --git a/HY-NEWS b/HY-NEWS
index 3ad223f923..8b28c826a5 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -205,7 +205,6 @@
 
     - Koutlines have a hidden top-level root cell 0 that allows referring
       to the whole outline as a tree.  Now attributes of this cell can be
-      set or retrieved like any other cell.
       set, retrieved or removed like any other cell.
 
       {C-c h} prompts for a kcell id and displays its attributes.
@@ -598,6 +597,10 @@
       there are two or more frames regardless of how many windows in each.  See
       "DEMO#Swapping Buffers".
 
+    - Windows Grid by File Pattern: {C--1 C-c @} prompts for a glob-type file 
pattern,
+      finds all the matching files and then displays them in an auto-sized 
windows grid
+      based on the number of files.
+
   HYROLO
 
     - Hyrolo Add: Fixed new entry addition to add in sorted order and make 
logic
diff --git a/README.md b/README.md
index e38ac64f3e..d1bef98b3a 100644
--- a/README.md
+++ b/README.md
@@ -196,8 +196,8 @@ can be safely ignored and have no impact on Hyperbole's 
performance.
 
 Once Hyperbole has been installed for use at your site and loaded into your
 Emacs session, it is ready for use.  You will see a Hyperbole menu on your
-menubar and {C-h h} will display a Hyperbole menu in the minibuffer for
-quick keyboard-based selection.
+menubar and 'Hypb' in the minor-mode section of your modeline.  {C-h h} will
+display a Hyperbole menu in the minibuffer for quick keyboard-based selection.
 
 You can invoke Hyperbole commands in one of three ways:
 
diff --git a/hbut.el b/hbut.el
index ac2692f5f4..1494e8f113 100644
--- a/hbut.el
+++ b/hbut.el
@@ -787,11 +787,11 @@ Ignore nil valued attributes.  Return t unless no 
attributes are printed."
          (princ (format (concat "   %s:%" len "s%S\n") attr " "
                         (let (str)
                           (cond ((string-match "time" attr)
-                                 (htz:date-unix val
-                                                (and (>= (aref val 0) ?0)
-                                                     (<= (aref val 0) ?9)
-                                                     "GMT") htz:local))
-                                ((and (setq str (if (stringp val) val
+                                 (htz:date-unix val (and (>= (aref val 0) ?0)
+                                                         (<= (aref val 0) ?9)
+                                                         "GMT") htz:local))
+                                ((and (setq str (if (stringp val)
+                                                    val
                                                   (prin1-to-string val)))
                                       (string-match "\\`actypes::" str))
                                  (make-symbol (substring str (match-end 0))))
diff --git a/hycontrol.el b/hycontrol.el
index cbc73ace58..656e02390f 100644
--- a/hycontrol.el
+++ b/hycontrol.el
@@ -1415,6 +1415,8 @@ Menu or IBuffer mode."
       ;; Prepend items to buffer list.
       (apply #'set:create (nconc items (buffer-list (selected-frame)))))))
 
+;;; Split selected frame into a grid of windows given by row and
+;;; column count, displaying different buffers in each window.
 ;;;###autoload
 (defun hycontrol-windows-grid (arg)
   "Display a grid of windows in the selected frame, sized according to prefix 
ARG.
@@ -1424,7 +1426,11 @@ the number of grid columns.
 If ARG is 0, prompt for a major mode whose buffers should be
 displayed first in the grid windows, then prompt for the grid size.
 
-Otherwise, prompt for the grid size if ARG is an invalid size.
+If ARG is < 0, prompt for a glob-type file pattern and display
+files that match the pattern in an auto-sized windows grid.
+
+Otherwise, prompt for the grid size if ARG is an invalid size
+(positive and more than two digits).
 
 With a current buffer in Dired, Buffer Menu or IBuffer mode that
 contains marked items, the buffers associated with those items
@@ -1439,18 +1445,49 @@ Then, if there are not enough buffers for all windows, 
the buffers
 that failed to match to any predicate are used.  In all cases, buffers
 whose names start with a space are ignored.
 
-When done, this resets the persistent prefix argument to 1 to
-prevent following commands from using the often large grid size
+When done, this resets the persistent HyControl prefix argument to 1
+to prevent following commands from using the often large grid size
 argument."
   (interactive "p")
-  (setq arg (abs (prefix-numeric-value (or arg current-prefix-arg))))
-  (if (/= arg 0)
-      (hycontrol-make-windows-grid arg)
-    (setq current-prefix-arg 0)
-    (call-interactively #'hycontrol-windows-grid-by-major-mode)))
+  (setq arg (prefix-numeric-value (or arg current-prefix-arg)))
+  (cond ((> arg 0)
+        (hycontrol-make-windows-grid arg))
+       ((< arg 0)
+        (setq current-prefix-arg nil)
+        (call-interactively #'hycontrol-windows-grid-by-file-pattern))
+       (t
+        (setq current-prefix-arg 0)
+        (call-interactively #'hycontrol-windows-grid-by-major-mode))))
+
+(defun hycontrol-windows-grid-by-buffer-list (buffers)
+  "Display an automatically sized window grid showing list of BUFFERS."
+  (let* ((num-buffers (length buffers))
+        (grid-digit (ceiling (sqrt num-buffers)))
+        (grid-size (+ (* grid-digit 10) grid-digit)))
+    (if (null buffers)
+       (error "(hycontrol-windows-grid-by-buffer-list): No matching buffers")
+      (mapc #'switch-to-buffer (reverse buffers))
+      (hycontrol-make-windows-grid grid-size))))
+
+(defun hycontrol-windows-grid-by-file-list (files)
+  "Display an automatically sized window grid showing list of FILES."
+  (let* ((num-files (length files))
+        (grid-digit (ceiling (sqrt num-files)))
+        (grid-size (+ (* grid-digit 10) grid-digit)))
+    (if (null files)
+       (error "(hycontrol-windows-grid-by-file-list): No matching files")
+      (mapc #'find-file (reverse files))
+      (hycontrol-make-windows-grid grid-size))))
+
+;;;###autoload
+(defun hycontrol-windows-grid-by-file-pattern (pattern &optional full)
+  "Display an automatically sized window grid showing files found from glob 
PATTERN.
+Use absolute file paths if optional FULL is non-nil."
+  (interactive "FPattern of files to display in windows grid: \nP")
+  (let* ((find-file-wildcards t)
+        (files (file-expand-wildcards pattern full)))
+    (hycontrol-windows-grid-by-file-list files)))
 
-;;; Split selected frame into a grid of windows given by row and
-;;; column count, displaying different buffers in each window.
 ;;;###autoload
 (defun hycontrol-windows-grid-by-major-mode (arg mode)
   "Display a grid of windows in the selected frame, sized according to prefix 
ARG, with buffers of major MODE.
@@ -1568,7 +1605,7 @@ See documentation of `hycontrol-windows-grid' for further 
details."
       (error (set-window-configuration wconfig)
             (if (and hycontrol-help-flag (or hycontrol-frames-mode 
hycontrol-windows-mode))
                 (pop-to-buffer "*Messages*"))
-            (error "(HyDebug): %s" err)))))
+            (error "(HyDebug): Grid Size: %d; %s" arg err)))))
 
 
 (defun hycontrol-delete-other-windows ()
diff --git a/man/hyperbole.html b/man/hyperbole.html
index a590376b7f..b29e2a3324 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -370,7 +370,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 8.0.0pre
-Printed January 17, 2022.
+Printed January 22, 2022.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -4682,6 +4682,9 @@ to display.
 <p>If the prefix argument is 0, prompt for a major mode whose buffers
 should be displayed first in the grid windows, then prompt for the grid size.
 </p>
+<p>If the prefix argument is &lt; 0, prompt for a glob-type file pattern and 
display
+files that match the pattern in an auto-sized windows grid.
+</p>
 <p>Otherwise, prompt for the grid size if the prefix argument is an invalid
 size.
 </p>
@@ -4702,11 +4705,19 @@ names start with a space are ignored.
 <p>When done, this resets the persistent prefix argument to 1 to prevent
 following commands from using the often large grid size argument.
 </p>
+<span id="index-hycontrol_002dwindow_002dgrid_002drepeatedly"></span>
 <p>If you ever need to experiment with different sized window grids, use
 <kbd>{M-x hycontrol-window-grid-repeatedly <span 
class="key">RET</span>}</kbd>.  It will
 repeatedly prompt you for a grid size and then display it.  When you
 are done, simply press <kbd>{<span class="key">RET</span>}</kbd> to exit.
 </p>
+<span 
id="index-hycontrol_002dwindows_002dgrid_002dby_002dbuffer_002dlist"></span>
+<span 
id="index-hycontrol_002dwindows_002dgrid_002dby_002dfile_002dpattern"></span>
+<span 
id="index-hycontrol_002dwindows_002dgrid_002dby_002dfile_002dlist"></span>
+<p>Programmatically, there are a number of ways to generate and display a 
windows grid.
+<code>hycontrol-windows-grid-by-file-pattern</code> creates a windows grid 
from a glob file
+pattern.  It is bound to <kbd>{C--1 C-c @}</kbd>.  
<code>hycontrol-windows-grid-by-buffer-list</code> creates a windows grid from 
a list of buffers or buffer names.  
<code>hycontrol-windows-grid-by-file-list</code> creates a windows grid from a 
list of file names.
+</p>
 <span id="index-frame-resize"></span>
 <span id="index-hycontrol_002dframe_002dwidths"></span>
 <span id="index-screen_002c-a"></span>
@@ -6275,9 +6286,9 @@ Next: <a href="#Koutliner-History" accesskey="n" 
rel="next">Koutliner History</a
 
 <span id="index-cell_002c-attribute"></span>
 <span id="index-attribute"></span>
-<p><em>Attributes</em> are named variables whose values are specific to an
-outline cell.  Thus, each cell has its own attribute list.  Every cell
-has three standard attributes:
+<p><em>Attributes</em> are named properties whose values are specific to an
+outline cell.  Thus, each cell, including the invisible 0 root cell,
+has its own attribute list.  Every cell has three standard attributes:
 </p>
 <dl compact="compact">
 <dd><span id="index-idstamp-attribute"></span>
@@ -6307,11 +6318,29 @@ format, such as &lsquo;<samp>Jan 28 18:27:59 CST 
2021</samp>&rsquo;.
 <span id="index-attribute_002c-adding"></span>
 <span id="index-attribute_002c-modifying"></span>
 <span id="index-attribute_002c-removing"></span>
-<p><kbd>{C-c C-i}</kbd> is the command to add an attribute to or to modify an
-existing attribute of the cell at point.  Think of it as inserting an
-attribute value.  To remove an attribute from a cell, set its value to
-&lsquo;<samp>nil</samp>&rsquo;.
+<span id="index-attribute_002c-setting"></span>
+<p><kbd>{C-c C-i}</kbd> adds, modifies or removes an attribute from a cell.
+The prefix argument given to this command determines what it does.
+</p>
+<dl compact="compact">
+<dt><kbd>{C-c C-i}</kbd></dt>
+<dd><p>sets an attribute of the cell at point; setting an attribute&rsquo;s 
value
+to &lsquo;<samp>nil</samp>&rsquo; is the same as removing it.
+</p>
+</dd>
+<dt><kbd>{C-u C-c C-i}</kbd></dt>
+<dd><p>removes an attribute of the cell at point
+</p>
+</dd>
+<dt><kbd>{C-0 C-c C-i}</kbd></dt>
+<dd><p>sets an attribute of the invisible 0 root cell
 </p>
+</dd>
+<dt><kbd>{C--1 C-c C-i}</kbd></dt>
+<dd><p>removes an attribute of the invisible 0 root cell
+</p></dd>
+</dl>
+
 
 <span id="index-attribute_002c-no_002dfill-2"></span>
 <span id="index-cell_002c-no_002dfill-attribute-2"></span>
@@ -6325,14 +6354,12 @@ See <a href="#Filling">Filling</a>.
 </p>
 <span id="index-koutliner_002c-Assist-Key_002c-listing-attributes"></span>
 <span id="index-Assist-Key_002c-listing-attributes"></span>
-<span id="index-listing-attributes"></span>
+<span id="index-attributes_002c-displaying"></span>
+<span id="index-displaying-attributes"></span>
 <span id="index-outline_002c-attribute-list"></span>
 <span id="index-koutliner_002c-C_002dc-h"></span>
-<span id="index-koutliner_002c-C_002du-C_002dc-h"></span>
-<p>The attribute lists for the cells in the tree rooted at point may be
-inspected by pressing the Assist Key within the contents of a cell.
-<kbd>{C-c h}</kbd> prompts for a cell label and displays the cell&rsquo;s
-attributes.  <kbd>{C-u C-c h}</kbd> prompts for a cell label and shows
+<p><kbd>{C-c h}</kbd> prompts for a cell label and displays the cell&rsquo;s
+attributes.  <kbd>{C-u C-c h}</kbd> prompts for a cell label and displays
 the attributes for it and its subtree; use 0 as the kcell id to see
 attributes for all visible cells in the outline.
 </p>
@@ -9231,8 +9258,15 @@ item, <kbd>{C-h h f w}</kbd>, will do the same thing.
 <dd><p>Display a grid of windows in the selected frame, sized according to the
 prefix argument.  The left digit of the argument is the number of grid rows
 and the right digit is the number of grid columns.  The argument is
-prompted for if not given.  This binding is made only if the key is not
-bound prior to loading Hyperbole.
+prompted for if not given.
+</p>
+<p>If the argument is 0, prompt for a major mode whose buffers should be
+displayed first in the grid windows, then prompt for the grid size.
+</p>
+<p>If the argument is &lt; 0, prompt for a glob-type file pattern and display
+files that match the pattern in an auto-sized windows grid.
+</p>
+<p>This binding is made only if the key is not bound prior to loading 
Hyperbole.
 </p>
 <p>For further details, see the <kbd>{@}</kbd> key binding description
 in <a href="#HyControl">HyControl</a>.
@@ -12678,7 +12712,6 @@ Next: <a href="#Function" accesskey="n" 
rel="next">Function</a>, Previous: <a hr
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002dj"><code>koutliner, 
C-j</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Adding-and-Killing">Adding and Killing</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002dM_002dj"><code>koutliner, 
C-M-j</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Filling">Filling</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002dM_002dq"><code>koutliner, 
C-M-q</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Filling">Filling</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002du-C_002dc-h"><code>koutliner, C-u C-c 
h</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002du-C_002dc-k"><code>koutliner, C-u C-c 
k</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Adding-and-Killing">Adding and Killing</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002du-C_002dc-M_002dl"><code>koutliner, C-u C-c 
M-l</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Autonumbering">Autonumbering</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-koutliner_002c-C_002du-C_002dc-s"><code>koutliner, C-u C-c 
s</code></a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Splitting-and-Appending">Splitting and Appending</a></td></tr>
@@ -13209,6 +13242,10 @@ Next: <a href="#Concept-Index" accesskey="n" 
rel="next">Concept Index</a>, Previ
 <tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dkeep_002dwindow_002dflag-1">hycontrol-keep-window-flag</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags 
outside a Window</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dscreen_002doffset_002dalist">hycontrol-screen-offset-alist</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dset_002dscreen_002doffsets"><code>hycontrol-set-screen-offsets</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindow_002dgrid_002drepeatedly"><code>hycontrol-window-grid-repeatedly</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindows_002dgrid_002dby_002dbuffer_002dlist"><code>hycontrol-windows-grid-by-buffer-list</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindows_002dgrid_002dby_002dfile_002dlist"><code>hycontrol-windows-grid-by-file-list</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hycontrol_002dwindows_002dgrid_002dby_002dfile_002dpattern"><code>hycontrol-windows-grid-by-file-pattern</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hypb_003argrep_002dcommand">hypb:rgrep-command</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyperb_003adir">hyperb:dir</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Documentation">Documentation</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyperbole"><code>hyperbole</code></a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Invocation">Invocation</a></td></tr>
@@ -13655,6 +13692,8 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-attribute_002c-no_002dfill-1">attribute, 
no-fill</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Splitting-and-Appending">Splitting and Appending</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-attribute_002c-no_002dfill-2">attribute, 
no-fill</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-attribute_002c-removing">attribute, 
removing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-attribute_002c-setting">attribute, 
setting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-attributes_002c-displaying">attributes, 
displaying</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-Augment">Augment</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Koutliner-History">Koutliner History</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-Augment-1">Augment</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Glossary">Glossary</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Augment-outline">Augment 
outline</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Inserting-and-Importing">Inserting and Importing</a></td></tr>
@@ -13869,6 +13908,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-display-outside-Emacs">display 
outside Emacs</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Referent-Display">Referent Display</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-display-where">display 
where</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Referent-Display">Referent Display</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-DisplayHere-mode">DisplayHere 
mode</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Dired-Mode">Smart Key - Dired Mode</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-displaying-attributes">displaying 
attributes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-distributed-collaboration">distributed 
collaboration</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Koutliner-History">Koutliner History</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-document-identifier">document 
identifier</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-double-click">double 
click</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Argument-Selection">Smart Key Argument Selection</a></td></tr>
@@ -14247,7 +14287,6 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-Lisp-variables-1">Lisp 
variables</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Link-Variable-Substitution">Link Variable Substitution</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-list">list</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Thing-Selection">Thing Selection</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-list-1">list</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited 
Things</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-listing-attributes">listing 
attributes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-locate-files">locate 
files</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-logging-Smart-Key-behavior">logging Smart Key 
behavior</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Debugging">Smart Key Debugging</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-logical-rolo-searches">logical 
rolo searches</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Searching">HyRolo Searching</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 4aa2b930b0..94594ce68d 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index 75071b038e..d8cc2f46d3 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 5192ef4e6a..140b73b602 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -155,7 +155,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 8.0.0pre
-Printed January 17, 2022.
+Printed January 22, 2022.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -197,7 +197,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 8.0.0pre
-January 17, 2022
+January 22, 2022
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -3922,6 +3922,9 @@ to display.
 If the prefix argument is 0, prompt for a major mode whose buffers
 should be displayed first in the grid windows, then prompt for the grid size.
 
+If the prefix argument is < 0, prompt for a glob-type file pattern and display
+files that match the pattern in an auto-sized windows grid.
+
 Otherwise, prompt for the grid size if the prefix argument is an invalid
 size.
 
@@ -3942,11 +3945,19 @@ names start with a space are ignored.
 When done, this resets the persistent prefix argument to 1 to prevent
 following commands from using the often large grid size argument.
 
+@findex hycontrol-window-grid-repeatedly
 If you ever need to experiment with different sized window grids, use
 @bkbd{M-x hycontrol-window-grid-repeatedly @key{RET}}.  It will
 repeatedly prompt you for a grid size and then display it.  When you
 are done, simply press @bkbd{@key{RET}} to exit.
 
+@findex hycontrol-windows-grid-by-buffer-list
+@findex hycontrol-windows-grid-by-file-pattern
+@findex hycontrol-windows-grid-by-file-list
+Programmatically, there are a number of ways to generate and display a windows 
grid.
+@code{hycontrol-windows-grid-by-file-pattern} creates a windows grid from a 
glob file
+pattern.  It is bound to @bkbd{C--1 C-c @@}.  
@code{hycontrol-windows-grid-by-buffer-list} creates a windows grid from a list 
of buffers or buffer names.  @code{hycontrol-windows-grid-by-file-list} creates 
a windows grid from a list of file names.
+
 @cindex frame resize
 @vindex hycontrol-frame-widths
 @kindex screen, a
@@ -5271,9 +5282,9 @@ to one of these if you find any syntax that improperly 
registers as a klink.
 
 @cindex cell, attribute
 @cindex attribute
-@dfn{Attributes} are named variables whose values are specific to an
-outline cell.  Thus, each cell has its own attribute list.  Every cell
-has three standard attributes:
+@dfn{Attributes} are named properties whose values are specific to an
+outline cell.  Thus, each cell, including the invisible 0 root cell,
+has its own attribute list.  Every cell has three standard attributes:
 
 @table @emph
 @cindex idstamp attribute
@@ -5299,10 +5310,24 @@ format, such as @samp{Jan 28 18:27:59 CST 2021}.
 @cindex attribute, adding
 @cindex attribute, modifying
 @cindex attribute, removing
-@bkbd{C-c C-i} is the command to add an attribute to or to modify an
-existing attribute of the cell at point.  Think of it as inserting an
-attribute value.  To remove an attribute from a cell, set its value to
-@samp{nil}.
+@cindex attribute, setting
+@bkbd{C-c C-i} adds, modifies or removes an attribute from a cell.
+The prefix argument given to this command determines what it does.
+
+@table @asis
+@item @bkbd{C-c C-i}
+sets an attribute of the cell at point; setting an attribute's value
+to @samp{nil} is the same as removing it.
+
+@item @bkbd{C-u C-c C-i}
+removes an attribute of the cell at point
+
+@item @bkbd{C-0 C-c C-i}
+sets an attribute of the invisible 0 root cell
+
+@item @bkbd{C--1 C-c C-i}
+removes an attribute of the invisible 0 root cell
+@end table
 
 
 @cindex attribute, no-fill
@@ -5317,14 +5342,12 @@ you from invoking explicit commands that refill the 
cell.
 
 @kindex koutliner, Assist Key, listing attributes
 @cindex Assist Key, listing attributes
-@cindex listing attributes
+@cindex attributes, displaying
+@cindex displaying attributes
 @cindex outline, attribute list
 @kindex koutliner, C-c h
-@kindex koutliner, C-u C-c h
-The attribute lists for the cells in the tree rooted at point may be
-inspected by pressing the Assist Key within the contents of a cell.
 @bkbd{C-c h} prompts for a cell label and displays the cell's
-attributes.  @bkbd{C-u C-c h} prompts for a cell label and shows
+attributes.  @bkbd{C-u C-c h} prompts for a cell label and displays
 the attributes for it and its subtree; use 0 as the kcell id to see
 attributes for all visible cells in the outline.
 
@@ -7905,8 +7928,15 @@ item, @bkbd{C-h h f w}, will do the same thing.
 Display a grid of windows in the selected frame, sized according to the
 prefix argument.  The left digit of the argument is the number of grid rows
 and the right digit is the number of grid columns.  The argument is
-prompted for if not given.  This binding is made only if the key is not
-bound prior to loading Hyperbole.
+prompted for if not given.
+
+If the argument is 0, prompt for a major mode whose buffers should be
+displayed first in the grid windows, then prompt for the grid size.
+
+If the argument is < 0, prompt for a glob-type file pattern and display
+files that match the pattern in an auto-sized windows grid.
+
+This binding is made only if the key is not bound prior to loading Hyperbole.
 
 For further details, see the @bkbd{@@} key binding description
 in @ref{HyControl}.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]