From 92fbcf18f6f363f60762c17cf8c225ce3b988eac Mon Sep 17 00:00:00 2001 From: Matthew Date: Fri, 20 Dec 2019 03:37:56 -0500 Subject: [PATCH] Remove duplicate information already on Wiki --- README.md | 164 +++++----------------- docker/README.md | 23 --- docs/HACKING.md | 281 ------------------------------------- docs/KEYBINDING.md | 87 ------------ docs/TODOLIST.md | 14 -- eaf.el | 2 +- screenshot/framework.png | Bin 50910 -> 0 bytes screenshot/hello_world.png | Bin 44473 -> 0 bytes 8 files changed, 37 insertions(+), 534 deletions(-) delete mode 100644 docker/README.md delete mode 100644 docs/HACKING.md delete mode 100644 docs/KEYBINDING.md delete mode 100644 docs/TODOLIST.md delete mode 100644 screenshot/framework.png delete mode 100644 screenshot/hello_world.png diff --git a/README.md b/README.md index 64cdc68..1efc7cb 100644 --- a/README.md +++ b/README.md @@ -40,74 +40,10 @@ This framework mainly implements three functions: | | | | -## Installation - -1. Install python dependences: - -```Bash - sudo pip3 install dbus-python pymupdf grip qrcode python-xlib pyqt5 pyqtwebengine -``` - -2. Install QTermWidget's Python binding: - -```Bash -git clone https://github.com/lxqt/qtermwidget.git --depth=1 -mkdir build && cd build -cmake .. -DQTERMWIDGET_BUILD_PYTHON_BINDING=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr -make -sudo make install -``` - -3. Clone this repository and add below code in `.emacs` - -```Elisp -(require 'eaf) -``` - -A `use-package` sample configuration -```Elisp -(use-package eaf - :load-path "~/.emacs.d/site-lisp/emacs-application-framework" - :custom - (eaf-find-alternate-file-in-dired t) - :config - (eaf-bind-key scroll_up "RET" eaf-pdf-viewer-keybinding) - (eaf-bind-key scroll_down_page "DEL" eaf-pdf-viewer-keybinding) - (eaf-bind-key scroll_up "C-n" eaf-pdf-viewer-keybinding) - (eaf-bind-key scroll_down "C-p" eaf-pdf-viewer-keybinding) - (eaf-bind-key take_photo "p" eaf-camera-keybinding) - (defun eaf-open-google () - "Open Google using EAF." - (interactive) - (eaf-open-browser "https://www.google.com"))) -``` - -### Package Description - -| Debian Package | Package Repo | Use for | -| :-------- | :-------- | :---- | -| dbus-python | pip3 | DBus IPC for python and elisp | -| pymupdf | pip3 | Render engine required for PDF Viewer | -| grip | pip3 | Markdown render server for Markdown Previewer | -| qrcode | pip3 | Render local file QR code | -| python-xlib | pip3 | Stick app window into emacs frame | -| pyqt5 | pip3 | GUI library required for application development | -| pyqtwebengine | pip3 | QtWebEngine for browser application | -| qtermwidget-git | source code compile | QTermWidget is terminal emulator for PyQt5 | - -### You can choose to run EAF with docker@ - -If you prefer to run linux in a docker, you can read [Run EAF with docker](./docker/README.md) - -### Why this awesome framework doesn't works with MacOS or Windows? -There are mainly three obstacles: -1. I can't make dbus/python-dbus works on MacOS High Sierra -2. This framework need use X11 reparent to stick Qt5 window to emacs frame, but I don't know how to make X11 works on MacOS. -3. Qt5 QGraphicsView/QGraphicsScene can't work MacOS, specify QGraphicsVideoItem can't work. -4. If you figure them out, PR always welcome - -## Usage +## Getting Started +Please read the [Wiki](https://github.com/manateelazycat/emacs-application-framework/wiki) for instructions on how to install and setup EAF. +## Launch EAF Applications | Application Name | Launch | | :-------- | :---- | | Browser | Type 'eaf-browser' RET https://www.google.com | @@ -124,94 +60,66 @@ There are mainly three obstacles: | Airshare | Type 'eaf-file-transfer-airshare' | | Demo | Type 'eaf-open-demo' | -Please check [Key binding](./docs/KEYBINDING.md) to check keybinding of application. +To run `eaf-open` on the current file under the cursor in `dired`, call `eaf-open-this-from-dired`. ``` NOTE: -EAF use DBus' session bus, it must running in general user. +EAF use DBus' session bus, it must run in general user. Please don't run EAF with root user, root user just can access DBus's system bus. ``` -## Settings +## FAQ and Support -### Keybindings -There are default keybindings for each EAF application provided by us. If you want to see them all, execute `(describe-mode)` or `C-h m` within an EAF buffer. +### Read the [Wiki](https://github.com/manateelazycat/emacs-application-framework/wiki) First +For any installation and configuration assistance, please read the [Wiki](https://github.com/manateelazycat/emacs-application-framework/wiki) first! -You can easily customize EAF keybindings, find the corresponding keybinding variable, and add the something like the following to `.emacs` -```Elisp -(eaf-bind-key scroll_up "C-n" eaf-pdf-viewer-keybinding) -(eaf-bind-key scroll_down "C-p" eaf-pdf-viewer-keybinding) -(eaf-bind-key take_photo "p" eaf-camera-keybinding) -``` +### How about EXWM? What makes EAF special? +1. EAF gives you control over your program, while satisfying Emacs window design model. [EXWM](https://github.com/ch11ng/exwm) is only a tiling WM, that combines different applications together in an Emacs-like fashion. However, EXWM is unable to split the same application into two different windows while displaying different same application at the same time. For example, EAF is able to display same PDF on two different windows. +2. EAF essentially provides Emacs a secondary scripting language ([this topic had been brought up again in EmacsConf2019](https://media.emacsconf.org/2019/26.html) and [reddit](https://www.reddit.com/r/emacs/comments/e1wfoe/emacs_the_editor_for_the_next_40_years/)). Emacs Lisp doesn't render graphics very well, especially it doesn't play nicely with the browser. This is (an example of) where PyQt5 can come in handy. +3. With DBus IPC, EAF can use Python to control Emacs Lisp, conversely also true that Emacs Lisp can control Qt rendering and Python code. +4. EXWM, as a Windows Manager, does its job very well. Therefore, it doesn't have control and doesn't care at all how other program functions. For example, EXWM cannot control keyboard events of other programs. On the other hand, you can configure them in EAF either using existing features (see above) or write code to contribute to this repository. +5. From a higher point of view, EAF is using Emacs' design principles to extend GUI programs. You have the ability to control good GUI programs using Emacs keybindings. To achieve the ultimate goal: live in Emacs ;) + +### Why this awesome framework doesn't works with MacOS or Windows? +There are mainly three obstacles: +1. We don't use MacOS or Windows +2. This framework need use X11 reparent to stick Qt5 window to emacs frame, but had trouble making X11 to work on MacOS. +3. Had trouble making dbus/python-dbus work on MacOS High Sierra +4. Had trouble making Qt5 QGraphicsView/QGraphicsScene work on MacOS, specifically QGraphicsVideoItem cannot work. +5. If you figure them out, PRs always welcome -Currently available keybinding variables are `eaf-browser-keybinding`, `eaf-pdf-viewer-keybinding`, `eaf-video-player-keybinding`, `eaf-image-viewer-keybinding`, `eaf-camera-keybinding`, `eaf-terminal-keybinding`. +### Why not support Wayland? +EAF use X11 XReparent technology to stick Qt5 window on Emacs buffer area, Wayland doesn't not support XReparent. -### Variable Customization -There are certain variables will be shared across Emacs Lisp and Python. You can easily configure then with `eaf-setq`. +We recommend our users to use KDE, it's stable enough and supports X11 XReparent technology. -Check the full list of configurable variables with `C-h v eaf-var-list`. +### Github Personal Access Tokens? +If you use EAF Markdown Previewer, you need the access to a [Personal access token](https://github.com/settings/tokens/new?scopes=), fill something in "Token description" and click button "Generate token" to get your personal token, then set token with code: -#### EAF Browser -To set EAF Browser as your default browser, put the following in your `.emacs` ```Elisp -(setq browse-url-browser-function 'eaf-open-browser) -(defalias 'browse-web 'eaf-open-browser) +(setq eaf-grip-token "yourtokencode") ``` -Default browser enable plugin and JavaScript, to disable them, you can add something like the following to `.emacs` +Otherwise, github will popup "times limit" error because so many people use grip. ;) -```Elisp -(eaf-setq eaf-browser-enable-plugin "false") -(eaf-setq eaf-browser-enable-javascript "false") -``` +### "undefined symbol" error +If you got "undefined symbol" error after start EAF, and you use Arch Linux, yes, it's a bug of Arch. -#### EAF Camera -The default directory to store images taken by EAF Camera is `~/Downloads`. To modify it, add the something like the following to `.emacs` +You need use pip install all dependences after you upgrade your Arch system, then undefine symbol error will fix. -```Elisp -(eaf-setq eaf-camera-save-path "new/path/") -``` +### \*eaf* aborted + +If you got ```*eaf* aborted``` error, please check buffer ```*eaf*``` first, mostly because Python library dependencies is not installed successfully. ### Proxy -If you can't access most awesome internet services like me, you perhaps need proxy settings like below: +If you can't access most awesome internet services like me, you can configure the proxy settings. ```Elisp (setq eaf-http-proxy-host "127.0.0.1") (setq eaf-http-proxy-port "1080") ``` -Then EAF browser is working! ;) - -### Markdown Previewer -If you use markdown previewer, you need the access to a [Personal access token](https://github.com/settings/tokens/new?scopes=), fill something in "Token description" and click button "Generate token" to get your personal token, then set token with code: - -```Elisp -(setq eaf-grip-token "yourtokencode") -``` - -Otherwise, github will popup "times limit" error because so many people use grip. ;) - -## FAQ - -### How about EXWM? What makes EAF special? -1. EAF gives you control over your program, while satisfying Emacs window design model. [EXWM](https://github.com/ch11ng/exwm) is only a tiling WM, that combines different applications together in an Emacs-like fashion. However, EXWM is unable to split the same application into two different windows while displaying different parts of the same application at the same time. For example, EAF is able to display different pages of the same PDF on two different windows. -2. EAF essentially provides Emacs a secondary scripting language ([This topic has been brought up in EmacsConf2019](https://media.emacsconf.org/2019/26.html) and [reddit](https://www.reddit.com/r/emacs/comments/e1wfoe/emacs_the_editor_for_the_next_40_years/)). Emacs Lisp doesn't render graphics very well, especially it doesn't play nicely with the browser. This is (an example of) where PyQt5 can come in handy. -3. With DBus IPC, EAF can use Python to control Emacs Lisp, conversely also true that Emacs Lisp can control Qt rendering and Python code. -4. EXWM, as a Windows Manager, does its job very well. Therefore, it doesn't have control and doesn't care at all how other program functions. For example, EXWM cannot control keyboard events of other programs. On the other hand, you can configure them in EAF either using existing features (see above) or write code to contribute to this repository. -5. From a higher point of view, EAF is using Emacs' design principles to extend GUI programs. You have the ability to control good GUI programs using Emacs keybindings. To achieve the ultimate goal: live in Emacs ;) - -### Why not support Wayland? -EAF use X11 XReparent technology to stick Qt5 window on Emacs buffer area, Wayland not support XReparent. - -I recommend you use KDE, it's stable enough and support X11 XReparent technology. - -### "undefined symbol" error -If you got "undefined symbol" error after start EAF, and you use Arch Linux, yes, it's a bug of Arch. - -You need use pip install all dependences after you upgrade your Arch system, then undefine symbol error will fix. - ## Report bug -If you got ```*eaf* aborted``` error, please check buffer ```*eaf*``` first, mostly because Python library dependencies is not installed successfully. If you have any problem with EAF, please use command "emacs -Q" to start Emacs without any customizations. diff --git a/docker/README.md b/docker/README.md deleted file mode 100644 index 91922ca..0000000 --- a/docker/README.md +++ /dev/null @@ -1,23 +0,0 @@ -## Run EAF with docker - -If you prefer to run linux in a container, you can use below command to build an EAF container. - -### Build -```Shell -docker build -t eaf --build-arg=_UID=$UID --build-arg=_USER=$USER . -``` - -### Run -```Shell -xhost +local:root # WARN: this comes with security issues - -docker run -e DISPLAY -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus --rm -it -v /tmp/.X11-unix/:/tmp/.X11-unix -v ${DBUS_SESSION_BUS_ADDRESS#*=}/:/run/user/1000/bus/ -v ~/.Xauthority:/home/eaf/.Xauthority eaf -``` -You can also reuse your own Emacs configuration in the container: - -```Shell -xhost +local:root # WARN: this comes with security issues - -# mount the Emacs configuration into the container -docker run -e DISPLAY -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus --rm -it -v /tmp/.X11-unix/:/tmp/.X11-unix -v ${DBUS_SESSION_BUS_ADDRESS#*=}/:/run/user/1000/bus/ -v ~/.Xauthority:/home/eaf/.Xauthority -v ~/.emacs.d:/home/eaf/.emacs.d eaf -``` diff --git a/docs/HACKING.md b/docs/HACKING.md deleted file mode 100644 index cc369b7..0000000 --- a/docs/HACKING.md +++ /dev/null @@ -1,281 +0,0 @@ -## The Framework of EAF - -![img](../screenshot/framework.png) - -* QGraphicsScene similar Emacs' buffer, control content and state. -* QGraphicsView similar Emacs' window, control size and position. -* Every change in QGraphicsScene will synchronization to QGraphicsView in realtime by GPU composite. -* We use Xlib XReparent technology stick QGraphicsView to Emacs frame. -* Destroy QGraphicsView if emacs eaf-mode's window hide, create new QGraphicsView if eaf-mode window show, but QGraphicsScene still live in background until user kill eaf-mode buffer. -* When user use mouse click on QGraphicsView, QGraphicsView will translate mouse event coordinate and pass mouse event to QGraphicsScene to handle. -* When user use keyboard input in Emacs buffer, Emacs will key event to QGraphicsScene throught DBus IPC. -* Elisp call Python function through DBus method. -* Python call Elisp function through DBus signal. - -## Why choose Qt? -Qt's QGraphicsView and QGraphicsScene is awesome, it's easier to implement window composite than other GUI library (such as GTK+). - -If use Gtk+ or other GUI library, I need write many Widget/XComposite code to implement widget like QGraphicsView/QGraphicsScene. - -## Why choose Python? -C/C++ need compile long time for every change, this will interrupt my attention and enthusiasm of development. - -Python is a perfect language to develop Qt program and it can call pretty much in every library you need. - -## Let me run hello word -``` -M-x eaf-open-demo -``` - - This will pop hello world window in emacs like below: - -| Demo | -| :--------: | -| | - - - It's a big hello button, try to click it, haha. - -## Develop new plugin -It's very easy if you know how to write PyQt5 code. - -Here have awesome tutorial help you study PyQt5: http://zetcode.com/gui/pyqt5/ - -Trust me, PyQt5 is pretty easy to study. - -After you know how to write PyQt5 code, developing new plugin just needs 3 steps: - -1. Open file [buffer.py](app/demo/buffer.py): -```Python -from PyQt5.QtGui import QColor -from PyQt5.QtWidgets import QPushButton -from core.buffer import Buffer - -class AppBuffer(Buffer): - def __init__(self, buffer_id, url, arguments): - Buffer.__init__(self, buffer_id, url, arguments, True, QColor(0, 0, 0, 255)) - - self.add_widget(QPushButton("Hello, EAF hacker, it's work!!!")) - self.buffer_widget.setStyleSheet("font-size: 100px") -``` - - Replace QPushButton with your PyQt5 widget. - -* buffer_id and url are need by framework, you just need pass those paramaters to Buffer class - -* third paramater True mean application content will fit size with emacs window size change, such as image viewer. - -* third paramater False mean applicaton content won't fit size with emacs window size change, such as browser. - -* fourth paramater is background color to fill application background. - -2. Open file [eaf.el](core/eaf.el): -```Elisp -... - -(defun eaf-open (url &optional app-name) - (interactive "FOpen with EAF: ") - (unless app-name - (cond ((string-equal url "eaf-demo") - (setq app-name "demo")) - -... -``` - - Replace "eaf-demo" to "eaf rocks!" - -3. Test -``` -Execute command `eaf-stop-process' to kill old python process. - -Execute command `eaf-start-process' to start new python process. - -Execute command `eaf-open' and type "eaf rocks!". -``` - - - -See? It's so easy! - -Above are all you need, happy hacking! - -## Other APIs - -### Show message in emacs' minibuffer. - -If you want show message in emacs' minibuffer, you can emit AppBuffer's signal "message_to_emacs" like below: - -```Python -self.message_to_emacs.emit("hello from eaf") -``` - -### Set emacs variable on python side - -You can use below code to set emacs variable on python side: - -```Python -self.set_emacs_var.emit("var-name", "var-value") -``` - -### Eval elisp code on python side. - -Of course, eval any elisp code can implement by below method: - -```Python -self.eval_in_emacs.emit('''(message "hello")''') -``` - -### Read user's input -Below is code example from pdfviewer: - -```Python -... - -class AppBuffer(Buffer): - def __init__(self, buffer_id, url, arguments): - Buffer.__init__(self, buffer_id, url, arguments, False, QColor(0, 0, 0, 255)) - - self.add_widget(PdfViewerWidget(url, QColor(0, 0, 0, 255))) - self.buffer_widget.send_jump_page_message.connect(self.send_jump_page_message) - - def send_jump_page_message(self): - self.send_input_message("Jump to: ", "jump_page") - - def handle_input_message(self, result_type, result_content): - if result_type == "jump_page": - self.buffer_widget.jump_to_page(int(result_content)) - - def cacel_input_message(self, result_type): - if result_type == "jump_page": - ... - -... -``` -If you want read input from emacs minibuffer then call back to python. - -You can emit buffer signal ```send_input_message```, first argument is prompt string to user, second argument is callback_type for interface ```handle_input_message```. - -After emacs read user input, framework will call interface ```handle_input_message```, result_type is callback_type you use in signal ```send_input_message```, result_content is input string from emacs. - -Simple logic is send ```send_input_message``` signal to emacs, then handle user input with buffer interface ```handle_input_message``` - -If user cancel input, such as press Ctrl + g, you can define your own ```cancel_input_message``` interface, write cancel callback for type. - -### Scroll by other window -In emacs, we usually call command ```scroll-other-window``` to scroll other window's buffer. - -If you want eaf application buffer respond scroll event to command "scroll-other-window". - -You need implement ```scroll``` interface in AppBuffer, such as like PDF Viewer does: - -```Python -def scroll(self, scroll_direction, scroll_type): - if scroll_type == "page": - if scroll_direction == "up": - self.buffer_widget.scroll_up_page() - else: - self.buffer_widget.scroll_down_page() - else: - if scroll_direction == "up": - self.buffer_widget.scroll_up() - else: - self.buffer_widget.scroll_down() -``` - -Argument "scroll_direction" is string, "up" mean scroll buffer up, "down" mean scroll buffer down. - -Argument "scroll_type" is string, "page" mean scroll buffer by page, "line" mean scroll buffer by line. - -### Save/Restore session -We always need save and restore session for an application, such as, save play position of the video player. - -You need implement interfaces ```save_session_data``` and ```restore_session_data```, below is an example of Vide Player does: - - -```Python -def save_session_data(self): - return str(self.buffer_widget.media_player.position()) - -def restore_session_data(self, session_data): - position = int(session_data) - self.buffer_widget.media_player.setPosition(position) -``` - -Argument "session_data" is string, you can put anything in it - -All session data save at ~/.emacs.d/eaf/session.json file. - -### Update buffer -If you need to update buffer sometimes, such as update org-file previewer after saving org-file. - -You need to implement the interface ```update_with_data```. Below is an example of what Org Previewer does: - -```Python -def update_with_data(self, update_data): - self.load_org_html_file() - self.buffer_widget.reload() -``` - -Argument "update_data" is passed from elisp side. - -### Update progress. - -If your application will do some long-time operation, you can use below use below interfaces of buffer: - -```Python -def start_progress(self): -def stop_progress(self): -def update_progress(self, progress): -``` - -### Customize variable at Elisp side. -You can use below code set the save patch of camera photo: - -```Elisp -(eaf-setq eaf-camera-save-path "~/Downloads") -``` - -On the python side, you can use below code pick up the value of ```eaf-camera-save-path``` - -```Python -self.emacs_var_dict["eaf-camera-save-path"] -``` - -Above is an example of ```eaf-camera-save-path```, you can customize any variable on elisp side actually, don't need modify python code to customize EAF application! - -### Call Python method and store function result to temp Elisp variable - -In EAF buffer have interface ```get_url``` - -```Python -def get_url(self): - return "" -``` - -At Elisp side, we can use below code call Python method and store function result to Elisp variable: - -```Elisp -(setq temp-var (eaf-call "call_function" eaf--buffer-id "get_url")) -``` - -Once you understand principle, you can define your own interface function in core/buffer.py , then use ```call_function``` method on Elisp side to fetch Python function result, don't need define temp elisp variable everywhere. - -### Update settings at Python side along with customize option change at Elisp side. -Once you change customize option by ```eaf-setq```, everytime EAF buffer is created, AppBuffer's interface ```update_settings``` will execute. - -You can implement your own ```update_settings``` interface, such as, we can write below ```update_settings``` in browser plugin: - -```Python -def update_settings(self): - settings = QWebEngineSettings.globalSettings() - try: - settings.setAttribute(QWebEngineSettings.PluginsEnabled, self.emacs_var_dict["eaf-browser-enable-plugin"] == "true") - settings.setAttribute(QWebEngineSettings.JavascriptEnabled, self.emacs_var_dict["eaf-browser-enable-javascript"] == "true") - except Exception: - pass - -``` - - -## Todolist -[Some works you can hacking ;)](TODOLIST.md) diff --git a/docs/KEYBINDING.md b/docs/KEYBINDING.md deleted file mode 100644 index 2cd6ce3..0000000 --- a/docs/KEYBINDING.md +++ /dev/null @@ -1,87 +0,0 @@ -## All bindings below can be configured with the function eaf-bind-key. See README for more info -### Browser - -| Browser Key | Event | -| :-----: | :---- | -| Left Button | Open link in current tab | -| Ctrl + Left Button | Open link in new tab | -| Ctrl + Double Click | Use sdcv translate selected text | -| M-f | Forward page in history | -| M-b | Backward page in history | -| M-q | Delete all cookies | -| C-a | Move cursor to beginning of text | -| C-e | Move cursor to end of text | -| C-= | Zoom in | -| C-- | Zoom out | -| C-0 | Zoom reset | -| C-n | Scroll up | -| C-p | Scroll down | -| C-v | Scroll up page | -| C-s | Search forward | -| C-r | Search backward | -| M-v | Scroll down page | -| M-< | Scroll to top | -| M-> | Scroll to bottom | - -You can customize keys in the variable ```eaf-browser-keybinding``` - -### PDF Viewer - -| PDF Viewer Key | Event | -| :-----: | :---- | -| j | Scroll up | -| k | Scroll down | -| Space | Scroll up page | -| b | Scroll down page | -| , | Scroll to end | -| . | Scroll to home | -| t | Switch scale mode | -| - | Zoom out | -| = | Zoom in | -| 0 | Zoom reset | -| g | Goto page | -| p | Goto to percent | -| [ | Remember position | -| ] | Remember jump | -| i | Toggle inverted mode | -| m | Toggle mark link | -| s | Search text | -| n | Jump next match of search | -| N | Jump last match of search | -| Double Click | Use sdcv translate word under point | - -You can customize in the variable ```eaf-pdf-viewer-keybinding``` - -### Video Player - -| Video Player Key | Event | -| :-----: | :---- | -| Space | Play or Pause | -| h | Seek backward | -| l | Seek forward | - -You can customize keys in the variable ```eaf-video-player-keybinding``` - -### Image Viewer - -| Image Viewer Key | Event | -| :-----: | :---- | -| j | Load next image in current directory | -| k | Load previous image in current directory | - -You can customize keys in the variable ```eaf-image-viewer-keybinding``` - -### Terminal - -| Terminal Key | Event | -| :-----: | :---- | -| C-= | Zoom in | -| C-- | Zoom out | - -### Camera - -| Camera Key | Event | -| :-----: | :---- | -| j | Take photo | - -You can customize keys in the variable ```eaf-camera-keybinding``` diff --git a/docs/TODOLIST.md b/docs/TODOLIST.md deleted file mode 100644 index 8cadd66..0000000 --- a/docs/TODOLIST.md +++ /dev/null @@ -1,14 +0,0 @@ -## Todo list -* Browser: use javascript popup youdao translate instead sdcv solution. -* Browser: implement js plugin like vimium -* Browser: study more code from https://github.com/LavaPower/Browthon-Old/blob/c25d5721b40e95131a3c521566a18467f13ecbf0/files/Browthon_elements.py -* ImageViewer: add zoom support -* PdfViewer: allow select text. -* PdfViewer: use self.document.getToC() fetch and render bookmark. -* Support HiDPI? I haven't HiDPI screen. -* Aria2 client is awesome, welcome to PR. -* Markdown Previewer, add margin around preview page. -* Maybe xterm.js running in browser is cool. ;) -* RSS Reader: use python feedparser or JavaScript library implement reader like Google Reader. -* Better error prompt if something goes wrong, maybe in the `*eaf*` buffer -* Make PDF-Viewer works with Org-Mode, like https://github.com/luhuaei/interleave/tree/add-eaf does. diff --git a/eaf.el b/eaf.el index d09b0d6..625c6e8 100644 --- a/eaf.el +++ b/eaf.el @@ -7,7 +7,7 @@ ;; Copyright (C) 2018, Andy Stewart, all rights reserved. ;; Created: 2018-06-15 14:10:12 ;; Version: 0.5 -;; Last-Updated: Fri Dec 20 02:42:51 2019 (-0500) +;; Last-Updated: Fri Dec 20 03:26:28 2019 (-0500) ;; By: Mingde (Matthew) Zeng ;; URL: http://www.emacswiki.org/emacs/download/eaf.el ;; Keywords: diff --git a/screenshot/framework.png b/screenshot/framework.png deleted file mode 100644 index e1c35fffacd6122cc472b270291b4c5b0e6ecc70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50910 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

