Show HN: Ymacs - Emacs in the browser with Dropbox, GDrive, etc
tageorgiou.github.com
tageorgiou.github.com
Right off the bat, I hit the following speedbumps:
+ No replace-regexp
+ No set-fill-prefix (or it's unbound)
+ Default fill prefix detection doesn't work like GNU emacs (e.g. no
way to fill a long paragraph with a prefix of "> " for quoting
email)
+ No ispell-word (or any spell checker) on C-$
+ C-x b tab doesn't give me the list of buffers I expect
+ No keyboard navigability in file selection dialog! I hit C-x C-f
and end up in this weird web 2.0 world where I'm (no joke) prompted to
"Drag files here".
So.. it's cute. But other than the author (or someone else willing to reimplement the bits of emacs they need) I don't see to whom it's going to appeal. Serious emacs users aren't the target demographic.Someone could host emacs in virtual machines that have a bunch of real emacsen hosted with TTYs implemented in Javascript and a virtual filesystem that actually writes to Dropbox. Someone could probably make good lifestyle-business money doing that.
But why does everything need to run in the browser? You have a perfectly good OS and you can run Emacs natively and use tramp to open remote files over ssh. I do it every day, it's awesome because I'm using my local emacs configured the way I like it and I can edit files on any server that has sshd running. Problem solved.
It's even 24.1. I only have patchy wifi now so I haven't been able to finish the install yet on my tablet but it installed and ran M-x tetris just fine on my phone.
Sadly the vast majority of the C emacs core is platform-specific code, the sort of thing that emscripten would be worthless at.
That being said, a manual port of the VM and C modules is not inconceivable.
But what I'm really wondering: what makes you say C-k (kill-line) is the most useful command ever? This is slightly inconvenient with basic Windows shortcuts (shift+end ctrl+x, approximately). I tend to think one of the functions which isn't trivially replicated in other environments is more useful. Just curious...
A little bit of a joke, but it's based on a bias that the best thing you can do to source code is make it smaller. To its ridiculous conclusion wiping out every line leaves you with a program with no bugs. :)
I had no problem deleting and re-inserting that above sentence with C-k and C-y, in the textfield, for example. Hell, even C-t works.
And even for the combinations which can't be captured, the new Chrome platform app API lets you stop those.
See http://support.google.com/chrome/bin/answer.py?hl=en&ans... (Create shortcuts for other apps) which I found via http://stackoverflow.com/questions/7295508/javascript-captur...
All Google Chrome keyboard shortcuts are now not interfering when used in ymacs (C-j, C-k, C-n, C-p, C-t, C-w).
And 2 years ago: http://news.ycombinator.com/item?id=1862442
And 3 years ago: http://news.ycombinator.com/item?id=962562
...
- <title>Ymacs by brettcvz</title>
+ <title>Ymacs by tageorgiou</title>I just integrated filepicker.io. The source is at https://github.com/tageorgiou/ymacs
I am taking the time because that's the most emacsy (unintended bun) experience I've had in a web editor and to me that is a compliment.
I had to "Load its own code!" and read it to jump over these brick walls:
* C-x C-b is undefined
* C-h gives me a chrome://chrome/history/ lesson, but that might be chrome's fault
* M-x sounds the bell (why?) but "that's all she wrote". Neiter ? nor SPC do more than insert themselves in the minibuffer. Reading sources I find M-x switch_to_buffer (C-x b) would work, if only by keyboard (the menu does not allow one to actually pick an entry).
Why not implement C-x C-b? Would it be that hard? Or just let it do what C-x b does for now?
M-x ? and M-x SPC listing all available commands would be a big win too.
But a commad like M-x switch_to_buffer should not really be presented to an emacs user, make that M-x switch-to-buffer, even if some internal mapping may be needed.
This HN article links to http://tageorgiou.github.com/ymacs/ and [Try Out] there links to http://tageorgiou.github.com/ymacs/demo/
* It seems to have some character encoding issues in the modeline:
ymacs.frames[0].getModelineElement().innerHTML
"-- <b>test.js</b>  49% of 1.35k  (13,3) "
[Live demo] at http://www.ymacs.org/ links to http://www.ymacs.org/demo/
* Modeline looks good in this one:
ymacs.frames[0].getModelineElement().innerHTML
"-- <b>test.lisp</b> (1,0) "
brettcvz, mishoo, tomelam, keep up the good work, I really like this!
EDIT: I just realized that it's not clear. I do use the client and it works really well from my computer. It doesn't work very well from a computer lab.
I keep all my code on a folder in Dropbox, and it's the only folder that I sync. (I don't want large images, PSD's, etc getting synced on my MB Air)
That's the entire point of the dropbox model. It's a folder. That syncs automatically. No crappy upload pages needed.
In seriousness, this is quite a cool attempt. For some reason, using an international keyboard with the application prevents me from ever getting the ' character to appear. I'm not sure why this is the case.
My plan is to use parenscript to convert the org elisp code to Javascript and provide some extra functionality such as document export through a webserver running headless emacs. Any opinions on this idea? Could this be possible with YMacs?
Edit... ok refreshed the page a few times and it seems to be working now. Cool.