[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Examples of author's own uses of Hyperbole
From: |
Robert Weiner |
Subject: |
Re: Examples of author's own uses of Hyperbole |
Date: |
Fri, 30 Oct 2020 00:21:00 -0400 |
Wonderful ideas. Couldn’t get to the video yet but I did read the whole
message. Probably respond over the weekend. Happy to work with you a bit on
the hyperscope.
-- Bob
> On Oct 29, 2020, at 9:14 PM, Jean Louis <bugs@gnu.support> wrote:
>
> Dear Robert,
>
> thank you for the explanations.
>
> * Robert Weiner <rsw@gnu.org> [2020-10-29 07:20]:
>> 2. Although you can find elements of some of these things in many
>> different packages, nothing brings them together and makes them
>> effortless to accomplish via a single package like Hyperbole.
>
> That is right, there is plethora of packages reinventing the
> wheel. Some packages have just few functions, or do to frames and
> windows what is anyway inside of Hyperbole.
>
>> 4. Display URLs, pathnames with environment variables in them, or
>> Tramp remote paths with {M-RET}.
>
> That is what I need in a fly mode. And I would like to propose that
> one package that I am working on it, get included in Hyperbole
> together. Maybe you could think about it. Then you would need to make
> some few functions that I can use button "files" on the fly without
> files. Package uses information in the PostgreSQL database. It
> collects various hyperlinks, for example specific page in specific PDF
> document. Specific video, or video with specific time to play it
> from. It is similar by spirit to Hyperbole and Doug Engelbart's
> work. It fits into Hyperbole package and is not polished yet that I
> can provide it for testing, it will be soon.
>
> This would give to Hyperbole huge expansion. Hyperlinks are accessed
> by using Emacs Lisp with ID like (hyperscope 29) and it would open
> specific category. It is displayed by using tabulated-list-mode and
> user can browse from one category to other and then open links.
>
> Some categories are simple text or could be any type of text bound to
> different modes. Text comes from the database, not from the file
> system.
>
> Databases can be hosted on Internet. Users can be assigned to
> contribute and handle their tasks, jump from one to other task. One
> database link could point to other database link at other server. It
> can all get browsable by using web or gopher service.
>
> I just think that I have to figure out how to get Hyperbole buttons to
> be used on the fly. That means if I open a buffer that I can associate
> specific on the fly generated buttons to that buffer. Help me.
>
>> 6. Follow cross-references in Markdown, Info, Texinfo and Org mode
>> with {M-RET}.
>
> I am using Hyperbole for Markdown.
>
> Help me understand what does Hyperbole do with Info? As Info already
> has links.
>
>> 7. Jump to Emacs bookmarks or edit Org agenda items with {M-RET}.
>
> How do you jump to Emacs bookmark?
>
> If I display agenda with org-agenda what is difference that hyperbole does?
>
>> 8. Jump to my personal global buttons where I store quick
>> abbreviations which display frequently used directories or
>> invoke arbitrary code actions I have defined.
>
> I have that and use it to administer tasks or for the workflow. Like
> upgrading servers for example. For some tasks that cannot be done in
> one script but need my attention.
>
>> 9. Compose mail by pressing {M-RET} on an email address.
>
> That I use often, one time did not work.
>
>> 11. Make quit-window restore my window configuration to exactly the
>> way it was before I invoked Emacs help whenever I press {q}.
>
> {q} is already bringing me back. This usage I would like to understand.
>
>> 12. Embed brace-delimited key series (multiple key sequences strung
>> together) in my documents that are executed whenever I press
>> {M-RET} on them.
>
> That is good. It is useful in teaching my staff members certain
> actions. For example database maintenance actions or how to handle
> communication with clients.
>
>> 13. Choose a buffer line to put at the top of a window via {M-RET}
>> at the end of a line or at the window bottom with {C-u M-RET}.
>> {C-l} has adopted something similar in recent years but you have
>> to cycle through positions with that rather than a single
>> press.
>
> {C-l} was always dubious and requires muscle learning to get it right.
>
>> 14. Jump to source code lines from grep -n outputs or stack traces in
>> shell mode with {M-RET}.
>
> I can see that normal Emacs jumping to the searched string is more
> accurate, as it jumps straight to the search. Hyperbole jumps to line
> only. Here I do not see the difference, rather anti-feature. Please
> comment that I understand better. Maybe Hyperbole was released before
> grep -n worked how it works today.
>
> By the way I remember using or having Hyperbole all the time back in
> time, I may be mistaken, but it could be already 18-20 years. Time is
> passing. How I used it back then, who knows, I remember creating
> various buttons. For me it was fascinating and I was reading whatever
> there was to read. What I remember is that it was extension to
> editor.
>
>> 15. Jump from an identifier use in code to its source definition
>> with {M-RET}.
>
> That is feature that I use mostly. I do not know equivalent
> built-in. I just do not know how it works for other programming
> languages.
>
>> 16. Select groupings delimited by parens, brackets or braces in any
>> mode with {M-RET} on the opening or closing delimiter. This
>> also works with HTML and XML start and end tags, for quick
>> selection.
>
> Great! Something new I've learned and it is useful, especially with
> those longer functions where I need to remove chunks or debug it.
>
>> 17. {C-c RET} lets me select bigger and bigger syntactical units in
>> many modes by repeatedly pressing it. I can go from a word, to
>> a symbol, to a line, to a paragraph and beyond very easily.
>
> Great! Useful feature in text. And it works in Emacs Lisp as well.
>
>> 18. Together with Ace Window and Dired, quickly place buffers in
>> windows wherever I like and then save window configurations for
>> rapid recall later. I can name these configurations or use a
>> window configuration ring similar to the kill ring, all
>> accessible via Hyperbole quick key menu.
>
> Oh no!!!!! How I did not discover this earlier? This is great.
>
> Maybe I was always jumping over those menu items not understanding it
> well.
>
>> 19. Create rapid layouts of window grids with {C-c @}, letting me
>> see a bunch of existing buffers at once, either ones I've marked
>> in Dired, recently used ones or those of a specific mode.
>
> That is great feature and I was watching about it on video.
>
> With those last two points above handling window configurations
> becomes very easy.
>
> There are some frame control things to polish in Hyperbole. Not
> everything works well. On the end of this message there will be link
> to video that you may understand it. Keys are displayed.
>
>> 20. Rapidly grow, shrink and rearrange windows/buffers/frames with
>> HyControl, Hyperbole's scriptable window and frame manager.
>
> That is great. Just not precise.
>
> Sometimes when I press arrow up, frame is moving not up, but
> north-west. Then if I press arrow down, it continues moving up or
> north-west. Randomg bugs. It is difficult to duplicate bugs. If you
> follow carefully the video you may see few bugs taking place.
>
> Feature for frame and window control is great.
>
>> can move frames on screen by dragging with my middle mouse
>> button depressed on each frame's bottommost modeline.
>
> How? Do I need to start frame control that it works?
>
>> I can clone the exact size and contents of a window to a new frame
>> by just dragging my middle mouse button from the window to
>> outside of any frame.
>
> How exactly?
>
>> 21. Create hierarchical, auto-numbered outlines in the Koutliner or
>> use it to brainstorm any sort of list I need.
>
> 1b. One more.
> idstamp: 4
> creator: "bugs@gnu.support"
> create-time: "Oct 30 03:28:42 Africa/Nairobi 2020"
> no-fill: t
>
> Would the creator field be different if other user adds new cell?
>
> In my hyperscope table entries some entries have last-user-modified
> entry to know who was last. There is also last date modified.
>
> Koutlines give for me better, rigid structure of information.
>
> I may suggest a new function: Create button to cell, then the button
> would be made either globally or somehow else for the user. That is
> from Engelbart's works and is not implemented in many programs.
>
> If I am on specific position in text, I should be able to copy or
> obtain reference link to that position. Then I can have collection of
> references to multiple files for better research.
>
> Example would be when reading PDF that I can come with the mouse to
> any line of text and obtain reference link. Then such link I can use
> to open PDF on exactly that specific line of text.
>
> When I am on koutline cell I expect to be able to obtain the link
> easy. I see there is function to jump to specific cell. That function
> could be used in automated way. Then a button or my own hyperscope
> linke or your button within hyperscope text could jump to Koutline at
> specific cell. I have made it on my side that if I am on the link
> "People" that I press {w} similarly like in {M-x eww RET} to obtain
> the link, or kill it into memory. Then I can paste it or yank later
> into other document.
>
> There is function insert link in Koutline. But it looks complex (for
> now). If I am editing 3 files, one is about people, other about groups
> of people, maybe I wish to kill the reference link into memory from
> the file people from the cell about John Doe, so that I can insert
> this reference link into the file with groups of people. Then person
> could click on John Doe in that file for groups. Otherwise one need to
> enter by hand the proper link to the file. I need that function.
>
> Also, I can make the hierarchical structure of the hyperscope being
> developed to export into koutline format when I understand how it
> looks internally.
>
>> Now I can embed Org tables in Koutlines too (in the latest git
>> branch of Hyperbole)
>
> Org tables are not rigid and will destroy in my opinion the rigid form
> of Koutline
>
>> and toggle this minor mode on and off by pressing {M-RET} on one of
>> the table's | vertical dividers. I export Koutlines to HTML,
>> or Emacs/Org outline files when needed.
>
> You could as well make on the fly exports to Org. You could generate
> Org buffer and launch straight the exporting functions of Org and you
> get all exports available for Koutline.
>
> That is what I plan to do for my database backed information manager,
> which I would like to get included in Hyperbole as it belongs together
> by principle. Or I could make it dependable on Hyperbole.
>
>> 22. Manage my contacts with HyRolo, allowing rapid full-text and
>> logical search across any number of contact files, each of which
>> is an Emacs outline of hierarchical contact records, e.g. people
>> within an organization.
>
> That is great and pity I did not use it before years. I have been
> managing contacts in text files. Today I manage 196000 contacts in the
> database and there are too many parameters that would make text not
> useful or tedious for work.
>
> Like I can add any skills into the list and mark contacts to have that
> skill. Then I can search by the skill, narrow the search by using some
> of completion modes and then find exact contacts with those
> skills. Then SMS, initiate call, send fax or email or chat message to
> the contact.
>
> Some contacts introduces many other people, I could award them. Text
> file could become more confusing if I would need to manage in a more
> free form.
>
> Though I consider HyRolo as a tool for remote staff members, including
> for me, when I am on remote computers and need to call people. Remote
> computers may not have my central database, but they have HyRolo from
> GNU ELPA.
>
>> 24. Perform highly targeted web searches with the Hyperbole Find/Web
>> menu.
>
> Feature exists in the library webjump as well. It may be easier to
> setup in Hyperbole.
>
> What I do not know yet is how do I search Github if Google comes first
> in the list?
>
>> 25. Use my own custom Hyperbole Helm menu that exposes many of the
>> useful Helm commands that are hidden or hard-to-find by the
>> default configuration when you load the package.
>
> You could do this:
>
> (global-set-key (kbd "C-c g") 'helm-command-prefix)
>
> Then you get something like
>
> - {C-c g c} to open up colors or
>
> - {C-c g f} to show buffers or
>
> - {C-c g r} for regular expressions
>
> - {C-c g t} for helm-top
>
> - {C-c g p} to kill some Emacs processes
>
> - {C-c g s} for surfraw
>
> - {C-c g m} for helm multi files and so on
>
> The video with bugs is here:
> https://gnu.support/images/tmp/2020-10-30-03:12:53.ogv
>
>
> --
> Thanks,
> Jean Louis
> ⎔ λ 🄯 𝍄 𝌡 𝌚