| Age | Commit message (Collapse) | Author |
|
Many other small updates and the manual updated with Ebut/Link
and Ibut/Link
|
|
Rewrite 'hbut-tests-ibut-insert-links' to support ibtypes and better
actype checks with less code.
|
|
|
|
hibtypes.el (grep-msg): Add support for *Warning* buffer entries like:
Warning (comp): hbut.el:224:10: Warning: reference to free variable...
|
|
With Ace Window bound to M-o, {C-u M-o w <window>} inserts a ilink
within the current buffer to the referent <window> file..
|
|
Replace nil error handler condition-case with ignore-errors macro.
Update TAGS file.
|
|
* Add SPDX-License-Identifier
* Adjust test due to lines inserted in files also used as test data
|
|
|
|
|
|
* Remove referense to XEmacs in comment
* Remove XEmacs and older Emacs compatibility code
posn-area is was introduce at or before version 22.1.
* Remove use of XEmacs dialog box
* Remove XEmacs compatibility code
* Remove XEmacs and Infodock compatibility code
* Remove XEmacs and Infodock compatibility code
* Remove XEmacs and Infodock compatibility code
* Remove XEmacs and Infodock compatibility code
use-region-p was introduced at or before version 23.1.
* Remove XEmacs compatibility code
* Remove XEmacs from comment
* Remove Emacs versions and NEXTSTEP from comment
* Remove XEmacs and Infodock font-lock code
* Remove mention of Emacs versions from comment
* Remove garbage chars at the end of the file
* Update ChangeLog date to reflect time of merge
|
|
|
|
|
|
|
|
|
|
hui.el (hui:link-possible-types): Require 'texnfo-upd when needed to ensure
texinfo-copy-node-name is defined before used since it is not autoloaded.
kotl/kotl-mode.el (kotl-mode:insert-region, kotl-mode:insert-tree): Add these new commands
so can insert Koutline parts directly into other buffers without having to copy from
the mail buffer via 'kotl-mode:mail-tree'.
hargs.el (hargs:at-p): Fix so when reading a buffer arg, if tag at point does not match
an existing buffer name, then use the buffer name at point.
(hargs:read-buffer-name): Add for use by kotl-mode.
|
|
Fix butto creation via ace-window with {M-o w <window-id}
Stop smart-org from handling Hyperbole buttons so can see the doc
for the button when using hkey-help
|
|
|
|
|
|
* Small updates extracted from Stefans patch
Thanks Stefan Monnier for providing these updates:
- Set lexical scoping
- Update copyright notice
- Other small non functional changes
* Add changelog and fix failing test cases
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use "? " at end of y-or-n-p
Remove "." at end of error messages
Use imperative voice in docs strings
This fixes the bulk of flycheck messages. There are things left to
correct but they will require more work and that will have to be dealt
with later.
|
|
|
|
Remove all featurep checks on xemacs and emacs.
|
|
|
|
* hmouse-drv.el: Just require `hui-window` without messing with
`hmouse-alist` any more. Move compiler-silencing `defvar`s outside of
`eval-when-compile`.
* hui-mouse.el: Just use `require` instead of `load`.
* hui-window.el: Set hmouse-alist only after loading hui-mouse.
(hui-window--register): New function.
(hui-mouse): Use with-eval-after-load.
|
|
|
|
* kotl/kfill.el: Eliminated use of filladapt.el since it causes kotl-mode filling errors.
* kotl/kfill.el (kfill:forward-line): Removed improperly used [] in skip-chars-forward.
2017-12-16 Bob Weiner <rsw@gnu.org>
* hui.el (hui:key-dir):
hui-window.el (hmouse-at-item-p):
hui-jmenu.el (hui-menu-buffer-mode-name): Simplified using buffer-local-value.
|
|
company completion support; ripgrep match handling;
directional movement of buffers across windows;
hkey-{drag, replace, swap, throw} commands integrated
with ace-window;
hmouse-click commands to perform cross-window drags,
replacements and throws with 3 mouse clicks;
* hversion.el: Pushed 7.0.2a test update.
* hmouse-drv.el (hkey-throw): Modified to show a message if the frame of release is
different than the frame of depress, since this frame is typically hidden by
the depress frame.
* hmouse-tag.el (smart-lisp-mode-p): Added change-log-mode since such files often contain
Lisp references.
* hypb.el (hypb:select-window-frame): Added and used in hmouse-item-to-window.
(hypb:save-selected-window-and-input-focus): Added and used in hkey-throw.
* kotl/kotl-mode.el (kotl-mode): Fixed setq close paren error that skipped 4 settings of
paragraph-start, selective-display, selective-display-ellipses and track-eol.
2017-12-10 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (Menu Commands, HyRolo Menu): Documented how to invoke the Koutliner and
HyRolo popup menus in Emacs.
* hyrolo-menu.el (hyrolo-menubar-menu):
kotl/kmenu.el (kotl-menubar-menu): For GNU Emacs, use standard binding of C-mouse-3 to popup
mode-specific menu instead of mouse-3.
2017-12-08 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-ace-window-setup): Autoloaded since might be added to an init file
before Hyperbole is loaded.
* hycontrol.el (hycontrol-quit-frames-mode, hycontrol-quit-windows-mode): Added conditionals
to allow for quitting from help buffers with {q} while remaining in HyControl, e.g. if
display a key binding help window. Added {Q} binding to unconditionally quit from HyControl.
* hmouse-drv.el (hkey-buffer-move): Added directional movement commands that call this function.
hkey-buffer-move-left, hkey-buffer-move-right, hkey-buffer-move-down and hkey-buffer-move-up.
2017-12-07 Bob Weiner <rsw@gnu.org>
* hload-path.el (hyperb:emacs-p): Removed Emacs19 test.
(hyperb:kotl-p): Removed since all versions of Emacs in use now support the Koutliner.
* hlvar.el - Removed this since colons are now handled by Emacs 26 in local variable names.
* hypb.el (hypb:rgrep): Added support for ripgrep.
hibtypes.el (ripgrep-msg): Added implicit button support for ripgrep (rg) messages where
the associated pathname is output once before all mataching lines.
See "https://github.com/BurntSushi/ripgrep".
2017-12-04 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hmouse-alist): Reload the def of this variable if its value is null.
(hkey-mouse-click-to-replace): Added to allow moving buffers with the mouse by clicking
on the from and to windows.
(hmouse-click-to-drag, hmouse-click-to-drag-to, hmouse-click-to-replace, hmouse-click-to-throw,
hmouse-choose-windows): Added to perform cross-window drags, replacements and throws with 3 mouse
clicks.
2017-12-03 Bob Weiner <rsw@gnu.org>
* hui-treemacs.el: Removed replacements for treemacs functions; as of Treemacs 1.14, all needed changes are
included.
2017-12-01 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-drag-stay, hkey-replace): Added for use as ace-window commands.
(hkey-throw): Rewrote so if not on an item, then throws the current buffer.
hkey-replace is the inverse, it grabs the specified buffer and places it into the selected
window ({p} command key for ace-window). hkey-drag-stay does a drag but leaves point
in the originally selected window.
(hmouse-click-to-drag, hmouse-click-to-drag-stay, hmouse-click-to-drag-to)
hmouse-click-to-replace, hmouse-click-to-swap, hmouse-click-to-throw): Added to click
with the mouse twice on two different windows to select the windows using hmouse-choose-windows.
(hkey-drag, hkey-drag-stay, hkey-drag-to, hkey-replace, hkey-swap, hkey-throw): Added and
made interactive with ace-window window parameter selection.
(hkey-buffer-to): Added to copy a buffer from-window to-window, using ace-window
to select the windows.
(hkey-swap-buffers): Added to swap buffers between from-window and to-window, using ace-window
to select the windows.
* hui-treemacs.el (smart-treemacs): Added standard Hyperbole end-of-line scrolling support.
* hui-mouse.el (smart-company-to-definition, smart-company-help): Added to support company completion mode.
hmouse-sh.el (hmouse-shifted-setup, hmouse-unshifted-setup): Added Action and Assist Key local bindings
for company-mode for GNU Emacs.
2017-11-30 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (Glossary): Added Jedi item with link to its home page. Added link to the OO-Browser
home page in its item.
* hmouse-tag.el (smart-python-jedi-to-definition-p): Added and called in smart-python to use the Jedi
package when its server is running. It jumps to the proper definition of multi-level module
references definitions, e.g. a.b.c. Also fixed error where the default action was not jumping to
a tag definition at point because it was testing that the identifier parameter was non-nil (no
identifier is sent in such usage).
* hui-mouse.el (hkey-alist): Moved smart-python prior to Imenu for more advanced definition lookups
* hyperbole.el (temp-buffer-show-hook, temp-buffer-show-function): Added Hyperbole hkey-help-show
function rather than replacing any existing hook values.
2017-11-29 Bob Weiner <rsw@gnu.org>
* hibtypes.el (markdown-internal-link): Rewrote (and added support functions) to handle markdown
infile links properly. Previous use of markdown-do was removed because that now does things
other than following links.
2017-11-28 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-help-show): Added conditionals to support org-mode org-goto *Org Help* buffer
properly.
2017-11-27 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-ace-window-setup): Made new ace-window frames (window id = z) inherit the size
of the prior selected frame; same as HyWindow.
* hui-window.el (hmouse-kill-and-yank-region, hmouse-yank-region): Added select-frame-set-input-focus
in case released in a different frame.
2017-11-26 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-throw): Restored input focus to start-win rather than just making it
the selected window.
(hkey-drag-to): Fixed predicate test to call hmouse-at-item-p instead of
hmouse-drag-item-to-display and set input focus to release-window if dragging an item.
|
|
compilation error; released 7.0.2
* hversion.el: Released 7.0.2.
* hui-window.el (hmouse-at-item-p): Added to test if on a draggable item.
* hmouse-drv.el (hkey-throw): Added to throw a drag item to a specific window via the
ace-window package and the key sequence {M-o t <window-id>}, leaving the original
source window selected.
* man/hyperbole.texi (Keyboard Drags): Added description of throwing an item.
* hui-mouse.el: Fixed a compilation time problem with when hmouse-alist was defined.
==============================================================================
V7.0.2 changes ^^^^:
==============================================================================
|
|
modeline clicks
* hversion.el: Updated to 7.0.1 for release.
* DEMO (Displaying File and Buffer Items): Added description of ace-window integration.
* HY-WHY.kotl: Added link to Delimited Thing drags; mention of Treemacs
* man/hyperbole.texi (Smart Key - Treemacs): Added and updated with other improvements for this release.
(Keyboard Drags): Added this section and documented integration with ace-window package.
* hui-window.el (hmouse-modeline-click): Loosened check to allow a small movement between press and release
as long as it is less than whatever amount of movement registers a drag (used to require exact pixel match).
|
|
Google Contacts improvements
Enabled keyboard-based drag emulation and associated help with {C-h A}.
Made HyRolo support of Google Contacts usable by eliminating repeated login requests.
Added item drags for Treemacs file viewer package.
Added {i} key to Ace-Window package operations to display an item in a specific window.
* hmouse-drv.el (hkey-ace-window-setup): Setup keyboard-based display of items in windows specified by
short ids. See its doc string for how to use.
(hkey-drag, hkey-drag-jump): Added for mouse drag emulation via keyboard from a single
function that uses the selected window point for depress location and the parameter RELEASE-WINDOW
for the window and its point for release. hkey-drag-jump is useful as a command in the ace-window
package's aw-dispatch-alist, e.g. {i} for insert item, because it leaves RELEASE-WINDOW selected.
* hui-select.el (hui-select-ignore-quoted-sexp-modes): Added so major modes to ignore for syntactic pair
selection can be customized.
(hui-select-at-delimited-thing-p): Changed to not trigger when on an Emacs button.
* hui-window.el (hmouse-drag-between-frames): Replaced calls to window-valid-p with window-live-p.
(hmouse-drag-window-side, hmouse-drag-between-windows, hmouse-drag-same-window,
hmouse-drag-outside-all-windows, hmouse-drag-item-to-display,
hmouse-item-to-window): Added window-live-p checks for cases where a window has
been deleted between depress and release.
* hmouse-drv.el (hmouse-window-at-absolute-pixel-position): Updated to support keyboard drag emulation.
(hkey-help): Changed hkey-forms to use hmouse-alist instead of hkey-alist so mouse
drags are accounted for when emulating drags from the keyboard and then invoking {C-h A} for help.
hui-window.el (hmouse-drag-outside-all-windows): Triggered only if an action/assist-key press has
occurred, e.g. could be called by hkey-help when no press has occurred.
(hmouse-x-coord, hmouse-y-coord): Removed error when there is no valid coordinate and
returned nil instead to support keyboard drag emulation help.
2017-11-20 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-absolute-pixel-position): Added and used in Action/Assist Key functions.
(hmouse-set-point): Fixed hkey-operate bug by wrapping final (posn-at-point) in
a list with an event type symbol so if called from a keyboard event, returns a proper format
event.
(hkey-operate): Changed so output messages only when called interactively.
* hui-treemacs.el: Added for Smart Key support of the Treemacs file manager.
(smart-treemacs): Added.
(smart-treemacs-modeline): Added to allow toggling of Treemacs display on
Action Key clicks on buffer id of modeline.
hui-mouse.el (hkey-alist, action-key-modeline-buffer-id-function): Added Smart Key treemacs
package support.
hui-window.el (action-key-modeline): Updated to call action-key-modeline-buffer-id-function.
hactypes.el (link-to-buffer-tmp): Added optional 2nd parameter of POINT to display.
2017-11-19 Bob Weiner <rsw@gnu.org>
* hui-window.el (hmouse-item-to-window): Added support for hmouse-drag-item-mode-forms sending
a sequence of (buffer position) rather than just buffer.
(hmouse-drag-item-mode-forms): Added support for dragging items from the treemacs
hierachical file viewer package.
2017-11-17 Bob Weiner <rsw@gnu.org>
* hyrolo.el (hyrolo-initialize-file-list): Fixed to set hyrolo-file-list.
(hyrolo-retrieve-google-contacts): Updated to cache Google passphrase whenever Google contacts
are used so the user is not prompted for his passphrase on every HyRolo search.
man/hyperbole.texi (HyRolo Settings): Updated Google Contacts settings handling to document this caching.
* man/im/C-hh.png - Added showing Hyperbole mini-buffer menu prefix key binding.
2017-11-16 Bob Weiner <rsw@gnu.org>
* hywconfig.el (hywconfig-delete-pop): Fixed bug that removed the ring entry before using it to restore
the window configuration.
==============================================================================
V7.0.1 changes ^^^^:
==============================================================================
|
|
* hversion.el: Updated to 7.0.0 for major release.
* hui-window.el (hmouse-drag-window-side): Fixed coordinate error when drag release is outside of Emacs.
* hui-mouse.el (smart-helm-assist): Fixed message formatting bugs in hkey-debug message.
* hlvar.el (hack-local-variables): Changed from use of older inhibit-local-variables variable to newer
(inhibit-local-variables-p) function call.
* Makefile (version): Removed HY-ANNOUNCE-SHORT from distribution.
* kotl/kexport.el (kexport:html): Changed to wrap cell contents in <PRE></PRE> tags if soft-newline-flag is nil
rather than using <BR> hard newlines, so all cell formatting is preserved. Also changed NAME attribute to
ID for HTML5.
2017-11-14 Bob Weiner <rsw@gnu.org>
* kotl/kimport.el (kimport:star-heading): Added and replaced use of hard-coded regexps in star outline importation.
Also, stopped allowing leading whitespace before outline heading stars so can use indented stars as list items
rather than outline headings.
* hibtypes.el (text-toc): Expanded file names to include DEMO and TUTORIAL.
DEMO: Added Table of Contents and a section on using it, Table of Contents Browsing.
* hbut.el (ebut:label-p): Changed last parameter to limit search to two lines rather than one, so Info node matches can
span two lines as they often do.
* HY-ABOUT: Added link to HY-WHY.kotl.
HY-WHY.kotl: Added links to relevant DEMO sections throughout.
DEMO (Koutliner): Updated this section.
hui-menu.el (infodock-hyperbole-menu): Added Why-Use? entry.
hui-mini.el (hui:menus): Added WhyUse entry to display HY-WHY.kotl, list of Hyperbole use cases.
man/hyperbole.css (code, tt): Removed leading and trailing padding of 5px from code samples so display inline better.
|
|
hmouse-drag-thing and region kill, copy and yank
2017-11-13 Bob Weiner <rsw@gnu.org>
* hui-window.el (hmouse-drag-thing): Added error if drag ends within the delimited thing region, so user knows
that this is an invalid drag.
(hmouse-yank-region, hmouse-kill-and-yank-region): Made no-op unless hkey-region is non-nil.
This handles the hmouse-drag-thing case when we want that predicate true (so no other predicate matches)
but there is no region to copy or kill, e.g. when the release point is within the thing itself.
* hui-select.el (hui-select-delimited-thing): Fixed to match doc and work as a predicate.
* hui-window.el (hmouse-goto-depress-prev-point): Deleted since it duplicated hmouse-goto-region-prev-point.
(hmouse-goto-region-prev-point): Added missing check for prev-point nil when setting loc.
This caused the Smart Keys to fail when used if a Lisp backtrace was active.
(hmouse-drag-thing): Erased any saved location of a region prior to Smart Key depress since
now we have a new region location. This prevents hmouse-kill-and-yank-region from jumping to the old
location. Also fixed edge cases where want to copy or move thing to the beginning or end of the thing region.
(hmouse-goto-region-point): Renamed to hmouse-goto-region-prev-point, for clarity.
(hmouse-kill-and-yank-region, hmouse-kill-region): Used value of point saved in hkey-value to determine
the region if non-nil.
* hui-select.el (hui-select-delimited-thing, hui-select-thing): Changed to use use-region-p.
hmouse-drv.el (hmouse-use-region-p): Added and used to improve hmouse-drag-thing.
(hmouse-save-region): Simplified.
hui-window.el (hmouse-drag-region-active): Changed call of region-active-p to hmouse-use-region-p.
* hui-window.el (hmouse-kill-and-yank-region): Fixed error that was testing not in depress buffer (as desired) but the
buffer prior to depress. Also protected insertion from syntax-directed indentation errors.
* hui-em-but.el
hui-xe-but.el (hproperty:but-create-on-yank): Added as handler for yank-handled-properties so explicit buttons are
re-highlighted when yanked after being killed.
|
|
including images
* hyrolo-demo.el (hyrolo-demo-quit): Added to unload hyrolo-demo code and used in demo.
* man/hyperbole.texi (Menus): Documented hyperbole-popup-menu.
* hui-menu.el (hyperbole-popup-menu): With a non-nil prefix arg, rebuild the Hyperbole popup menu in case it did
not initialize properly for any reason.
* man/hyperbole.texi (Using URLs with Find-File): Added URL browser customization menu reference and image.
(Smart Key - WWW URLs): Added browse-url-browser-function and Cust/URL-Display reference.
(Referent Display): Added this section and documented display options for standard link referents.
* hyrolo-logic.el (hyrolo-map-logic): Removed improper outline test for old format Emacs outlines.
(hyrolo-fgrep-logical): Fixed to include sub-entries in logical searches.
* hib-kbd.el (kbd-key:mark-spaces-to-keep): Added to preserve spaces in (), [], or <> delimited sections of
Hyperbole sequences of brace delimited keys; used this function in kbd-key:normalize.
2017-11-04 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-windows-grid-buffer-list): Replaced all uses of (eq major-mode 'dired-mode) with
(derived-mode-p 'dired-mode) to generalize.
2017-11-03 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (HyRolo Settings): Added Google Contacts set up and use description.
* hyrolo.el (hyrolo-file-list-initialize): Made interactive and displayed a message with the resulting list
if called interactively. Added autoload.
(hyrolo-initialize-file-list): Renamed from hyrolo-file-list-initialize.
* hui-window.el (hmouse-split-window): Changed to split selected window parallel to its shortest dimension.
* DEMO: Added new section on HyRolo.
DEMO-ROLO.otl: Added.
hyrolo-demo.el: Added with the functions hyrolo-demo-fgrep and hyrolo-demo-fgrep-logical.
hyrolo-logic.el (hyrolo-map-logic): Fixed issue where a buffer was required but a buffer name was
given as an argument preventing search from matching.
(hyrolo-fgrep-logical): Fixed that logical searches were not forced to case insensitive
to match hyrolo-fgrep. Also updated to handle non-logical string searches.
* hbut.el (ebut:operate): Fixed issue where user had selected a region to use as a button label but then
the same text was inserted when the label was created. Solved by moving point to the beginning of
any marked region so buffer text comparison succeeds.
* hui-window.el (hmouse-x-coord, hmouse-y-coord): Simplified logic in GNU Emacs clause.
(hmouse-emacs-modeline-event-p): If a drag release was to an unselected frame mode-line,
on click-to-focus systems, the release event will not include the mode-line area when release was on
the mode-line, so manually compute if that was the location.
2017-11-02 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hkey-help): Fixed that arguments were being stripped from action calls in the help
output.
* hibtypes.el (pathname): Fixed to handle "-subr.elc" whose prefix character "-" tells Hyperbole
to load, not display subr.elc. Also handled subr.el.gz compressed source files.
* hib-kbd.el (kbd-key): Prevented matches to brace delimited things that are not preceded by
whitespace or at the beginning of buffers, e.g. ${variable}.
* man/hyperbole.texi (Implicit Buttons): Added examples.
hib-kbd.el (kbd-key): Improved doc.
* hibtypes.el (hyp-address): Fixed to grab email address using thing-at-point and work in mail-mode
not just whatever mode hmail:composer is.
(Info-node): Added check for ``dual single quotes'' used in Texinfo smart quotes.
* hpath.el (hpath:substitute-value):
(hpath:substitute-dir): Fixed to handle unbound symbol names. This fixed an error when an
environment variable matched a symbol but the symbol was unbound, e.g. (hpath:substitute-value
"${PATH}/python")
|
|
location issue; renamed to kotl/kotl-autoloads.el
* 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.
This is used as a predicate; fixed bug that moved point, causing Smart Key release logic to use the wrong point.
* hmouse-key.el (hmouse-add-unshifted-smart-keys): Removed GNU Emacs-only dependencies.
* kotl/kotl-autoloads.el: Renamed from kotl/kotl-loaddefs.el to match package autoload naming scheme.
* hmouse-sh.el (hmouse-unshifted-setup): In Info-mode, Emacs uses key-translation-map to link mouse-1 to do whatever
mouse-2 does but because Hyperbole uses both down and up bindings on mouse2, this does not work. So we rebind
mouse-1 and double-mouse-1 in Info mode to be actual Action Mouse Keys (which makes them follow Info
links/cross-references properly, doing a superset of what they did before).
(hmouse-posn-set-point): Added to handle frames rather than windows returned by some events; used in
hmouse-move-point-emacs.
* hui-mouse.el (hmouse-tag): Added require of hmouse-info and hmouse-tag for smart-info, smart-lisp etc. when autoload
file is not available.
* hmouse-sh.el (hmouse-bind-key-emacs):
hui-select.el (hui-select-initialize): Added missing double-down-* and triple-down-* bindings.
2017-10-31 Bob Weiner <rsw@gnu.org>
* hyperbole.el (hyperb:init): Added an "Initializing Hyperbole..." message at the beginning of this function.
Removed 'Hyperbole loading' message at the beginning of this file since Emacs load function outputs a similar
message. Moved Hyperbole 'ready for action' message here rather than at the end of this file since Hyperbole
initialization may be deferred until after Emacs initializaton time. Hyperbole init. is complete only after
this function is run.
2017-10-30 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (Glossary): Removed mention of old remote file access packages: ange-ftp and EFS. Use Tramp only
now.
(Searching and Summarizing): Renamed from Location.
* hpath.el (hpath:remote-at-p): Fixed to return /ftp: pre-pended to ftp paths since Tramp requires it.
* hibtypes.el (mail-address): Made lower priority than pathname so when an email-like user@domain is part of a remote
pathname, this won't trigger.
* hpath.el (hpath:rfc): Prepended /ftp: to value so tramp recognizes it as a remote file path.
* man/hyperbole.texi (Smart Mouse Key Modifiers):
hmouse-mod.el: Disabled this feature since it conflicts with present Emacs bindings of Control- and Meta- mouse keys.
* hui-mini.el (Doc/Manifest):
hui-menu.el (Documentation/Manifest): Changed to use hypb:display-file-with-logo so can quit after viewing.
* hversion.el (id-browse-file): Changed alias from find-file-read-only to view-file.
hui-mini.el (Doc/SmartKeys): Changed command used to match that used when same doc is displayed with a click at the right
of a modeline.
* man/hyperbole.texi (Smart Keys): Added section on Smart Mouse Key Drags to match those in the DEMO file.
(Global Key Bindings): Replaced hkey-toggle-bindings with proper reference to
hyperbole-toggle-bindings.
(Smart Key Bindings): Included hyperbole-toggle-bindings (toggles keyboard and mouse keys)
rather than hmouse-toggle-bindings (toggles only mouse keys); moved the latter to the Global Key Bindings appendix.
|
|
displaying the target item/buffer; added css to format Hyperbole HTML manual
* man/hyperbole.css: Added to format HTML version of the Hyperbole manual like the Hyperbole web page, greatly improving
its appearance.
* man/hkey-help.txt:
man/hyperbole.texi (Modeline Clicks and Drags): Documented new drag below.
hui-window.el (hmouse-alist): Added context of a drag from a window with a release to a modeline which for Action Mouse
Key splits the release window (which contains the modeline) and then displays the item or the buffer from the depress
window in the release window. With the Assist Mouse Key, just swaps buffers with no new window creation.
(hmouse-modeline-click): Updated to do full testing for a click, so this can be called at any point
after Smart Mouse Key release.
(hmouse-buffer-to-window, hmouse-item-to-window): Added optional boolean new-window parameter to force
a new window before buffer display.
(hmouse-split-window): Added.
(hmouse-modeline-event-p): Fixed conditional error that caused fall through past Modern GNU Emacs clause.
(action-mouse-key, assist-mouse-key): Set above new variables.
(action-key, assist-key): Added clear of any value of *-key-depress/release-position.
hmouse-drv.el (action-key-release-position, assist-key-release-position): Added these to compare to existing
*-key-depress-position value.
* README.md, HY-ANNOUNCE: Updated for public release.
|
|
finalized DEMO and manual.
* man/hyperbole.texi (Smart Mouse Drags outside a Window): Added this new section.
Updated manual with all new drag actions.
* hui-window.el (hmouse-goto-region-point, hmouse-prior-active-region): Rewrote these to work properly so that Smart
Mouse yanking and killing feature works as documented. Previously, it was not switching to the buffer of the
depress point when checking foran active region.
* hmouse-drv.el: Updated doc.
* MANIFEST (topwin): Renamed to topwin.py.
* hycontrol.el (hycontrol-windows-grid): Improved doc.
* hyperbole.el (hkey-initialize): Added global {C-c @} binding to hycontrol-windows-grid.
hui-mini.el (hui:menus): Under cust-keys, added GridOfWindows key change entry.
hui-menu.el (hui-menu-key-bindings): Added Grid-of-Windows-Key entry.
man/hyperbole.texi (Global Key Bindings): Documented this binding.
* DEMO (Modeline Mouse Clicks): Added section, "Running Dired on the Current Directory".
* man/hyperbole.texi (Smart Key - Image Thumbnails): Added this section.
Wrapped all images with @example and removed @center so do not appear way to the left of text when
formatted as html.
(Koutliner): Centralized all key binding index entries under "koutliner, ".
(Glossary): Added Windows Grid entry.
(HyControl): Added Concept Index entries.
(Manual Overview): Improved pointer to DEMO.
* hycontrol.el (hycontrol-windows-grid-rows-columns): Renamed to hycontrol-make-windows-grid.
(hycontrol--frames-prompt-format, hycontrol--windows-prompt-format): Changed FRAME: and WINDOW: prompt
to plural to match mode and variable names.
|
|
DEMO with newest commands.
* hycontrol.el: Extended initial commentary with new features and improved explanations.
(hycontrol-split-windows-rows-columns): Modified to temporarily exit HyControl mode if need
to read a rows-columns argument.
(hycontrol-split-windows-buffer-list, hycontrol-split-windows, hycontrol-split-windows-by-major-mode
hycontrol-split-windows-repeatedly, hycontrol-split-windows-rows-columns): Renamed by replacing
'split-windows' with 'windows-grid'.
(hycontrol-window-minimize-lines): Previously did not resize window if it could not display all of the
buffer lines in the window. Now will resize to 1 line if cannor or if all lines are already displayed.
(hycontrol-split-windows-buffer-list): Added doc string.
* DEMO (HyControl): Added interactive examples of newest HyControl commands.
* hui-window.el (hmouse-goto-depress-prev-point): Fixed to handle when no prev-point is saved.
(hmouse-drag-region-active): Return nil if no prev-point saved.
* hpath.el (hpath:is-p): Fixed to handle single % in path argument when sent as format string near the
end of the function.
* hib-kbd.el (kbd-key:normalize): Quoted % characters as %% to prevent format from treating them specially.
(kbd-key:hyperbole-hycontrol-key-p): Added to match key sequences within HyControl since
its prefix arguments are specified without C-u or ESC or META prefixes.
(kbd-key, kbd-key:act): Used above function here.
* hmouse-drv.el (hkey-either): Fixed to ignore prefix args set by HyControl.
* hyperbole.el (hkey-initialize):
hui-menu.el (hui-menu-key-bindings): Changed {C-c \} entry from hycontrol-windows to new hycontrol-enable-windows-mode.
|
|
command; inverted selected mode-line for emphasis
2017-10-24 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-universal-arg-digit): Removed first argument and replaced with global hycontrol-arg,
so could set this value internally.
(hycontrol--debug, hycontrol-setup): Changed from -1 to 0 as debug setting since -1 is used to turn off
HyControl minor modes.
(hycontrol-debug): Renamed from hycontrol--debug. Made public so can be set directly.
(hycontrol-setup, hycontrol-frames, hycontrol-windows): : Removed debug parameter; no longer needed since
all events are handled normally by Emacs now.
(hycontrol-windows-mode-map): [ and ] bindings; don't call these interactively because a prefix arg of 1
tries to make one window 1 line tall.
(hycontrol-split-windows-repeatedly): Added to allow rapid visual testing of various window layouts until
satisfied.
(hycontrol-post-command-hook): Made this automatically quit from HyControl whenever a minibuffer prompt
becomes active so can use regular keys to type.
(hycontrol-invert-mode-line-flag, hycontrol-invert-mode-line): Added to invert mode-line to emphasize the
special key bindings in effect in HyControl modes.
2017-10-23 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-split-windows-buffer-list): Added to prefix buffer-list with any marked items
when in a Dired, Buffer-Menu or iBuffer listing buffer. If any such items exist, the buffer-list
is not filtered by hycontrol-display-buffer-predicate-list.
(hycontrol-pre-command-hook): Added and changed setting of prefix-arg to pre-command-hook. This set it
properly for HyControl commands.
(hycontrol--prompt-format): Added to generalize help prompt handling.
(hycontrol-post-command-hook): Replaced windows and frames post-command-hook with this one.
(hycontrol-frames-mode, hycontrol-windows-mode): Made these global minor modes and added their
variables to the hyperbole-screen group. Buffer local minor modes renamed to hycontrol-local-*-mode.
(hycontrol-quit-frames-mode, hycontrol-quit-windows-mode): Changed defs to disable its global
minor mode.
(hycontrol-post-command-hook): Fixed so HyControl help messages are not logged to the
*Messages* buffer.
(hycontrol-disable-modes): Added.
* set.el (set:create): Added autoload in case is ever used without a require.
* hycontrol.el (hycontrol-split-windows, hycontrol-split-windows-rows-columns, hycontrol-split-windows-by-major-mode):
Incredible new autoloaded commands that split a frame into a number of balanced
windows specified by rows and columns (typically as prefix arg
digits). Each window shows a different buffer, if possible, with the
by-major-mode command preferring buffers with the specified major mode. The hycontrol-split-windows
chooses the by-major-mode command when given a prefix arge of 0; otheriwse, the rows-column one.
(hycontrol-window-display-buffer, hycontrol-display-buffer-predicate-list)
hycontrol--invert-display-buffer-predicates): Added to support new commands.
(require 'set): Added for set:create used in hycontrol-split-windows-by-major-mode.
(hycontrol-*-mode-map): Bound {@} to hycontrol-split-windows-rows-columns, also in Buffer-menu,
IBuffer and Dired modes.
* hycontrol.el (hycontrol--initial-which-key-inhibit): Added.
(hycontrol-end-mode, hycontrol-frames, hycontrol-windows): Used above flag.
(hycontrol-setup): Refactored common parts of hycontrol-frames and hycontrol-windows here.
(hycontrol-frames-setup, hycontrol-windows-setup): Added and used in
hycontrol-frames and hycontrol-windows, respectively.
2017-10-22 Bob Weiner <rsw@gnu.org>
* Makefile ($(pkg_dir)/hyperbole-$(HYPB_VERSION).tar): Ensured `topwin' script was made executable.
hmouse-drv.el (hmouse-window-at-absolute-pixel-position): Changed to find `topwin' executable in
hyperb:dir so no additional installation is necessary.
* hycontrol.el (hycontrol-window-to-new-frame): Fixed to duplicate prior selected window size properly.
* hui-window.el
man/hkey-help.txt: Noted that a modeline click on a dired Buffer ID shows the parent directory.
2017-10-20 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-help-flag):
(hycontrol-toggle-help): Added to allow toggling minibuffer key binding help off.
(hycontrol-frames-mode, hycontrol-windows-mode): Made HyControl modes into minor modes.
(hycontrol-enable-frames-mode, hycontrol-enable-windows-mode): Renamed from
hycontrol-toggle-to-*-mode.
man/hyperbole.texi (HyControl): Updated documentation with these changes.
* hbut.el (ibtype:create): Expanded this doc for defact, explaining how actions are connected to its
'at-p' parameter.
* hycontrol.el (hycontrol-abort-mode): Added and used when {C-g} is pressed; exits HyControl
and executes (keyboard-quit).
(hycontrol-end-mode, hycontrol-quit-frames-mode, hycontrol-quit-windows-mode,
hycontrol-toggle-to-frames-mode, hycontrol-toggle-to-windows-mode): Added
and used as key bindings.
(hycontrol-exit-mode): Deleted and replaced with above commands.
(hycontrol-frame-fit-to-screen): Changed to adjust width and height separately which fixed
a bug in our call to set-frame-size which kept increasing the frame height slightly.
(hycontrol-frames, hycontrol-windows): Prevented `which-key' package from popping up its key
help and interferring with the minibuffer message while in HyControl. Otherwise, the
which-key help could be left onscreen after a quit of HyControl.
* hui-window.el (hmouse-pulse-flag): Made t the default because timing and display issues with
pulsing drag items were resolved now.
2017-10-19 Bob Weiner <rsw@gnu.org>
* Makefile (pkg): Changed hyperbole source dir from hyperbole-<version> to hyperbole since that
is the name of the git repo top-level directory from which packages are now built.
* hui-jmenu.el (hui-menu-hywconfig): Fixed improper variable reference that kept Delete-Name
and Restore-Name from ever being active.
|
|
support key bindings.
2017-10-19 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (Version): Updated to 6.0.2e and rebuilt output formats.
* hycontrol.el (hycontrol-frame-adjust-widths, hycontrol-frame-adjust-heights,
hycontrol-frame-adjust-widths-full-height, hycontrol-frame-adjust-heights-full-width,
hycontrol-set-width-percentage-full-height, hycontrol-set-height-percentage-full-width,
hycontrol-frame-widths-pointer, hycontrol-frame-widths, hycontrol-frame-heights-pointer,
hycontrol-frame-heights: Added to cycle through resizing height or width of frames to
common sizes. Also cycle through one dimension while fixing the other dimension
at full-screen size.
(hycontrol--frames-prompt-format): Added {a} and {A} bindings to both frames and windows
keymaps to adjust frame width and height respectively by cycle through a list of common
fixed percentages such as 25% and 50%. Added to Hyperbole manual.
(hycontrol-frames-post-command-hook-body, hycontrol-windows-post-command-hook-body):
Added to prevent {C-g} quit from signalling an error within post-command-hook.
2017-10-18 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-restore-frame-configuration, hycontrol-restore-window-configuration,
hycontrol-save-configurations, hycontrol-delete-other-frames,
hycontrol-delete-other-windows, hycontrol-clone-window-to-new-frame
hycontrol-make-frame): Made interactive.
(hycontrol-frames, hycontrol-windows): Forced arg to numeric value on entry.
(hycontrol-stay-in-mode, hycontrol-universal-arg-digit,
hycontrol--debug, hycontrol--exit-status, hycontrol-arg,
hycontrol--frames-prompt-format, hycontrol--windows-prompt-format,
hycontrol-frames-pre-command-hook, hycontrol-windows-pre-command-hook,
hycontrol-frames-mode-map, hycontrol-windows-mode-map, hycontrol-exit-mode): Added.
(hycontrol-prettify-event, hycontrol-handle-event): Removed.
(hycontrol-frames, hycontrol-windows): Rewrote HyControl to use a frame-mode
and window-mode transient keymap which allows for regular key bindings and eliminates
the need for a HyControl event loop and processing of non-HyControl events. There should
be no change in HyControl user-visible behavior from this other than that key bindings
may now be customized (remember to update the HyControl minibuffer prompts if you do change
any).
2017-10-17 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-screen-offset-alist, hycontrol-set-screen-offsets,
hycontrol-display-screen-offsets):
Changed ordering of items to match Emacs window-edges and frame-edges.
(hycontrol-fit-to-screen): Added and used to ensure resized and repositioned
windows fit on the screen.
(hycontrol-set-frame-height, hycontrol-set-frame-position, hycontrol-set-frame-size,
hycontrol-set-frame-width): Added with calls to hycontrol-fit-to-screen.
* man/hyperbole.texi: Removed InfoDock and XEmacs references since they are so old and no
longer maintained that no one uses them today.
* hmouse-sh.el (hmouse-unshifted-setup): Changed to enable right mouse key as Assist Key unless
optional argument MIDDLE-KEY-ONLY-FLAG is non-nil (which is how it is called from
hmouse-shifted-setup).
* hycontrol.el (hycontrol-frame-percentage-of-screen): Automatically adjusted out of bounds
percentages to the closest number of 0 and 0.998 (so does not overflow screen.
Automatically moved frame if right or bottom edges are offscreen as a result of size change.
* DEMO (Dragging Buffers and Windows): Renamed this from 'Moving Buffers' and added subsections.
2017-10-16 Bob Weiner <rsw@gnu.org>
* man/hyperbole.texi (Smart Key Modeline Clicks): Renamed from Smart Key Modeline. Added
up-to-date info on click locations and actions.
(Implicit Buttons): Added git-reference, git-commit-reference and
github-reference.
(Future Work): Added Direct Manipulation section.
(Smart Keys): Moved before Buttons chapter since Buttons references
Smart Keys and the benefits of Smart Keys are quicker to understand.
* hui-mouse.el (smart-dired, smart-dired-assist): Made end of first line behave just like
last line for quitting and executing actions.
* hmouse-drv.el (hmouse-window-at-absolute-pixel-position): Further optimized for when
depress and release windows are the same and frame has an auto-raise property, then we
know release window was uppermost at the point of release and can skip finding what app
owned the topmost window.
* hui-window.el (hmouse-dired-readin-hook):
(hmouse-dired-display-here-mode): Added and used in hmouse-drag-item-mode-forms.
Once a dired buffer item has been dragged, make next Action Key press on an item display it
in the same dired window.
man/hyperbole.texi (Smart Key - Dired Mode): Documented here and in smart-dired function.
* man/hkey-help.txt:
hui-window.el: Updated drag acton summaries with the latest information.
* hui-window.el (hmouse-drag-vertically-within-emacs): Added to allow for modeline vertical drags
between windows.
* hui-mouse.el (smart-dired-pathname-up-to-point): Added this to change the behavior of smart-dired.
When on the first line of a Dired buffer where its directory path is shown, treat any ancestor
subdirectory of the current directory as a selectable path. Thus, you can run Dired on any
ancestor subdirectory simply by pressing the Action Key at the end of the subdirectory you want.
A press on the first / character, runs dired on the root directory.
man/hyperbole.texi (Smart Key - Dired Mode): Updated doc to reflect this change.
|
|
showed Hyperbole key bindings in menu
* hui-window.el (hmouse-drag-between-frames): Removed from hmouse-alist; treat this context
the same as a drag between windows within one frame, for consistency.
* hui-menu.el (hui-menu-key-bindings): Added for use as menu filter for Hyperbole/Options/Change-Key-Bindings
so displayed key bindings are always up-to-date.
* hui-mouse.el (smart-outline-level): Added and used instead of (outline-level) which assumes
its caller has already generated match data, which is not always the case in Hyperbole.
* hmouse-sh.el (hmouse-move-point-emacs): Added mouse-select-region-move-to-beginning handling
that appeared in Emacs 26.1 and noted this in the function documentation.
* hui-window.el (hmouse-buffer-to-window): Added along with drag from mode-line to another
window context to replace the buffer in a dest. window with the buffer from the source
window.
|
|
item drags,
hyperbole.el commentary, texinfo @findex and @vindex implicit buttons, hycontrol
frame quadrant movement by virtual numeric keypad, greater hycontrol WINDOW/FRAME
commonality, hycontrol rapid frame percentage resizing along a single edge, improved
smart key help
2017-10-16 Bob Weiner <rsw@gnu.org>
* hib-debbugs.el (debbugs-query:at-p): eliminated match of #id-number and always required
'bug' or similar prefix so there is no ambiguity with social references including
git #commit-number.
* hmouse-drv.el (hkey-help): Updated to handle call-interactively actions and 'or'ed action
intelligently when printing action documentation.
2017-10-15 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (action-key-depress-position, assist-key-depress-position): Added to
test whether or not last Action Mouse Key event was a mouse click (non-drag event).
2017-10-14 Bob Weiner <rsw@gnu.org>
* hmouse-drv.el (hmouse-window-at-absolute-pixel-position): Added optional Python script,
topwin, for macOS window-system only. It determines the topmost application window at
the given position and returns the application name, so Emacs can tell if its frame is
obscured by another application or not.
(hmouse-verify-release-window-flag): Added so can turn off use of the macOS
Python script when desired since it slows Smart Key action handling at least 1/3 of a
second.
* hycontrol.el (hycontrol-frames): Changed = command call to set-frame-size to use pixel
dimensions rather than chars/lines for better accuracy.
(hycontrol-window-to-new-frame): Same.
* hui-menu.el (hui-menu-key-binding-item): Added.
* hmouse-drv.el (hmouse-set-point): Fixed to return a posn object as a fallback, i.e. what
event-start and event-end return; previously, had returned point as a marker in this case.
Keyboard-based emulation of mouse drags via hkey-operate had been broken; this fixed it.
* hui-window.el (hmouse-x-coord, hmouse-y-coord): Updated to accept a posn.
(hmouse-modeline-event-p): Ignored case where args is a posn or point-marker,
not an event.
2017-10-13 Bob Weiner <rsw@gnu.org>
* hversion.el (hyperb:window-sys-term): Emacs set-frame-parameter does not return the value, so
this function was always returning nil. Fixed it to return what the doc says it does.
* hycontrol.el (hycontrol-frame-at-left-p, hycontrol-frame-at-top-p, hycontrol-frame-at-right-p,
hycontrol-frame-at-bottom-p): Added.
(hycontrol-frame-expand-to-*): Rewrote these: first they expand a frame to a particular edge;
then the next invocation when already at that edge, cuts that frame dimension in half from the
opposite side (or to any percentage specified as an argument), leaving the particular edge fixed.
Renamed to hycontrol-frame-resize-to-*. This allows both rapid expansion and contraction of
frames with just 4 keys whenever needed.
(hycontrol-frame-resize-percentage, hycontrol-frame-resize-arg): Added as support functions.
(hycontrol-frame-edges): Added to ensure outer edges of frames are always used.
(hycontrol-frames): Added arg as a 0-100 percentage for i,j,k,m commands.
(hycontrol-windows): Added same c (cycle frame positions), i,j,k,m keys and numeric
keypad keys to here.
(hycontrol-frames/windows): Added p (virtual numeric keypad) to allow keyboard-based frame
quadrant movement when a numeric keypad is not available. This can be interrupted
with a q to return to the control menu or a C-g to abort the control menu.
* hui-window.el (hmouse-horizontal-action-drag): Replaced doc typo of 'vertical' with 'horizontal'.
* DEMO (Help buffers): Added description of how to get help for Smart Mouse Key-only events.
* hycontrol.el (hycontrol-windows, hycontrol-frames): In window-control mode, changed {f}
to clone window to new frame without deleting the source window to match similar
Action Key drag from window/modeline to outside of any Emacs window. Added {F} to clone but
delete the source window. Added these 2 bindings to frame-control mode too. Documented
in Hyperbole manual.
Expanded control help to 4 lines, added = command to equalize sizes of windows/frames,
added f/F commands.
* hibtypes.el (texinfo-ref): Added doc display for Emacs Lisp @findex (function) and @vindex
(variable) entries. Changed so does nothing if function or variable is unbound.
Updated its doc string and doc in the Hyperbole manual.
* hmouse-drv.el (hkey-help): Changed to print "WHICH WILL:" rather than "WHICH:" when the first
word of the doc string does not end in an 's', e.g. "Display this" instead of "Displays this".
* hui-window.el (hmouse-release-left-edge): Noted that left edge mode-line clicks must be on the
first blank character of the mode-line because Emacs overrides the Smart Mouse Key bindings
immediately after that position. Noted in Hyperbole manual as well.
* Makefile (version): Added hyperbole.el to version check.
hyperbole.el: Updated the Commentary with a description of Hyperbole in case the Emacs package
system or a user looks here for it.
* hycontrol.el (hycontrol-clone-window-to-new-frame): Added and used in hmouse-alist.
2017-10-12 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-window-to-frame): Renamed to hycontrol-window-to-new-frame.
(hycontrol-keep-window-flag): Added: When non-nil (default is nil), leave
original window when tear off window to another frame.
* hui-window.el (hmouse-emacs-modeline-event-p, hmouse-modeline-event-p): Added.
(hmouse-modeline-depress, hmouse-modeline-release): Simplified and speeded up for GNU Emacs.
(action-key-modeline, assist-key-modeline):
man/hyperbole.texi (Modeline Clicks and Drags): Updated with new modeline buffer id click actions.
man/hkey-help.txt: Updated with most new drag and click actions.
* hywconfig.el: Changed all (called-interactively-p 'interactive) to (called-interactively-p)
so will work if called interactively from one of the Smart Key lists.
* DEMO: Fixed a number of small issues with implicit buttons therein.
* hui-window.el (hmouse-drag-diagonally, hmouse-drag-horizontally, hmouse-drag-vertically):
Added explicit test that press and release are in the same window.
(hmouse-drag-item-to-display, hmouse-item-to-window): Added dired support.
(hmouse-pulse-flag): Disabled by default due to sluggishness and improper visuals at times.
(hmouse-map-modes-to-form, hmouse-drag-item-mode-forms): Added.
(hmouse-drag-item-to-display, hmouse-item-to-window): Updated to use the new variable,
hmouse-drag-item-mode-forms so users can add new modes for named item drags.
* hui-window.el (hmouse-drag-between-frames): Added and used in hmouse-alist.
(hmouse-alist): Added modeline drags between frames and outside of Emacs.
Added window drags outside of any window (outside of Emacs).
(hmouse-clone-window-to-frame): Added and used in hmouse-alist.
man/hkey-help.txt: Updated with latest modeline and between window drag movements.
2017-10-11 Bob Weiner <rsw@gnu.org>
* hycontrol.el (hycontrol-window-to-frame): Modified in the case of only one window in the frame,
then clone the window into a new frame. This allows you to create a bunch of tiled frames
when in Window Control mode. Also made this an autoload and called in "hui-window" within
hmouse-alist.
* hui-window.el (hmouse-drag-outside-all-windows): Added to handle the case where a drag release is
outside of any Emacs window or frame and used in hmouse-alist.
* hmouse-drv.el (hmouse-vertical-line-spacing): Added and used to compute vertical character positions.
(hmouse-key-release-window-emacs): Renamed to hmouse-key-release-window and used in
hmouse-function to set action/assist-key-release-window accurately.
(hmouse-function): Fixed so action/assist-key-release-prev-point is set properly,
before point is set to the location of the mouse button release.
* hui-window.el (hmouse-drag-thing): Fixed to handle when release location is outside Emacs and
end-point is nil.
(hmouse-drag-same-window): Added and used in horizontal and vertical drag tests.
* hmouse-key.el (hmouse-update-smart-keys): Extended to also re-initialize Smart Key bindings.
* hmouse-drv.el (smart-scroll-up): Removed 's' from the end of verbs in all function comments,
e.g. scroll window instead of scrolls window, for consistency within the file.
(hmouse-window-at-absolute-pixel-position, hmouse-window-coordinates): Added to compute the
actual window and location of the release of a mouse drag which Emacs does not compute.
Proper top-to-bottom listing of frames is available only in Emacs 26 and above. For
prior versions, the ordering of the frames returned is not guaranteed, so the frame
whose window is returned may not be the uppermost.
(hmouse-key-release-window-emacs, hmouse-key-release-args-emacs): Updated to use new window
of release functions. Now drags between frames work properly.
|