summaryrefslogblamecommitdiffstats
path: root/2024/talks/hyperbole.md
blob: b42f7c0d1400a14fe24ac2be93db55e273870c28 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                               
                                                       





                                                                                                    
                               
                                                    
















                                                                        
         
 

                                                                                                                            
 
















































































                                                                         




                                                                 
[[!meta title="Fun things With GNU Hyperbole"]]
[[!meta copyright="Copyright © 2024 Mats Lidell"]]
[[!inline pages="internal(2024/info/hyperbole-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Fun things With GNU Hyperbole
@matsl@mastodon.acc.sunet.se, <mailto:matsl@gnu.org>

[[!inline pages="internal(2024/info/hyperbole-before)" raw="yes"]]

This talk will focus on a few small fun things you can do with Hyperbole
with less focus on going into details.

GNU Hyperbole is described as the Everyday Hypertextual
Information Manager which point in the direction of hypertext with
some inter linkage. It has all that but it also contains other
small and useful things. This talk will focus on the other
supported features and demo a sample of them.

About the speaker:

I'm Mats Lidell. Co-maintainer of GNU Hyperbole together with the
author Bob Weiner.

See also:

- [EmacsConf - 2023 - talks - What I learned by writing test cases for GNU Hyperbole](https://emacsconf.org/2023/talks/test)
- [[!taglink CategoryHyperbole]]

# Discussion

## Questions and answers

-   Q: \<edrx\> Hey, how is the log buffer generated?
    -   A: interaction-log package
-   Q:\<Donovan\> So , the "select a thing" C-c RET is similar to
    expand-region? How does it behave in codes (functions, class,\...)
    -   A: Behaves exactly the same.
-   Q:I know you Hyperbole devs are active and interested in sharing and
    interoperating with other emacs tools. What is a recent tool that
    you find exciting to think about using in combination with
    Hyperbole, or would like to suggest using in combination with it?
    -   A: Lately, focussing on making Hyperbole work with org-mode so
        that they may interoperate.
    -   The idea with Hyperbole is not to be better than everything
        else, but to be a connector between the different modes.
    -   ace-window is a small, great package that selects  windows or
        displays a buffer in them.  Hyperbole extends this a bit letting
        you theow a region or buffer to a window or replace its contents
        with another buffer.  This is documented in the Hyperbole
        manual.
        -   \<ElfOfPi\> There's also C-@ (mark-org-subtree) which
            interferes with Hyperbole
        -   Can you explain how it interferes?  Any conflict would
            likely be a bug, not an incompatibility.
    -   Sometimes, it does clash with other modes, especially M-RET.
-   Q: Hi Mats! Can I ask you a technical question about Hyperbole? Many
    years ago I tried to learn hyperbole but I gave up after some
    time\... I remember that I found the code of the dispatcher very
    hard to understand. Anyway, here is the question: if I type M-RET on
    this button - {C-h h d d} - Hyperbole detects the extent of the
    button and the kind of the button, and at some point it probably
    calls a Lisp function with the argument "C-h h d d", and that
    function makes emacs behave as if the user had typed C-h h d d. Do
    you know what function is that?
    -   A:See the defib of kbd-key in the hib-kbd.el file.  That is an
        implicit button type defined via defib which invokes an action
        type of the same name defined with defact.  Just read the code
        and you'll see how it works.

## Notes

-   \<alzai\> Hyperbole looks like an incredible tool but I can't quite
    seem to get it. These examples make me want to try again though :)
    -   Same here, I actually leave it in the background and hit M-RET
        from time to time :D
-   \<ElephantErgo\> "take away your freedom" 🤔 "ta bort din
    frihet" 🙁
-   \<sleep_walker\> nice talk! Hyperbole is in my TODO list for some
    time already, I should bring it to the top\...
-   \<maxxcan\> I think that Hyperbole is a little diamon inside Emacas
-   \<NullNix\> ditto! it seems a wonderful grab-bag of random nifty
    stuff :)
-   \<gs-101\> alzai: I always viewed it as this mysterious tool. Some
    users recommend it but there's no simple overview of it. But I'd
    say this was one.
    -   \<edrx\> gs-101: for me one of the problems with hyperbole is
        the lack of examples in the documentation
    -   We have written multiple example use files included in
        Hyperbole, a full Texinfo manual and a number of videos but
        maybe we should add a step-by-step how to use it for new users.
-   \* NullNix suspects hyperbole window configs and winner window
    configs might be\... confusing if used together :) \[11:47\]
-   \<jrootabega\> Maybe it could be jokingly summarized as
    do-everything-at-point
-   \<sleep_walker\> well, I got lost around several types of buttons -
    cheatsheet would be huge help for jumping in
-   \[re transient discussion\]: \<gs-101\> Very excited for the Org
    move to transient.
-   sachac: In the org-update talk, Ihor mentioned wanting to move some
    more of the Org functionality into libraries that other packages
    could take advantage of, so it might be interesting to see what
    might be good to share with each other.
    -   Could this be akin to refactoring useful features from emacs
        packages into emacs itself, especially if that feature is widely
        used and useful across many packages.
-   \<robin\> one of those legendary packages i've just never quite
    gotten around to learning


[[!inline pages="internal(2024/info/hyperbole-after)" raw="yes"]]

[[!inline pages="internal(2024/info/hyperbole-nav)" raw="yes"]]