Skip to content

Questions and Answers

  1. As I discover the Zen of Hyperbole, will I become so enamored of its power that I lose all control of my physical faculties?

    This other-worldly reaction is of course an individual matter. Some people have canceled meditation trips to the Far East after discovering that pressing the Action Key in random contexts serves a similar purpose much more cheaply. We have not seen anyone’s mind turn to jelly but with the cognition Hyperbole saves you, you might just grow a second one. Eventually, you will be at peace and will understand that there is no adequate description of Hyperbole. Just let it flow through you.

    Ok, joking aside, now that we have your attention, here are some serious questions and answers.

  2. Isn’t Org-mode the same as Hyperbole?

    No, they offer very different capabilities when you compare them a bit more deeply. In fact, it makes sense to use them together and they are highly compatible. The only overlap we see is that Org-mode has a more limited kind of hyperlinks and offers some BBDB integration as Hyperbole does. For a list of some differences, see: https://www.emacswiki.org/emacs/Hyperbole.

    Org-mode offers traditional Emacs outlining, todo list management, agenda and diary management, so it is very complementary to Hyperbole. It did not exist when Hyperbole was first developed.

    Smart Key support for Org-mode is already in Hyperbole. Use the hsys-org-enable-smart-keys customization variable to control the Smart Keys and {M-RET} when in Org-mode with hyperbole-mode active. t enables Smart Key support everywhere. The symbol, :buttons, is the default; it means the Smart Keys are active only when point is within a Hyperbole button. A nil value means no Smart Key support; Hyperbole gives Org complete control over {M-RET} so that it behaves just as it does normally in Org mode.

  3. How can I change the Smart Mouse Key bindings?

    Since the Smart Mouse Keys are set up for use under many different Emacs configurations, there is no easy way to provide user level customization. Any mouse key binding changes require editing the (hmouse-setup) and (hmouse-get-bindings) functions in the hmouse-sh.el file.

    To make the Smart Keys do new things in particular contexts, define new types of implicit buttons, see Implicit Buttons.

    The hkey-alist and hmouse-alist variables in hui-mouse.el and hui-window.el must be altered if you want to change what the Smart Keys do in standard contexts. You should then update the Smart Key summary documentation in the file, man/hkey-help.txt, and then regenerate the readable forms of this manual which includes that file.

  4. What if I get mail with a Hyperbole button type I don’t have?

    Or what if someone sends a mail message with a button whose link referent I can’t access?

    You receive an error that an action type is not defined or a link referent is not accessible/readable if you try to use the button. This is hardly different than trying to get through a locked door without a key; you try the doorknob, find that it is locked, and then realize that you need to take a different approach or else give up.

    Like all communication, people need to coordinate, which usually requires an iterative process. If you get a mail message with a button for which you don’t have the action type, you mail the sender and request it.

  5. How can I modify a number of global buttons in succession?

    Rather than typing the name for each, it is quicker to jump to the global button file and edit the buttons there as you would any explicit or implicit buttons. By default, the ButFile/PersonalFile menu item takes you to the file where global buttons are saved. Global buttons are saved near the end of this file.

  6. Why are button attributes scattered across directories?

    When you think of a hyperspace that you depend on every day, you don’t want to have a single point of failure that can make you incapable of doing work. With Hyperbole, if some directories become unavailable for a particular time (e.g. the filesystems on which they reside are dismounted) you can still work elsewhere with minimal effect. We believe this to be a compelling factor to leave the design with distributed button attribute storage.

    This design also permits the potential addition of buttons to read-only media.

  7. Why are action types defined apart from implicit button types?

    Any category of button can make use of any action type. Some action types are useful as behavior definitions for a variety of button categories, so all action types are defined separately to give them independence from those types which apply them.

    For implicit button types that require a lot of code, it is useful to add a module that includes the implicit button type definition, its action type definition and supporting code. Then simply load that module into your Emacs session.