emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Re: Org and Hyperbole
@ 2022-06-22 19:57 linux_hpc_akr
  2022-06-23  6:47 ` Bill Burdick
  0 siblings, 1 reply; 70+ messages in thread
From: linux_hpc_akr @ 2022-06-22 19:57 UTC (permalink / raw)
  To: orgmode

I use both Org and Hyperbole.

I'm a sysadmin so I do a lot with files and paths and URLs.  A lot of which
happens not in org files.

Being able to treat the files/paths/URLs as implicit buttons anywhere is
pretty valuable to me.

I just hit hkey-either on a filename/path and emacs opens it.  Or I hit
hkey-either on a URL and emacs sends to my web browser.  And I can do this in
any file or terminal or anywhere that I find myself in emacs.  I don't have to
think about it.  It just works.

Just my $0.02 in favor of using both Org and Hyperbole.

-- 
- Bill
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Bill Benedetto     <bbenedetto@goodyear.com>    The Goodyear Tire & Rubber Co.
I don't speak for Goodyear and they don't speak for me.  We're both happy.


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 19:57 Org and Hyperbole linux_hpc_akr
@ 2022-06-23  6:47 ` Bill Burdick
  2022-06-23  6:53   ` Bill Burdick
  0 siblings, 1 reply; 70+ messages in thread
From: Bill Burdick @ 2022-06-23  6:47 UTC (permalink / raw)
  To: linux_hpc_akr; +Cc: orgmode

[-- Attachment #1: Type: text/plain, Size: 2333 bytes --]

In case anyone's interested in writing hyperbole commands that can act on
regions but be located in other windows...

To write a hyperbole command that restores the previous window and
selection, just call bill/hyp-load-state at the start of your code and call
bill/hyp-restore at the end (see bill/recalc for an example).

This lets <recalc> recalculate org tables in any buffer with the button in
a different (or the same) window.

Here's some example text:

<recalc>

Here's a table. Click in it and then shift-middle-click recalc, above.
"aaa12" should change to "12" and your cursor should stay in the same place.
| a | aaa12 |
| a |  5 |
|   | 17 |
#+TBLFM: @1$2=3*4::@2$2=2+3::@3$2=vsum(@1..@2)

Here's my current definition for recalc

(defvar bill/hyp-state nil)

(defun bill/hyp-save-state (&rest args)
  (setq bill/hyp-state
        (list (selected-window) (point-marker) (and (use-region-p)
(copy-marker (mark-marker))))))

(cl-defun bill/hyp-load-state (&optional (state bill/hyp-state))
  (let ((window (car state))
        (point (cadr state))
        (mark (caddr state)))
    (when window
      (select-window window)
      (set-buffer (marker-buffer point))
      (and mark (set-mark (marker-position mark)))
      (goto-char point))))

(defun bill/hyp-restore ()
  (let ((state bill/hyp-state))
    (run-at-time 0 nil (lambda () (bill/hyp-load-state state)))))

(advice-add 'action-key-depress :before 'bill/hyp-save-state)
;; evaluate this to remove the advice
;;(advice-remove 'action-key-depress 'bill/hyp-save-state)

(defun bill/recalc (end)
  (let ((act-point action-key-depress-prev-point))
    (bill/hyp-load-state)
    (when (org-at-table-p)
      (org-table-analyze)
      (org-table-maybe-eval-formula)
      (call-interactively 'org-table-recalculate)
      (org-table-align)))
  (bill/hyp-restore))

(defib recalc ()
  "recalculate the table at point"
  (save-excursion
    (let* ((pos (point))
           (eol (progn (re-search-forward "\n") (point)))
           (bol (progn (re-search-backward "\n" nil t 2) (1+ (point))))
           (start (progn (goto-char pos) (re-search-backward "<" bol t)))
           (end (progn (goto-char pos) (re-search-forward ">" eol t))))
      (and start end (string-match "<recalc[> ].*" (buffer-substring start
end))
           (hact 'bill/recalc end)))))


-- Bill

[-- Attachment #2: Type: text/html, Size: 3120 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23  6:47 ` Bill Burdick
@ 2022-06-23  6:53   ` Bill Burdick
  0 siblings, 0 replies; 70+ messages in thread
From: Bill Burdick @ 2022-06-23  6:53 UTC (permalink / raw)
  To: linux_hpc_akr; +Cc: orgmode

[-- Attachment #1: Type: text/plain, Size: 143 bytes --]

Note that recalc relies on lexical binding so if you use it, whatever file
it's in needs

;; -*- lexical-binding: t -*-

at the top.


-- Bill

[-- Attachment #2: Type: text/html, Size: 431 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-04 14:20     ` Fraga, Eric
@ 2022-07-04 16:56       ` Robert Weiner
  0 siblings, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-07-04 16:56 UTC (permalink / raw)
  To: Fraga, Eric; +Cc: Tim Cross, emacs-orgmode

Correct.  It uses just C-h h to activate the Hyperbole minor mode and to display its keyboard driven minibuffer menu.  This is a normal global key binding which you can easily rebind to anything you like.

-- rsw

> On Jul 4, 2022, at 10:44 AM, Fraga, Eric <e.fraga@ucl.ac.uk> wrote:
> 
> On Monday,  4 Jul 2022 at 21:09, Tim Cross wrote:
>> It appears that hyperbole now uses C-h h as its menu key. Other C-h
>> bindings appear to be unaffected (you just don't get the old Hello file
>> which you normally have bound to C-h h).
> 
> Ah, that sounds better.  I can definitely manage without easy access to
> the hello file! ;-)
> 
> -- 
> : Eric S Fraga, with org release_9.5.4-605-g0ed0de in Emacs 29.0.50


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-04 11:09   ` Tim Cross
@ 2022-07-04 14:20     ` Fraga, Eric
  2022-07-04 16:56       ` Robert Weiner
  0 siblings, 1 reply; 70+ messages in thread
From: Fraga, Eric @ 2022-07-04 14:20 UTC (permalink / raw)
  To: Tim Cross; +Cc: emacs-orgmode

On Monday,  4 Jul 2022 at 21:09, Tim Cross wrote:
> It appears that hyperbole now uses C-h h as its menu key. Other C-h
> bindings appear to be unaffected (you just don't get the old Hello file
> which you normally have bound to C-h h).

Ah, that sounds better.  I can definitely manage without easy access to
the hello file! ;-)

-- 
: Eric S Fraga, with org release_9.5.4-605-g0ed0de in Emacs 29.0.50

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-04 10:43 ` Fraga, Eric
  2022-07-04 11:01   ` Ihor Radchenko
@ 2022-07-04 11:09   ` Tim Cross
  2022-07-04 14:20     ` Fraga, Eric
  1 sibling, 1 reply; 70+ messages in thread
From: Tim Cross @ 2022-07-04 11:09 UTC (permalink / raw)
  To: emacs-orgmode


"Fraga, Eric" <e.fraga@ucl.ac.uk> writes:

> Robert,
>
> just one quick comment and question (maybe the documentation covers
> this; if so, apologies): when I tried hyperbole years ago, the annoying
> thing was that it took over C-h.  My muscle memory after decades of
> Emacs use was disturbed significantly as I use C-h (for Emacs help) all
> the time.
>

It appears that hyperbole now uses C-h h as its menu key. Other C-h
bindings appear to be unaffected (you just don't get the old Hello file
which you normally have bound to C-h h).




^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-04 11:01   ` Ihor Radchenko
@ 2022-07-04 11:08     ` Fraga, Eric
  0 siblings, 0 replies; 70+ messages in thread
From: Fraga, Eric @ 2022-07-04 11:08 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Robert Weiner, emacs-org list, rswgnu

On Monday,  4 Jul 2022 at 19:01, Ihor Radchenko wrote:
> I posted a bug report related to this in the past and it was fixed. So,
> situation may be somewhat better. You might try and see what happens.

Thank you.  I will play with this system again then.

-- 
Eric S Fraga, @ericsfraga:matrix.org, GnuPG: 0xc89193d8fffcf67d

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-04 10:43 ` Fraga, Eric
@ 2022-07-04 11:01   ` Ihor Radchenko
  2022-07-04 11:08     ` Fraga, Eric
  2022-07-04 11:09   ` Tim Cross
  1 sibling, 1 reply; 70+ messages in thread
From: Ihor Radchenko @ 2022-07-04 11:01 UTC (permalink / raw)
  To: Fraga, Eric; +Cc: Robert Weiner, emacs-org list, rswgnu

"Fraga, Eric" <e.fraga@ucl.ac.uk> writes:

> just one quick comment and question (maybe the documentation covers
> this; if so, apologies): when I tried hyperbole years ago, the annoying
> thing was that it took over C-h.  My muscle memory after decades of
> Emacs use was disturbed significantly as I use C-h (for Emacs help) all
> the time.

I posted a bug report related to this in the past and it was fixed. So,
situation may be somewhat better. You might try and see what happens.

However, it appears that something else regarding C-h changed after the
fix as well. At least, I cannot load hyperbole anymore because of some
other aggressive binding (I have C-h rebound to something else):

Debugger entered--Lisp error: (error "Key sequence C-h h starts with non-prefix key C-h")
  (global-set-key [8 104] hyperbole)
  (hkey-initialize)
  (hyperb:init)
  ...
  (require hyperbole nil t)

Best,
Ihor


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
                   ` (7 preceding siblings ...)
  2022-06-26  6:37 ` Siva Swaminathan
@ 2022-07-04 10:43 ` Fraga, Eric
  2022-07-04 11:01   ` Ihor Radchenko
  2022-07-04 11:09   ` Tim Cross
  8 siblings, 2 replies; 70+ messages in thread
From: Fraga, Eric @ 2022-07-04 10:43 UTC (permalink / raw)
  To: Robert Weiner; +Cc: emacs-org list, rswgnu

Robert,

just one quick comment and question (maybe the documentation covers
this; if so, apologies): when I tried hyperbole years ago, the annoying
thing was that it took over C-h.  My muscle memory after decades of
Emacs use was disturbed significantly as I use C-h (for Emacs help) all
the time.

thank you,
eric

-- 
: Eric S Fraga, with org release_9.5.4-605-g0ed0de in Emacs 29.0.50

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-02  5:12           ` Ihor Radchenko
@ 2022-07-02 21:38             ` Samuel Wales
  0 siblings, 0 replies; 70+ messages in thread
From: Samuel Wales @ 2022-07-02 21:38 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: rswgnu, João Pedro, emacs-org list

thank you.  that helps me understand.

i probably won't be asking them a q, if i have to sign up and set up a
non-free js in debian or firefox-esr [?].  embark looks interesting
though.


On 7/1/22, Ihor Radchenko <yantar92@gmail.com> wrote:
> Samuel Wales <samologist@gmail.com> writes:
>
>> thanks!  i was aware that it was developed on github, but i do not
>> know anything about github, and didn't kow if there was a maliing list
>> in addition.  or are projects given their own mailing lists when they
>> are formed on github?  or is there an email bidir interface to github?
>>  or is pretty much absolutely everything for such projects done on
>> gh's website and you hae to have an account to ask a q?  i might be
>> asking too much of gh :).
>
> Github is not very FSF-friendly. AFAIK, you must have an account to
> participate in the discussions. In order to make an account, you also
> need to run a non-Free JS.
>
> To post a question, you usually have to open an "issue" on the website.
> Though you can leverage Magit to do it for you without browser.
> (https://magit.vc/manual/forge/)
>
> Tracking new "issues" is somewhat easier - you can make Github send
> emails to you and you can reply to those emails normally - the replies
> will show up as "comments" in Github page.
>
> Also, once you created an issue, you can reply by email if you
> configured Github to send you email updated.
>
> Best,
> Ihor
>


-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-02  4:57         ` Samuel Wales
@ 2022-07-02  5:12           ` Ihor Radchenko
  2022-07-02 21:38             ` Samuel Wales
  0 siblings, 1 reply; 70+ messages in thread
From: Ihor Radchenko @ 2022-07-02  5:12 UTC (permalink / raw)
  To: Samuel Wales; +Cc: rswgnu, João Pedro, emacs-org list

Samuel Wales <samologist@gmail.com> writes:

> thanks!  i was aware that it was developed on github, but i do not
> know anything about github, and didn't kow if there was a maliing list
> in addition.  or are projects given their own mailing lists when they
> are formed on github?  or is there an email bidir interface to github?
>  or is pretty much absolutely everything for such projects done on
> gh's website and you hae to have an account to ask a q?  i might be
> asking too much of gh :).

Github is not very FSF-friendly. AFAIK, you must have an account to
participate in the discussions. In order to make an account, you also
need to run a non-Free JS.

