diff --git a/ChangeLog b/ChangeLog
index 6f682a34..5f54007b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2026-07-06 Bob Weiner Overview and Demo Long
video that covers most of Hyperbole; Hyperlink timestamps to watch each
section Unscripted Hyperbole Demo
+at EmacsATX On-the-fly demo of Hyperbole subsystems, showing broad
+capabilities and how it differs from Org mode. Watch demo from
+timestamps: 00:48 to 32:42. Top 10 ways
@@ -80,6 +85,8 @@ hyperbole.info - online Info browser
-version The Hyperbole package installation places the Info version of this
manual where needed and adds an entry for Hyperbole into the Info
directory under the Emacs category. {C-h h d i} will let you browse the
@@ -443,33 +452,30 @@ Typical Hyperbole applications include: Personal Information Management Personal Information Management Overlapping link paths
+provide a variety of views into an information space. A single key press
+activates buttons regardless of their types, making navigation easy. A search facility locates buttons in context and permits quick
selection. Documentation Browsing Documentation Browsing Embedding cross-references in a
+favorite documentation format. Addition of a point-and-click interface to existing
documentation. Linkage of code and design documents. Jumping to the definition of an
identifier from its use within code or its reference within
documentation. Brainstorming Help/Training Systems Archive Managers Brainstorming Capture of ideas and then quick
+reorganization with the Hyperbole Koutliner. Link to related ideas,
+eliminating the need to copy and paste information into a single
+place. Help/Training Systems Creation of tutorials with
+embedded buttons that show students how things work while explaining the
+concepts, e.g. an introduction to UNIX commands. This technique can be
+much more effective than descriptions alone. Archive Managers Supplementation of programs that manage
+archives from incoming information stream, having them add topic-based
+buttons that link to the archive holdings. Users can then search and
+create their own links to archive entries. See the HY-ABOUT file for a description and
@@ -519,13 +525,13 @@ Hyperbole is a wonderful package, I love the feeling of the deep,
well-thought out, poised engineering. It may be from the 90s, but it
feels like a breath of fresh air to me. *** MAN I love Hyperbole!!! Wow! *** I love koutlines. One of the nicest things about Hyperbole is that it's available
@@ -542,7 +548,7 @@ Videos
Videos
Articles
+
-hyperbole.html - web version
-hyperbole.pdf - printable version
-hyperbole.texi - source versionImportant Features
Hyperbole Uses
-
-Overlapping link paths provide a variety of views into an information
-space. A single key press activates buttons regardless of their types,
-making navigation easy.
-Embedding cross-references in a favorite documentation format.
-Capture of ideas and then quick reorganization with the Hyperbole
-Koutliner. Link to related ideas, eliminating the need to copy and paste
-information into a single place.
-Creation of tutorials with embedded buttons that show students how
-things work while explaining the concepts, e.g. an introduction to UNIX
-commands. This technique can be much more effective than descriptions
-alone.
-Supplementation of programs that manage archives from incoming
-information stream, having them add topic-based buttons that link to the
-archive holdings. Users can then search and create their own links to
-archive entries.Files
User Quotes
+ -- de_sonnaz on reddit -- de_sonnaz on reddit -- Ken Olstad
+ -- Ken Olstad
Cheyenne Software, Inc.
-- Bob Glickstein
+ -- Bob Glickstein
Z-Code Software Corporation
User Quotes
responsive. There's plenty more functionality that I haven't uncovered
yet but due to the ease of installation and the quality of the
documentation, digging into it is actually fun.
-- Aditya Siram
+ -- Aditya Siram
GNU Hyperbole is a game-changer for your mental model of information management and personal productivity. Even if you don't use it you @@ -573,7 +579,7 @@
-- Chris Nuzum
+ -- Chris Nuzum
Co-founder, Traction Softwarea, Inc.
I've found Hyperbole (in conjunction with XEmacs) to be very useful
@@ -586,7 +592,7 @@
User Quotes
another program that converts the file to HTML (not perfect, but
adequate), so I can put any aspect of development on our internal web
for others to see.
- -- Farzin Guilak
+ -- Farzin Guilak
Protocol Systems, Inc., Engineer
I am blind and have been using Hyperbole since 1992. I used to use a
@@ -602,7 +608,7 @@
User Quotes
comment. This is very, very useful.
The Hyperbole Koutliner, which I find a very useful tool. I've
implemented Emacspeak extensions to support it.
- -- TV Raman
+ -- TV Raman
Google Inc.
@@ -622,7 +628,7 @@ User Quotes
Other than that, I keep a global button file with 30 or so explicit
buttons that do various little things, and I index saved mail messages
by putting explicit link-to-mail buttons in an outline file.
- -- Ken Olstad
+ -- Ken Olstad
Cheyenne Software, Inc.
In general, Hyperbole is an embeddable, highly extensible hypertext
@@ -654,7 +660,7 @@
User Quotes
Other desktop organization tasks: including links to various mail
folders, saved newsgroup conversation threads, online note-taker,
emacs-command invocations, etc.
- -- Dadong Wan
+ -- Dadong Wan
University of Hawaii
@@ -666,18 +672,18 @@ User Quotes
buttons in it is a very powerful capability. Using ange-ftp mode, one
can make file references "across the world" as easily as normal file
references.
- -- Mark Eichin
+ -- Mark Eichin
Cygnus Support
I just wanted to say how much I enjoy using the Hyperbole Koutliner.
It is a great way to quickly construct very readable technical documents
that I can pass around to others. Thanks for the great work.
- -- Jeff Fried
+ -- Jeff Fried
Informix
The Hyperbole system provides a nice interface to exploring corners
of Unix that I didn't know existed before.
- -- Craig Smith
+ -- Craig Smith
Why was Hyperbole developed?
Hyperbole was originally designed to aid in research aimed at
Personalized Information production/retrieval Environments (PIEs).
diff --git a/README.toc.md b/README.toc.md
index 0231bc28..ce70ff0d 100644
--- a/README.toc.md
+++ b/README.toc.md
@@ -7,6 +7,8 @@
send us a thank you or a testimonial describing your usage if you like
Hyperbole to [rsw@gnu.org](mailto:rsw@gnu.org)].
+
+
- [GNU Hyperbole 9.0.2pre - The Everyday Hypertextual Information Manager](#gnu-hyperbole-902pre---the-everyday-hypertextual-information-manager)
- [Reference Manual](#reference-manual)
- [Videos](#videos)
@@ -14,6 +16,7 @@
- [Summary](#summary)
- [Installation](#installation)
- [Invocation](#invocation)
+ - [Hyperbole Manual](#hyperbole-manual)
- [Mailing Lists](#mailing-lists)
- [Ftp and Git Repository Downloads](#ftp-and-git-repository-downloads)
- [Hyperbole Components](#hyperbole-components)
@@ -25,6 +28,8 @@
- [User Quotes](#user-quotes)
- [Why was Hyperbole developed?](#why-was-hyperbole-developed)
+
+

## Reference Manual
@@ -47,10 +52,14 @@ otherwise, skip to the next section.
Long video that covers most of Hyperbole;
Hyperlink timestamps to watch each section
+ - [Unscripted Hyperbole Demo at EmacsATX](https://youtu.be/iuwn8GpRj7w)
+ On-the-fly demo of Hyperbole subsystems, showing broad capabilities and
+ how it differs from Org mode. Watch demo from timestamps: 00:48 to 32:42.
+
- [Quick Introduction](https://youtu.be/K1MNUctggwI)
- [Top 10 ways Hyperbole amps up Emacs](https://emacsconf.org/2023/talks/hyperamp/)
-
+
- [Introduction to Buttons](https://youtu.be/zoEht66N2PI)
- [Linking Personal Info with Implicit Buttons](https://emacsconf.org/2022/talks/buttons/)
@@ -60,19 +69,21 @@ otherwise, skip to the next section.
- [HyRolo, fast contact/hierarchical record viewer](https://youtu.be/xdJGFdgKPFY)
- [Using Koutline for stream of thought journaling](https://emacsconf.org/2023/talks/koutline/)
-
+
- [Build a Zettelkasten with HyRolo](https://emacsconf.org/2022/talks/rolodex/)
- [HyControl, fast Emacs frame and window manager](https://youtu.be/M3-aMh1ccJk)
- [Writing test cases for GNU Hyperbole](https://emacsconf.org/2023/talks/test/)
-
+
- [Find/Web Search](https://youtu.be/8lMlJed0-OM)
- [Linking personal info with implicit buttons](https://youtu.be/TQ_fG7b1iHI)
## Articles
+ - [The Emacs Hyperbole](https://mike.hostetlerhome.com/emacs-hyperbole)
+
- [HyWiki: My Favorite Part of Hyperbole](https://kirankp.com/blog/gnu-hyperbole/)
- [Hyperbole VisionQuest Part 1](https://github.com/termitereform/JunkPile/blob/master/HyperboleNotes.org)
@@ -207,7 +218,7 @@ start moving further, faster.
Once you have Emacs set up at your site, GNU Hyperbole may be
installed by using the Emacs Package Manager. If you are not
familiar with it, see the Packages section of the GNU Emacs Manual,
-[Emacs Packages](https://www.gnu.org/software/emacs/manual/html_node/emacs/Packages.html).
+[Emacs Packages](https://www.gnu.org/software/emacs/manual/html_node/emacs/Packages.html).
If you have Hyperbole 5.10 or higher already installed and simply want to
upgrade it, invoke the Emacs Package Manager with {M-x list-packages RET},
@@ -229,6 +240,9 @@ Below are the lines to add:
(package-refresh-contents)
(package-install 'hyperbole))
(hyperbole-mode 1)
+ ;; Allow HyWikiWords in text buffers and programming buffer comments
+ ;; by uncommenting the next line.
+ ;; (hywiki-mode :all)
----
@@ -283,10 +297,10 @@ Hyperbole also includes the Hyperbole Manual, a full reference manual,
not a simple introduction. It is included in the "man/" subdirectory
of the Hyperbole package directory in four forms:
-[hyperbole.info](man/hyperbole.info) - online Info browser version
-[hyperbole.html](man/hyperbole.html) - web version
-[hyperbole.pdf](man/hyperbole.pdf) - printable version
-[hyperbole.texi](man/hyperbole.texi) - source version
+[hyperbole.info](man/hyperbole.info) - online Info browser version
+[hyperbole.html](man/hyperbole.html) - web version
+[hyperbole.pdf](man/hyperbole.pdf) - printable version
+[hyperbole.texi](man/hyperbole.texi) - source version
The Hyperbole package installation places the Info version of this manual
where needed and adds an entry for Hyperbole into the Info directory under
@@ -339,7 +353,7 @@ Hyperbole consists of six parts:
automatically recognized within text that perform actions,
e.g. bug#24568 displays the bug status information for that bug
number.
-
+
These actions may be links or arbitrary Lisp expressions. So
for example, you could create your own button type of
Wikipedia searches that jumped to the named Wikipedia page
@@ -419,7 +433,7 @@ to a file or executing a shell command.
There are three categories of Hyperbole buttons:
1. *Explicit Buttons*
- created by Hyperbole, accessible from within a single document;
+ created by Hyperbole, accessible from within a single document;
2. *Global Buttons*
created by Hyperbole, accessible anywhere within a user's
@@ -473,7 +487,7 @@ Some of Hyperbole's most important features include:
Typical Hyperbole applications include:
- - *Personal Information Management*
+ - *Personal Information Management*
Overlapping link paths provide a variety of views into an
information space. A single key press activates buttons
regardless of their types, making navigation easy.
@@ -481,7 +495,7 @@ Typical Hyperbole applications include:
A search facility locates buttons in context and permits quick
selection.
- - *Documentation Browsing*
+ - *Documentation Browsing*
Embedding cross-references in a favorite documentation format.
Addition of a point-and-click interface to existing documentation.
@@ -490,18 +504,18 @@ Typical Hyperbole applications include:
of an identifier from its use within code or its reference within
documentation.
- - *Brainstorming*
+ - *Brainstorming*
Capture of ideas and then quick reorganization with the Hyperbole
Koutliner. Link to related ideas, eliminating the need to copy
and paste information into a single place.
- - *Help/Training Systems*
+ - *Help/Training Systems*
Creation of tutorials with embedded buttons that show students how
things work while explaining the concepts, e.g. an introduction
to UNIX commands. This technique can be much more effective than
descriptions alone.
- - *Archive Managers*
+ - *Archive Managers*
Supplementation of programs that manage archives from incoming
information stream, having them add topic-based buttons that
link to the archive holdings. Users can then search and create
@@ -563,19 +577,19 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
well-thought out, poised engineering. It may be from the 90s, but it
feels like a breath of fresh air to me.
- -- de_sonnaz on reddit
+ -- de_sonnaz on reddit
\*\*\* MAN I love Hyperbole!!! Wow! \*\*\*
- -- Ken Olstad
+ -- Ken Olstad
Cheyenne Software, Inc.
-------
I *love* koutlines.
- -- Bob Glickstein
+ -- Bob Glickstein
Z-Code Software Corporation
-------
@@ -596,7 +610,7 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
but due to the ease of installation and the quality of the documentation,
digging into it is actually fun.
- -- Aditya Siram
+ -- Aditya Siram
-------
@@ -632,7 +646,7 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
useful set of power tools. If Emacs is your preferred productivity
environment, it's definitely worth getting familiar with it.
- -- Chris Nuzum
+ -- Chris Nuzum
Co-founder, Traction Softwarea, Inc.
-------
@@ -649,7 +663,7 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
perfect, but adequate), so I can put any aspect of development on
our internal web for others to see.
- -- Farzin Guilak
+ -- Farzin Guilak
Protocol Systems, Inc., Engineer
-------
@@ -672,7 +686,7 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
4. The Hyperbole Koutliner, which I find a very useful tool. I've
implemented Emacspeak extensions to support it.
- -- TV Raman
+ -- TV Raman
Google Inc.
-------
@@ -695,7 +709,7 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
that do various little things, and I index saved mail messages by putting
explicit link-to-mail buttons in an outline file.
- -- Ken Olstad
+ -- Ken Olstad
Cheyenne Software, Inc.
-------
@@ -727,12 +741,12 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
* Organizing and viewing online documentation: using Hyperbole along with
Hyper-man and Info makes it truly easy to look up online documentation.
-
+
* Other desktop organization tasks: including links to various mail
folders, saved newsgroup conversation threads, online note-taker,
emacs-command invocations, etc.
- -- Dadong Wan
+ -- Dadong Wan
University of Hawaii
-------
@@ -745,15 +759,15 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
in it is a very powerful capability. Using ange-ftp mode, one can make
file references "across the world" as easily as normal file references.
- -- Mark Eichin
+ -- Mark Eichin
Cygnus Support
-------
I just wanted to say how much I enjoy using the Hyperbole Koutliner.
It is a great way to quickly construct very readable technical documents
- that I can pass around to others. Thanks for the great work.
+ that I can pass around to others. Thanks for the great work.
- -- Jeff Fried
+ -- Jeff Fried
Informix
-------
@@ -761,7 +775,7 @@ default context-sensitive Hyperbole key bindings (Smart Keys).
The Hyperbole system provides a nice interface to exploring corners of
Unix that I didn't know existed before.
- -- Craig Smith
+ -- Craig Smith
## Why was Hyperbole developed?
diff --git a/hycontrol.el b/hycontrol.el
index 0645b80d..f3983b18 100644
--- a/hycontrol.el
+++ b/hycontrol.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 1-Jun-16 at 15:35:36
-;; Last-Mod: 31-Dec-25 at 16:02:19 by Mats Lidell
+;; Last-Mod: 4-Jul-26 at 21:39:44 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -476,21 +476,26 @@ for it to be omitted by `list-buffers'."
;;; ************************************************************************
(defvar hycontrol--frames-prompt-format
- (concat "FRAMES: (h=heighten, s=shorten, w=widen, n=narrow, %%/H/W=screen %%age, arrow=move frame) by %d unit%s, .=clear units\n"
- ;; d/^/D=delete/iconify frame/others - iconify left out due to some bug on macOS (see comment near ^ below)
- "a/A=cycle adjust width/height, d/D=delete frame/others, o/O=other win/frame, I/J/K/M=to frame, [/]=create frame, (/)=save/restore fconfig\n"
- "@=grid of wins, f/F=clone/move win to new frame, -/+=minimize/maximize frame, ==frames same size, u/b/~=un/bury/swap bufs\n"
- "Frame to edges: c=cycle, i/j/k/m=expand/contract, p/num-keypad=move; z/Z/X=zoom out/in/reset, t=to WINDOWS mode, Q=quit")
+ (concat "FRAMES: (h=heighten, s=shorten, w=widen, n=narrow, %%/H/W=screen %%age, arrow=move frame) by %d unit%s\n"
+ " .=clear units, a/A=cycle frame width/height\n"
+ ;; d/^/D=delete/iconify frame/others - iconify left out due to some bug on macOS (see comment near ^ below)
+ " d/D=delete frame/others, o/O=other win/frame, I/J/K/M=to frame\n"
+ " [/]=create frame, (/)=save/restore fconfig, @=grid of wins\n"
+ " f/F=clone/move win to new frame, -/+=minimize/maximize frame, ==frames same size\n"
+ " u/b/~=un/bury/swap bufs, z/Z/X=zoom txt out/in/reset, t=to WINDOWS mode, Q=quit\n"
+ "Frame to edges: c=cycle, i/j/k/m=expand/contract, p/num-keypad=move")
"HyControl frames-mode minibuffer prompt string to pass to format.
Format it with 2 arguments: `prefix-arg' and a plural string indicating if
`prefix-arg' is not equal to 1.")
(defvar hycontrol--windows-prompt-format
- (concat
- "WINDOWS: (h=heighten, s=shorten, w=widen, n=narrow, arrow=move frame) by %d unit%s, .=clear units\n"
- "a/A=cycle adjust frame width/height, d/D=delete win/others, o/O=other win/frame, I/J/K/M=to window, [/]=split win atop/sideways, (/)=save/restore wconfig\n"
- "@=grid of wins, f/F=clone/move win to new frame, -/+=minimize/maximize win, ==wins same size, u/b/~=un/bury/swap bufs\n"
- "Frame to edges: c=cycle, i/j/k/m=expand/contract, p/num-keypad=move; z/Z/X=zoom out/in/reset, t=to FRAMES mode, Q=quit")
+ (concat "WINDOWS: (h=heighten, s=shorten, w=widen, n=narrow, arrow=move frame) by %d unit%s\n"
+ " .=clear units, a/A=cycle frame width/height\n"
+ " d/D=delete win/others, o/O=other win/frame, I/J/K/M=to window\n"
+ " [/]=split win atop/sideways, (/)=save/restore wconfig, @=grid of wins\n"
+ " f/F=clone/move win to new frame, -/+=minimize/maximize win, ==wins same size\n"
+ " u/b/~=un/bury/swap bufs, z/Z/X=zoom out/in/reset, t=to FRAMES mode, Q=quit\n"
+ "Frame to edges: c=cycle, i/j/k/m=expand/contract, p/num-keypad=move")
"HyControl windows-mode minibuffer prompt string to pass to format.
Format it with 2 arguments: `prefix-arg' and a plural string indicating if
`prefix-arg' is not equal to 1.")
@@ -902,7 +907,11 @@ that function, use \"zoom-frm.el\" if available."
(hycontrol-user-error hycontrol-debug "(HyControl): Zooming requires separate \"zoom-frm.el\" Emacs Lisp library installation"))
(require 'zoom-frm)
(dolist (fr (visible-frame-list))
- (zoom-frm-unzoom fr))))
+ (condition-case nil
+ (zoom-frm-unzoom fr)
+ (error
+ (message "Frame is not zoomed")
+ (sit-for 2))))))
(defun hycontrol-make-frame ()
"Create a new frame with the same size and selected buffer as the selected frame.
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 532f8e97..4b6874ec 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -4,7 +4,7 @@