[[!meta title="Fun things With GNU Hyperbole"]] [[!meta copyright="Copyright © 2024 Mats Lidell"]] [[!inline pages="internal(2024/info/hyperbole-nav)" raw="yes"]] # Fun things With GNU Hyperbole @matsl@mastodon.acc.sunet.se, [[!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: Hey, how is the log buffer generated? - A: interaction-log package - Q: 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. - \ 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 - \ 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 - \ "take away your freedom" 🤔 "ta bort din frihet" 🙁 - \ nice talk! Hyperbole is in my TODO list for some time already, I should bring it to the top\... - \ I think that Hyperbole is a little diamon inside Emacas - \ ditto! it seems a wonderful grab-bag of random nifty stuff :) - \ 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. - \ 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\] - \ Maybe it could be jokingly summarized as do-everything-at-point - \ well, I got lost around several types of buttons - cheatsheet would be huge help for jumping in - \[re transient discussion\]: \ 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. - \ 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"]]