To post a question, you usually have to open an "issue" on the website.
Though you can leverage Magit to do it for you without browser.
(https://magit.vc/manual/forge/)

Tracking new "issues" is somewhat easier - you can make Github send
emails to you and you can reply to those emails normally - the replies
will show up as "comments" in Github page.

Also, once you created an issue, you can reply by email if you
configured Github to send you email updated.

Best,
Ihor


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-02  4:49       ` Ihor Radchenko
@ 2022-07-02  4:57         ` Samuel Wales
  2022-07-02  5:12           ` Ihor Radchenko
  0 siblings, 1 reply; 70+ messages in thread
From: Samuel Wales @ 2022-07-02  4:57 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: rswgnu, João Pedro, emacs-org list

thanks!  i was aware that it was developed on github, but i do not
know anything about github, and didn't kow if there was a maliing list
in addition.  or are projects given their own mailing lists when they
are formed on github?  or is there an email bidir interface to github?
 or is pretty much absolutely everything for such projects done on
gh's website and you hae to have an account to ask a q?  i might be
asking too much of gh :).


On 7/1/22, Ihor Radchenko <yantar92@gmail.com> wrote:
> Samuel Wales <samologist@gmail.com> writes:
>
>> is there a mailing list for embark?
>
> AFAIK, embark is developed on GitHub:
> https://github.com/oantolin/embark/
>
> Best,
> Ihor
>


-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-07-02  4:41     ` Samuel Wales
@ 2022-07-02  4:49       ` Ihor Radchenko
  2022-07-02  4:57         ` Samuel Wales
  0 siblings, 1 reply; 70+ messages in thread
From: Ihor Radchenko @ 2022-07-02  4:49 UTC (permalink / raw)
  To: Samuel Wales; +Cc: rswgnu, João Pedro, emacs-org list

Samuel Wales <samologist@gmail.com> writes:

> is there a mailing list for embark?

AFAIK, embark is developed on GitHub:
https://github.com/oantolin/embark/

Best,
Ihor


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-25  1:32   ` Robert Weiner
@ 2022-07-02  4:41     ` Samuel Wales
  2022-07-02  4:49       ` Ihor Radchenko
  0 siblings, 1 reply; 70+ messages in thread
From: Samuel Wales @ 2022-07-02  4:41 UTC (permalink / raw)
  To: rswgnu; +Cc: João Pedro, emacs-org list

is there a mailing list for embark?

On 6/24/22, Robert Weiner <rsw@gnu.org> wrote:
> Hi João:
>
> Oantolin no doubt can speak to Embark much better but my present
> understanding is that it is a toolkit package for generating contextual
> popup or completion menus with a few standard context menus included.
>
> Hyperbole is a much broader personal information management
> environment, one part of which is to turn every common type of
> cross-reference found in buffers from programming identifiers to
> page links into immediately useable hyperlinks with no effort
> or markup on your part (implicit buttons).
>
> Hyperbole includes a large array of implicit buttons and context
> awareness, rather than expecting you to write your own solutions
> to all of your needs.  It is more turn-key.  One appendix in the
> Hyperbole manual is filled with all the contexts and associated
> actions that Hyperbole supports out of the box:
>
> https://www.gnu.org/software/hyperbole/man/hyperbole.html#toc-Smart-Key-Reference-1
>
> Other features include: named hyperbuttons accessed from any
> buffer, advanced contact management or hierarchical record
> searching (point HyRolo at Org files and you can find single
> entries within hierarchies), automatable frame and window
> management, action triggers from mouse drags, Org hyperbutton
> activation outside of Org mode, easy menu-based exposure of
> Emacs filtering and searching capabilities, quick grid-based
> display of desired buffers or files.  Hyperbole puts your textual
> information at your fingertips in a myriad of ways, just as Emacs
> makes text editing convenient and flexible in a myriad of ways.
>
> Like Emacs, you are expected to grow into a broad away of uses across time,
> not to digest all at once or in your first month of use.  But by learning
> and combining
> capabilities, you can become masterful at managing your information and Org
> can
> be a big part of this journey as well.
>
> Enjoy.
>
> -- rsw
>
>
> On Fri, Jun 24, 2022 at 1:57 PM João Pedro <jpedrodeamorim@gmail.com>
> wrote:
>
>> Hey Robert. Thanks for coming here to offer to clarify any doubts people
>> have regarding Hyperbole.
>>
>> I haven't been interacting with the thread, but I've been lurking about
>> and I've tried Hyperbole in the past, but couldn't precisely figure out
>> its use case in my particular workflow, so I gave up on it.
>>
>> Now, according to your description, the main feature of Hyperbole looks
>> a lot like what Embark [1] does sort of the same thing, albeit in
>> different contexts, complexity (not a bad thing) and workflow. Would you
>> be able to compare them? I think it would help me understand where
>> exactly Hyperbole fits, and what is the problem it tries to solve.
>>
>> [1] https://github.com/oantolin/embark
>>
>> Best regards,
>>
>> --
>> João Pedro de A. Paula
>> IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN)
>>
>


-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-26 20:51         ` Robert Weiner
@ 2022-06-27 23:16           ` David Masterson
  0 siblings, 0 replies; 70+ messages in thread
From: David Masterson @ 2022-06-27 23:16 UTC (permalink / raw)
  To: Robert Weiner; +Cc: indieterminacy, rswgnu, tomas, emacs-org list

Robert Weiner <rsw@gnu.org> writes:

> Yes, I no longer have time to maintain it and based on quality
> standards don't wish to re-release it unless one or more highly
> experienced Emacs package developers want to take it on, as it is a
> good size package.  Such a person would have to have developed
> significant Emacs packages like Org or Hyperbole and have reasonable
> time to answer questions and make updates as issues and requests came
> in.  Familiarity with a multitude of object-oriented languages would
> also be useful.  Such volunteers are welcome.  Please don't offer if
> you have the desire but not the experience.
>
> In the event no such party appears, when I do find time to make some
> necessary updates for a release, I'll do my best to get to it and then
> make a release that you can check out.

Ah! I saw your old source code repositories for OO-Browser on
Sourceforge and Savanah, but didn't look close enough to see they were
significantly out-of-date.  Warning to others that may go looking.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-26 20:27       ` indieterminacy
@ 2022-06-26 20:51         ` Robert Weiner
  2022-06-27 23:16           ` David Masterson
  0 siblings, 1 reply; 70+ messages in thread
From: Robert Weiner @ 2022-06-26 20:51 UTC (permalink / raw)
  To: indieterminacy; +Cc: David Masterson, tomas, emacs-org list

[-- Attachment #1: Type: text/plain, Size: 2026 bytes --]

Hi Jonathan:

Yes, I no longer have time to maintain it and based on quality standards
don't wish to re-release it unless one or more highly experienced Emacs
package developers want to take it on, as it is a good size package.  Such
a person would have to have developed significant Emacs packages like Org
or Hyperbole and have reasonable time to answer questions and make updates
as issues and requests came in.  Familiarity with a multitude of
object-oriented languages would also be useful.  Such volunteers are
welcome.  Please don't offer if you have the desire but not the experience.

In the event no such party appears, when I do find time to make some
necessary updates for a release, I'll do my best to get to it and then make
a release that you can check out.

-- rsw

On Sun, Jun 26, 2022 at 4:28 PM indieterminacy
<indieterminacy@libre.brussels> wrote:

>
> On 26-06-2022 22:03, David Masterson wrote:
> > <tomas@tuxteam.de> writes:
> >
> >> On Sat, Jun 25, 2022 at 11:37:55PM -0700, Siva Swaminathan wrote:
> >
> >>> [...] I feel that some of the
> >>> questions raised here about Hyperbole sound akin to the story of five
> >>> blind men feeling the elephant [...]
> >>
> >> The nice thing about that kind of situation is that it only can
> >> improve
> >> by adding in a sixth blind man ;-)
> >>
> >> Thank you from someone "too swamped right now to try to tackle another
> >> whole peradigm, but still enormously curious about this thing".
> >
> > Yup!  I hope a new generation of users will sprout.  As I mentioned to
> > Bob, I think OO-Browser will bring programmers in to help expand
> > Hyperbole as well as OO-Browser.
>
> Ive seen references to OO-Browser (documentation, wistfulness) but hadnt
> come across how to try it.
>
> Id interpreted it as being a victim of bitrot and lost in the sands of
> time (and is resting next to a genie lamp and hardback documentation for
> Xemacs).
>
> Is there a working version about for GNU Emacs?
>
>
> --
> Jonathan McHugh
> indieterminacy@libre.brussels
>
>

[-- Attachment #2: Type: text/html, Size: 3085 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-26  6:37 ` Siva Swaminathan
  2022-06-26  7:24   ` tomas
@ 2022-06-26 20:27   ` Robert Weiner
  1 sibling, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-26 20:27 UTC (permalink / raw)
  To: Siva Swaminathan; +Cc: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 3826 bytes --]

Hi Siva:

Yes, I think you have a good handle on the concepts behind Hyperbole
buttons and additional Action Key contexts.  Beyond that, there is also the
Koutliner, HyRolo and HyControl in Hyperbole as you grow into it.  Look
forward to seeing some of the implicit button types you create for your own
use.

-- rsw

On Sun, Jun 26, 2022 at 2:37 AM Siva Swaminathan <siva.rk.sw@gmail.com>
wrote:

> Hello,
>
> I only recently became aware of Hyperbole (through Bob's demo video
> available on Youtube), and came across this thread while googling to
> find more information about Hyperbole. I feel that some of the
> questions raised here about Hyperbole sound akin to the story of five
> blind men feeling the elephant, so I humbly offer my perspective on
> what I consider to be the key underlying ideas. Forgive me if I'm
> stating the obvious, and I also don't know whether Hyperbole as
> currently implemented does exactly all this :-)
>
> I'd like to think of the key idea of Hyperbole as converting text in
> buffers into *objects* (aka "buttons") by attaching *behavior* to them.
> The two actions provided by convention could be thought of as akin to
> the left-click and right-click which one is familiar with in
> contemporary GUIs, in this case respectively bound to methods for "do
> (by default)" and "show metadata". Supporting more
> behaviors/methods/messages for user-invocation is an obvious next idea
> (if not already so).
>
> The above system would be of quite limited composability if it required
> objects to be defined explicitly -- because most buffers one operates
> on are generated without awareness of Hyperbole (imagine the pain of
> everything needing to conform to something like a Hyperbole
> framework/protocol!). The cleverness behind implicit buttons is that
> one can opportunistically use common conventions as "schemas" to "parse
> / deserialize" the contents which make up an object from any buffer (in
> this case via regexps) and attach corresponding (expected) behaviors to
> them! Because of the highly structured nature of such data, even if
> embedded in a stream of plain text, it can typically be parsed
> correctly without needing explicit type annotations. The behaviors
> could presumably depend not just the object, but also the active modes,
> environment variables, etc.
>
> Here are a few made-up example use cases (hand-waving over details):
>
> 1. I might embed phrases such as "bug:123" in my code / emails / org
> task management and have behaviors that respectively fetch the bug
> report / open some URL in a browser / or update the TODO status based
> on the bug status, as desired. This would help me interface
> conveniently with a bespoke bug-tracking tool.
>
> 2. On encountering Goodreads links in my reading list org file, I could
> have a behavior to parse the contents of the webpage and extract
> desired metadata to add to the item properties (or an entry to some org
> table).
>
> 3. Linking by immutable block identifiers (and fast lookup) of course
> enables a lot of PKM workflows that have recently become popular (with
> the addition of bidirectional links).
>
> Other aspects such as menus generated from button files seem like
> convenient affordances bolted on to make up the UI of the system. I
> still need to wrap my mind around these, but I wonder whether there
> might be opportunities to compose with other ecosystem tools which have
> pioneered some nice UI ideas eg. transient menus, hydras, interactive
> selection lists, etc. But that's a discussion for the Hyperbole mailing
> list.
>
>
> From a first impression, I'm really impressed, and also surprised that
> Hyperbole is not more popular. Much gratitude to the contributors for a
> nifty tool, and a fascinating design perspective.
>
> Best regards,
> Siva
> http://sivark.me
>
>

[-- Attachment #2: Type: text/html, Size: 4839 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-26 20:03     ` David Masterson
@ 2022-06-26 20:27       ` indieterminacy
  2022-06-26 20:51         ` Robert Weiner
  0 siblings, 1 reply; 70+ messages in thread
From: indieterminacy @ 2022-06-26 20:27 UTC (permalink / raw)
  To: David Masterson; +Cc: tomas, emacs-orgmode


On 26-06-2022 22:03, David Masterson wrote:
> <tomas@tuxteam.de> writes:
> 
>> On Sat, Jun 25, 2022 at 11:37:55PM -0700, Siva Swaminathan wrote:
> 
>>> [...] I feel that some of the
>>> questions raised here about Hyperbole sound akin to the story of five
>>> blind men feeling the elephant [...]
>> 
>> The nice thing about that kind of situation is that it only can 
>> improve
>> by adding in a sixth blind man ;-)
>> 
>> Thank you from someone "too swamped right now to try to tackle another
>> whole peradigm, but still enormously curious about this thing".
> 
> Yup!  I hope a new generation of users will sprout.  As I mentioned to
> Bob, I think OO-Browser will bring programmers in to help expand
> Hyperbole as well as OO-Browser.

Ive seen references to OO-Browser (documentation, wistfulness) but hadnt 
come across how to try it.

Id interpreted it as being a victim of bitrot and lost in the sands of 
time (and is resting next to a genie lamp and hardback documentation for 
Xemacs).

Is there a working version about for GNU Emacs?


-- 
Jonathan McHugh
indieterminacy@libre.brussels


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-26  7:24   ` tomas
@ 2022-06-26 20:03     ` David Masterson
  2022-06-26 20:27       ` indieterminacy
  0 siblings, 1 reply; 70+ messages in thread
From: David Masterson @ 2022-06-26 20:03 UTC (permalink / raw)
  To: tomas; +Cc: emacs-orgmode

<tomas@tuxteam.de> writes:

> On Sat, Jun 25, 2022 at 11:37:55PM -0700, Siva Swaminathan wrote:

>> [...] I feel that some of the
>> questions raised here about Hyperbole sound akin to the story of five
>> blind men feeling the elephant [...]
>
> The nice thing about that kind of situation is that it only can improve
> by adding in a sixth blind man ;-)
>
> Thank you from someone "too swamped right now to try to tackle another
> whole peradigm, but still enormously curious about this thing".

Yup!  I hope a new generation of users will sprout.  As I mentioned to
Bob, I think OO-Browser will bring programmers in to help expand
Hyperbole as well as OO-Browser.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-26  6:37 ` Siva Swaminathan
@ 2022-06-26  7:24   ` tomas
  2022-06-26 20:03     ` David Masterson
  2022-06-26 20:27   ` Robert Weiner
  1 sibling, 1 reply; 70+ messages in thread
From: tomas @ 2022-06-26  7:24 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 493 bytes --]

On Sat, Jun 25, 2022 at 11:37:55PM -0700, Siva Swaminathan wrote:
> Hello,

> [...] I feel that some of the
> questions raised here about Hyperbole sound akin to the story of five
> blind men feeling the elephant [...]

The nice thing about that kind of situation is that it only can improve
by adding in a sixth blind man ;-)

Thank you from someone "too swamped right now to try to tackle another
whole peradigm, but still enormously curious about this thing".

Cheers
-- 
t

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
                   ` (6 preceding siblings ...)
  2022-06-25 19:07 ` David Masterson
@ 2022-06-26  6:37 ` Siva Swaminathan
  2022-06-26  7:24   ` tomas
  2022-06-26 20:27   ` Robert Weiner
  2022-07-04 10:43 ` Fraga, Eric
  8 siblings, 2 replies; 70+ messages in thread
From: Siva Swaminathan @ 2022-06-26  6:37 UTC (permalink / raw)
  To: rsw; +Cc: emacs-orgmode, rswgnu

Hello,

I only recently became aware of Hyperbole (through Bob's demo video
available on Youtube), and came across this thread while googling to
find more information about Hyperbole. I feel that some of the
questions raised here about Hyperbole sound akin to the story of five
blind men feeling the elephant, so I humbly offer my perspective on
what I consider to be the key underlying ideas. Forgive me if I'm
stating the obvious, and I also don't know whether Hyperbole as
currently implemented does exactly all this :-)

I'd like to think of the key idea of Hyperbole as converting text in
buffers into *objects* (aka "buttons") by attaching *behavior* to them.
The two actions provided by convention could be thought of as akin to
the left-click and right-click which one is familiar with in
contemporary GUIs, in this case respectively bound to methods for "do
(by default)" and "show metadata". Supporting more
behaviors/methods/messages for user-invocation is an obvious next idea
(if not already so).

The above system would be of quite limited composability if it required
objects to be defined explicitly -- because most buffers one operates
on are generated without awareness of Hyperbole (imagine the pain of
everything needing to conform to something like a Hyperbole
framework/protocol!). The cleverness behind implicit buttons is that
one can opportunistically use common conventions as "schemas" to "parse
/ deserialize" the contents which make up an object from any buffer (in
this case via regexps) and attach corresponding (expected) behaviors to
them! Because of the highly structured nature of such data, even if
embedded in a stream of plain text, it can typically be parsed
correctly without needing explicit type annotations. The behaviors
could presumably depend not just the object, but also the active modes,
environment variables, etc.

Here are a few made-up example use cases (hand-waving over details):

1. I might embed phrases such as "bug:123" in my code / emails / org
task management and have behaviors that respectively fetch the bug
report / open some URL in a browser / or update the TODO status based
on the bug status, as desired. This would help me interface
conveniently with a bespoke bug-tracking tool.

2. On encountering Goodreads links in my reading list org file, I could
have a behavior to parse the contents of the webpage and extract
desired metadata to add to the item properties (or an entry to some org
table).

3. Linking by immutable block identifiers (and fast lookup) of course
enables a lot of PKM workflows that have recently become popular (with
the addition of bidirectional links).

Other aspects such as menus generated from button files seem like
convenient affordances bolted on to make up the UI of the system. I
still need to wrap my mind around these, but I wonder whether there
might be opportunities to compose with other ecosystem tools which have
pioneered some nice UI ideas eg. transient menus, hydras, interactive
selection lists, etc. But that's a discussion for the Hyperbole mailing
list.


From a first impression, I'm really impressed, and also surprised that
Hyperbole is not more popular. Much gratitude to the contributors for a
nifty tool, and a fascinating design perspective.

Best regards,
Siva
http://sivark.me



^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-25 20:49   ` Robert Weiner
@ 2022-06-25 21:18     ` David Masterson
  0 siblings, 0 replies; 70+ messages in thread
From: David Masterson @ 2022-06-25 21:18 UTC (permalink / raw)
  To: Robert Weiner; +Cc: Robert Weiner, emacs-org list

Robert Weiner <rswgnu@gmail.com> writes:

> Great to see you here too.  We could use you on extended Hyperbole
> documentation if you ever get into it.

Thanks, my hands don't type well anymore or I might've considered it,

> 1.  The OO-Browser was part of InfoDock, my IDE framework atop XEmacs.
> I have updated it for GNU Emacs but never get the time to finish it
> enough to put it out there again as Hyperbole fills my spare time.
> But reach out directly if you want to discuss.

Oh! I forgot about Infodock!  OO-Browser would be good for the
developers in the crowd.  Perhaps the new interest of Hyperbole v8 will
spur interest in OO-Browsr.

> 2. We have not yet integrated org-export with the Koutliner but want
> to.  You can convert a Koutline to a star outline and call it an Org
> file, so it wouldn’t be too hard.  It has its own builtin export to
> HTML from which you could get to pdf as well, I imagine.

I didn't see in the documentation on how to convert a Koutline to a star
outline.  That would be useful to me (especially if you could go the
other way as well).  With this capability, it shouldn't be too hard
write a standard file header in (say) commented Latex that could be
included in the file (via a post-hook) which could then be run through
org-export via org-publish.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-25 19:07 ` David Masterson
@ 2022-06-25 20:49   ` Robert Weiner
  2022-06-25 21:18     ` David Masterson
  0 siblings, 1 reply; 70+ messages in thread
From: Robert Weiner @ 2022-06-25 20:49 UTC (permalink / raw)
  To: David Masterson; +Cc: Robert Weiner, emacs-org list

Hi David:

Great to see you here too.  We could use you on extended Hyperbole documentation if you ever get into it.

1.  The OO-Browser was part of InfoDock, my IDE framework atop XEmacs.  I have updated it for GNU Emacs but never get the time to finish it enough to put it out there again as Hyperbole fills my spare time.  But reach out directly if you want to discuss.

2. We have not yet integrated org-export with the Koutliner but want to.  You can convert a Koutline to a star outline and call it an Org file, so it wouldn’t be too hard.  It has its own builtin export to HTML from which you could get to pdf as well, I imagine.

-- Bob

