hyperbole-users
[Top][All Lists]
Advanced

[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
> ⎔ λ 🄯 𝍄 𝌡 𝌚



reply via email to

[Prev in Thread] Current Thread [Next in Thread]