- Notifications
You must be signed in to change notification settings - Fork38
alpha22jp/atomic-chrome
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is the Emacs version ofAtomic Chrome which is an extension for Google Chrome browser that allows you to edit text areas of the browser in Emacs. It's similar toEdit with Emacs, but has some advantages as below with the help of websocket.
- The input on Emacs is reflected to the browser instantly and continuously.
- You can use both the browser and Emacs at the same time. They are updated to the same content bi-directionally.
Since v2.0.0, Atomic Chrome for Emacs supportsGhost Text as browser extension, bringing compatibility with Firefox, too.
- Emacs: 24.4 or later
- OS: Tested on Windows and Linux, reported to work on macOS
Install theGhostText Chrome extension.
Install theGhostText Firefox extension.
Atomic Chrome for Emacs can be installed via MELPA as below.
M-x package-install [RET] atomic-chrome [RET]
Then add the following lines to your.emacs
.
(require'atomic-chrome)(atomic-chrome-start-server)
- Start Emacs.
- Focus the text area you want to edit on the browser.
- Press Atomic Chrome button on the tool bar.
- Contet of the text area is opened in a new buffer of Emacs.
- Edit content on Emacs buffer.
- C-c C-c to finish editing, or the buffer killed if the browser closes the connection.
Atomic Chrome for Emacs automatically reflects modifications to the browser by default as described above, but you can disable it by setting the variable below.
(setq atomic-chrome-enable-auto-updatenil)
In this case, you can apply the modifications to the browser withC-c C-s
The default major mode of editing buffer istext-mode
. You can change the major mode manually. If you want to use a different major mode as the default, setatomic-chrome-default-major-mode
like below.
(setq atomic-chrome-default-major-mode'markdown-mode)
Additionally, you can useatomic-chrome-url-major-mode-alist
to choose the major mode for a specific website based on the page URL (or, with GhostText, URL hostname) like below.
(setq atomic-chrome-url-major-mode-alist '(("github\\.com". gfm-mode) ("redmine". textile-mode)))
This is an association list of regexp and major mode function. If the page URL matches to on of the regexp, the corresponding major mode is selected.
You can select the style of opening the editing buffer byatomic-chrome-buffer-open-style
like below.
(setq atomic-chrome-buffer-open-style'frame)
Available values are the followings.
full
: Open in the selected window.split
: Open in the new window by splitting the selected window (default).frame
: Create a new frame and window in it.
frame
is available only when you are using Emacs on some window system.
If you selectframe
, you can also set the width and height of the frame withatomic-chrome-buffer-frame-width
andatomic-chrome-buffer-frame-height
. Their default values are80
and25
.
By default, Atomic Chrome for Emacs accepts the connection request from both Atomic Chrome and Ghost Text. If you never use one of them, you can disable it by settingatomic-chrome-extension-type-list
like below.
(setq atomic-chrome-extension-type-list '(atomic-chrome))
By default, Atomic Chrome for Emacs uses the default port 4001 for Ghost Text. If you need to set this to another port, you can do it by settingatomic-chrome-server-ghost-text-port
like below.
(setq atomic-chrome-server-ghost-text-port4002)
You may also need to update Ghost Text's port setting in Chrome Extensions page.
version 2.0.0 (2016-11-08)
- Add support for Ghost Text
version 1.0.1 (2016-11-06)
- Fix updating text from Chrome doesn't work
version 1.0.0 (2016-11-05)
- Add support for automatic window focus (#6)
- Fix major mode issue (#1, #7)
version 0.1.0 (2016-10-23)
- Initial version
About
Edit text area on Chrome with Emacs using Atomic Chrome