> On Jun 25, 2022, at 3:07 PM, David Masterson <dsmasterson@gmail.com> wrote:
> 
> Robert Weiner <rsw@gnu.org> writes:
> 
>> I am happy to answer questions and discuss ways we can make Hyperbole
>> and Org work even better together; one direct question per message
>> would typically work best.  Responses may take awhile as my schedule
>> makes it difficult to keep up with high volume mailing lists but if
>> you cc: rsw@gnu.org, I'll likely see your message faster and respond.
> 
> Hi Robert,
> 
> *LONG* time since we last talked (~1990?).  Good to see that Hyperbole
> is still being developed -- it was very interesting even back then.  A
> couple of questions:
> 
> 1. Is OO-Browser still a part of Hyperbole and still developed?
> 
> 2. Is there a discussion on how to run a KOutline out to Latex and PDF
> thru (say) Org export in a way that allows you to take advantage of
> Latex packages or even mix-in Org markup?
> 
> -- 
> David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-25 14:32     ` Juan Manuel Macías
@ 2022-06-25 20:35       ` Robert Weiner
  0 siblings, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-25 20:35 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: orgmode

Good idea, Juan.  I’m all for quick ways to activate buttons without losing your current context.  I’ll take a look at how we might support this as an optional load.

-- Bob

> On Jun 25, 2022, at 10:32 AM, Juan Manuel Macías <maciaschain@posteo.net> wrote:
> 
> Hi, Robert,
> 
> Robert Weiner writes:
> 
>> We do like avy and as you say, Hyperbole can work with it.  We try to
>> avoid requiring any non-builtin Emacs packages for Hyperbole.  With a
>> few, we support them optionally.  Unless there is a strong use case
>> for utilizing avy in certain ways, we would tend to leave that to
>> others to extend Hyperbole but personally I just add it in and use its
>> character and line navigation sometimes.  Did you have any particular
>> uses in mind?
> 
> My use of the mouse within Emacs is practically nonexistent, and outside
> of Emacs I have relegated the mouse to a few graphical applications such
> as Gimp, Krita, Scribus, and little else. That's why I find avy
> extremely handy for quickly navigating through text. By adding an action
> to avy-dispatch-alist you can execute an arbitrary command once the
> cursor has jumped to its target. For example, I have put this for
> hyperbole in my init:
> 
> (add-to-list 'avy-dispatch-alist '(?: . (lambda (pt)
>                      (goto-char pt)
>                      (hkey-either))))
> 
> Thus, the typical action to activate a 'far' hyperbole button would be:
> 
> 1. Call avy and insert a letter;
> 
> 2. When avy's hints are displayed in the screen, I hit the colon key ":"
> and then the hint letter I want to go to (an implicit button, for
> example). And at the moment the associated action of that button is
> executed.
> 
> For those of us who hardly use the mouse, it is really very practical,
> and I think maybe mentioning that tip might be nice in the hyperbole
> documentation.
> 
> Best regards,
> 
> Juan Manuel 


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
                   ` (5 preceding siblings ...)
  2022-06-24 17:57 ` João Pedro
@ 2022-06-25 19:07 ` David Masterson
  2022-06-25 20:49   ` Robert Weiner
  2022-06-26  6:37 ` Siva Swaminathan
  2022-07-04 10:43 ` Fraga, Eric
  8 siblings, 1 reply; 70+ messages in thread
From: David Masterson @ 2022-06-25 19:07 UTC (permalink / raw)
  To: Robert Weiner; +Cc: emacs-org list, rswgnu

Robert Weiner <rsw@gnu.org> writes:

> I am happy to answer questions and discuss ways we can make Hyperbole
> and Org work even better together; one direct question per message
> would typically work best.  Responses may take awhile as my schedule
> makes it difficult to keep up with high volume mailing lists but if
> you cc: rsw@gnu.org, I'll likely see your message faster and respond.

Hi Robert,

*LONG* time since we last talked (~1990?).  Good to see that Hyperbole
is still being developed -- it was very interesting even back then.  A
couple of questions:

1. Is OO-Browser still a part of Hyperbole and still developed?

2. Is there a discussion on how to run a KOutline out to Latex and PDF
thru (say) Org export in a way that allows you to take advantage of
Latex packages or even mix-in Org markup?

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24 22:06   ` Robert Weiner
@ 2022-06-25 14:32     ` Juan Manuel Macías
  2022-06-25 20:35       ` Robert Weiner
  0 siblings, 1 reply; 70+ messages in thread
From: Juan Manuel Macías @ 2022-06-25 14:32 UTC (permalink / raw)
  To: rswgnu; +Cc: orgmode

Hi, Robert,

Robert Weiner writes:

> We do like avy and as you say, Hyperbole can work with it.  We try to
> avoid requiring any non-builtin Emacs packages for Hyperbole.  With a
> few, we support them optionally.  Unless there is a strong use case
> for utilizing avy in certain ways, we would tend to leave that to
> others to extend Hyperbole but personally I just add it in and use its
> character and line navigation sometimes.  Did you have any particular
> uses in mind?

My use of the mouse within Emacs is practically nonexistent, and outside
of Emacs I have relegated the mouse to a few graphical applications such
as Gimp, Krita, Scribus, and little else. That's why I find avy
extremely handy for quickly navigating through text. By adding an action
to avy-dispatch-alist you can execute an arbitrary command once the
cursor has jumped to its target. For example, I have put this for
hyperbole in my init:

(add-to-list 'avy-dispatch-alist '(?: . (lambda (pt)
					  (goto-char pt)
					  (hkey-either))))

Thus, the typical action to activate a 'far' hyperbole button would be:

1. Call avy and insert a letter;

2. When avy's hints are displayed in the screen, I hit the colon key ":"
and then the hint letter I want to go to (an implicit button, for
example). And at the moment the associated action of that button is
executed.

For those of us who hardly use the mouse, it is really very practical,
and I think maybe mentioning that tip might be nice in the hyperbole
documentation.

Best regards,

Juan Manuel 


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24 17:57 ` João Pedro
@ 2022-06-25  1:32   ` Robert Weiner
  2022-07-02  4:41     ` Samuel Wales
  0 siblings, 1 reply; 70+ messages in thread
From: Robert Weiner @ 2022-06-25  1:32 UTC (permalink / raw)
  To: João Pedro; +Cc: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 2812 bytes --]

Hi João:

Oantolin no doubt can speak to Embark much better but my present
understanding is that it is a toolkit package for generating contextual
popup or completion menus with a few standard context menus included.

Hyperbole is a much broader personal information management
environment, one part of which is to turn every common type of
cross-reference found in buffers from programming identifiers to
page links into immediately useable hyperlinks with no effort
or markup on your part (implicit buttons).

Hyperbole includes a large array of implicit buttons and context
awareness, rather than expecting you to write your own solutions
to all of your needs.  It is more turn-key.  One appendix in the
Hyperbole manual is filled with all the contexts and associated
actions that Hyperbole supports out of the box:

https://www.gnu.org/software/hyperbole/man/hyperbole.html#toc-Smart-Key-Reference-1

Other features include: named hyperbuttons accessed from any
buffer, advanced contact management or hierarchical record
searching (point HyRolo at Org files and you can find single
entries within hierarchies), automatable frame and window
management, action triggers from mouse drags, Org hyperbutton
activation outside of Org mode, easy menu-based exposure of
Emacs filtering and searching capabilities, quick grid-based
display of desired buffers or files.  Hyperbole puts your textual
information at your fingertips in a myriad of ways, just as Emacs
makes text editing convenient and flexible in a myriad of ways.

Like Emacs, you are expected to grow into a broad away of uses across time,
not to digest all at once or in your first month of use.  But by learning
and combining
capabilities, you can become masterful at managing your information and Org
can
be a big part of this journey as well.

Enjoy.

-- rsw


On Fri, Jun 24, 2022 at 1:57 PM João Pedro <jpedrodeamorim@gmail.com> wrote:

> Hey Robert. Thanks for coming here to offer to clarify any doubts people
> have regarding Hyperbole.
>
> I haven't been interacting with the thread, but I've been lurking about
> and I've tried Hyperbole in the past, but couldn't precisely figure out
> its use case in my particular workflow, so I gave up on it.
>
> Now, according to your description, the main feature of Hyperbole looks
> a lot like what Embark [1] does sort of the same thing, albeit in
> different contexts, complexity (not a bad thing) and workflow. Would you
> be able to compare them? I think it would help me understand where
> exactly Hyperbole fits, and what is the problem it tries to solve.
>
> [1] https://github.com/oantolin/embark
>
> Best regards,
>
> --
> João Pedro de A. Paula
> IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN)
>

