[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 450688e 39/53: Corrected mouse-position and m
From: |
Robert Weiner |
Subject: |
[elpa] externals/hyperbole 450688e 39/53: Corrected mouse-position and mouse-pixel-position to return selected frame; added key sequences with args support. |
Date: |
Wed, 15 Nov 2017 22:47:06 -0500 (EST) |
branch: externals/hyperbole
commit 450688e0425303ebd06a092ee671490313ea12f5
Author: Bob Weiner <address@hidden>
Commit: Bob Weiner <address@hidden>
Corrected mouse-position and mouse-pixel-position to return selected frame;
added key sequences with args support.
* hib-kbd.el (kbd-key:special-sequence-p): Added and used in implicit
button type kbd-key and kbd-key:act.
(kbd-key:key-and-arguments): Added to allow for key sequences
with interactive arguments and
added an example in DEMO.
* hui-mini.el (hui:menus):
hui-menu.el (hui-menu-key-bindings): Added Find Web and Jump Thing key
binding change entries.
* hyperbole.el (mouse-position-function): Added this setting to make
mouse-position and mouse-pixel-position
always return the selected frame.
* hsettings.el (helm-allow-mouse): Changed to require Hyperbole-modified
branch of Helm named global_mouse
and set helm-allow-mouse to the proper value of 'global-mouse-bindings.
---
Changes | 13 +++++++++
DEMO | 6 ++--
hib-kbd.el | 84 +++++++++++++++++++++++++++++++++--------------------
hsettings.el | 18 ++++++++----
hui-menu.el | 18 +++++++-----
hui-mini.el | 18 +++++++-----
hyperbole.el | 9 ++++++
man/hyperbole.html | 24 +++++++++------
man/hyperbole.info | Bin 474100 -> 474198 bytes
man/hyperbole.pdf | Bin 824446 -> 824491 bytes
man/hyperbole.texi | 21 +++++++++-----
11 files changed, 138 insertions(+), 73 deletions(-)
diff --git a/Changes b/Changes
index f62427c..25a5a88 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,18 @@
2017-11-01 Bob Weiner <address@hidden>
+* hib-kbd.el (kbd-key:special-sequence-p): Added and used in implicit button
type kbd-key and kbd-key:act.
+ (kbd-key:key-and-arguments): Added to allow for key sequences
with interactive arguments and
+ added an example in DEMO.
+
+* hui-mini.el (hui:menus):
+ hui-menu.el (hui-menu-key-bindings): Added Find Web and Jump Thing key
binding change entries.
+
+* hyperbole.el (mouse-position-function): Added this setting to make
mouse-position and mouse-pixel-position
+ always return the selected frame.
+
+* hsettings.el (helm-allow-mouse): Changed to require Hyperbole-modified
branch of Helm named global_mouse
+ and set helm-allow-mouse to the proper value of 'global-mouse-bindings.
+
* man/hyperbole.texi (Version): Updated to 6.0.2g and rebuilt output formats.
* hui-window.el (hmouse-prior-active-region): Changed to call use-region-p
rather than active-region-p, for a tighter test.
diff --git a/DEMO b/DEMO
index 7134893..f3cdb6f 100644
--- a/DEMO
+++ b/DEMO
@@ -289,9 +289,9 @@ them.
Any Emacs key sequence delimited with curly braces is an implicit button.
Press the Action Key with {C-u C-p} for example and the point should move
four lines upward. An Assist Key press on the key sequence displays the
-documentation for its command binding, i.e. what it does. If it does not
-represent a bound key sequence, it will not be treated as a key sequence
-button.
+documentation for its command binding, i.e. what it does. Key sequences
+together with the arguments their commands prompt for also may be given,
+e.g. {M-x apropos RET hyperbole RET}. Click in the braces to try it out.
Hyperbole minibuffer menu items may also be activated as key sequences. For
example, {C-h h d i} displays the online browsable Info version of the
diff --git a/hib-kbd.el b/hib-kbd.el
index 8cbd445..2ddccb4 100644
--- a/hib-kbd.el
+++ b/hib-kbd.el
@@ -57,10 +57,8 @@ Forms such as {\C-b}, {\^b}, and {^b} will not be
recognized."
(not (eq key-sequence "")))
(setq key-sequence (kbd-key:normalize key-sequence)
binding (key-binding key-sequence)))
- (and (cond (binding (not (integerp binding)))
- ((kbd-key:hyperbole-mini-menu-key-p key-sequence))
- ((kbd-key:hyperbole-hycontrol-key-p key-sequence))
- ((kbd-key:extended-command-p key-sequence)))
+ (and (or (and binding (not (integerp binding)))
+ (kbd-key:special-sequence-p key-sequence))
(ibut:label-set seq-and-pos)
(hact 'kbd-key key-sequence)))))
@@ -75,13 +73,11 @@ Returns t if KEY-SEQUENCE has a binding, else nil."
(setq current-prefix-arg nil) ;; kbd-key:normalize below sets it.
(let ((binding (key-binding key-sequence)))
(cond ((null binding)
- ;; If this is a Hyperbole minibuffer menu item key sequence
- ;; or a M-x extended command, execute it by adding its keys
- ;; to the stream of unread command events.
- (when (or (kbd-key:hyperbole-mini-menu-key-p key-sequence)
- (kbd-key:hyperbole-hycontrol-key-p key-sequence)
- (kbd-key:extended-command-p key-sequence))
- (setq unread-command-events (nconc unread-command-events (mapcar
'identity key-sequence)))))
+ ;; If this is a special key seqence, execute it by adding
+ ;; its keys to the stream of unread command events.
+ (when (kbd-key:special-sequence-p key-sequence)
+ (setq unread-command-events (nconc unread-command-events (mapcar
'identity key-sequence)))
+ t))
((memq binding '(action-key action-mouse-key hkey-either))
(beep)
(message "(kbd-key:act): This key does what the Action Key does.")
@@ -113,32 +109,11 @@ With optional prefix arg FULL, displays full
documentation for command."
(message doc)))
(t (error "(kbd-key:doc): No binding found for keys {%s}"
key-sequence)))))
-(defun kbd-key:extended-command-p (key-sequence)
- "Returns non-nil if the string KEY-SEQUENCE is a normalized extended command
invocation, i.e. M-x command."
- (and (stringp key-sequence) (string-match kbd-key:extended-command-prefix
key-sequence)))
-
(defun kbd-key:help (but)
"Display documentation for binding of keyboard key given by BUT's label."
(let ((kbd-key (hbut:key-to-label (hattr:get but 'lbl-key))))
(if kbd-key (kbd-key:doc kbd-key t))))
-(defun kbd-key:hyperbole-hycontrol-key-p (key-sequence)
- "Returns t if normalized KEY-SEQUENCE is given when in a HyControl mode,
else nil.
-Allows for multiple key sequences strung together."
- (and key-sequence
- (featurep 'hycontrol)
- (or hycontrol-windows-mode hycontrol-frames-mode)
- ;; If wanted to limit to single key bindings and provide tighter
checking:
- ;; (string-match "[-.0-9]*\\(.*\\)" key-sequence)
- ;; (key-binding (match-string 1 key-sequence))
- t))
-
-(defun kbd-key:hyperbole-mini-menu-key-p (key-sequence)
- "Returns t if normalized KEY-SEQUENCE appears to invoke a Hyperbole menu
item or sequence of keys, else nil."
- (when key-sequence
- (let ((mini-menu-key (kbd-key:normalize (key-description (car
(where-is-internal 'hyperbole))))))
- (if (string-match (regexp-quote mini-menu-key) key-sequence) t))))
-
(defun kbd-key:normalize (key-sequence)
"Returns KEY-SEQUENCE string normalized into a form that can be parsed by
commands."
(interactive "kKeyboard key sequence to normalize (no {}): ")
@@ -195,6 +170,51 @@ Allows for multiple key sequences strung together."
(error "(kbd-key:normalize): requires a string argument, not `%s'"
key-sequence)))
;;; ************************************************************************
+;;; Private functions
+;;; ************************************************************************
+
+(defun kbd-key:extended-command-p (key-sequence)
+ "Returns non-nil if the string KEY-SEQUENCE is a normalized extended command
invocation, i.e. M-x command."
+ (and (stringp key-sequence) (string-match kbd-key:extended-command-prefix
key-sequence)))
+
+(defun kbd-key:hyperbole-hycontrol-key-p (key-sequence)
+ "Returns t if normalized KEY-SEQUENCE is given when in a HyControl mode,
else nil.
+Allows for multiple key sequences strung together."
+ (and key-sequence
+ (featurep 'hycontrol)
+ (or hycontrol-windows-mode hycontrol-frames-mode)
+ ;; If wanted to limit to single key bindings and provide tighter
checking:
+ ;; (string-match "[-.0-9]*\\(.*\\)" key-sequence)
+ ;; (key-binding (match-string 1 key-sequence))
+ t))
+
+(defun kbd-key:hyperbole-mini-menu-key-p (key-sequence)
+ "Returns t if normalized KEY-SEQUENCE appears to invoke a Hyperbole menu
item or sequence of keys, else nil."
+ (when key-sequence
+ (let ((mini-menu-key (kbd-key:normalize (key-description (car
(where-is-internal 'hyperbole))))))
+ (if (string-match (regexp-quote mini-menu-key) key-sequence) t))))
+
+(defun kbd-key:key-and-arguments (key-sequence)
+ "Returns t if normalized KEY-SEQUENCE appears to be a bound key sequence
possibly with following interactive arguments, else nil."
+ (let ((prefix-binding (and key-sequence (key-binding (substring key-sequence
0 1)))))
+ ;; Just ensure that 1st character is bound to something that is
+ ;; not a self-insert-command or a number.
+ (and (not (or (integerp prefix-binding)
+ (eq prefix-binding 'self-insert-command)))
+ t)))
+
+(defun kbd-key:special-sequence-p (key-sequence)
+ "Returns non-nil if normalized KEY-SEQUENCE string is one of the following:
+ a Hyperbole minibuffer menu item key sequence,
+ a HyControl key sequence,
+ a M-x extended command,
+ or a key binding plus arguments."
+ (or (kbd-key:hyperbole-mini-menu-key-p key-sequence)
+ (kbd-key:hyperbole-hycontrol-key-p key-sequence)
+ (kbd-key:extended-command-p key-sequence)
+ (kbd-key:key-and-arguments key-sequence)))
+
+;;; ************************************************************************
;;; Private variables
;;; ************************************************************************
diff --git a/hsettings.el b/hsettings.el
index 52ea8ec..3810dd7 100644
--- a/hsettings.el
+++ b/hsettings.el
@@ -61,11 +61,19 @@
;; The following setting allows direct selection of Helm completion
;; entries with the Smart Mouse Keys. Otherwise, by default, helm
-;; disables all mouse keys while completing. If you change this
-;; setting (simply comment it out), you must restart Emacs for it to
-;; take full effect. Setting this to 't' or 'nil' will not provide
-;; Hyperbole support.
-(eval-after-load "helm" '(setq helm-allow-mouse 'no-mode-bindings))
+;; disables all mouse keys while completing. This setting requires
+;; the 'global_mouse' branch of the Helm git development tree because
+;; it has many changes for Hyperbole mouse support. Otherwise, the
+;; setting will do nothing.
+;; Find it at: "https://github.com/rswgnu/helm/tree/global_mouse".
+;;
+;; If you change the value of this setting (e.g. simply comment it out),
+;; you must restart Emacs for it to take full effect. Setting this to
+;; 't' or 'nil' will not provide Hyperbole support.
+(eval-after-load "helm" '(if (boundp 'helm--disable-mouse-mode)
+ ;; Using Helm version heavily modified for
+ ;; Hyperbole Smart Key use.
+ (setq helm-allow-mouse 'global-mouse-bindings)))
;; The Smart Menu system is an attractive in-buffer menu system that
;; predates Emacs menu systems; it is included in InfoDock.
diff --git a/hui-menu.el b/hui-menu.el
index f6c5068..a07fbf6 100644
--- a/hui-menu.el
+++ b/hui-menu.el
@@ -130,14 +130,16 @@ Return t if cutoff, else nil."
(defun hui-menu-key-bindings (rest-of-menu)
(nconc
(list
- (vector (hui-menu-key-binding-item "Action-Key \t\t\t"
'hkey-either) '(hui:bind-key #'hkey-either) t)
;; {M-RET}
- (vector (hui-menu-key-binding-item "Button-Rename-Key \t\t"
'hui:ebut-rename) '(hui:bind-key #'hui:ebut-rename) t)
;; {C-c C-r}
- (vector (hui-menu-key-binding-item "Drag-Emulation-Key \t\t"
'hkey-operate) '(hui:bind-key #'hkey-operate) t)
;; {M-o}
- (vector (hui-menu-key-binding-item "Grid-of-Windows-Key \t"
'hycontrol-windows-grid) '(hui:bind-key #'hycontrol-windows-grid) t)
;; {C-c @}
- (vector (hui-menu-key-binding-item "Hyperbole-Menu-Key \t" 'hyperbole)
'(hui:bind-key #'hyperbole) t) ;; {C-h
h}
- (vector (hui-menu-key-binding-item "Mark-Thing-Key \t\t"
'hui-select-thing) '(hui:bind-key #'hui-select-thing) t)
;; {C-c C-m}
- (vector (hui-menu-key-binding-item "Smart-Help-Key \t\t" 'hkey-help)
'(hui:bind-key #'hkey-help) t) ;; {C-h
A}
- (vector (hui-menu-key-binding-item "Windows-Control-Key\t"
'hycontrol-enable-windows-mode) '(hui:bind-key #'hycontrol-enable-windows-mode)
t)) ;; {C-C \}
+ (vector (hui-menu-key-binding-item "Action-Key \t\t\t"
'hkey-either) '(hui:bind-key #'hkey-either) t)
;; {M-RET}
+ (vector (hui-menu-key-binding-item "Button-Rename-Key \t"
'hui:ebut-rename) '(hui:bind-key #'hui:ebut-rename) t)
;; {C-c C-r}
+ (vector (hui-menu-key-binding-item "Drag-Emulation-Key \t\t"
'hkey-operate) '(hui:bind-key #'hkey-operate) t)
;; {M-o}
+ (vector (hui-menu-key-binding-item "Find-Web-Key \t\t"
'hui-search-web) '(hui:bind-key #'hui-search-web) t)
;; {C-c /}
+ (vector (hui-menu-key-binding-item "Grid-of-Windows-Key \t"
'hycontrol-windows-grid) '(hui:bind-key #'hycontrol-windows-grid)
t) ;; {C-c @}
+ (vector (hui-menu-key-binding-item "Hyperbole-Menu-Key \t"
'hyperbole) '(hui:bind-key #'hyperbole) t)
;; {C-h h}
+ (vector (hui-menu-key-binding-item "Jump-Thing-Key \t\t"
'hui-select-goto-matching-delimiter) '(hui:bind-key #'hui-select-thing) t)
;; {C-c .}
+ (vector (hui-menu-key-binding-item "Mark-Thing-Key \t\t"
'hui-select-thing) '(hui:bind-key #'hui-select-thing) t)
;; {C-c C-m}
+ (vector (hui-menu-key-binding-item "Smart-Help-Key \t\t"
'hkey-help) '(hui:bind-key #'hkey-help) t)
;; {C-h A}
+ (vector (hui-menu-key-binding-item "Windows-Control-Key\t"
'hycontrol-enable-windows-mode) '(hui:bind-key
#'hycontrol-enable-windows-mode) t)) ;; {C-C \}
rest-of-menu))
;; Dynamically compute submenus for Screen menu
diff --git a/hui-mini.el b/hui-mini.el
index 12bf521..fb93b05 100644
--- a/hui-mini.el
+++ b/hui-mini.el
@@ -481,14 +481,16 @@ constructs. If not given, the top-level Hyperbole menu
is used."
("Windowful" (setq smart-scroll-proportional nil))))
'(cust-keys .
(("Change Keys>")
- ("ActionKey" (hui:bind-key #'hkey-either)) ;;
{M-RET}
- ("ButRename" (hui:bind-key #'hui:ebut-rename)) ;;
{C-c C-r}
- ("DragKey" (hui:bind-key #'hkey-operate)) ;;
{M-o}
- ("GridOfWindows" (hui:bind-key #'hycontrol-windows-grid)) ;;
{C-c @}
- ("HypbMenu" (hui:bind-key #'hyperbole)) ;;
{C-h h}
- ("MarkThing" (hui:bind-key #'hui-select-thing)) ;;
{C-c RET}
- ("SmartHelp" (hui:bind-key #'hkey-help)) ;;
{C-h A}
- ("WinControl" (hui:bind-key #'hycontrol-enable-windows-mode)) ;;
{C-c \}
+ ("ActionKey" (hui:bind-key #'hkey-either))
;; {M-RET}
+ ("ButRename" (hui:bind-key #'hui:ebut-rename))
;; {C-c C-r}
+ ("DragKey" (hui:bind-key #'hkey-operate))
;; {M-o}
+ ("FindWeb" (hui:bind-key #'hui-search-web))
;; {C-c /}
+ ("GridOfWindows" (hui:bind-key #'hycontrol-windows-grid))
;; {C-c @}
+ ("HypbMenu" (hui:bind-key #'hyperbole))
;; {C-h h}
+ ("JumpThing" (hui:bind-key #'hui-select-goto-matching-delimiter))
;; {C-c .}
+ ("MarkThing" (hui:bind-key #'hui-select-thing))
;; {C-c RET}
+ ("SmartHelp" (hui:bind-key #'hkey-help))
;; {C-h A}
+ ("WinControl" (hui:bind-key #'hycontrol-enable-windows-mode))
;; {C-c \}
))
'(cust-referents .
(("Ref Display>")
diff --git a/hyperbole.el b/hyperbole.el
index bd38911..29cb67d 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -375,6 +375,15 @@ bindings after load)."
;;; Load Hyperbole mouse bindings
;;; ************************************************************************
+(if (boundp 'mouse-position-function)
+ (setq mouse-position-function
+ (lambda (frame-x-dot-y)
+ "Make `mouse-position' and `mouse-pixel-position' always return the
selected frame.
+Under macOS and Windows 7 at least, upon initial selection of a new
+frame, those functions by default still return the prior frame."
+ (if (consp frame-x-dot-y) (setcar frame-x-dot-y (selected-frame)))
+ frame-x-dot-y)))
+
(require 'hmouse-key)
;;; ************************************************************************
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 746facc..b7fe6cf 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -1179,7 +1179,7 @@ mouse key (or shift-left on a 2-button mouse). The
<em>Assist Key</em>
is bound to your shift-right mouse key, assuming Hyperbole is run
under an external window system.
</p>
-<a name="index-hmouse_002dadd_002dunshifted_002dkeys"></a>
+<a name="index-hmouse_002dadd_002dunshifted_002dsmart_002dkeys"></a>
<a name="index-unshifted-mouse-bindings"></a>
<a name="index-unshifted-mouse-keys"></a>
<a name="index-mouse-keys_002c-unshifted"></a>
@@ -1198,13 +1198,16 @@ personal <samp>~/.emacs</samp> file, add:
<code>(add-hook 'hyperbole-init-hook
<a name="index-assist_002dkey"></a>
<a name="index-action_002dmouse_002dkey"></a>
<a name="index-assist_002dmouse_002dkey"></a>
+<a name="index-hkey_002deither"></a>
<p>If you prefer other key assignments, simply bind the commands
<code>action-key</code> and <code>assist-key</code> to keyboard keys.
-<code>hkey-either</code> may be used instead if you prefer a single
-key binding for both commands; a prefix argument, such as <kbd>{C-u}</kbd>,
then
-invokes <code>assist-key</code>. You may also bind
<code>action-mouse-key</code>
-and <code>assist-mouse-key</code> to other mouse keys, though you won’t
be able
-to execute mouse drag actions with such key bindings.
+Hyperbole binds <kbd>{M-<span class="key">RET</span>}</kbd> to the command
<code>hkey-either</code>.
+It allows for a single key binding for both commands; a prefix
+argument, such as <kbd>{C-u}</kbd>, then invokes <code>assist-key</code>.
+</p>
+<p>You may also bind <code>action-mouse-key</code> and
<code>assist-mouse-key</code>
+to other mouse keys, though you won’t be able to execute mouse drag
+actions with such key bindings.
</p>
<p>Mouse configuration of the Smart Keys is automatic for GNU Emacs under
Mac OS X, the X Window System and MS Windows assuming your emacs program
@@ -7384,9 +7387,11 @@ to quit from the menu.
<li> use the Hyperbole entry on your menubar;
</li><li> <a name="index-hyperbole"></a>
-type <kbd>{C-h h}</kbd> or <kbd>{M-x hyperbole <span
class="key">RET</span>}</kbd> to bring up the Hyperbole minibuffer menu;
+type <kbd>{C-h h}</kbd> or <kbd>{M-x hyperbole <span
class="key">RET</span>}</kbd> to display the Hyperbole minibuffer menu;
-</li><li> use a specific Hyperbole command such as the Action Key,
<kbd>{M-<span class="key">RET</span>}</kbd>, on a pathname to display the
associated file or directory.
+</li><li> use a specific Hyperbole command, for example, a press of
+<kbd>{M-<span class="key">RET</span>}</kbd> on a pathname to display the
associated file or
+directory.
</li></ul>
<p>Use <kbd>{C-h h d d}</kbd> for an interactive demonstration of standard
Hyperbole
@@ -11504,13 +11509,14 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-hibtypes_002dsocial_002ddefault_002dservice">hibtypes-social-default-service</a>:</td><td> </td><td
valign="top"><a href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002dalist">hkey-alist</a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002dalways_002ddisplay_002dmenu">hkey-always-display-menu</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Smart-Menus">Smart Key - Smart
Menus</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hkey_002deither"><code>hkey-either</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002dinit">hkey-init</a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002dinit_002doverride_002dlocal_002dkeys">hkey-init-override-local-keys</a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002doperate"><code>hkey-operate</code></a>:</td><td> </td><td
valign="top"><a href="#By-Dragging">By Dragging</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002dsummarize"><code>hkey-summarize</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmail_003alister">hmail:lister</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Email-Composers">Smart Key - Email
Composers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmail_003areader">hmail:reader</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Email-Composers">Smart Key - Email
Composers</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hmouse_002dadd_002dunshifted_002dkeys"><code>hmouse-add-unshifted-keys</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hmouse_002dadd_002dunshifted_002dsmart_002dkeys"><code>hmouse-add-unshifted-smart-keys</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dalist">hmouse-alist</a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dcontext_002dibuffer_002dmenu"><code>hmouse-context-ibuffer-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dcontext_002dmenu"><code>hmouse-context-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index cb736de..84e1a2c 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index c207b2e..1a960c2 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 79344df..eb3c329 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -820,7 +820,7 @@ mouse key (or shift-left on a 2-button mouse). The
@dfn{Assist Key}
is bound to your shift-right mouse key, assuming Hyperbole is run
under an external window system.
address@hidden hmouse-add-unshifted-keys
address@hidden hmouse-add-unshifted-smart-keys
@cindex unshifted mouse bindings
@cindex unshifted mouse keys
@cindex mouse keys, unshifted
@@ -839,13 +839,16 @@ personal @file{~/.emacs} file, add: @code{(add-hook
'hyperbole-init-hook
@findex assist-key
@findex action-mouse-key
@findex assist-mouse-key
address@hidden hkey-either
If you prefer other key assignments, simply bind the commands
@code{action-key} and @code{assist-key} to keyboard keys.
address@hidden may be used instead if you prefer a single
-key binding for both commands; a prefix argument, such as @bkbd{C-u}, then
-invokes @code{assist-key}. You may also bind @code{action-mouse-key}
-and @code{assist-mouse-key} to other mouse keys, though you won't be able
-to execute mouse drag actions with such key bindings.
+Hyperbole binds @address@hidden to the command @code{hkey-either}.
+It allows for a single key binding for both commands; a prefix
+argument, such as @bkbd{C-u}, then invokes @code{assist-key}.
+
+You may also bind @code{action-mouse-key} and @code{assist-mouse-key}
+to other mouse keys, though you won't be able to execute mouse drag
+actions with such key bindings.
Mouse configuration of the Smart Keys is automatic for GNU Emacs under
Mac OS X, the X Window System and MS Windows assuming your emacs program
@@ -6112,9 +6115,11 @@ You can invoke Hyperbole's commands in one of three ways:
@item use the Hyperbole entry on your menubar;
@findex hyperbole
address@hidden type @bkbd{C-h h} or @bkbd{M-x hyperbole @key{RET}} to bring up
the Hyperbole minibuffer menu;
address@hidden type @bkbd{C-h h} or @bkbd{M-x hyperbole @key{RET}} to display
the Hyperbole minibuffer menu;
address@hidden use a specific Hyperbole command such as the Action Key,
@address@hidden, on a pathname to display the associated file or directory.
address@hidden use a specific Hyperbole command, for example, a press of
address@hidden@key{RET}} on a pathname to display the associated file or
+directory.
@end itemize
Use @bkbd{C-h h d d} for an interactive demonstration of standard Hyperbole
- [elpa] externals/hyperbole d1fb45a 15/53: File/Dir linking fix; Smart Key reloading; helm mouse control improvements; Hyperbole menu use doc strings, (continued)
- [elpa] externals/hyperbole d1fb45a 15/53: File/Dir linking fix; Smart Key reloading; helm mouse control improvements; Hyperbole menu use doc strings, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 2161b1c 22/53: Added hmouse-pulse-flag and more pulsing; fixed many small internal Hyperbole button handling functions., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 547c18f 26/53: Added gh#status to show github status; eliminated annot-bib matches from programming modes., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole cf8ae0c 49/53: Makefile (help): Removed misplaced double quote characters., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 50dc88d 23/53: V6.0.2c - Smart Key and popup menu buffer fixes; simplified Assist Key handling code, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 1188e43 51/53: smart-clib-sym: Removed file-newer Perl script dependency; file-newer: Removed., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole c45ce9b 52/53: Merge branch 'master' of http://git.savannah.gnu.org/r/hyperbole into externals/hyperbole, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 45714d5 46/53: Minor doc and code improvements, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 9b2d75a 53/53: Merge branch 'externals/hyperbole' of git+ssh://git.sv.gnu.org/srv/git/emacs/elpa into externals/hyperbole, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole a76d502 34/53: Hyperbole 6.0.2f pre-release, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 450688e 39/53: Corrected mouse-position and mouse-pixel-position to return selected frame; added key sequences with args support.,
Robert Weiner <=
- [elpa] externals/hyperbole 55a1f04 06/53: 2017-09-18 Bob Weiner <address@hidden>, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole ff2c292 20/53: Minor bug fixes for Koutlines; updated Hyperbole manual version, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 5d6b9cd 05/53: 2017-09-10 Bob Weiner <address@hidden>, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole ce6fa24 41/53: Updated HY-NEWS with all new features for next major release., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 152e2be 47/53: Highlighted explicit buttons when yanked; fixed region location bugs with hmouse-drag-thing and region kill, copy and yank, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 8fbfc1b 35/53: Renamed @ command functions to hycontrol-windows-grid. Updated manual and DEMO with newest commands., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole aba412a 32/53: HyControl changes: now a global minor mode; added @ window grid creation command; inverted selected mode-line for emphasis, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole bab59c8 25/53: V6.0.2d - Improved README and added git#=branch:file implicit button syntax., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 7503a3d 37/53: Action Mouse Key drag to modeline splits destination window before displaying the target item/buffer; added css to format Hyperbole HTML manual, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 1aec56c 27/53: Added drags between frames and outside Emacs, new mode-line drags, dired item drags,, Robert Weiner, 2017/11/15