top | item 24209374

Mousemacs – A mouse-driven Emacs

92 points| s_brady | 5 years ago |github.com

97 comments

order
[+] rjeli|5 years ago|reply
Nice, but this doesn't go far enough imo. I love emacs but keep using Sublime on a daily basis because it has real, native[0] mouse handling and UI. My dream editor would be a Sublime UI on top of embedded emacs. That means:

- Native mouse selection of text, proper copy/paste, ideally with a "narrow caret" instead of block cursor everywhere

- Native graphical file tree with drag and drop

- Native tabs with pretty drag and drop

- Pixel-fine resizing of panes

- Pixel-fine scrolling!!

[0]: Everywhere I say "native" above, I don't really care if it's GTK or electron (provided it's snappy) or whatever. I mean the nebulous feeling of having text areas work like every other text area on my desktop.

VimR (https://github.com/qvacua/vimr) on mac was the closest to this I ever got, and I love that editor, but I'm not on macOS anymore.

edit: Oh g-----, I'm literally describing aquamacs. I wonder if anyone has tried to run it on linux with GNUstep or something ;__;

[+] solarkraft|5 years ago|reply
> Pixel-fine scrolling!!

I don't see why software not having this is apparently acceptable. It's just disorienting to have line jumps. That's not how the real world works.

Modern Linux software is pretty good at it (GTK, Qt) as is much Windows software. However the only git GUI I otherwise enjoy using that has it is Sublime Merge.

[+] O_H_E|5 years ago|reply
> Sublime UI on top of embedded emacs.

I would _really_ pay for that.

If you throw in a simple (even if limited) interface to elisp via something like python/lua, the would be IDE nirvana for me.

[+] kleiba|5 years ago|reply
Kinda strange.

Emacs is so inherently keyboard-focused that I fail to see the point of this... nor the need for it?!

[+] thom|5 years ago|reply
I'm not sure this is true. Emacs is fundamentally command driven - everything is a command, and can be invoked, edited or replaced the same way. What triggers those is obviously key bindings for a lot of people but it's not really what makes Emacs powerful or extensible. People have diverse needs when it comes to wanting to interact with a computer, and it's great that Emacs's flexibility allows them to.
[+] vvillena|5 years ago|reply
Why not? Some things make a lot of sense, like the context menu. The current right-click behavior just sets the text selection mark. This doesn't make much sense anymore: every other editor uses click and drag to select text using the mouse. This frees the right mouse button, and a context menu makes lots of sense. Emacs is a highly complex software, which is then customized with lots of modes. Making functions accessible via a context menu would be awesome for both usability and productivity. The menus could be easily customized to further improve user workflows.

As for the rest: maybe some of the features are nice to have. I don't really care for tabs, and standard shortcuts are usually a non-issue, since everyone ends up using whatever they prefer ("standard", Emacs, or Vim). In any case, most advanced functions are usually accessed by name, whatever the editor.

The important takeaway is that every Emacs user should acknowledge the fact that the mouse is underutilized. We may not need it, but it's a huge barrier to overcome for new users.

[+] mrspeaker|5 years ago|reply
I use Emacs as my primary... everything. But I totally see the point and need for mouse-driven functionality. Emacs only works if you have two functioning arms with hands on them. Put a coffee, a sandwich, a cat, a kid, a beer... in one of your hands, and Emacs is unusable. If my cat wants some attention, I can't keep typin' stuff.

Though, not sure why the mouse-driven features are also wrapped up making shortcuts match VS-Code etc. That makes it a lot less useful.

[+] JetSetWilly|5 years ago|reply
Emacs has thousands of shortcuts for every conceivable piece of functionality. Personally, I will remember shortcuts for commonly used things - and all the other functionality may as well not exist if it is not easily discoverable.

A gui is a nice way to make a lot of functionality discoverable.

[+] melling|5 years ago|reply
Emacs is an editor construction kit.

Use your imagination and build a different editor.

[+] figgyc|5 years ago|reply
The file browser on the left and the general design of it makes me lean towards the author intending this to replace VS Code and other modeless, less keyboard focused editors, not regular Emacs, which I can see the value in because Emacs being written in C and Lisp is probably a lot more performant and lean, plus a lot of people are opposed to Electron apps in general.
[+] sn41|5 years ago|reply
I have Emacs pinkies - I see the value in similar efforts. I will try this out for some time to see if it actually helps. But muscle memory is a thing for me, it is hard to undo 20 years of Emacs habits.
[+] trey-jones|5 years ago|reply
Yeah, the main reason I started using Emacs was to try and eliminate (or reduce, I suppose) mouse usage.
[+] acomjean|5 years ago|reply
Mac has "Aquamcs" which is mac native emacs with a wierd blending of MacOS key commands and emacs commands.

It works better than expected. Its not perfect but maintains the recording/playback of macros I use all the time. The fact that mac shortcuts use "Command" which emacs doesn't use natively helps.

https://aquamacs.org/about.html

Look forward to trying mousemacs out.

-A

[+] sgillen|5 years ago|reply
The official Emacs.app also supports using the Command shortcuts while keeping all the normal emacs commands the same. In general I find that the app plays nicely with MacOS and I prefer it over aquamacs since emacs.app is newer (right now version 27 vs 25.) And I think looks nicer once I've removed the menu bars.
[+] messe|5 years ago|reply
Based on the title I hoped this was going to be emacs with acme-style mouse chording.

[1]: http://acme.cat-v.org/

[+] klik99|5 years ago|reply
I was about to say the same thing! I suggest the author of this digs into acme (easy to run plan9 on a rpi!) and borrows some of the chording, because I'm not crazy about the menu driven mouse commands shown in the repo examples.

An "acmemacs" would be amazing - might be the only thing that could tear me from emacs at this point.

[+] Koshkin|5 years ago|reply
Mouse chording is no doubt an invention of the devil herself.
[+] murgindrag|5 years ago|reply
I think this is solving several different problems:

1) I would love to have a better way to manage tabs and multiple files in emacs. This piece seems awesome!

2) Good context menus aren't as important, but a definite win! emacs is useless here. But I'm not sure your context menus are the ones I want.

