/xwidgete

Enhance usability for Xwidget browser in Emacs 25

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

Description

This package makes Xwidget browser in Emacs 25 behaves more like a normal browser, with Emacs key bindings. At the moment, interacting with Xwidget browser is rough. For example, to enter something input a textbox:

  • First, put cursor in the text box.
  • Press RET. A prompt appears in minibuffer area waiting for new input.
  • Enter whatever you want.
  • Press RET. Now, text appears in text box.

With this package, you will be able to enter text directly into a textbox and navigate a web browser more effectively.

Features

Key bindings:

KeyDescription
C-fMove cursor 1 character right
C-bMove cursor 1 character left
C-a/HomeBeginning of line
C-e/EndEnd of line
C-v/Page DownPage Down
M-v/Page UpPage up
C-kKill to end of line
DownScroll 1 line down
UpScroll 1 line up
M-wCopy text

Demo

Text input

  • Before (notice minibuffer area):

demo/emacs_watch_youtube.gif

  • After:

demo/emacs_xwidget_insert_chars.gif

Copy text:

  • Before:

demo/emacs_xwidget_copy_text_old.gif

  • After:

demo/emacs_xwidget_copy_text_html.gif

Limitations

  • You cannot send request with `RET`; to send one, you have to press a button. I haven’t figured out how to do it. Patch welcome.
  • You can only insert one space character. For some reason, the textbox in current Xwidget only limit to one space character in between other characters, no matter how many you insert. If you try the original input method described at the beginning and enter as many space characters and feed it to the textbox, the next tiem you press `RET`, every space character is trimmed except one.
  • Copied text has no space indentation as in original content. But at least it preserves newlines. Without this package, not even newlines are preserved.