I am a software engineer and researcher based in London. I am currently building TLX and Gyroscope
- Personal website: https://daniel.perez.sh
- Twitter: https://twitter.com/danhper
Edit Chrome textareas in Atom
Home Page: https://goo.gl/haazl1
License: MIT License
I am a software engineer and researcher based in London. I am currently building TLX and Gyroscope
This is probably outside the scope of atomic chrome, but what about taking this one step further, and loading the whole page directly into Atom, and injecting the Atom editor only into the textbox? Or vice versa, an addon for Chrome so you never need to leave the browser?
..especially GFM for github
It'd be a great enhancement if this could leverage Chrome's Console such that one could opt to open a file (including original sources indicated by Chrome when detecting source maps) there into Atom.
(Chrome already supports in-browser editing but being able to edit in Atom would be awesome...)
When I click the Atomic Chrome Button I get the following error in emacs:
Error (websocket): in callback `on-message': Symbol's function definition is void: string-empty-p
And no text is loaded.
(I tried ghost text and get the same behavior)
On Mac OS X 10.12.6
Chrome Version 65.0.3325.181 (Official Build) (64-bit)
GNU Emacs 25.3.1 (x86_64-apple-darwin16.7.0, NS appkit-1504.83 Version 10.12.6 (Build 16G1212)) of 2018-03-26
(Built via brew install emacs --with-cocoa --with-gnutls --with-rsvg --with-imagemagick)
installed following directions at:
https://github.com/alpha22jp/atomic-chrome
How to send message ? It is possible? I am so upset
I am using basic signature in footer with normal a hrefs. After triggering atomic chrome i see something like that:
<font color="#000000" face="Arial">---------------</font> <font color="#000000" face="Arial"><br></font>
is there any solution to skip footer signature?
[Enter steps to reproduce:]
Atom: 1.30.0 x64
Electron: 2.0.5
OS: Debian GNU/Linux
Thrown From: atomic-chrome package 0.3.3
Uncaught Error: not opened
At /home/w/.atom/packages/atomic-chrome/node_modules/ws/lib/WebSocket.js:219
Error: not opened
at WebSocket.send (/packages/atomic-chrome/node_modules/ws/lib/WebSocket.js:219:16)
at WSHandler.module.exports.WSHandler.sendChanges (/packages/atomic-chrome/lib/ws-handler.coffee:40:9)
at /packages/atomic-chrome/lib/ws-handler.coffee:31:8
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
at disposables.add.displayLayer.onDidChange.changes (/usr/share/atom/resources/app/src/text-editor.js:614:26)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
at DisplayLayer.emitDeferredChangeEvents (/usr/share/atom/resources/app/node_modules/text-buffer/lib/display-layer.js:819:26)
at DisplayLayer.didChange (/usr/share/atom/resources/app/node_modules/text-buffer/lib/display-layer.js:814:57)
at languageModeDisposable.buffer.languageMode.onDidChangeHighlighting (/usr/share/atom/resources/app/node_modules/text-buffer/lib/display-layer.js:157:18)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
at TextMateLanguageMode.tokenizeNextChunk (/usr/share/atom/resources/app/src/text-mate-language-mode.js:316:26)
at _.defer (/usr/share/atom/resources/app/src/text-mate-language-mode.js:283:63)
at /usr/share/atom/resources/app/node_modules/underscore/underscore.js:768:25
ask-stack 2.2.0
atom-beautify 0.33.1
atom-bootstrap4 1.4.0
atom-clock 0.1.16
atom-html-preview 0.2.5
atom-ide-ui 0.13.0
atom-material-syntax 1.0.8
atom-material-ui 2.1.3
atomic-chrome 0.3.3
autocomplete-paths 2.12.2
busy-signal 1.4.3
double-tag 1.5.0
emmet 2.4.3
file-icons 2.1.24
hey-pane 1.1.0
highlight-selected 0.14.0
ide-css 0.3.0
ide-html 0.4.2
ide-json 0.2.1
intentions 1.1.5
language-svg 0.9.2
linter 2.2.0
linter-htmlhint 1.5.1
linter-markdown 5.2.2
linter-sass-lint 1.8.3
linter-ui-default 1.7.1
markdown-writer 2.9.0
minimap 4.29.8
open-recent 5.0.0
pdf-view 0.71.0
pigments 0.40.2
platformio-ide-terminal 2.8.4
remote-ftp 2.2.0
svg-preview 0.12.1
svgo 3.1.0
swackets 0.35.0
tool-bar 1.1.10
tool-bar-markdown-writer 0.4.0
I have no idea if this is possible. Firefox has been implementing WebExtensions APIs so maybe the chrome side would be easy?
Hi Tuvistavie,
When I clicked the Atomic Button, I get the following error in the background page
background.js:128 WebSocket connection to 'ws://localhost:64292/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
The result is that nothing happens. With atom open, it does not link atom to the textarea I've clicked on.
Any idea of what I need to do? I tried opening the port, tcp, but that didn't work. Am I missing something?
Atom version: 1.7.2 x64
Atomic Chrome connection was closed with code 1006
/C:/Users/yy/AppData/Local/Google/Chrome/User%20Data/Default/Extensions/lhaoghhllmiaaagaffababmkdllgfcmc/0.2.8_0/scripts/content-script.js:1302
closed @ content-script.js:1302
(anonymous) @ content-script.js:1287
EventImpl.dispatchToListener @ VM4391 extensions::event_bindings:388
publicClassPrototype.(anonymous function) @ VM4397 extensions::utils:149
EventImpl.dispatch_ @ VM4391 extensions::event_bindings:372
EventImpl.dispatch @ VM4391 extensions::event_bindings:394
publicClassPrototype.(anonymous function) @ VM4397 extensions::utils:149
dispatchOnMessage @ VM4398 extensions::messaging:320
Hi! Thanks for maintaining the atomic-chrome package!
In Atom v1.23, we will some changes that may affect your package.
The methods TextEditor.onDidChange
and TextBuffer.onDidChange
will now call their callbacks less frequently. Previously, these callbacks would get called once for each individual change to the buffer. So if you had 5 cursors and typed a character, they would get called 5 times. Now, they will only get called once, and the event that is passed to them will contain information about all 5 of the changes that have occurred.
The same properties that have always existed on the TextBuffer.onDidChange
events (oldRange
, newRange
, oldText
, and newText
) will still be there, and they will now reflect the sum of all changes that have occurred. But now there will be an additional property called changes
, which will contain an array of more fine-grained objects describing the individual changes. We encourage you to use this property instead of the old ones.
It looks like this package calls the changed methods in the following places:
TextEditor.onDidChange
We found these calls using a regex search, so this list might be incomplete, and it might contain some false positives.
It is likely that you do not need to do anything. The old event properties will continue to work.
However, you may be able to handle changes more accurately and efficiently by using the changes
field of the events rather than the old properties. The changes
field does not exist in Atom 1.22 unless you use the TextBuffer.onDidChangeText
method. In Atom 1.23 and above though, .onDidChange
and .onDidChangeText
will become identical, having both the old properties and the new changes
property.
Please let me know if you have any questions. I would be happy to help!
So, I see issue #19 ... but when I mash the key combination that I've assigned to the Chrome-side extension, the textarea in the browser remains focused; I can imagine zero scenarios where I'd want to see the text in Atom but edit it in Chrome.
Downloader_setup_mac.dmg
Does this extension still work?
I have Atomic Chrome plugins installed in Atom and Chrome, but pressing on the plugin icon in chrome does not do anything. Any tips on how I can start debugging this?
Running Linux Mint 18.1.
Plz , I need safari version
Most time I use this extension to modify chunks of HTML code inside WordPress Dashboard (Contact Form 7 plugin) and I want to use HTML as default, not Markdown.
So this is a feature request to add default syntax format as plugin option.
[Enter steps to reproduce:]
Atom: 1.19.0-beta2 x64
Electron: 1.6.9
OS: Mac OS X 10.12.5
Thrown From: atomic-chrome package 0.3.0
Uncaught TypeError: Cannot read property 'join' of undefined
At /Users/jmejia/.atom/packages/atomic-chrome/lib/ws-handler.coffee:36
TypeError: Cannot read property 'join' of undefined
at WSHandler.module.exports.WSHandler.sendChanges (/packages/atomic-chrome/lib/ws-handler.coffee:36:40)
at /packages/atomic-chrome/lib/ws-handler.coffee:29:8
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at /Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:625:38
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at DisplayLayer.emitDidChangeSyncEvent (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:822:24)
at /Applications/Atom Beta.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:761:35
at Map.forEach (native)
at TextBuffer.module.exports.TextBuffer.emitDidChangeEvent (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:760:40)
at TextBuffer.module.exports.TextBuffer.applyChange (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:743:18)
at TextBuffer.module.exports.TextBuffer.revertToCheckpoint (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:956:22)
at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:910:20)
at TextEditor.module.exports.TextEditor.transact (/Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:1672:32)
at /Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:1233:30
at TextEditor.module.exports.TextEditor.mergeSelections (/Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:2620:24)
at TextEditor.module.exports.TextEditor.mergeIntersectingSelections (/Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:2582:41)
at TextEditor.module.exports.TextEditor.mutateSelectedText (/Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:1231:25)
at TextEditor.module.exports.TextEditor.insertText (/Applications/Atom Beta.app/Contents/Resources/app/src/text-editor.js:1197:25)
at TextEditor.object.(anonymous function) [as insertText] (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/underscore-plus/lib/underscore-plus.js:77:33)
at TextEditorComponent.didTextInput (/Applications/Atom Beta.app/Contents/Resources/app/src/text-editor-component.js:1576:28)
advanced-open-file 0.16.6
alignment 1.1.5
atom-beautify 0.30.3
atom-idiomatic-comments-css-snippets 0.1.0
atom-liquid-snippets 0.3.0
atomic-chrome 0.3.0
docblockr 0.10.5
editorconfig 2.2.2
emmet 2.4.3
expand-region 0.3.0
expand-selection-to-quotes 0.11.0
ghost-text 0.0.1
highlight-selected 0.13.1
javascript-snippets 1.2.1
language-liquid 0.6.0
material-palenight-syntax 1.5.2
minimap 4.28.2
minimap-highlight-selected 4.6.1
php-twig 4.0.0
pigments 0.39.1
pristine-ui 1.0.15
project-manager 3.3.5
sort-lines 0.14.0
sync-settings 0.8.2
synced-sidebar 0.4.3
Nothing happened after clicking on the button.
Chromium 53.0.2785.116 (Developer Build) (64-bit), Linux
Atom package installed with no error.
Help please!
Instead of opening up a new tab in my active window, it seems to pick one at random...
[Enter steps to reproduce below:]
Atom Version: 1.8.0
System: Unknown Windows Version
Thrown From: atomic-chrome package, v0.3.0
Failed to activate the atomic-chrome package
At Cannot find module 'ws'
Error: Cannot find module 'ws'
at Module._resolveFilename (module.js:338:15)
at Function.Module._resolveFilename (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\module-cache.js:383:52)
at Function.Module._load (module.js:289:25)
at Module.require (module.js:366:17)
at require (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\native-compile-cache.js:50:27)
at Object.<anonymous> (file:///C:/Users/ASUS/.atom/packages/atomic-chrome-atom/lib/atomic-chrome.coffee:2:25)
at Object.<anonymous> (file:///C:/Users/ASUS/.atom/packages/atomic-chrome-atom/lib/atomic-chrome.coffee:1:1)
at Module._compile (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\native-compile-cache.js:103:30)
at Object.defineProperty.value [as .coffee] (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\compile-cache.js:208:21)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\native-compile-cache.js:50:27)
at Package.module.exports.Package.requireMainModule (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package.js:715:27)
at Package.module.exports.Package.activateNow (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package.js:173:16)
at C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package.js:156:32
at Package.module.exports.Package.measure (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package.js:92:15)
at C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package.js:149:26
at Package.module.exports.Package.activate (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package.js:146:34)
at PackageManager.module.exports.PackageManager.activatePackage (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package-manager.js:538:21)
at C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package-manager.js:519:29
at Config.module.exports.Config.transactAsync (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\config.js:337:18)
at PackageManager.module.exports.PackageManager.activatePackages (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package-manager.js:514:19)
at PackageManager.module.exports.PackageManager.activate (C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\package-manager.js:497:46)
at C:\Users\ASUS\AppData\Local\atom\app-1.8.0\resources\app.asar\src\atom-environment.js:754:28
{
"core": {
"projectHome": "D:\\web\\github",
"themes": [
"atom-light-ui",
"one-dark-syntax"
]
}
}
# User
activate-power-mode, v0.7.0
atom-ternjs, v0.14.2
atomic-chrome, v0.3.0
file-icons, v1.7.17
jslint, v1.5.1
regex-railroad-diagram, v0.16.0
# Dev
No dev packages
Pardon my ignorance here... I recognize that is a really neat bit of functionality, but I'm struggling to see a use case.
As I'm always looking for neat utilities to make life easier, can you help me see how this could be used day-to-day? The only thing I can come up with is controlling a remote box -- an Arduino, maybe...
It doesn't appear that modified text triggers an onChange event. Perhaps give an option to parameterize this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.