[-- Attachment #2: Type: text/html, Size: 9660 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24 13:52 ` Juan Manuel Macías
@ 2022-06-24 22:06   ` Robert Weiner
  2022-06-25 14:32     ` Juan Manuel Macías
  0 siblings, 1 reply; 70+ messages in thread
From: Robert Weiner @ 2022-06-24 22:06 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: orgmode

[-- Attachment #1: Type: text/plain, Size: 6013 bytes --]

Hi Juan:

Thanks for the positive thoughts on Hyperbole.  I must say everyone here
has a great attitude and writes thoughtfully from what I have seen.

It seems like you are off to a good start utilizing core features as you
get familiar with them and then adding on across time.

We do like avy and as you say, Hyperbole can work with it.  We try to avoid
requiring any non-builtin Emacs packages for Hyperbole.  With a few, we
support them optionally.  Unless there is a strong use case for utilizing
avy in certain ways, we would tend to leave that to others to extend
Hyperbole but personally I just add it in and use its character and line
navigation sometimes.  Did you have any particular uses in mind?

-- rsw


On Fri, Jun 24, 2022 at 9:52 AM Juan Manuel Macías <maciaschain@posteo.net>
wrote:

> Hi, Robert,
>
> First of all, welcome to the list. And of course congratulations on all
> the great work you've done with hyperbole. In my ignorance, when I
> recently installed it from ELPA, I thought it was a relatively recent
> package. But it seems that you have been developing it for a long time,
> while adapting it to the latest GNU Emacs trends. This is fortunate,
> because what is new is combined with experience and the residue of work
> already done over the years.
>
> At the moment I am not going to comment here anything specific on the
> technical level, because I have been using hyperbole for a short time
> and my knowledge of this package is still very limited. I think the best
> strategy for using hyperbole, from a user's point of view, is to simply
> use it. And gradually discover which parts of hyperbole can be useful
> and integrate into one's workflow. This is more practical than trying to
> start from a global conceptual base (IMHO). I'm still having trouble
> explaining what Org is for and what Org really is :-). But this is also
> the case with Emacs itself. When I first started using Emacs I thought
> it was just a text editor, like any other text editor. In fact, on my
> first day with Emacs I hated it dearly and uninstalled it in a rage. Now
> it's my desktop environment and my work environment, with EXWM, with
> Org, among others, and hopefully with Hyperbole as well. I suppose that
> it is the daily use that is making us connect the dots...
>
> I really like the implicit link system, and it is really easy to define
> new links. I have already defined a set of new buttons for LaTeX, which
> recognize commands and environments and point to the local TeX live
> documentation or texstackexchange.com. And with avy they work great.
> Have you thought about giving a support for avy? In any case it is easy
> to add a new avy action to avy-dispatch-alist.
>
> Best regards,
>
> Juan Manuel
>
> Robert Weiner writes:
>
> > Hi:
> >
> > Thanks to Juan for starting this thread and the interesting
> > conversation it has started.  I just joined this mail list, so I don't
> > have the prior messages and can't reply to the thread, so I have
> > started this new one.
> >
> > I am the author of Hyperbole and would be happy to answer questions
> > concerning Hyperbole today (so you don't have to answer based on
> > experience from the 1990s).  Hyperbole has been modernized for use
> > with Org mode and Emacs 28 and continues to develop.  There are videos
> > that demonstrate some of its features in simple, understandable ways.
> > Hyperbole is a single Emacs package that can be installed and
> > uninstalled quickly for testing.  It is largely a global minor mode,
> > so you can also disable it quickly if you ever care to.  In 20 minutes
> > you can get through the builtin, interactive demo and be on your way
> > to basic yet powerful usage.  We have listened to much feedback in the
> > last few years and made it much more approachable.
> >
> > I find most of the confusion is people trying to understand how
> > Hyperbole works under the covers rather than just following the
> > tutorial and exploring it.  Hyperbole can be hacked on if you are a
> > moderate to advanced programmer but it is meant to be used, like Org
> > mode.  Hyperbole recognizes many, many common contexts in buffers that
> > could serve as hyperlinks (paths, URLs, multiple key sequences, mail
> > addresses, and on and on) and performs the typically desired action
> > when you press its Action Key {M-RET} on these 'implicit buttons'.
> > You get all this for free with no effort on your part.  Then if you
> > want to extend such behavior, as you have seen a bit of, you can
> > define your own implicit button and action types once and then
> > activate an infinite number of matching implicit buttons.  For
> > example, in an Emacs shell buffer, type:
> >
> >    echo $PATH
> >
> > then press the {M-RET} key or Shift-Middle mouse button on any path
> > there and jump right to it.  I find that very useful as a simple
> > example.  People are often surprised at how many things simply work
> > right out of the box because such broad context-sensitive behavior is
> > difficult to develop and rarely seen.  Just try it out and you should
> > find some contexts that you can leverage rapidly.  {C-h A} displays
> > what Hyperbole's Action Key will do in any context so you can always
> > check and learn before activating anything.  We say: Hyperbole brings
> > your text to life.  Like Org and Emacs, it provides an extensive
> > environment that you can grow into across time, getting ever more
> > productive rather than hitting a ceiling as with most point
> > packages/tools.
> >
> > I am happy to answer questions and discuss ways we can make Hyperbole
> > and Org work even better together; one direct question per message
> > would typically work best.  Responses may take awhile as my schedule
> > makes it difficult to keep up with high volume mailing lists but if
> > you cc: rsw@gnu.org, I'll likely see your message faster and respond.
>
>

[-- Attachment #2: Type: text/html, Size: 7561 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
                   ` (4 preceding siblings ...)
  2022-06-24 13:52 ` Juan Manuel Macías
@ 2022-06-24 17:57 ` João Pedro
  2022-06-25  1:32   ` Robert Weiner
  2022-06-25 19:07 ` David Masterson
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 70+ messages in thread
From: João Pedro @ 2022-06-24 17:57 UTC (permalink / raw)
  To: rswgnu, emacs-org list

Hey Robert. Thanks for coming here to offer to clarify any doubts people
have regarding Hyperbole.

I haven't been interacting with the thread, but I've been lurking about
and I've tried Hyperbole in the past, but couldn't precisely figure out
its use case in my particular workflow, so I gave up on it.

Now, according to your description, the main feature of Hyperbole looks
a lot like what Embark [1] does sort of the same thing, albeit in
different contexts, complexity (not a bad thing) and workflow. Would you
be able to compare them? I think it would help me understand where
exactly Hyperbole fits, and what is the problem it tries to solve.

[1] https://github.com/oantolin/embark

Best regards,

-- 
João Pedro de A. Paula
IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN)

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
                   ` (3 preceding siblings ...)
  2022-06-24  6:29 ` Tim Cross
@ 2022-06-24 13:52 ` Juan Manuel Macías
  2022-06-24 22:06   ` Robert Weiner
  2022-06-24 17:57 ` João Pedro
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 70+ messages in thread
From: Juan Manuel Macías @ 2022-06-24 13:52 UTC (permalink / raw)
  To: rswgnu; +Cc: orgmode

Hi, Robert,

First of all, welcome to the list. And of course congratulations on all
the great work you've done with hyperbole. In my ignorance, when I
recently installed it from ELPA, I thought it was a relatively recent
package. But it seems that you have been developing it for a long time,
while adapting it to the latest GNU Emacs trends. This is fortunate,
because what is new is combined with experience and the residue of work
already done over the years.

At the moment I am not going to comment here anything specific on the
technical level, because I have been using hyperbole for a short time
and my knowledge of this package is still very limited. I think the best
strategy for using hyperbole, from a user's point of view, is to simply
use it. And gradually discover which parts of hyperbole can be useful
and integrate into one's workflow. This is more practical than trying to
start from a global conceptual base (IMHO). I'm still having trouble
explaining what Org is for and what Org really is :-). But this is also
the case with Emacs itself. When I first started using Emacs I thought
it was just a text editor, like any other text editor. In fact, on my
first day with Emacs I hated it dearly and uninstalled it in a rage. Now
it's my desktop environment and my work environment, with EXWM, with
Org, among others, and hopefully with Hyperbole as well. I suppose that
it is the daily use that is making us connect the dots...

I really like the implicit link system, and it is really easy to define
new links. I have already defined a set of new buttons for LaTeX, which
recognize commands and environments and point to the local TeX live
documentation or texstackexchange.com. And with avy they work great.
Have you thought about giving a support for avy? In any case it is easy
to add a new avy action to avy-dispatch-alist.

Best regards,

Juan Manuel 

Robert Weiner writes:

> Hi:
>
> Thanks to Juan for starting this thread and the interesting
> conversation it has started.  I just joined this mail list, so I don't
> have the prior messages and can't reply to the thread, so I have
> started this new one.
>
> I am the author of Hyperbole and would be happy to answer questions
> concerning Hyperbole today (so you don't have to answer based on
> experience from the 1990s).  Hyperbole has been modernized for use
> with Org mode and Emacs 28 and continues to develop.  There are videos
> that demonstrate some of its features in simple, understandable ways.
> Hyperbole is a single Emacs package that can be installed and
> uninstalled quickly for testing.  It is largely a global minor mode,
> so you can also disable it quickly if you ever care to.  In 20 minutes
> you can get through the builtin, interactive demo and be on your way
> to basic yet powerful usage.  We have listened to much feedback in the
> last few years and made it much more approachable.
>
> I find most of the confusion is people trying to understand how
> Hyperbole works under the covers rather than just following the
> tutorial and exploring it.  Hyperbole can be hacked on if you are a
> moderate to advanced programmer but it is meant to be used, like Org
> mode.  Hyperbole recognizes many, many common contexts in buffers that
> could serve as hyperlinks (paths, URLs, multiple key sequences, mail
> addresses, and on and on) and performs the typically desired action
> when you press its Action Key {M-RET} on these 'implicit buttons'.
> You get all this for free with no effort on your part.  Then if you
> want to extend such behavior, as you have seen a bit of, you can
> define your own implicit button and action types once and then
> activate an infinite number of matching implicit buttons.  For
> example, in an Emacs shell buffer, type:
>
>    echo $PATH
>
> then press the {M-RET} key or Shift-Middle mouse button on any path
> there and jump right to it.  I find that very useful as a simple
> example.  People are often surprised at how many things simply work
> right out of the box because such broad context-sensitive behavior is
> difficult to develop and rarely seen.  Just try it out and you should
> find some contexts that you can leverage rapidly.  {C-h A} displays
> what Hyperbole's Action Key will do in any context so you can always
> check and learn before activating anything.  We say: Hyperbole brings
> your text to life.  Like Org and Emacs, it provides an extensive
> environment that you can grow into across time, getting ever more
> productive rather than hitting a ceiling as with most point
> packages/tools.
>
> I am happy to answer questions and discuss ways we can make Hyperbole
> and Org work even better together; one direct question per message
> would typically work best.  Responses may take awhile as my schedule
> makes it difficult to keep up with high volume mailing lists but if
> you cc: rsw@gnu.org, I'll likely see your message faster and respond.



^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24 10:55       ` indieterminacy
@ 2022-06-24 12:51         ` Robert Weiner
  0 siblings, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-24 12:51 UTC (permalink / raw)
  To: indieterminacy; +Cc: Samuel Wales, emacs-org list

[-- Attachment #1: Type: text/plain, Size: 4453 bytes --]

Hi Jonathan:

Yes, the backlink issue is one of the reasons we have not focused on moving
kcells with permanent hyperlink anchors from one file to another.  We
generally feel that the context of kcells within an outline is important
and thus should stay as a unit.  You obviously can and do link to any kcell
from outside the outline by combining the file path with the cell's
permanent id and thus could have a grep-like search across any number of
Koutlines.

But I agree a cross-file permanent ID structure could be useful and that
there are times where you want to move or copy outline structure between
files (we already support exporting the text of koutlines to other buffers
or to HTML), so this is a future use case to consider.

-- rsw


On Fri, Jun 24, 2022 at 6:55 AM indieterminacy
<indieterminacy@libre.brussels> wrote:

> Hi Robert,
>
> On 24-06-2022 07:34, Robert Weiner wrote:
> > Hi Samuel:
> >
> >> On Jun 24, 2022, at 12:32 AM, Samuel Wales <samologist@gmail.com>
> >> wrote:
> >>
> >> hi robert, welcome to the org list and thanks for your offer.
> >>
> >> for starters, does hyperbole have any concept of links that are:
> >>
> >> - unbreakable [like org-id]
> >
> > This one is not so simple to answer.  Hyperbole only uses
> > perma-hyperlink anchors in its Koutliner format.  But it would be
> > straightforward to add a UUID-type id for use elsewhere.
> >>
> >> - bidirectional [link a goes to link b; link b goes to link a], or,
> >> reversible via command to say "what links here?" [by any mechanism.
> >> if desired, please see "id markers" concept on this list for
> >> unbreakable bidirectional links and more stuff]
> >
> > Hyperbole does not have bi-directional links, only a history function
> > to move back through followed node paths.  We have started thinking
> > about this need recently.
> >
> > — rsw
> Improvements to the backend of Koutliner would be useful, especially as
> (if I recall from the documentation) the API aspects are not so clearly
> defined.
>
> Bi-directionality would be a priority IMHO, especially to facilitate the
> updating of all links targeting a specific block should it move.
>
> At the moment, each link self updates when it identifies a reference
> which needs to be updated but that comes across as an expediency (which
> I mitigate with direty look running through links to validate they are
> functional).
>
> It would be great to achieve this with an 'eventual-consistency' type
> way, given that files could come in and out of a system or network.
>
> Similarly, allowing the perma-hyperlink anchors to be transferred would
> really mature the format.
>
> Here are some umble functions I use to facilitate moving blocks into
> other files:
>
> https://git.sr.ht/~indieterminacy/1q20bwb_oq_transferring_emacs/tree/main/item/kqk_kq_blocks_koutliner.el
>
> They at least avoid being descructive, as after moving the block becomes
> a pointer to where the moved block ended up in the other dcoument - but
> it feels like a fudge which could turn some documents into spaghetti.
>
>
> While Im sure that you are planning on solving these problems within
> eLisp, I should point out that I shall have a Koutliner parser, written
> in TXR (soon to be finalised, Ive had some familial and health
> impedencies recently).
>
> Here is a WIP
> https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean
>
> And a (rough) example
> https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean#examples
>
> I do need to add some facets (I suspect the linking for other blocks is
> in a seperate script).
> I shall also be integrating the parser with GemText (Orgmode would be
> nice one day too).
> https://git.sr.ht/~indieterminacy/1q20hqh_kq_parsing_gemtext/
>
> I do quite like TXR's datalisp format but I havent gotten around to
> finding a way to slurping it up into eLisp. I feel like it should be
> easy to resolve but its not a query which is easy given SEO search.
>
> The way Ill be approaching this interpreter is that it could search the
> aggregate or a journey from one document. Being able to have an overview
> of multiple documents is something I consider to be helpful, given the
> domain of cross-referencing.
>
> and FYI, I will be working on outputting RDF from Koutliner and GemText
> analyses.
>
> --
> Jonathan McHugh
> indieterminacy@libre.brussels
>

[-- Attachment #2: Type: text/html, Size: 6184 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  6:29 ` Tim Cross
@ 2022-06-24 12:44   ` Robert Weiner
  0 siblings, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-24 12:44 UTC (permalink / raw)
  To: Tim Cross; +Cc: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 2190 bytes --]

Hi Tim:

Great to see you working with Org and Hyperbole together.  It is funny you
mention a dashboard as that is the main next feature we are working on for
Hyperbole.  Presently, there is a 'personal button file' that serves as
your launch pad for any commonly used hyperbuttons, accessed with {C-h h b
p}.  There is a similar per directory file, {C-h h b d}, any of which can
be Org files or any format you prefer.  To augment the personal file, we
plan on adding a quick access menu to search, jump to and edit your
personal, commonly used Hyperbole, Emacs and Org constructs that would
serve as a dashboard, bringing together a lot of the hyper capabilities
distributed throughout Emacs, including all categories of Hyperbole
buttons, Org files, bookmarks, URLs, agenda items, notes, todos, etc. And
each type will be customizable so you can use your favorite feature whether
from Org, Hyperbole or another package.  It is in early development now, so
feel free to mention any wishlist items.



On Fri, Jun 24, 2022 at 2:44 AM Tim Cross <theophilusx@gmail.com> wrote:

>
> Hi Robert,
>
> welcome to the list.
>
> I find hyperbole very interesting and am trying it out now. I can see a
> few areas where I think it may augment my current org based workflows
> and development tasks.
>
> One thing I will be looking at is how well hyperbole works with an
> evil-mode based configuration. Probably no big effect with regards to
> basic links and things like the interesting roladex type system, but may
> be relevant with regards to koutline.
>
> At this stage, I'm thinking hyperbole might be good as a basic
> 'dashboard' type startup screen which makes selecting projects or Emacs
> based apps (like this mu4e environment) easy to select. I likely won't
> take advantage of the window/frame management stuff as I now tend to
> work mainly with emacs tabs - I rarely even split windows anymore and
> now tend to just have one big frame with many tabs or tab groups.
>
> It will be interesting to see if there are areas where org mode and
> hyperbole may further enhance each other. I see them as having good
> collaboration potential rather than as competing/conflicting systems.
>
>

[-- Attachment #2: Type: text/html, Size: 2960 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  5:34     ` Robert Weiner
@ 2022-06-24 10:55       ` indieterminacy
  2022-06-24 12:51         ` Robert Weiner
  0 siblings, 1 reply; 70+ messages in thread
From: indieterminacy @ 2022-06-24 10:55 UTC (permalink / raw)
  To: Robert Weiner; +Cc: Samuel Wales, emacs-org list

Hi Robert,

On 24-06-2022 07:34, Robert Weiner wrote:
> Hi Samuel:
> 
>> On Jun 24, 2022, at 12:32 AM, Samuel Wales <samologist@gmail.com> 
>> wrote:
>> 
>> hi robert, welcome to the org list and thanks for your offer.
>> 
>> for starters, does hyperbole have any concept of links that are:
>> 
>> - unbreakable [like org-id]
> 
> This one is not so simple to answer.  Hyperbole only uses
> perma-hyperlink anchors in its Koutliner format.  But it would be
> straightforward to add a UUID-type id for use elsewhere.
>> 
>> - bidirectional [link a goes to link b; link b goes to link a], or,
>> reversible via command to say "what links here?" [by any mechanism.
>> if desired, please see "id markers" concept on this list for
>> unbreakable bidirectional links and more stuff]
> 
> Hyperbole does not have bi-directional links, only a history function
> to move back through followed node paths.  We have started thinking
> about this need recently.
> 
> — rsw
Improvements to the backend of Koutliner would be useful, especially as 
(if I recall from the documentation) the API aspects are not so clearly 
defined.

Bi-directionality would be a priority IMHO, especially to facilitate the 
updating of all links targeting a specific block should it move.

At the moment, each link self updates when it identifies a reference 
which needs to be updated but that comes across as an expediency (which 
I mitigate with direty look running through links to validate they are 
functional).

It would be great to achieve this with an 'eventual-consistency' type 
way, given that files could come in and out of a system or network.

Similarly, allowing the perma-hyperlink anchors to be transferred would 
really mature the format.

Here are some umble functions I use to facilitate moving blocks into 
other files:
https://git.sr.ht/~indieterminacy/1q20bwb_oq_transferring_emacs/tree/main/item/kqk_kq_blocks_koutliner.el

They at least avoid being descructive, as after moving the block becomes 
a pointer to where the moved block ended up in the other dcoument - but 
it feels like a fudge which could turn some documents into spaghetti.


While Im sure that you are planning on solving these problems within 
eLisp, I should point out that I shall have a Koutliner parser, written 
in TXR (soon to be finalised, Ive had some familial and health 
impedencies recently).

Here is a WIP
https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean

And a (rough) example
https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean#examples

I do need to add some facets (I suspect the linking for other blocks is 
in a seperate script).
I shall also be integrating the parser with GemText (Orgmode would be 
nice one day too).
https://git.sr.ht/~indieterminacy/1q20hqh_kq_parsing_gemtext/

I do quite like TXR's datalisp format but I havent gotten around to 
finding a way to slurping it up into eLisp. I feel like it should be 
easy to resolve but its not a query which is easy given SEO search.

The way Ill be approaching this interpreter is that it could search the 
aggregate or a journey from one document. Being able to have an overview 
of multiple documents is something I consider to be helpful, given the 
domain of cross-referencing.

and FYI, I will be working on outputting RDF from Koutliner and GemText 
analyses.

-- 
Jonathan McHugh
indieterminacy@libre.brussels


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
                   ` (2 preceding siblings ...)
  2022-06-24  2:14 ` Robert Weiner
@ 2022-06-24  6:29 ` Tim Cross
  2022-06-24 12:44   ` Robert Weiner
  2022-06-24 13:52 ` Juan Manuel Macías
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 70+ messages in thread
From: Tim Cross @ 2022-06-24  6:29 UTC (permalink / raw)
  To: emacs-orgmode


Hi Robert,

welcome to the list. 

I find hyperbole very interesting and am trying it out now. I can see a
few areas where I think it may augment my current org based workflows
and development tasks. 

One thing I will be looking at is how well hyperbole works with an
evil-mode based configuration. Probably no big effect with regards to
basic links and things like the interesting roladex type system, but may
be relevant with regards to koutline. 

At this stage, I'm thinking hyperbole might be good as a basic
'dashboard' type startup screen which makes selecting projects or Emacs
based apps (like this mu4e environment) easy to select. I likely won't
take advantage of the window/frame management stuff as I now tend to
work mainly with emacs tabs - I rarely even split windows anymore and
now tend to just have one big frame with many tabs or tab groups. 

It will be interesting to see if there are areas where org mode and
hyperbole may further enhance each other. I see them as having good
collaboration potential rather than as competing/conflicting systems. 


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23 23:36             ` Samuel Wales
@ 2022-06-24  5:50               ` indieterminacy
  0 siblings, 0 replies; 70+ messages in thread
From: indieterminacy @ 2022-06-24  5:50 UTC (permalink / raw)
  To: Samuel Wales; +Cc: David Masterson, Juan Manuel Macías, orgmode

On 24-06-2022 01:36, Samuel Wales wrote:
> [p.s.  it also was not the topic i was talking about in my post.  :]
> i was talking about specific features of links.]

I use (general) links functionality that hyperbole provides inside my 
emacs shell.

Apologies for not matching your specificity.

-- 
Jonathan McHugh
indieterminacy@libre.brussels


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  4:32   ` Samuel Wales
@ 2022-06-24  5:34     ` Robert Weiner
  2022-06-24 10:55       ` indieterminacy
  0 siblings, 1 reply; 70+ messages in thread
From: Robert Weiner @ 2022-06-24  5:34 UTC (permalink / raw)
  To: Samuel Wales; +Cc: emacs-org list

Hi Samuel:

> On Jun 24, 2022, at 12:32 AM, Samuel Wales <samologist@gmail.com> wrote:
> 
> hi robert, welcome to the org list and thanks for your offer.
> 
> for starters, does hyperbole have any concept of links that are:
> 
> - unbreakable [like org-id]

This one is not so simple to answer.  Hyperbole only uses perma-hyperlink anchors in its Koutliner format.  But it would be straightforward to add a UUID-type id for use elsewhere.
> 
> - bidirectional [link a goes to link b; link b goes to link a], or,
> reversible via command to say "what links here?" [by any mechanism.
> if desired, please see "id markers" concept on this list for
> unbreakable bidirectional links and more stuff]

Hyperbole does not have bi-directional links, only a history function to move back through followed node paths.  We have started thinking about this need recently.

— rsw

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:56 ` Robert Weiner
@ 2022-06-24  4:32   ` Samuel Wales
  2022-06-24  5:34     ` Robert Weiner
  0 siblings, 1 reply; 70+ messages in thread
From: Samuel Wales @ 2022-06-24  4:32 UTC (permalink / raw)
  To: rswgnu; +Cc: emacs-org list

hi robert, welcome to the org list and thanks for your offer.

for starters, does hyperbole have any concept of links that are:

- unbreakable [like org-id]

- bidirectional [link a goes to link b; link b goes to link a], or,
reversible via command to say "what links here?" [by any mechanism.
if desired, please see "id markers" concept on this list for
unbreakable bidirectional links and more stuff]

On 6/23/22, Robert Weiner <rsw@gnu.org> wrote:
> For reference:
>
> Hyperbole Videos are here:
>    https://www.youtube.com/channel/UCNRwswKKpjOlOVfFTS73P9A/videos
>
> The Hyperbole Home Page is here:
>  https://www.gnu.org/software/hyperbole/
>
> Just to look at if you don't want to interact with it,
> the Hyperbole FAST-DEMO file is here:
>   https://www.gnu.org/software/hyperbole/FAST-DEMO
>
> The full web-version of the Hyperbole reference manual
> (somewhat technical) is here:
>    https://www.gnu.org/software/hyperbole/man/hyperbole.html
>
> Enjoy.
>


-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  2:13 ` Eduardo Ochs
@ 2022-06-24  2:20   ` Robert Weiner
  0 siblings, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-24  2:20 UTC (permalink / raw)
  To: Eduardo Ochs; +Cc: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 434 bytes --]

Hi Eduardo:

I hope you'll take another look.

(hyperbole-mode 0)  disables the Hyperbole minor mode and all of its key
bindings.
The global binding {C-h h} is left in place so that you can quickly
re-enable Hyperbole's
minor mode and display its navigational minibuffer menu (where quick keys
let you
rapidly access a lot of Hyperbole capabilities.  You can unbind this global
key as you do
any other:

   (global-unset-key "\C-hh")

[-- Attachment #2: Type: text/html, Size: 1964 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
  2022-06-24  1:56 ` Robert Weiner
  2022-06-24  2:13 ` Eduardo Ochs
@ 2022-06-24  2:14 ` Robert Weiner
  2022-06-24  6:29 ` Tim Cross
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-24  2:14 UTC (permalink / raw)
  To: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 711 bytes --]

Typically:
{M-x package-install RET hyperbole RET}
{M-x hyperbole-mode RET}

is enough to install the stable, V8 version of Hyperbole to try out.

If you are more advanced and want to try out the in-development version
that corresponds to the git tip of the Hyperbole master branch, this is
available
as a package from the elpa-devel archive.  To setup to install from there,
see
this article:

  https://protesilaos.com/codelog/2022-05-13-emacs-elpa-devel/

or just add:

    (push '("elpa-devel" . "https://elpa.gnu.org/devel/") package-archives)

to your Emacs init.

Built-in Org support for Hyperbole is documented here:


https://www.gnu.org/software/hyperbole/man/hyperbole.html#Smart-Key-_002d-Org-Mode

[-- Attachment #2: Type: text/html, Size: 1691 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
  2022-06-24  1:56 ` Robert Weiner
@ 2022-06-24  2:13 ` Eduardo Ochs
  2022-06-24  2:20   ` Robert Weiner
  2022-06-24  2:14 ` Robert Weiner
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 70+ messages in thread
From: Eduardo Ochs @ 2022-06-24  2:13 UTC (permalink / raw)
  To: Robert Weiner; +Cc: emacs-org list

On Thu, 23 Jun 2022 at 22:47, Robert Weiner <rsw@gnu.org> wrote:
>
> I am the author of Hyperbole and would be happy to answer questions
> concerning Hyperbole today (so you don't have to answer based on
> experience from the 1990s).  Hyperbole has been modernized for use
> with Org mode and Emacs 28 and continues to develop.  There are videos
> that demonstrate some of its features in simple, understandable ways.
> Hyperbole is a single Emacs package that can be installed and
> uninstalled quickly for testing.  It is largely a global minor mode,
> so you can also disable it quickly if you ever care to.  In 20 minutes
> you can get through the builtin, interactive demo and be on your way
> to basic yet powerful usage.  We have listened to much feedback in the
> last few years and made it much more approachable.


Hi Robert,

can you show us a sexp that will disable Hyperbole completely, and
that we can execute with our favorite variants of `C-x C-e'?
I know that this page

  (info "(hyperbole)Default Hyperbole Bindings")

has this paragraph,

  {C-h h}
  {C-h h X}
     Hyperbole Mini Menu: Enable Hyperbole minor mode and invoke the
     Hyperbole minibuffer menu, giving access to many Hyperbole
     commands.  This is bound globally.  Use {C-h h X} to close the
     Hyperbole minibuffer menu and disable Hyperbole minor mode.

and apparently these sexps toggle Hyperbole minor mode,

  (hyperbole-mode 1)
  (hyperbole-mode 0)

but even when I toggle it off the global binding for `C-h h' remains
active...

  Thanks in advance.
  My notes on Hyperbole are here,
    http://angg.twu.net/hyperbole.html
  and there is some material on why I find Hyperbole too "magic"
  in these two links:
    http://angg.twu.net/2021-org-for-non-users.html
    http://angg.twu.net/eev-wconfig.html

  [[]],
    Eduardo Ochs
    http://angg.twu.net/#eev


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-24  1:45 Robert Weiner
@ 2022-06-24  1:56 ` Robert Weiner
  2022-06-24  4:32   ` Samuel Wales
  2022-06-24  2:13 ` Eduardo Ochs
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 70+ messages in thread
From: Robert Weiner @ 2022-06-24  1:56 UTC (permalink / raw)
  To: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 485 bytes --]

For reference:

Hyperbole Videos are here:
   https://www.youtube.com/channel/UCNRwswKKpjOlOVfFTS73P9A/videos

The Hyperbole Home Page is here:
 https://www.gnu.org/software/hyperbole/

Just to look at if you don't want to interact with it,
the Hyperbole FAST-DEMO file is here:
  https://www.gnu.org/software/hyperbole/FAST-DEMO

The full web-version of the Hyperbole reference manual
(somewhat technical) is here:
   https://www.gnu.org/software/hyperbole/man/hyperbole.html

Enjoy.

[-- Attachment #2: Type: text/html, Size: 1764 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
@ 2022-06-24  1:45 Robert Weiner
  2022-06-24  1:56 ` Robert Weiner
                   ` (8 more replies)
  0 siblings, 9 replies; 70+ messages in thread
From: Robert Weiner @ 2022-06-24  1:45 UTC (permalink / raw)
  To: emacs-org list

Hi:

Thanks to Juan for starting this thread and the interesting
conversation it has started.  I just joined this mail list, so I don't
have the prior messages and can't reply to the thread, so I have
started this new one.

I am the author of Hyperbole and would be happy to answer questions
concerning Hyperbole today (so you don't have to answer based on
experience from the 1990s).  Hyperbole has been modernized for use
with Org mode and Emacs 28 and continues to develop.  There are videos
that demonstrate some of its features in simple, understandable ways.
Hyperbole is a single Emacs package that can be installed and
uninstalled quickly for testing.  It is largely a global minor mode,
so you can also disable it quickly if you ever care to.  In 20 minutes
you can get through the builtin, interactive demo and be on your way
to basic yet powerful usage.  We have listened to much feedback in the
last few years and made it much more approachable.

I find most of the confusion is people trying to understand how
Hyperbole works under the covers rather than just following the
tutorial and exploring it.  Hyperbole can be hacked on if you are a
moderate to advanced programmer but it is meant to be used, like Org
mode.  Hyperbole recognizes many, many common contexts in buffers that
could serve as hyperlinks (paths, URLs, multiple key sequences, mail
addresses, and on and on) and performs the typically desired action
when you press its Action Key {M-RET} on these 'implicit buttons'.
You get all this for free with no effort on your part.  Then if you
want to extend such behavior, as you have seen a bit of, you can
define your own implicit button and action types once and then
activate an infinite number of matching implicit buttons.  For
example, in an Emacs shell buffer, type:

   echo $PATH

then press the {M-RET} key or Shift-Middle mouse button on any path
there and jump right to it.  I find that very useful as a simple
example.  People are often surprised at how many things simply work
right out of the box because such broad context-sensitive behavior is
difficult to develop and rarely seen.  Just try it out and you should
find some contexts that you can leverage rapidly.  {C-h A} displays
what Hyperbole's Action Key will do in any context so you can always
check and learn before activating anything.  We say: Hyperbole brings
your text to life.  Like Org and Emacs, it provides an extensive
environment that you can grow into across time, getting ever more
productive rather than hitting a ceiling as with most point
packages/tools.

I am happy to answer questions and discuss ways we can make Hyperbole
and Org work even better together; one direct question per message
would typically work best.  Responses may take awhile as my schedule
makes it difficult to keep up with high volume mailing lists but if
you cc: rsw@gnu.org, I'll likely see your message faster and respond.


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23 23:30           ` Samuel Wales
@ 2022-06-23 23:36             ` Samuel Wales
  2022-06-24  5:50               ` indieterminacy
  0 siblings, 1 reply; 70+ messages in thread
From: Samuel Wales @ 2022-06-23 23:36 UTC (permalink / raw)
  To: indieterminacy; +Cc: David Masterson, Juan Manuel Macías, orgmode

[p.s.  it also was not the topic i was talking about in my post.  :]
i was talking about specific features of links.]


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23  5:22         ` indieterminacy
  2022-06-23 15:38           ` Samuel Banya
@ 2022-06-23 23:30           ` Samuel Wales
  2022-06-23 23:36             ` Samuel Wales
  1 sibling, 1 reply; 70+ messages in thread
From: Samuel Wales @ 2022-06-23 23:30 UTC (permalink / raw)
  To: indieterminacy; +Cc: David Masterson, Juan Manuel Macías, orgmode

i was indeed aware that one can dig into hyperbole's manual and load
it and keep using it for lots of buffers alongside org.  i first
learned about hyperbole in the 1990s or so and it seemed rather neat
and it seems intriguing still.

but that is not the model i was talking about in my post.  [there is
of course nothing wrong with that model.]

On 6/22/22, indieterminacy <indieterminacy@libre.brussels> wrote:
> On 23-06-2022 06:04, David Masterson wrote:
>> Samuel Wales <samologist@gmail.com> writes:
>>
>>> i am interested in whether hyperbole can inspire org.  or maybe spin
>>> off stuff that is useful for org.
>>
>> Hyperbole is loaded and activated in your .emacs file.  Therefore, it's
>> features are available in any file you work on (including Org
>> files). Many of the features may be useful to you as a replacement to a
>> feature in Org or something to work along side Org.  Dig into the
>> Hyperbole manual...
>
> any buffer!
>
> so it works inside emacs teminal emulators too!
> --
> Jonathan McHugh
> indieterminacy@libre.brussels
>


-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 14:35     ` Bill Burdick
  2022-06-22 19:23       ` David Masterson
@ 2022-06-23 18:48       ` Eduardo Ochs
  1 sibling, 0 replies; 70+ messages in thread
From: Eduardo Ochs @ 2022-06-23 18:48 UTC (permalink / raw)
  To: Bill Burdick; +Cc: Juan Manuel Macías, David Masterson, orgmode

On Wed, 22 Jun 2022 at 11:36, Bill Burdick <bill.burdick@gmail.com> wrote:
>
> Here's a hyperbole-org integration that lets you use org-mode tables outside of org-mode files. Shift-middle-click a "recalc" button and it will recalculate the table right under it (this idea is from an old version of the Oberon environment I wrote in Java, by the way).
>
> Here's the code:
>
> (defun bill/calc (end)
>   (goto-char end)
>   (re-search-forward "\n")
>   (when (org-at-table-p)
>     (org-table-analyze)
>     (let* ((table-start (point))
>            (rows (1- (length org-table-dlines)))
>            (table-end (re-search-forward "\n" nil t rows))
>            (inside (<= table-start action-key-depress-prev-point table-end)))
>       (when inside
>         (goto-char action-key-depress-prev-point)
>         (org-table-maybe-eval-formula))
>       (goto-char table-start)
>       (call-interactively 'org-table-recalculate)
>       (org-table-align))))
>
> (defib recalc ()
>   "recalculate a table"
>   (save-excursion
>     (let* ((pos (point))
>            (eol (progn (re-search-forward "\n") (point)))
>            (bol (progn (re-search-backward "\n" nil t 2) (1+ (point))))
>            (start (progn (goto-char pos) (re-search-backward "<" bol t)))
>            (end (progn (goto-char pos) (re-search-forward ">" eol t))))
>       ;;(message "pos: %s, prev: %s" (point) action-key-depress-prev-point)
>       (and start end (string-match "<recalc[> ].*" (buffer-substring start end))
>            (hact 'bill/calc end)))))
>
> Here's an example table you can put anywhere. Just shift-middle-click on it to recalculate the org-mode table. Also, if you type a formula (and keep the cursor on the same line) and then shift-click recalc, it'll handle the formula:
>
> <recalc>
> | a | 12 |
> | a |  5 |
> #+TBLFM: @1$2=3*4::@2$2=2+3


Hi Bill,

can I ask you for help on something that looks easy but that I'm not
being able to do (due to temporary braindeadness)?

How do we reimplement your <recalc> button as a sexp that can be run
with C-e C-x C-e? In eev all "buttons" are simply sexps that can
executed by variants of eval-last-sexp - as explained here:

  http://angg.twu.net/eev-intros/find-eev-quick-intro.html#3

I'm trying to translate your <recalc> to "eev style", but I'm
failing...

  Thanks in advance!
    Eduardo Ochs
    http://angg.twu.net/#eev


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23  5:22         ` indieterminacy
@ 2022-06-23 15:38           ` Samuel Banya
  2022-06-23 23:30           ` Samuel Wales
  1 sibling, 0 replies; 70+ messages in thread
From: Samuel Banya @ 2022-06-23 15:38 UTC (permalink / raw)
  To: Charles Berry

[-- Attachment #1: Type: text/plain, Size: 1108 bytes --]

I'll be honest, every time I've ever seen Hyperbole attempted to be explained, it goes over my head in 2 seconds.

It seems like something akin to Acme where its mouse driven button events that trigger other things to occur.

Could never find a single solid video that dumbed down Hyperbole to make it useful for the average person though unfortunately. Seems neat though.

Sincerely,

Sam

On Thu, Jun 23, 2022, at 1:22 AM, indieterminacy wrote:
> On 23-06-2022 06:04, David Masterson wrote:
> > Samuel Wales <samologist@gmail.com> writes:
> > 
> >> i am interested in whether hyperbole can inspire org.  or maybe spin
> >> off stuff that is useful for org.
> > 
> > Hyperbole is loaded and activated in your .emacs file.  Therefore, it's
> > features are available in any file you work on (including Org
> > files). Many of the features may be useful to you as a replacement to a
> > feature in Org or something to work along side Org.  Dig into the
> > Hyperbole manual...
> 
> any buffer!
> 
> so it works inside emacs teminal emulators too!
> -- 
> Jonathan McHugh
> indieterminacy@libre.brussels
> 
> 

[-- Attachment #2: Type: text/html, Size: 1861 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23  4:04       ` David Masterson
@ 2022-06-23  5:22         ` indieterminacy
  2022-06-23 15:38           ` Samuel Banya
  2022-06-23 23:30           ` Samuel Wales
  0 siblings, 2 replies; 70+ messages in thread
From: indieterminacy @ 2022-06-23  5:22 UTC (permalink / raw)
  To: David Masterson; +Cc: Samuel Wales, Juan Manuel Macías, orgmode

On 23-06-2022 06:04, David Masterson wrote:
> Samuel Wales <samologist@gmail.com> writes:
> 
>> i am interested in whether hyperbole can inspire org.  or maybe spin
>> off stuff that is useful for org.
> 
> Hyperbole is loaded and activated in your .emacs file.  Therefore, it's
> features are available in any file you work on (including Org
> files). Many of the features may be useful to you as a replacement to a
> feature in Org or something to work along side Org.  Dig into the
> Hyperbole manual...

any buffer!

so it works inside emacs teminal emulators too!
-- 
Jonathan McHugh
indieterminacy@libre.brussels


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-23  1:12     ` Samuel Wales
@ 2022-06-23  4:04       ` David Masterson
  2022-06-23  5:22         ` indieterminacy
  0 siblings, 1 reply; 70+ messages in thread
From: David Masterson @ 2022-06-23  4:04 UTC (permalink / raw)
  To: Samuel Wales; +Cc: Juan Manuel Macías, orgmode

Samuel Wales <samologist@gmail.com> writes:

> i am interested in whether hyperbole can inspire org.  or maybe spin
> off stuff that is useful for org.

Hyperbole is loaded and activated in your .emacs file.  Therefore, it's
features are available in any file you work on (including Org
files). Many of the features may be useful to you as a replacement to a
feature in Org or something to work along side Org.  Dig into the
Hyperbole manual...


-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 19:03         ` Bill Burdick
@ 2022-06-23  3:46           ` David Masterson
  0 siblings, 0 replies; 70+ messages in thread
From: David Masterson @ 2022-06-23  3:46 UTC (permalink / raw)
  To: Bill Burdick; +Cc: emacs-orgmode

Bill Burdick <bill.burdick@gmail.com> writes:

> Sure:
>
> (defun bill/restore-calc-point (result)
>   (when bill/calc-point
>     (goto-char bill/calc-point)
>     (setq bill/calc-point nil))
>   result)
>
> (advice-add 'hmouse-function :filter-return 'bill/restore-calc-point)
>
> If my recalc function matches, it sets bill/restore-calc-point to a marker like this:
>
> (setq bill/calc-point (make-marker))
>
> Since it's normally nil, the advice normally just ignores it.

Thanks.  I wanted to learn more about advising functions.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 10:37   ` Juan Manuel Macías
  2022-06-22 14:35     ` Bill Burdick
  2022-06-22 19:17     ` David Masterson
@ 2022-06-23  1:12     ` Samuel Wales
  2022-06-23  4:04       ` David Masterson
  2 siblings, 1 reply; 70+ messages in thread
From: Samuel Wales @ 2022-06-23  1:12 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: David Masterson, orgmode

i am interested in whether hyperbole can inspire org.  or maybe spin
off stuff that is useful for org.

i find org-link-minor-mode to be reeeeeeeeeeeeeally useful.  limited,
but useful.  does tses too.

i use it in non-org files to link to other places in the same file, mostly.

also i insert the reverse link.  but i also use org id links to link
to org.  which, bidir is manual.  also external links.

idk about hyperbole, but i really like the idea of emacs being able to
link all types of files and maybe even file-less buffers all around.
bidirectionally.   also annotate, with and without modifying the
annotated file, with org as backend.

i like nonbreakable links.  org-id is great, might be useful in such a
pan-emacs setup via links similar to extensible syntax id marker links
so that it is nonbreakable and bidirectional and controllable, all
without manual maintenance.

those would also allow graph-theoretical stuff but i don't think i
need that.  except bidirectional links and lists of links, perhaps
traversable via emacs's standard next-error mechanism or something
similar.

i noticed something a bit peculiar recently.  i did org-store-link in
a non-org file and a properties drawer was created at top [maint].
idk if hte org-id system will remembver that indefinitely or not; file
moves might be an issue.

-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 19:26         ` Bill Burdick
@ 2022-06-22 19:55           ` Bill Burdick
  0 siblings, 0 replies; 70+ messages in thread
From: Bill Burdick @ 2022-06-22 19:55 UTC (permalink / raw)
  To: David Masterson; +Cc: Juan Manuel Macías, orgmode

[-- Attachment #1: Type: text/plain, Size: 3919 bytes --]

I just wrote recalc today as a demo so people can extrapolate what they
might do with Hyperbole (calc was handy in my head since I wrote it for
Ober, the Java version of the Oberon environment).

WIth buttons that restore the point to where it was when you clicked, you
can make them operate on the current selection (it looks like Hyperbole
might not save the region though so maybe more function advice is needed
for that). This makes reusable "menu bars" possible:

<recalc> <cut> <copy> <paste>

(changing recalc to find the table at point instead of using the location
of the button).
Highlight a region and shift-middle-click on cut/copy/paste to do that
action on your selection.

This also lets you use button bars in other frames (acting even more like a
real menu bar).

Buttons could also parse contextual information in the button buffer
(and/or the active buffer), something like org-mode properties, that could
influence how the buttons behave. Other buttons could edit this information
to give you document-based behavior. For instance, a button-buffer (like
the menubar) could have behavioral information like this:

<indent>: 4
<justify>: left

Clicking "left" could toggle it between the different types of
justification (left, right, center, full) and clicking on <justify> could
justify the current paragraph. Clicking <indent> could change the
indentation of the current file (if it's a program, it could analyze for
the current indentation and then change it to the desired indentation).

Just thinking out loud here -- this is the sort of thing Ober did and
Hyperbole looks like a framework that makes it not too hard to do that for
Emacs.


-- Bill


On Wed, Jun 22, 2022 at 10:26 PM Bill Burdick <bill.burdick@gmail.com>
wrote:

> No idea.
>
>
> -- Bill
>
>
> On Wed, Jun 22, 2022 at 10:23 PM David Masterson <dsmasterson@gmail.com>
> wrote:
>
>> Bill Burdick <bill.burdick@gmail.com> writes:
>>
>> > Here's a hyperbole-org integration that lets you use org-mode tables
>> > outside of org-mode files. Shift-middle-click a "recalc" button and it
>> > will recalculate the table right under it (this idea is from an old
>> > version of the Oberon environment I wrote in Java, by the way).
>> >
>> > Here's the code:
>> >
>> > (defun bill/calc (end)
>> >   (goto-char end)
>> >   (re-search-forward "\n")
>> >   (when (org-at-table-p)
>> >     (org-table-analyze)
>> >     (let* ((table-start (point))
>> >            (rows (1- (length org-table-dlines)))
>> >            (table-end (re-search-forward "\n" nil t rows))
>> >            (inside (<= table-start action-key-depress-prev-point
>> table-end)))
>> >       (when inside
>> >         (goto-char action-key-depress-prev-point)
>> >         (org-table-maybe-eval-formula))
>> >       (goto-char table-start)
>> >       (call-interactively 'org-table-recalculate)
>> >       (org-table-align))))
>> >
>> > (defib recalc ()
>> >   "recalculate a table"
>> >   (save-excursion
>> >     (let* ((pos (point))
>> >            (eol (progn (re-search-forward "\n") (point)))
>> >            (bol (progn (re-search-backward "\n" nil t 2) (1+ (point))))
>> >            (start (progn (goto-char pos) (re-search-backward "<" bol
>> t)))
>> >            (end (progn (goto-char pos) (re-search-forward ">" eol t))))
>> >       ;;(message "pos: %s, prev: %s" (point)
>> action-key-depress-prev-point)
>> >       (and start end (string-match "<recalc[> ].*" (buffer-substring
>> start end))
>> >            (hact 'bill/calc end)))))
>> >
>> > Here's an example table you can put anywhere. Just shift-middle-click
>> > on it to recalculate the org-mode table. Also, if you type a formula
>> > (and keep the cursor on the same line) and then shift-click recalc,
>> > it'll handle the formula:
>> >
>> > <recalc>
>> > | a | 12 |
>> > | a |  5 |
>> > #+TBLFM: @1$2=3*4::@2$2=2+3
>>
>> Isn't this the minor mode orgtbl-mode ?
>>
>> --
>> David Masterson
>>
>

[-- Attachment #2: Type: text/html, Size: 5622 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 19:23       ` David Masterson
@ 2022-06-22 19:26         ` Bill Burdick
  2022-06-22 19:55           ` Bill Burdick
  0 siblings, 1 reply; 70+ messages in thread
From: Bill Burdick @ 2022-06-22 19:26 UTC (permalink / raw)
  To: David Masterson; +Cc: Juan Manuel Macías, orgmode

[-- Attachment #1: Type: text/plain, Size: 2092 bytes --]

No idea.


-- Bill


On Wed, Jun 22, 2022 at 10:23 PM David Masterson <dsmasterson@gmail.com>
wrote:

> Bill Burdick <bill.burdick@gmail.com> writes:
>
> > Here's a hyperbole-org integration that lets you use org-mode tables
> > outside of org-mode files. Shift-middle-click a "recalc" button and it
> > will recalculate the table right under it (this idea is from an old
> > version of the Oberon environment I wrote in Java, by the way).
> >
> > Here's the code:
> >
> > (defun bill/calc (end)
> >   (goto-char end)
> >   (re-search-forward "\n")
> >   (when (org-at-table-p)
> >     (org-table-analyze)
> >     (let* ((table-start (point))
> >            (rows (1- (length org-table-dlines)))
> >            (table-end (re-search-forward "\n" nil t rows))
> >            (inside (<= table-start action-key-depress-prev-point
> table-end)))
> >       (when inside
> >         (goto-char action-key-depress-prev-point)
> >         (org-table-maybe-eval-formula))
> >       (goto-char table-start)
> >       (call-interactively 'org-table-recalculate)
> >       (org-table-align))))
> >
> > (defib recalc ()
> >   "recalculate a table"
> >   (save-excursion
> >     (let* ((pos (point))
> >            (eol (progn (re-search-forward "\n") (point)))
> >            (bol (progn (re-search-backward "\n" nil t 2) (1+ (point))))
> >            (start (progn (goto-char pos) (re-search-backward "<" bol t)))
> >            (end (progn (goto-char pos) (re-search-forward ">" eol t))))
> >       ;;(message "pos: %s, prev: %s" (point)
> action-key-depress-prev-point)
> >       (and start end (string-match "<recalc[> ].*" (buffer-substring
> start end))
> >            (hact 'bill/calc end)))))
> >
> > Here's an example table you can put anywhere. Just shift-middle-click
> > on it to recalculate the org-mode table. Also, if you type a formula
> > (and keep the cursor on the same line) and then shift-click recalc,
> > it'll handle the formula:
> >
> > <recalc>
> > | a | 12 |
> > | a |  5 |
> > #+TBLFM: @1$2=3*4::@2$2=2+3
>
> Isn't this the minor mode orgtbl-mode ?
>
> --
> David Masterson
>

[-- Attachment #2: Type: text/html, Size: 3123 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 14:35     ` Bill Burdick
@ 2022-06-22 19:23       ` David Masterson
  2022-06-22 19:26         ` Bill Burdick
  2022-06-23 18:48       ` Eduardo Ochs
  1 sibling, 1 reply; 70+ messages in thread
From: David Masterson @ 2022-06-22 19:23 UTC (permalink / raw)
  To: Bill Burdick; +Cc: Juan Manuel Macías, orgmode

Bill Burdick <bill.burdick@gmail.com> writes:

> Here's a hyperbole-org integration that lets you use org-mode tables
> outside of org-mode files. Shift-middle-click a "recalc" button and it
> will recalculate the table right under it (this idea is from an old
> version of the Oberon environment I wrote in Java, by the way).
>
> Here's the code:
>
> (defun bill/calc (end)
>   (goto-char end)
>   (re-search-forward "\n")
>   (when (org-at-table-p)
>     (org-table-analyze)
>     (let* ((table-start (point))
>            (rows (1- (length org-table-dlines)))
>            (table-end (re-search-forward "\n" nil t rows))
>            (inside (<= table-start action-key-depress-prev-point table-end)))
>       (when inside
>         (goto-char action-key-depress-prev-point)
>         (org-table-maybe-eval-formula))
>       (goto-char table-start)
>       (call-interactively 'org-table-recalculate)
>       (org-table-align))))
>
> (defib recalc ()
>   "recalculate a table"
>   (save-excursion
>     (let* ((pos (point))
>            (eol (progn (re-search-forward "\n") (point)))
>            (bol (progn (re-search-backward "\n" nil t 2) (1+ (point))))
>            (start (progn (goto-char pos) (re-search-backward "<" bol t)))
>            (end (progn (goto-char pos) (re-search-forward ">" eol t))))
>       ;;(message "pos: %s, prev: %s" (point) action-key-depress-prev-point)
>       (and start end (string-match "<recalc[> ].*" (buffer-substring start end))
>            (hact 'bill/calc end)))))
>
> Here's an example table you can put anywhere. Just shift-middle-click
> on it to recalculate the org-mode table. Also, if you type a formula
> (and keep the cursor on the same line) and then shift-click recalc,
> it'll handle the formula:
>
> <recalc>
> | a | 12 |
> | a |  5 |
> #+TBLFM: @1$2=3*4::@2$2=2+3

Isn't this the minor mode orgtbl-mode ?

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 10:37   ` Juan Manuel Macías
  2022-06-22 14:35     ` Bill Burdick
@ 2022-06-22 19:17     ` David Masterson
  2022-06-23  1:12     ` Samuel Wales
  2 siblings, 0 replies; 70+ messages in thread
From: David Masterson @ 2022-06-22 19:17 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: orgmode

Juan Manuel Macías <maciaschain@posteo.net> writes:

> Hi David, 
>
> David Masterson writes:
>
>> I haven't touched Hyperbole in ...decades...?  Even then, it was
>> complicated and full-featured (but I still keep it in my .emacs file).
>> My discussions with Bob Weiner were interesting at the time and I really
>> wanted to make use of it.
>>
>> As you've discovered, it integrates a lot of what Org has in, perhaps, a
>> tighter fashion (which makes it more complicated, but the pain might be
>> useful). The Smart Keys and Buttons are very similar to Org.  The
>> outliner (KOutline) is more powerful than Org, but not integrated with
>> export capabilities to other formats (I think there is a way of
>> exporting an outline to Org).  Something that Org does not have is
>> browsing capabilities for Object Oriented languages.  This is an add-on
>> (for C++ ?) in Hyperbole (search for OO-Browser).  Since I retired, I
>> don't do much programming, so Org's project management has been more
>> interesting to me.
>>
>> It's nice to see that it's actually still being developed by Bob.
>
> Thanks for all the interesting facts about hyperbole. I hadn't looked at
> the package source code info yet, and didn't know that this is all the
> work of one person. I also thought hyperbole was more recent...
>
> It certainly has some interesting stuff. In what way is KOutline more
> powerful than Org? Do you think there is any useful feature of KOutline
> that could be incorporated into Org?

KOutline has a much larger set of commands for working with outlines.
However, that's an example of complexity in that it's a lot to keep in
your head.  The permanent (hidden) ids make it possible to build (say) a
personal Wiki of information where rearranging the outline doesn't mess
up the links.

> So far I've been able to find a couple of practical uses for this
> package in my workflow. The whole window control system is very
> powerful, although it would have been better if it had been a single
> separate package, IMHO.

I tended to look at EXWM, but didn't get too far. I may look at
Hycontrol again...

> Implicit links have a lot of potential. For example, I've managed to
> define some buttons for LaTeX, which recognize LaTeX commands and
> environments and lead to the local TeX live documentation or
> tex.stackexchange.org. It's like giving a LaTeX document a sort of hover
> help. This could also be done in Org, by defining some patterns as
> implicit buttons to lead to Org info pages.

Have you looked at Hydra?  But Hyperbole's implicit links are better.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 18:05       ` David Masterson
@ 2022-06-22 19:03         ` Bill Burdick
  2022-06-23  3:46           ` David Masterson
  0 siblings, 1 reply; 70+ messages in thread
From: Bill Burdick @ 2022-06-22 19:03 UTC (permalink / raw)
  To: David Masterson; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1340 bytes --]

Sure:

(defun bill/restore-calc-point (result)
  (when bill/calc-point
    (goto-char bill/calc-point)
    (setq bill/calc-point nil))
  result)

(advice-add 'hmouse-function :filter-return 'bill/restore-calc-point)

If my recalc function matches, it sets bill/restore-calc-point to a marker
like this:

(setq bill/calc-point (make-marker))

Since it's normally nil, the advice normally just ignores it.


-- Bill


On Wed, Jun 22, 2022 at 9:05 PM David Masterson <dsmasterson@gmail.com>
wrote:

> Bill Burdick <bill.burdick@gmail.com> writes:
>
> > Anywhere you use a link or button, you can probably use an emacs
> > command instead. I think maybe the value of links and buttons is that
> > they're explicit. It's a reminder in the text and you don't have to
> > learn it.
> >
> > One thing I noticed in my little "recalc" exercise is that Hyperbole
> > really really wants the cursor to stay on the button. I used function
> > advice to make the cursor stay where it was when you clicked the
> > button. This allows "menubars" to work, lists of buttons that can
> > operate on the text without warping the cursor to the buttons. This is
> > how Oberon and WIly work and I think Hyperbole (for my use cases
> > anyway) will benefit from this usage style.
>
> Could you provide an example of that function advice?
> --
> David Masterson
>

[-- Attachment #2: Type: text/html, Size: 2053 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 17:36     ` Bill Burdick
@ 2022-06-22 18:05       ` David Masterson
  2022-06-22 19:03         ` Bill Burdick
  0 siblings, 1 reply; 70+ messages in thread
From: David Masterson @ 2022-06-22 18:05 UTC (permalink / raw)
  To: Bill Burdick; +Cc: emacs-orgmode

Bill Burdick <bill.burdick@gmail.com> writes:

> Anywhere you use a link or button, you can probably use an emacs
> command instead. I think maybe the value of links and buttons is that
> they're explicit. It's a reminder in the text and you don't have to
> learn it.
>
> One thing I noticed in my little "recalc" exercise is that Hyperbole
> really really wants the cursor to stay on the button. I used function
> advice to make the cursor stay where it was when you clicked the
> button. This allows "menubars" to work, lists of buttons that can
> operate on the text without warping the cursor to the buttons. This is
> how Oberon and WIly work and I think Hyperbole (for my use cases
> anyway) will benefit from this usage style.

Could you provide an example of that function advice?
-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 15:13   ` Russell Adams
@ 2022-06-22 17:36     ` Bill Burdick
  2022-06-22 18:05       ` David Masterson
  0 siblings, 1 reply; 70+ messages in thread
From: Bill Burdick @ 2022-06-22 17:36 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1453 bytes --]

Anywhere you use a link or button, you can probably use an emacs command
instead. I think maybe the value of links and buttons is that they're
explicit. It's a reminder in the text and you don't have to learn it.

One thing I noticed in my little "recalc" exercise is that Hyperbole really
really wants the cursor to stay on the button. I used function advice to
make the cursor stay where it was when you clicked the button. This allows
"menubars" to work, lists of buttons that can operate on the text without
warping the cursor to the buttons. This is how Oberon and WIly work and I
think Hyperbole (for my use cases anyway) will benefit from this usage
style.


-- Bill


On Wed, Jun 22, 2022 at 6:15 PM Russell Adams <RLAdams@adamsinfoserv.com>
wrote:

> On Mon, Jun 20, 2022 at 05:26:30PM +0200, Russell Adams wrote:
> > Is there some keen feature I'm missing? What's the use case for
> > Hyperbole if you're already an Org-mode user?
>
> Watching the replies, I've noticed it all seems to come back to
> hyperlinking / hot button support across Emacs modes. Almost sounds
> like Apple's Hypercard is evoked in the responses.
>
> I rarely use Org's own links, much less links between documents so
> maybe I'm not the target audience.
>
> ------------------------------------------------------------------
> Russell Adams                            RLAdams@AdamsInfoServ.com
>                                     https://www.adamsinfoserv.com/
>
>

[-- Attachment #2: Type: text/html, Size: 2141 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 15:26 ` Russell Adams
  2022-06-20 16:57   ` Eduardo Ochs
  2022-06-20 23:37   ` Tim Cross
@ 2022-06-22 15:13   ` Russell Adams
  2022-06-22 17:36     ` Bill Burdick
  2 siblings, 1 reply; 70+ messages in thread
From: Russell Adams @ 2022-06-22 15:13 UTC (permalink / raw)
  To: emacs-orgmode

On Mon, Jun 20, 2022 at 05:26:30PM +0200, Russell Adams wrote:
> Is there some keen feature I'm missing? What's the use case for
> Hyperbole if you're already an Org-mode user?

Watching the replies, I've noticed it all seems to come back to
hyperlinking / hot button support across Emacs modes. Almost sounds
like Apple's Hypercard is evoked in the responses.

I rarely use Org's own links, much less links between documents so
maybe I'm not the target audience.

------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com
                                    https://www.adamsinfoserv.com/


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 16:24 ` indieterminacy
@ 2022-06-22 14:48   ` Juan Manuel Macías
  0 siblings, 0 replies; 70+ messages in thread
From: Juan Manuel Macías @ 2022-06-22 14:48 UTC (permalink / raw)
  To: indieterminacy; +Cc: orgmode

Hi Jonathan, sorry for my late response,

indieterminacy writes:

> I recommend Hyperbole, though I must confess Ive been using Orgmode a 
> lot less since Ive been focusing on the format GemText.
>
> I should recommend the use of the function defil, for people who like 
> regexes and want to operate differing contexts (to launch via the ACTION 
> operator). Its mid-grade compared to the more simpler approach and the 
> more complex eLisp approach.

Thank you very much for all the very interesting information about hyperbole!

I am liking the idea of implicit buttons more and more, and I see a few
applications of this concept that I can find very practical. To play
around with the defil function, which you recommend in your email, I've
tried defining some 'contextual help' for LaTeX and Org. Specifically for
Org it has occurred to me to convert some keywords into implicit buttons
that point to the info pages. Something like this:

#+begin_src emacs-lisp
  (defil org-attr-latex
    "#+" ":" "attr_latex\\|caption"
    (let ((el (org-element-at-point)))
      (cond ((eq (org-element-type el) 'src-block)
	     (lambda (x)
	       (info "(org)Source blocks in LaTeX export")))
	    ((eq (org-element-type el) 'table)
	     (lambda (x)
	       (info "(org)Tables in LaTeX export")))
	    ((eq (org-element-type el) 'plain-list)
	     (lambda (x)
	       (info "(org)Plain lists in LaTeX export")))
	    ((eq (org-element-type el) 'paragraph)
	     (lambda (x)
	       (info "(org)Images in LaTeX export")))
	    ((eq (org-element-type el) 'verse-block)
	     (lambda (x)
	       (info "(org)Verse blocks in LaTeX export")))
	    ((eq (org-element-type el) 'special-block)
	     (lambda (x)
	       (info "(org)Special blocks in LaTeX export")))
	    ((eq (org-element-type el) 'example-block)
	     (lambda (x)
	       (info "(org)Example blocks in LaTeX export")))
	    ((eq (org-element-type el) 'quote-block)
	     (lambda (x)
	       (info "(org)Quote blocks in LaTeX export"))))))

  (defil org-attr-html
    "#+" ":" "attr_html\\|caption"
    (let ((el (org-element-at-point)))
      (cond ((eq (org-element-type el) 'table)
	     (lambda (x)
	       (info "(org)Tables in HTML export")))
	    ((eq (org-element-type el) 'paragraph)
	     (lambda (x)
	       (info "(org)Images in HTML export"))))))


  (defil org-options-kw "#+" ":" "options"
    (lambda (x)
      (info "(org)Export Settings")
      (occur "‘OPTIONS’")))
#+end_src

I've also discovered the defib function, which allows you to define
implicit buttons using predicates, instead of just using regular
expressions and delimiters.

Best regards,

Juan Manuel 


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-22 10:37   ` Juan Manuel Macías
@ 2022-06-22 14:35     ` Bill Burdick
  2022-06-22 19:23       ` David Masterson
  2022-06-23 18:48       ` Eduardo Ochs
  2022-06-22 19:17     ` David Masterson
  2022-06-23  1:12     ` Samuel Wales
  2 siblings, 2 replies; 70+ messages in thread
From: Bill Burdick @ 2022-06-22 14:35 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: David Masterson, orgmode

[-- Attachment #1: Type: text/plain, Size: 4012 bytes --]

Here's a hyperbole-org integration that lets you use org-mode tables
outside of org-mode files. Shift-middle-click a "recalc" button and it will
recalculate the table right under it (this idea is from an old version of
the Oberon environment I wrote in Java, by the way).

Here's the code:

(defun bill/calc (end)
  (goto-char end)
  (re-search-forward "\n")
  (when (org-at-table-p)
    (org-table-analyze)
    (let* ((table-start (point))
           (rows (1- (length org-table-dlines)))
           (table-end (re-search-forward "\n" nil t rows))
           (inside (<= table-start action-key-depress-prev-point
table-end)))
      (when inside
        (goto-char action-key-depress-prev-point)
        (org-table-maybe-eval-formula))
      (goto-char table-start)
      (call-interactively 'org-table-recalculate)
      (org-table-align))))

(defib recalc ()
  "recalculate a table"
  (save-excursion
    (let* ((pos (point))
           (eol (progn (re-search-forward "\n") (point)))
           (bol (progn (re-search-backward "\n" nil t 2) (1+ (point))))
           (start (progn (goto-char pos) (re-search-backward "<" bol t)))
           (end (progn (goto-char pos) (re-search-forward ">" eol t))))
      ;;(message "pos: %s, prev: %s" (point) action-key-depress-prev-point)
      (and start end (string-match "<recalc[> ].*" (buffer-substring start
end))
           (hact 'bill/calc end)))))

Here's an example table you can put anywhere. Just shift-middle-click on it
to recalculate the org-mode table. Also, if you type a formula (and keep
the cursor on the same line) and then shift-click recalc, it'll handle the
formula:

<recalc>
| a | 12 |
| a |  5 |
#+TBLFM: @1$2=3*4::@2$2=2+3


-- Bill


On Wed, Jun 22, 2022 at 1:38 PM Juan Manuel Macías <maciaschain@posteo.net>
wrote:

> Hi David,
>
> David Masterson writes:
>
> > I haven't touched Hyperbole in ...decades...?  Even then, it was
> > complicated and full-featured (but I still keep it in my .emacs file).
> > My discussions with Bob Weiner were interesting at the time and I really
> > wanted to make use of it.
> >
> > As you've discovered, it integrates a lot of what Org has in, perhaps, a
> > tighter fashion (which makes it more complicated, but the pain might be
> > useful). The Smart Keys and Buttons are very similar to Org.  The
> > outliner (KOutline) is more powerful than Org, but not integrated with
> > export capabilities to other formats (I think there is a way of
> > exporting an outline to Org).  Something that Org does not have is
> > browsing capabilities for Object Oriented languages.  This is an add-on
> > (for C++ ?) in Hyperbole (search for OO-Browser).  Since I retired, I
> > don't do much programming, so Org's project management has been more
> > interesting to me.
> >
> > It's nice to see that it's actually still being developed by Bob.
>
> Thanks for all the interesting facts about hyperbole. I hadn't looked at
> the package source code info yet, and didn't know that this is all the
> work of one person. I also thought hyperbole was more recent...
>
> It certainly has some interesting stuff. In what way is KOutline more
> powerful than Org? Do you think there is any useful feature of KOutline
> that could be incorporated into Org?
>
> So far I've been able to find a couple of practical uses for this
> package in my workflow. The whole window control system is very
> powerful, although it would have been better if it had been a single
> separate package, IMHO.
>
> Implicit links have a lot of potential. For example, I've managed to
> define some buttons for LaTeX, which recognize LaTeX commands and
> environments and lead to the local TeX live documentation or
> tex.stackexchange.org. It's like giving a LaTeX document a sort of hover
> help. This could also be done in Org, by defining some patterns as
> implicit buttons to lead to Org info pages.
>
> Best regards,
>
> Juan Manuel
>
>

[-- Attachment #2: Type: text/html, Size: 5104 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-21  3:08 ` David Masterson
@ 2022-06-22 10:37   ` Juan Manuel Macías
  2022-06-22 14:35     ` Bill Burdick
                       ` (2 more replies)
  0 siblings, 3 replies; 70+ messages in thread
From: Juan Manuel Macías @ 2022-06-22 10:37 UTC (permalink / raw)
  To: David Masterson; +Cc: orgmode

Hi David, 

David Masterson writes:

> I haven't touched Hyperbole in ...decades...?  Even then, it was
> complicated and full-featured (but I still keep it in my .emacs file).
> My discussions with Bob Weiner were interesting at the time and I really
> wanted to make use of it.
>
> As you've discovered, it integrates a lot of what Org has in, perhaps, a
> tighter fashion (which makes it more complicated, but the pain might be
> useful). The Smart Keys and Buttons are very similar to Org.  The
> outliner (KOutline) is more powerful than Org, but not integrated with
> export capabilities to other formats (I think there is a way of
> exporting an outline to Org).  Something that Org does not have is
> browsing capabilities for Object Oriented languages.  This is an add-on
> (for C++ ?) in Hyperbole (search for OO-Browser).  Since I retired, I
> don't do much programming, so Org's project management has been more
> interesting to me.
>
> It's nice to see that it's actually still being developed by Bob.

Thanks for all the interesting facts about hyperbole. I hadn't looked at
the package source code info yet, and didn't know that this is all the
work of one person. I also thought hyperbole was more recent...

It certainly has some interesting stuff. In what way is KOutline more
powerful than Org? Do you think there is any useful feature of KOutline
that could be incorporated into Org?

So far I've been able to find a couple of practical uses for this
package in my workflow. The whole window control system is very
powerful, although it would have been better if it had been a single
separate package, IMHO.

Implicit links have a lot of potential. For example, I've managed to
define some buttons for LaTeX, which recognize LaTeX commands and
environments and lead to the local TeX live documentation or
tex.stackexchange.org. It's like giving a LaTeX document a sort of hover
help. This could also be done in Org, by defining some patterns as
implicit buttons to lead to Org info pages.

Best regards,

Juan Manuel 


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 14:03 Juan Manuel Macías
                   ` (3 preceding siblings ...)
  2022-06-20 16:24 ` indieterminacy
@ 2022-06-21  3:08 ` David Masterson
  2022-06-22 10:37   ` Juan Manuel Macías
  4 siblings, 1 reply; 70+ messages in thread
From: David Masterson @ 2022-06-21  3:08 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: orgmode

Juan Manuel Macías <maciaschain@posteo.net> writes:

> I've been intrigued with GNU Hyperbole for a while. I'm reading the
> documentation and trying it out a bit. It seems that its button system
> is very powerful. But Org links are also powerful (and exportable), and
> can be extended outside of Org docs. It seems that hyperbole offers some
> cool stuff that Org also has. And other things that are not in Org. I
> find some parts a bit confusing. I wonder if anyone is using hyperbole
> with Org and can put here some minimal workflow example where both
> complement each other in some way. Just in case I'm missing something
> useful...

I haven't touched Hyperbole in ...decades...?  Even then, it was
complicated and full-featured (but I still keep it in my .emacs file).
My discussions with Bob Weiner were interesting at the time and I really
wanted to make use of it.

As you've discovered, it integrates a lot of what Org has in, perhaps, a
tighter fashion (which makes it more complicated, but the pain might be
useful). The Smart Keys and Buttons are very similar to Org.  The
outliner (KOutline) is more powerful than Org, but not integrated with
export capabilities to other formats (I think there is a way of
exporting an outline to Org).  Something that Org does not have is
browsing capabilities for Object Oriented languages.  This is an add-on
(for C++ ?) in Hyperbole (search for OO-Browser).  Since I retired, I
don't do much programming, so Org's project management has been more
interesting to me.

It's nice to see that it's actually still being developed by Bob.

-- 
David Masterson


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 15:26 ` Russell Adams
  2022-06-20 16:57   ` Eduardo Ochs
@ 2022-06-20 23:37   ` Tim Cross
  2022-06-22 15:13   ` Russell Adams
  2 siblings, 0 replies; 70+ messages in thread
From: Tim Cross @ 2022-06-20 23:37 UTC (permalink / raw)
  To: emacs-orgmode


Russell Adams <RLAdams@adamsinfoserv.com> writes:

> On Mon, Jun 20, 2022 at 02:03:15PM +0000, Juan Manuel Macías wrote:
>> I've been intrigued with GNU Hyperbole for a while. I'm reading the
>> documentation and trying it out a bit. It seems that its button system
>> is very powerful. But Org links are also powerful (and exportable), and
>> can be extended outside of Org docs. It seems that hyperbole offers some
>> cool stuff that Org also has. And other things that are not in Org. I
>> find some parts a bit confusing. I wonder if anyone is using hyperbole
>> with Org and can put here some minimal workflow example where both
>> complement each other in some way. Just in case I'm missing something
>> useful...
>
> Juan,
>
> I've often wondered the same thing. I've looked at Hyperbole several
> times. They have been great at advertising when a new release
> occurs. Yet I find that I can't really find a useful feature in it
> that I don't get from Org-mode.
>
> Is there some keen feature I'm missing? What's the use case for
> Hyperbole if you're already an Org-mode user?
>
>                                     https://www.adamsinfoserv.com/

My experiences with it mirror yours. It looked interesting and there
were some ideas which sounded interesting, but when I came to use it, I
found little, if anything, which didn't have a close equivalence in org
mode and many things in org mode which it did not have. 

In the end, it came down to asking myself do I really want yet another
information management framework in my life and the answer was no. I do
vaguely recall (it was a while ago) there were some ideas I thought
would be good to add to org mode though. Unfortunately, I cannot recall
the details now. 



^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 16:57   ` Eduardo Ochs
@ 2022-06-20 23:28     ` Juan Manuel Macías
  0 siblings, 0 replies; 70+ messages in thread
From: Juan Manuel Macías @ 2022-06-20 23:28 UTC (permalink / raw)
  To: orgmode

Hi all,

Thank you very much for your comments and contributions in this thread
about Org & hyperbole, which have helped me a lot to position myself.

Certainly, for the short time I've been using hyperbole, it has me
baffled. It's like someone grabbed all the tools that could be useful
ten minutes before the zombie apocalypse starts. There's all the buttons
stuff, but also a feature to expand regions in a style similar to the
expand-region package, which I use a lot, by the way. And also features
to write emails, store contacts, execute searches, a buffer and frame
control system (this in particular is what most caught my attention
about hiperbole and what I am using the most, since it has some very
useful functionalities). The implicit and explicit buttons system is
certainly powerful, but I don't think it will surprise the average Org
user much in this regard.

I think that Eduardo Ochs's description ("Hyperbole is meant to be used,
not to be hacked") is quite accurate. On the other hand, I find the
hyperbole menu (C-h h) very confusing and ugly. I think it would have
gained in cleanliness if they had used transient.

It seems that the hyperbole developers put a commendable and honest
effort into introducing hyperbole to users. But I perceive that
something is failing in the communication. I suspect that hyperbole is
an attempt to establish synaptic relationships between Emacs documents
and buffers. But that is also what is sought with Org. Without wishing
to make comparisons (because, as I say, my knowledge of hyperbole is
extremely limited) I would say that there is an important difference
between org and hyperbole. Both are huge, and both are complex, and both
are packed with features. But in Org there is a coherent and consistent
language that ties everything together: once you learn how to ask for a
glass of water in the org dialect (something you can do from day one),
it doesn't take long to start more complex conversations. In hiperbole I
don't just see that language that gives consistency to everything, that
"org-style". Or at least it's not so obvious to me. But I'll keep giving
it a chance. The whole window configuration control part is extremely
interesting to me.

Best regards,

Juan Manuel 



^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 15:26 ` Russell Adams
@ 2022-06-20 16:57   ` Eduardo Ochs
  2022-06-20 23:28     ` Juan Manuel Macías
  2022-06-20 23:37   ` Tim Cross
  2022-06-22 15:13   ` Russell Adams
  2 siblings, 1 reply; 70+ messages in thread
From: Eduardo Ochs @ 2022-06-20 16:57 UTC (permalink / raw)
  To: Org Mode

On Mon, 20 Jun 2022 at 12:28, Russell Adams <RLAdams@adamsinfoserv.com> wrote:
> Juan,
>
> I've often wondered the same thing. I've looked at Hyperbole several
> times. They have been great at advertising when a new release
> occurs. Yet I find that I can't really find a useful feature in it
> that I don't get from Org-mode.
>
> Is there some keen feature I'm missing? What's the use case for
> Hyperbole if you're already an Org-mode user?


Hi Russell,

Some years ago I tried to integrate Hyperbole and eev and 1) I failed
miserably, and 2) I ended up with the impression that Hyperbole is
meant to be "used", not to be "hacked"... for example, in Hyperbole
the action of a button like this,

  {C-h h d a}

is to emulate what happens when the user types `C-h h d a'. This
button works exactly as expected; eev implements something similar,
but in a very simplistic, and slightly buggy, way: when we run this in
eev

  (eek "C-h h d a")

it simply runs this,

  (execute-kbd-macro (read-kbd-macro "C-h h d a"))

that just inserts an "a". The details are here, in the second part,
after the blank lines:

  https://lists.gnu.org/archive/html/hyperbole-users/2020-09/msg00013.html

Hyperbole has some amazing features, but its code needs to be
refactored to make more parts of it easier to use from Lisp... someone
needs to do that, and this someone won't be me, as I'm burnt out. =(
My links about my attempts to learn Hyperbole are here:

  http://angg.twu.net/hyperbole.html

  [[]],
    Eduardo Ochs
    http://angg.twu.net/2021-org-for-non-users.html


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 14:03 Juan Manuel Macías
                   ` (2 preceding siblings ...)
  2022-06-20 16:09 ` Bill Burdick
@ 2022-06-20 16:24 ` indieterminacy
  2022-06-22 14:48   ` Juan Manuel Macías
  2022-06-21  3:08 ` David Masterson
  4 siblings, 1 reply; 70+ messages in thread
From: indieterminacy @ 2022-06-20 16:24 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: orgmode

Hi Juan,

On 20-06-2022 16:03, Juan Manuel Macías wrote:
> Hi,
> 
> I've been intrigued with GNU Hyperbole for a while. I'm reading the
> documentation and trying it out a bit. It seems that its button system
> is very powerful. But Org links are also powerful (and exportable), and
> can be extended outside of Org docs. It seems that hyperbole offers 
> some
> cool stuff that Org also has. And other things that are not in Org. I
> find some parts a bit confusing. I wonder if anyone is using hyperbole
> with Org and can put here some minimal workflow example where both
> complement each other in some way. Just in case I'm missing something
> useful...
> 

I recommend Hyperbole, though I must confess Ive been using Orgmode a 
lot less since Ive been focusing on the format GemText.

I should recommend the use of the function defil, for people who like 
regexes and want to operate differing contexts (to launch via the ACTION 
operator). Its mid-grade compared to the more simpler approach and the 
more complex eLisp approach.

While I have not fully applied this technique to my workflow, you can 
see some /stub/ experimentations that are used to provide different 
function calls based upon where the cursor is in the context of a 
specific annotation (namely my annotation approach, Qiuy).

https://git.sr.ht/~indieterminacy/5q50jq_oq_configuring_emacs/tree/master/item/cqc_mqm_interfacing_blooms.el

The logic for the example includes:

<function-call> <function-name> <opening-regex> <closing-regex> 
<cursor-regex> <result-from-context> <options>

As you see below, these things build through to build multiple cursor 
based contexts.
```
(defil qiuy-1q10hqh_1 "^" "q10hqh.*" "1" "{M-: (print \"context_1 1q\") 
RET}" t t)
(defil qiuy-1q10hqh_2 "^1" "10hqh.*" "q" "{M-: (print \"context_2 
[1-6]q\") RET}" t t)
(defil qiuy-1q10hqh_3 "^1q" "0hqh.*" "1" "{M-: (print \"context_3 
1q10\") RET}" t t)
(defil qiuy-1q10hqh_4 "^1q1" "hqh.*" "0" "{M-: (isearch-forward-symbol 
\"q10\") RET}" t t)
(defil qiuy-1q10hqh_5 "^1q10" "qh.*" "h" "{M-: (rg-project \"hqh\" 
\".*\") RET}" t t)
(defil qiuy-1q10hqh_6 "^1q10h" "h.*" "q" "{M-: (print \"context_6 
1q10hqh\") RET}" t t)
(defil qiuy-1q10hqh_7_\s "^1q10hqh" "$" "\s(.*)" "{M-: (print 
\"context_7_\s 1q10hqh \\&\") RET}" t t)
(defil qiuy-1q10hqh_7_\t "^1q10hqh" "$" "\t(.*)" "{M-: (print 
\"context_7_\t 1q10hqh \\&\") RET}" t t)
(defil qiuy-1q10hqh_7_- "^1q10hqh" "$" "-(.*)" "{M-: (print 
\"context_7_- 1q10hqh \\&\") RET}" t t)
(defil qiuy-1q10hqh_7__ "^1q10hqh" "$" "_(.*)" "{M-: (print 
\"context_7__ 1q10hqh \\&\") RET}" t t)
```

Documentation for the function defil can be found here:
https://www.gnu.org/software/hyperbole/man/hyperbole.html#Implicit-Button-Link-Types


The Hyperbole ML is quiet but friendly and informative.

Having examined Hyperbole more broadly, I do wonder if there was more of 
a policy to treat Orgmode as more of a parrallel concern.
Today, there is clearly a proactive effort to align and encourage cross 
usage.
To hear that somebody as accomplished as yourself is dabbling with 
Hyperbole pleases me no end.

It may be worth you visiting one of my knowledge repos here:
https://git.sr.ht/~indieterminacy/3q50cqc_oq_interfaces_emacs

As well as (over time) checking on on these search parameters for my 
username:
https://git.sr.ht/~indieterminacy/?search=hyperbole
https://git.sr.ht/~indieterminacy/?search=koutliner

Of note, I should mention my own project, Icebreaker - which has been 
augmenting the GemText format with terse syntaxes and formats - 
including Hyperboles Koutliner format (which if I understand may be able 
to include orgmode tables in its blocks with the new version - I could 
be wrong here).

Here is a WIP parser written in TXR - for parsing Koutliner blocks (with 
or without my Qiuy annotations) and expressing it as a datalisp:
https://git.sr.ht/~indieterminacy/1q20hqh_oqo_parsing_glean

I shall be tightening it up soon, including integrating it with a WIP 
GemText parser (its terser atm but missing a little):
https://git.sr.ht/~indieterminacy/1q20hqh_kq_parsing_gemtext

An NLNet funded project, I am going to later be exporting some of this 
information into simple Orgmode syntax as a subset of one of the 
deliverables. An earlier protyping is covered here in a more recent 
Fosdem talk:
https://fosdem.org/2022/schedule/event/minimalsyntaxes/

Im happy to answer any more questions with regards to this in this 
thread or elsewhere.

It may be worth highlighting a matrix room my Icebreaker project runs to 
reduce clutter from other MLs.
The members there are friendly, knowledgable and use Orgmode for a range 
of tasks:
https://matrix.to/#/#xq_icebreaker:matrix.org


You are a clear and concise writer and coder. I would love to hear the 
outcomes from this exploration.

If I recall you are an emacspeak user - which I seem to think has been 
praised for its integration with Hyperbole so that should be more than 
enough justification to really get into it.

Kind regards,


-- 
Jonathan McHugh
indieterminacy@libre.brussels


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 14:03 Juan Manuel Macías
  2022-06-20 15:26 ` Russell Adams
  2022-06-20 15:56 ` Uwe Brauer
@ 2022-06-20 16:09 ` Bill Burdick
  2022-06-20 16:24 ` indieterminacy
  2022-06-21  3:08 ` David Masterson
  4 siblings, 0 replies; 70+ messages in thread
From: Bill Burdick @ 2022-06-20 16:09 UTC (permalink / raw)
  To: Juan Manuel Macías; +Cc: orgmode

[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]

I hadn't heard of it so I'm watching a demo. It looks similar to Oberon
(which heavily influenced Acme and Wily) which is an extremely powerful
"mouse-based text environment".

I'm certainly going to give it a try -- it seems like a great compliment to
org-mode and other Emacs power tools...


-- Bill


On Mon, Jun 20, 2022 at 5:18 PM Juan Manuel Macías <maciaschain@posteo.net>
wrote:

> Hi,
>
> I've been intrigued with GNU Hyperbole for a while. I'm reading the
> documentation and trying it out a bit. It seems that its button system
> is very powerful. But Org links are also powerful (and exportable), and
> can be extended outside of Org docs. It seems that hyperbole offers some
> cool stuff that Org also has. And other things that are not in Org. I
> find some parts a bit confusing. I wonder if anyone is using hyperbole
> with Org and can put here some minimal workflow example where both
> complement each other in some way. Just in case I'm missing something
> useful...
>
> Best regards,
>
> Juan Manuel
>
>

[-- Attachment #2: Type: text/html, Size: 1569 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 14:03 Juan Manuel Macías
  2022-06-20 15:26 ` Russell Adams
@ 2022-06-20 15:56 ` Uwe Brauer
  2022-06-20 16:09 ` Bill Burdick
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 70+ messages in thread
From: Uwe Brauer @ 2022-06-20 15:56 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1155 bytes --]

>>> "JMM" == Juan Manuel Macías <maciaschain@posteo.net> writes:

> Hi,
> I've been intrigued with GNU Hyperbole for a while. I'm reading the
> documentation and trying it out a bit. It seems that its button system
> is very powerful. But Org links are also powerful (and exportable), and
> can be extended outside of Org docs. It seems that hyperbole offers some
> cool stuff that Org also has. And other things that are not in Org. I
> find some parts a bit confusing. I wonder if anyone is using hyperbole
> with Org and can put here some minimal workflow example where both
> complement each other in some way. Just in case I'm missing something
> useful...

Quite some time ago (that was at the time org mode was in its infancy) I
gave it a try and found it too confusing and difficult to handle for
every day work. 

There were other package that provided similar (well less) functionality
but were much simpler, however they were not stable that is the links
could be damaged during editing. I don't recall the details.

But I am happy with what org mode offers.

Sorry that may have been not that helpful..

Uwe Brauer 

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: Org and Hyperbole
  2022-06-20 14:03 Juan Manuel Macías
@ 2022-06-20 15:26 ` Russell Adams
  2022-06-20 16:57   ` Eduardo Ochs
                     ` (2 more replies)
  2022-06-20 15:56 ` Uwe Brauer
                   ` (3 subsequent siblings)
  4 siblings, 3 replies; 70+ messages in thread
From: Russell Adams @ 2022-06-20 15:26 UTC (permalink / raw)
  To: emacs-orgmode

On Mon, Jun 20, 2022 at 02:03:15PM +0000, Juan Manuel Macías wrote:
> I've been intrigued with GNU Hyperbole for a while. I'm reading the
> documentation and trying it out a bit. It seems that its button system
> is very powerful. But Org links are also powerful (and exportable), and
> can be extended outside of Org docs. It seems that hyperbole offers some
> cool stuff that Org also has. And other things that are not in Org. I
> find some parts a bit confusing. I wonder if anyone is using hyperbole
> with Org and can put here some minimal workflow example where both
> complement each other in some way. Just in case I'm missing something
> useful...

Juan,

I've often wondered the same thing. I've looked at Hyperbole several
times. They have been great at advertising when a new release
occurs. Yet I find that I can't really find a useful feature in it
that I don't get from Org-mode.

Is there some keen feature I'm missing? What's the use case for
Hyperbole if you're already an Org-mode user?

------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com
                                    https://www.adamsinfoserv.com/


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Org and Hyperbole
@ 2022-06-20 14:03 Juan Manuel Macías
  2022-06-20 15:26 ` Russell Adams
                   ` (4 more replies)
  0 siblings, 5 replies; 70+ messages in thread
From: Juan Manuel Macías @ 2022-06-20 14:03 UTC (permalink / raw)
  To: orgmode

Hi,

I've been intrigued with GNU Hyperbole for a while. I'm reading the
documentation and trying it out a bit. It seems that its button system
is very powerful. But Org links are also powerful (and exportable), and
can be extended outside of Org docs. It seems that hyperbole offers some
cool stuff that Org also has. And other things that are not in Org. I
find some parts a bit confusing. I wonder if anyone is using hyperbole
with Org and can put here some minimal workflow example where both
complement each other in some way. Just in case I'm missing something
useful...

Best regards,

Juan Manuel 


^ permalink raw reply	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2022-07-04 16:58 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-22 19:57 Org and Hyperbole linux_hpc_akr
2022-06-23  6:47 ` Bill Burdick
2022-06-23  6:53   ` Bill Burdick
  -- strict thread matches above, loose matches on Subject: below --
2022-06-24  1:45 Robert Weiner
2022-06-24  1:56 ` Robert Weiner
2022-06-24  4:32   ` Samuel Wales
2022-06-24  5:34     ` Robert Weiner
2022-06-24 10:55       ` indieterminacy
2022-06-24 12:51         ` Robert Weiner
2022-06-24  2:13 ` Eduardo Ochs
2022-06-24  2:20   ` Robert Weiner
2022-06-24  2:14 ` Robert Weiner
2022-06-24  6:29 ` Tim Cross
2022-06-24 12:44   ` Robert Weiner
2022-06-24 13:52 ` Juan Manuel Macías
2022-06-24 22:06   ` Robert Weiner
2022-06-25 14:32     ` Juan Manuel Macías
2022-06-25 20:35       ` Robert Weiner
2022-06-24 17:57 ` João Pedro
2022-06-25  1:32   ` Robert Weiner
2022-07-02  4:41     ` Samuel Wales
2022-07-02  4:49       ` Ihor Radchenko
2022-07-02  4:57         ` Samuel Wales
2022-07-02  5:12           ` Ihor Radchenko
2022-07-02 21:38             ` Samuel Wales
2022-06-25 19:07 ` David Masterson
2022-06-25 20:49   ` Robert Weiner
2022-06-25 21:18     ` David Masterson
2022-06-26  6:37 ` Siva Swaminathan
2022-06-26  7:24   ` tomas
2022-06-26 20:03     ` David Masterson
2022-06-26 20:27       ` indieterminacy
2022-06-26 20:51         ` Robert Weiner
2022-06-27 23:16           ` David Masterson
2022-06-26 20:27   ` Robert Weiner
2022-07-04 10:43 ` Fraga, Eric
2022-07-04 11:01   ` Ihor Radchenko
2022-07-04 11:08     ` Fraga, Eric
2022-07-04 11:09   ` Tim Cross
2022-07-04 14:20     ` Fraga, Eric
2022-07-04 16:56       ` Robert Weiner
2022-06-20 14:03 Juan Manuel Macías
2022-06-20 15:26 ` Russell Adams
2022-06-20 16:57   ` Eduardo Ochs
2022-06-20 23:28     ` Juan Manuel Macías
2022-06-20 23:37   ` Tim Cross
2022-06-22 15:13   ` Russell Adams
2022-06-22 17:36     ` Bill Burdick
2022-06-22 18:05       ` David Masterson
2022-06-22 19:03         ` Bill Burdick
2022-06-23  3:46           ` David Masterson
2022-06-20 15:56 ` Uwe Brauer
2022-06-20 16:09 ` Bill Burdick
2022-06-20 16:24 ` indieterminacy
2022-06-22 14:48   ` Juan Manuel Macías
2022-06-21  3:08 ` David Masterson
2022-06-22 10:37   ` Juan Manuel Macías
2022-06-22 14:35     ` Bill Burdick
2022-06-22 19:23       ` David Masterson
2022-06-22 19:26         ` Bill Burdick
2022-06-22 19:55           ` Bill Burdick
2022-06-23 18:48       ` Eduardo Ochs
2022-06-22 19:17     ` David Masterson
2022-06-23  1:12     ` Samuel Wales
2022-06-23  4:04       ` David Masterson
2022-06-23  5:22         ` indieterminacy
2022-06-23 15:38           ` Samuel Banya
2022-06-23 23:30           ` Samuel Wales
2022-06-23 23:36             ` Samuel Wales
2022-06-24  5:50               ` indieterminacy

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).