=nP`o_(IMgpbr;b2S_9p(_xWl ze`BTjB#>#Z{@2m+tkTKe@2_u}!4ig3Kpa@|u<@Ai6(DKRL&vSlZ6f_epYEn#&C!DRy|c(Ic$4w`T6%Xn(`o z27u_LhvtHi5FjhLH~QVP!={yO@`vP&v_hByUuf^vb6X&9$yL@%8z3(oJ>hlywyqt0byL)=oyr z11E`KkFR}mBYuM+x3xkY*yIZ;RZdIF4t7>f{xDDlgN`~(%{ccqwLw6;Y`AHyhkYm5 z>&IcYdms6WMrG5$ID|e!RU2odWm(2&`!&d%~o#pWrU=I-3g7$I& z3{qK&grn7qAIy#N?=LzM9qIpxey;<%nCZV#zlQP05EgzGIGtPPTDDE^LFE#@g%*z}znJ?FgN`}^+qyZ0{z z_FikQImZ}tjOTggSRRBpiDe>xPXG|O6|pN`?Bx1?tu0w$$`5mQrA@KCwHv_M*@;qOf{PAZETt!nM z#~=b-a8*pZ<|cLuUbZ}&w(VjD)3x<uABqb!2VmU-yTK*3(C&UhFR60-BIXK z(!aJp->QgI#9i^ZNrtJOqnxF%Uc`Qi{49`gT~U92Sz2npzjo>lhL+;Go&y$XxfG9- z)D8Hp7Uc41p)ItFuSbrx&K@KKau6V>w4%w#$Z&WIOi2Ko;O8R+5)A`}vI{ua_}SSz z-!i-j5)^p+xK+}~*jVJCn-gfsm34GdqM{DXrCVBCds0MnoE)%-SQ7ai-UqB@y@>k( zxxPvsM;>1PY;^_u!E-e|ez5-og;m@3*W+WAXs~dUH=!4!kr6tW`Pg%3pR%^z+AM27 z7VD}|uD;IDj1LiNrkJ4!#+%bPEUDH744URyNaa$DhEZR##i&-5?Go5!iTDmDtL!Wm z0mZ!y@{*aWle~62H2;{?ZQH@iauR+r{4MS_9~q1v=vVCf9=z%+HM{5i*xr#a?3~hh zc3A*2IR2`33SqjxXP|iH%Cs-bIm*fE;8zSA0{TGvcn8t=sP>vQqiFMb+7t1`htDvMOJzY+)l1&8( z!10KNRos_}3HAH}Z%+_iA-j!ewEG$1!kxXn2+(zt*zE>;jlcT>i5ZB4P_ao4$2eJ2 zzQH~z_AL&2_@F;l8clh2=GOCcwBvhW-SGqtO^+`rMJ_4BsCVdVBnW`4kwS%V?f<@v zCK5A9yIJZE2LhFilmA>s9;rtVY7m5O#%qp?gPf;`z3JzDlPUk?x6z2M4Ozp8@gQv8_#w30Kzembgr2_@q*lE`CzG54 zy3^JRp^Jmfr}nv`3EIRWTMDm{!A^Gj@V=Mj=`0@cq9{&^V>4uo#fAIE-qIE+KiGF2zFNa{(8N57m(4p-#(Sz<{bp&Jh(kgi7S9 z4T@eabt~0)c1BUO5))5OUED85$YckG%cc#u3Cnx;+Gc6+md9JH`rd zvJG*!t1QS_7L|nmm`f`FLcu4&Zi~pkFQrqZBqdwGh$j7zJm&m}5INt)^lt0B-8R7<8JQp$C#E0Efs*4?_v)&RnIb_;CSpBF^CkK!$9 zf0}N3g8p7KP@zVcRfESyeuXDU1%>6@gij{z3c(g86->CN|L+)Z@7=q%4W9R*Ymls@ zBr?(zexjfY$J3`r4cF%leMVeqo2LOH7rN%=dA1Afs5dDhKqyx!L9%xMB6#(3yqR}X zav`wp`;00Np+YVF8PZvbDV~={qmV5#9f8|!!l11f;>IAWtIEj<)FDAm66LYHIA0&= zPR4kG^=HlSn3K@Xs-jaII1B=z8tttF!UqsI8dxhNW~`gB!I1}$ z;-!R8dTpBmxl~eA6c^ZvbHV6>7z;ppQg0W?N&o>?bq#M9sR#QDB2MbJ<9KTQuDosm z$e|OY4e1h(`S|!AJz9)yxLCSg-5WRkrCjkb(N?<$K*48#L zF`-rC_~wWhAhcD+eaRrwa`W(@t%V5%=wl(w?Yu(tB*E)@DsQ<4Y zCR9zP`Cs9X*QVJl%=`gy5JN_ecS(&y`+X4v&+*UYe-jOVF8{x=4)OYbq&)xL_Fp9b z&zNp>9sjQb1RF)lFLssU^G;|NNQhRnJGzTshA3 z=h>Q<9Ef?oQO1G)aDI#s^SvQmz$D%*;(z~e^U43>a2(pl8c*6!{wEuhS-gP^u7RLG zLHzqaFSfiPf#9fqlPUkT?EgVY-Aw)ObzDUKduD!5lM!K_#o;u#eRJJxyqPOSp9_T z&txL}4nbnMjlB4K5&p|MkdU@SI(+(=xGX3T8ye!mh-vacCzky9uie)R-`Lg7ef}`> z;FJGB58wDuH7?d6pd^KE*qxhs1XJZIs;EEu7ID|VfAc>qHJ*hGfjj>*?K+hI5`zEu z#0?Ykzb+zp?8dV4{bqSsY8G_*A2&iczc?GJ)l=zIyj4e>aF&(kpshsT-`;Z90Et`@ z?KXhJ0?@$20ut;G9d$E|{~{&-dkly#{Qcy=UCP^OtYIx$qu{);pM3Ae!2W~_ejMfG z^C`ZS#0=HnvF5jFkq0!2T%G*-)XaK0(vUp%6#K@6eqT%6EzNz+?v*j~r0o>$K$f5{ zSdyC+0ryO+ySq2W+8#>s-EUx$4pqwqt2QeTwJc0!T5e_7=L5Oe`HxZJLU%L7W^i!pGQf?m?g?H5kP6YxRPO%>HXQ!X zkF~IwufFjqs9pRV%v!rtP1zlPtQsDde001)X+in6goJS=Sb;`PVM}JS^7S&*gINuN8L&Y7IV`RLA@G`B%LjBt{Ot$#>PA%uXv8 zQ$J2TI@56%Ry7=h=HA#XLKyIu7e#6_vJh>SK(Sf8X~fl;pU%-K+)_&R2jg_o?=9?R zk-*)J+4!`E@Ebf=oknlK`rlNu(A{R@7Yd^6_|BM)mGXZ~ zpX)<^&M%1t;3M|dUDl$FHk{x7uh+UduUgZF!!OG_eWeoI&pOU%zJ-esx!*5=T+qX?Y8 zI`rMs;^3Rw)wy(Je>$J3CZUK3YX)^L5A^B z){FHyTpiA?3eA(-DY$^&$1ujnG?se$M!{l|`%U4WX|k_C$GiiNMOCV}3Il#5P*y?d#WE@O81E+NCzi ztgNh(6|{!{L#n-Pa{La1aooIQGzM}SNw@L2Ws z_7>#j8T276>#r&AS{HEC0Ca`D_X)I+%vUe_4k#tSu|0ll2%rsDSk7c;r;4jH{G9s5VpFrgZq`!E*sJ}5fwXFi^3UBILtK1)eF5*xd&F}$>T1AB$K77Kwh8GZJK)-R zkO$B`1Xp*+GGaPV;Nqgj1#z=_Jb?AVzIdeU|{zm!=a@>o?^!>^8^|`r+S;eF+ z52G?;#nw(mdHzVgBWG?;caJQrtgK8VcQ}mTl`nzm^HN_ONl$7SUnK93)Pc`0lq3x# z@m@Zm0V4y_f3M5@|n(%*mi|dDpV5!JqWlwLf-n zZsfxG&O440rx2HQhT=L0=gQnqk$aH@*C(9pgKRg?>HJRl-knVpS@iD@HMKu;6J z=Md#pap7ftoa1cwRVBgl8fR*Pn+DDP5ddPcu$`PvfDKuOzbEyrFP84I&)A11SZ%JE z@T{?tediTiT-FsiAMcaILDep-K3o4bAyF>K%WGd*hKAPa-bWJJ*3%>ZLPPuY>&5wb zZ`^!m?})qN^ibbJ;{aZ@n0oeN{{DQb#=YH`mlkJ60#2)KZO`cF=#H}OTwJO^d|_@^ zaN8(LW*OW%{j~vVxP=viStT8v>l(MK6YSV)QqPSoG+YV-Kc}ga^S)+o$Me})pK#%) zZVIuuI4UYCL5bLvKN=cDz7nrAl{db7E+aFSMCbc56=QAYLhT2SzP`KsJYA77UceyI z)?}KTtgN7*;Lzh|8A=)bW47k7hlkigB)$dA$CMn4sGoSmQSSh`ilT_X_Bf;#o9b!? zjq+D-FX0ltj)(r)rr!w4ncwIPgLv!g}P_c z)7`!JXE6$awsUdCXvI=Bm1UwwqsAup;9(R}xPnd+oVoL3A4K2G90{I*jT#9I^V(xSs1g3qNho zRo*@7Zf{5P&mVpdqDnp_91{np4ecH&oc=u*XvmTcG!zb9-g*{R$ zw!2iX?|27#FY;GZTpUKE|LPdrS7q(WgT``g{Gq+$=k_G0>0f<{5IP>7lePrQD{5-_ zq-gddiNX_dW9^9JBiFi&41Lgm(+qa)fQ*6y99cAHN!Hi*uDBQN*OdOTu}Y7P7$JtV zsqZBrLD&an2|Qp?Ru&g4tE+pHg#?(H^Q9S;U$|XV18-OB9(MmCQ0Y=X2qWKCt} zK5BScoIgD5fJu*W409E00ErZ!%DkL}_txN=sT%Jl7ZgL*)Itw zfq!p@T0>h9yYW|A2f;^lW;I$`@d{Z!h0ZQ6jjAB#0Iid248~=l%@mIK#y-&<3U?0= zk2>C|K}8XVvqMwQ>@z%1PtTKSr|Zu>hEpuiDfa2>ozFAVdjflfg;&eVJ3EEP`g_a@ z-nhEJ=?x7ZTM1M7BFT4%-WE5PN-eI?(L_O>7#&q5d0}H?13Wk12kKUWs^b)z+gv#x z!dmU_ZoN&qzbBS*o!|tBDkk;PkCe$*;_mJjpuvpyXG~Y!J}f;uwCiR6iwpN)ZhUQ8ST5SYiG^nY!fI!iS(J5rhnX8G zR|iwM4X29jAz_~?a3f`gX{;#m)=x%0&Nb&TExgza67xYt$(x?Ua>IeSE+(TIT4(l~?5bo9R@KzN zrp4{-l+Ep-aARrg)1HS%AM872SCld+@Em~T?3s`~5oQX-WrSvB*chKg0FG8AO9K(o zWoId_&X--icGNxgpTiD@sMn#xM_G_Og(X2-vv zH9t(x@i9CXPCDv^CZGo2T9aYDkP;T=J*ABFUTL`HHPTiMNa?AIi$g4J_dO||>u8~} zm2jeb3U2ona9~fs0<^D1PvOzgnfbtNP}Mrih483f-&(%H28(!3?M+?fE>X@K`ZJqd zjMd{=UYi-|Kjk0aXimUhLdUc(^x}~)X<6_oC@4TdL8+>$nx3AnyCyQV3=74e6gl3* zYqt6nj*C-&rFwMUaF1pX_wuR$4tKsXpAdlyzPRqlkUp-ZPqSVvnp4joku3qMhZM?c zYD)1GGAXMF1cSUa@~+#5boi?2SVq==mT%4#_V%7^XR z6^KQ}N`>&Dv)-XeaDZffcPRY;UyJL$t*$u2<|E}~rpjBN+9<4lR(4^Oe{(K>R_CB` zVW6vQDCVI+Pgcr3j8${zm)-mMB&wMo;u61TB?joW{FVu+pjllU?|EF)J>CwgMM2e) zeZ-N!$Au2BiXKgzNR^~3Toyb}EMRG-Tynk-&TW}%FdYZY8Q`Vgm7gPcicu0JQO^9V zgkFNKAFX!&{IA|%6QV|+xb$2T*++4yNMTK}Xr&)SD;S_EA2wRr+JM(!=IyTV`-)0T-u!fd3JUAb1VA|JFQ&)d-@+2Hr*uAiIlMGLXFNFM@3G#d^6qG=7 z71Ib2$BXA|+5j&nk}C@^FJ5778kuoFfP!YT8l{0&hI(JB202OYpaPi}AKuN5@au7A zRrL#^!#lNumBvY~v!@|BVnn>C6BAcxOfERc>LF|C`)dRCL((W6+3BrrBji|de+BrH zsY)s2%n-96lfbeA_w^g~NsnnO%D=r@ZPxZDOzBqFv&?JfmW{_*X`JYf@34J#ezvQs zuvGYL!9?taOnQ1%QNlPmy`m;S>+ZmTKV_~o99+oUY5d#J&5d>SB9-Bs)0Q|;reXy zfVKAOs;Ajf033a$uf0Bjzy;0qD~>OY+CJk|Oii16UV!RXb*^1RkE|Tb$zV%8ixWHQ{@0{`?GCB@~+s>+yX*YfJX&koeI1RmKVL zIknWx<(rt4vJJu|<)f!QAWIDTiB^O&R)nfyS#5v09m=hw9O9S}UkahG$<9%ji$L-) zUvoyU%f|2_8o}{;CLg!prHwI_CF=AQ2pz#j_>S$TGlJ0NPLQXK1SB+byYOMaOjfJ= zSCz%dBRfHnWWn{hYjXArqf>Y)KcNSo$G}&a3#u~8Wmk94YswUK5XPNOgrbs?m@#!A z2Q!1lteYySDIU6?OG@linZe15v(wWwacymi9ZrO6pJ7|e8(ui<;WzoGH9+Mb3+VOn zOTFoP^Gf%dcxp5iOug$mvMih7;(j4rNsJl+=2z+k%>f<5G(XXdPv1Kj*xuzd?Osh_ z+kprrLMT|y=*3N%%gj-d8>9HF>+Y&P6}~}Q^=$$ZtS5|&b3J+>yJ4fFLwl@}_gvn@ zWHq=?#K_~VRWPr|L+jNZo}5Ubj>nI{nZb^pX2Qn=P5zK;xDGykq~s~kS0tyT7hCpG zIy1SirUg{1f7Ke}L zU)M_WS#OgJDZktfv(#a7YRa!4WYeG~tgNbf3~bc);i63O+?KYGt%+g&CYe&PcAPG_3tDyu=M zr|MT{tnvInrx6q(n#{FT*;KFsu>sF^`3ecw{+w^WPrs4S+7aPVmy z%f7eK@^6SHz&Vs(&i?ZKIJnpj(>|P@iOJs9784!)!wjfK#5`Od&2Y}Rq)7vf^`?kH z2R46Fm`HwX#M#*y(6B%z=<01HPrsQ`R=M-5ZVG`@afJmnSAf#v+XdFRBB5PO_Xy?_#!Sw-FGCL% z`UW;8aDJbtg!*TI|KzS2uT41F#A%(XMfW`_j}|j!9msm?=nw<3vdE$9rA5Gj)wl`Q zys}p~zAx!CQy10D3x7n$A1EYeFQ@O)n^PNoR6`xzel@3J54$AF72AsY z&6btZhU;a{#juGat%Sx9fqvV%#Dt;;8~!}3h*gS3<702fvm%>nF0DGM%-NS{y&%}~ zY`>*jZjeZzC(vK-88#eKY5M|M{{ZiOH(7@oy)+m>j~D8+`4`HW_dy$J;kiqFKaJPO z{fh=F3Ckj3Uzsx;$hDNyfluaz0zTEL&S7;v1Pow>TW1R7TFVS}<- zerxciB)Yu)fVsB(i7loT3Q9GaPJ8zHj${fG4c%hJD{DH z(>}h#C$HIQ4s&>(Uq89=@Ry1w2Qe^D4Rv)AaN<2H#YIqLZVBdjUSn2J1*&BVitF{# zQL-t>UYA*e_C2G^nh}sN>vkI&8fR(okc2vS6&oW=?@+Zn^k{!h9OTgAT3TA}?zJT) zC7{o-o*p$BfMMuqX)|-rvIWojAgiB5&)xTgUj(OQ2g}&m9i&irY`zH?Pg0PpaK4;o zEU4UX)3Ed~=$_GzKmL^AL?5NT?O`;~K&Nn}T9E~?F0ip#+t@I$uq46gWiSOTFguGh$slap4*bCVEX{i1Clxr>W8w@ z(~(FXmHq1L>+8IL0_xv&A*FBJq>q7}0$|DW?Q44X@bGS7;3zO|`Dc${LV{5yAboBJWoqUVP7d2H?D9FgrG(@$hCk-+`#n?=qO?mFMW6g^a9@5U? zu2}S5aQ5+3h#q=L@C85!5$?G$%jxOVs;Z*}BaylJ`Q(CdSFI}~4P@8-uQrI{kD>mH zrrlO5tE%~0j!=MwkZrpMZqJE^$+xAZCUI6)){K7o7(XW)8!;I(jborrxV0mAla~5L zzLg7O@tk))JX|l^q151~Abn*F@2Ns!2>M-MZNV4Rf1^zBP^+#`1}gYIc$#Rp}FJKSJW2SI&~=@-48!QgOIS9h)`RqV5_-HTRp{ zGx~M#1gWkcUph_9JlIgS8@tSSls9iQ!{%E~%5gILQ+h^%Ha_Cd!i_Ql+9Wt4RYKX9 z5hmSvxwdbGkn6ox!;ru$XU5bV(8t<`oCE-+sAn za*4L<1^cqZ2_Npo93I$)%V7uUzD-m-xN?f4jxbv#rB4c3gYV0zPutD8Yieo^{PBUe zw1ly(9gD&jgFbx5H$8Y*3AUuD;wQF2uH^M2<%^hFP|n@awjj;dywz}w;?gqVi~Am9 zUGxE(dPM7~Wb1dZhf%`tnt}$?NXSTTN!&*h7wt#?9*EjH&&1((8!i3qkeIRwnRFVm zkfeMR*QQ)!Ad~O?nOoL`HqSx5QvYaHJ&F@G+>d&Jsj~Wec1|{J@2ff^)PjDH!gG`y zHNF@tI%|sdYaH$VImhPttWzhh5Pz|@t(@%X zn0Vk#4?{US2^T&ZpX|%OWZ{Tw=_b_+1F)C@z?^&&Riu;?lOsEl~tV9heH<*s*N zwR=Ul*-4yp^j8in^bf+$$yN;dS5z{s?Lm8xIA@#}6D5(6%HSA;BFxm%QbG2G^VV=I zst#mp5d#vUbA0ucsJ){djqdugb@sH7QHDI_vRSvS=3=eBXjb6YDqYHFtE~Fdk(zBC z5EQT7XD*9HM7$vN1tg;zMpT7N$ zPoT1&{ki%_R9;6Q<@aWq(2v_wdk8b(`{xsyFw{U*=91RQOxAjAGb~~A6QMB~(R#dZ zi4H?PJ1Ir|MO6+*diOk8-v<2&k4j?FlLz--$|p)WVoVj?HPMV`vA$C-^%I_d7>6{) zTx6`Os(LhGTbEj2FU<95b&XCs^a1+|VEynjF@QF_qG0USVS}IP3h@=(Cwy{ZdEf5z8Ebemejf@d>wUizaDt`smz9%QpNX%MXr8WOL*IcIaxSVxh4w`I$Fni%z&J8Ez3+d?13y(`Q! zP%ldMzA)xi0nn5sih52F90OE(g~(;3%j$S0?o`EEsmk1WJha`LvZ;X21Lti9!-eH` zzmMFLSN()vX!9j4P$yF+SVfzregL_5RFY*xjZd--p5@82-Z&>=ReQW99gu$vIkuk@ zAiV!9tWwzNl8ga5G4>XB(j$YJnX?*OF-t^vza6cqoPt>7=(11PRh!`1>E%(5O`iiJ z6hd)6fJVu$aSi%pJtYZMWBYblA?@%~7Ty(y0LdLgs!-H1wtRG&(4*~xTNQsww{k*W zzWJDG$nRT)5*?j&$laYEl!z3!ZI4VMFJ__pt22a9u3h3is0uwng<)GTTda2`xPcTp z7-)P&kfX(UJMBfV*D(w=xnFof375G`*EU!p-V8Um5N$Pj;IzCnq5!!%%^!3F4QA zWXOa-P4uJ02XUtaG+%Z2wo{&39Hd$4#nxiSQS5K%RMsE7+w+G6)iLO@hPYb$0>}k- z(k|GsHF#*|Amr=gg@9>6XTWHvdAnWM;Rf4I!UC@0sSa+QFpI_=$_pRnL0dFbRFLL& z603v5UAr+22{%Tx!$sN|jj`tF-;9&itB1r}jD^E|p*C=}n(WEynD!$vAF0r2VLVZa z3+2c+Fi0~PL^mpEgi#_E6(i3Z!VXie-Y+CAYm5HYCjIfY=_vzAHqQYLWmsLul3DxV zM=(x@1XM#`$=fzgBvd=Nq=U)2lp(7{MW<4xV&(O;>`@i}R!M}Zp;&tgNwLClrbBg0 zl@^Bm@kr0QZWT}@k~ddsDC@ja?pdze39DQ>yLjzH)s9xO;&FDxX)EeFFeU(C%ysm` zt5Gx7X}R0NDfIFlTmCva3&i(Wec@gAHGo=Gr5I~Q+p^AK_0?7yN^zB4{pt4Yl#gpA zL<+9$4wE98LVVjxfO--#Z`m5v5g9wnNC)W@U|&F!Ezo1_>goz;0`z*ZLEIwPALT#< z6;uMf<2z~n5zn<|zr?s|5Me0eo_wxlo_X`gV?0`Pr*{(Cz}4jF#WJ23@(im;DR$

Mbj%j~mg^>EKSohX2Xr@^_;7 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