3) As someone who's used emacs for a long time, I would hate to have my emacs shortcuts replaced by standard ones. I don't want to remap my brain.

I wish there were a way to pick-and-choose.

[+] abrowne|5 years ago|reply
> 3) As someone who's used emacs for a long time, I would hate to have my emacs shortcuts replaced by standard ones. I don't want to remap my brain.

As someone who's used Mac for a long time (and now Linux desktop, with similar shortcuts, plus spending most of my time in a browser like Chromium or Firefox), I chose other editors like Sublime and now VS Code partly because they use shortcuts that feel normal on those platforms so I didn't have to remap my brain. (More like my thumbs I think.) So to me the shortcuts changes in this project may be the most interesting part!

[+] gumby|5 years ago|reply
“Better way to manage multiple files”? I just asked Emacs and I have over 700 files open. Not sure what is inconvenient about editing multiple files.
[+] s_brady|5 years ago|reply
Hi - Mousemacs author here.

There is a way to pick and choose :)

The context menu in Mousemacs is a couple of dozen lines of Elisp and would be simple to rewrite. You can simply create your own context menus.

[+] clircle|5 years ago|reply
Looking through the repo, it's a handful of elisp files, so you can pick-and-choose by deleting the stuff you don't want.
[+] nanna|5 years ago|reply
The config files for this are well commented and explained. Great for someone new to emacs. Which I suppose is exactly who Mousemacs is for.
[+] timonoko|5 years ago|reply
This is the first step only. I remember in 1995 Stallman wanted Emacs to be "like Microsoft Word" with varying fonts and other formatting shit with hidden Tex-coding. Do it.
[+] Koshkin|5 years ago|reply
I do not understand the want to stick with fixed-width fonts in this day and age. We do not use the editor to punch cards anymore, nor do we type text on a character-cell terminal or a typewriter. With the high-resolution displays, code we write should look more like one that is found in some nice programming books - complete with bold-faced reserved words, italicized comments, and even some mathematical typesetting. This could even (re)open the path to the Holy Grail of literate programming!
[+] _emacsomancer_|5 years ago|reply
You can already have varying fonts in Emacs. Not quite in a word-processor-like way (thankfully!).
[+] Pelic4n|5 years ago|reply
Stallman is delusional and his push to make Emacs a WYSIWYG editor almost killed it.
[+] MobileVet|5 years ago|reply
This seems like a nice extension to Emacs for folks that want to use it but are stymied by the steep learning curve.

Personally I think the learning curve is worth it... especially with an aid like Spacemacs. It gives you the context and quick access without requiring a mouse and thus results in faster and more efficient interaction in the long run.

https://github.com/syl20bnr/spacemacs

[+] s17n|5 years ago|reply
I believe that all available evidence suggests that keyboard-only editing is not actually faster or more efficient (I say this as a keyboard-only Emacs user).
[+] bthallplz|5 years ago|reply
Very cool! I don't understand the extent to which this changes Emacs under the hood, though.

Do you think it'll still be able to run org-mode?

EDIT: Org-mode is working for me. I still don't know how to use it, but it's nice to be able to navigate through it via the right-click menus.

[+] hallqv|5 years ago|reply
I see a potential future use case for this when human-computer interaction will be done through brain interface. Will prolly be easier to integrate with nervous signals from brain to one hand (mouse interaction) compared to two hands (keyboard interaction).
[+] globular-toast|5 years ago|reply
One of the things that drew me to emacs initially was that I could customise it to reduce or, in most cases, eliminate mouse usage. Toolbars, scroll bars etc. were the first things to go. Just taking those away makes emacs must more attractive for me.
[+] newen|5 years ago|reply
Would love a more GUI focused Emacs but don't change keyboard shortcuts I've built into my muscle memory please.
[+] brodo|5 years ago|reply
Has someone tried this together with spacemacs?
[+] lbj|5 years ago|reply
Mouse-driven Emacs is like a feet-driven car. Fred would have loved to see this.