CMB / edbrowse

A command-line editor and web browser.
Other
340 stars 31 forks source link

No way to change config options on the fly #83

Closed navid-zamani closed 2 years ago

navid-zamani commented 2 years ago

I just wanted to automate a captive portal form, that first has a page with an accept button, and after submission redirects to a huge page over my slow connection.

So naturally, I wanted it to automatically stop loading as soon as the redirect is through and stop the huge page from loading.

But I found no way to automate it.

I thought I could just put webtimer = 3 on the command line before pushing the button with i*, but that does not work. Neither is any command to set settings from the command line mentioned anywhere in the help. Let alone finding a setting to not load more than the HTTP header. Neither h not ? displays a help text, and help does not either, but at least loads it, which still requires you to look up the help somewhere else because otherwise you’d never know how to display it. So while the software is nice, it has zero discoverability.

And while interactively, I can of course press , which I might script in bash too, using edbrowse as a co-process, that does not allow me to check if I’m past the redirect yet (which I need to), or already loading the huge page. So doing it that way is a bit silly. :)

Can you document how to set a setting from the command line, e.g. for just one command, and then set it back? And can you also document how to stop a page from loading when in a script? (Maybe with an explanation for when to use edbrowse’s internal functions feature versus just sending it input via stdin , e.g. using echo -e, from the shell. Those functions must have an ability to stop a download, or a web server could just trickle the bits in to make it load forever and prevent the user from using edbrowse.) (Additionally, I found that while the documentation and quick reference tells you how to press the second button, it does not tell you how to press the first one. At least not in a quick lookup in a 30 minute window of time. i* was a wild guess by me.)

eklhad commented 2 years ago

There are a lot of questions here.

When you talk about redirection, would the hr command help?

hr-

No http redirection. This prevents http 301 302 303 and refresh= and some other forms of redirection, but I don't know if that is what you are dealing with. I might not have the picture of what you are asking.

Press the first button i1*

Go to the first link g1 last link g$, etc.

You can run edbrowse files '<func' files and it runs that function inline. This is not used often but might relate to one of your questions. The function can do anything you would have done in an edbrowse function. Changes to settings are local to the function, as with all functions, except for init, which leaves the settings, of course, and any function that starts with set

Feel free to send along followup questions / clarifications.

Karl Dahlke

eklhad commented 2 years ago

As per daily use and ideas and suggestions, you might like our chat group irc.libera.chat #edbrowse It's friendly and informal, and more interactive.

Karl Dahlke

navid-zamani commented 2 years ago

Thank you. I just used echo to pipe commands to edbrowse, and added hr-.

I was just generally confused by the lack of discoverability (e.g. tab completion) in the UI. But I guess that might be more annoying than helpful if one is blind.

Can I assume that '<func' only accepts functions that are defined in a loaded file, and lambda expressions or the like are not allowed? Or is '<hr-;/Accept/;i*;qt' valid? Anyway, piping is fine for me. Especially using bash’s coprocess functionality.

The next time I will use IRC. :)

eklhad commented 2 years ago

tab completion) in the UI. But I guess that might be more annoying than helpful

It is annoying to me, but the rl command activates readline, if that is what you are looking for.

Can I assume that '<func' only accepts functions that are defined in a loaded

Yes they should be in your .ebrc file. Write a function to do the things you want from command line.

Even if I'm not online, other folks on irc are friendly and knowledgeable.

Karl Dahlke