16 ms·
On Emacs 28’ context menu and Unix mouse-usage in general
- DoctorNick 5y agoI thought that said "28 foot context menu" and I was like, yeah, that sounds like Emacs.
- _y5hn 5y agoF10 brings up Global Menu, so you can turn off menu in GUI. I just found out earlier today after looking for context-menus.
- alkonaut 5y agoThe #1 reason to use a mouse for me is to do input you can't easily do any other way. The first is hover info for things that are't anywhere near the cursor. I don't want to move the cursor in order to hover an identifier 20 lines and 40 columns away. Because once I have hovered it for info, I still have the cursor in the right spot. BUT, that I can also do with a trackpoint/ball/roller/whatever. The most important mouse thing is for freehand input like drawing. It's just not ergonomical to do that kind of thing with a trackball. Using any kind of pointer to move a cursor in text or navigating to a different window or a different textbox isn't really a good idea. That's done better with a keyboard. But the thing most keyboard purists overlook is the thing they don't do at all (draw, hover), so they don't miss it.
- deleted 5y ago[deleted]
- ghostly_s 5y agoWhy was the title edited here? Disappointed not to find an article about a 28-foot-long menu…
- worik 5y agoThe thing I love about emacs is how extensible it is. The thing I hate about emacs is how extensible it is Emacs was invented in 1976. You think it would be stable by now? I filed a bug report for a sub-system I will not name because I think the developers are horrid people and the software fabulous, and I was abused, shouted at and called names for using an emacs distribution three years old (out of date they called it). That is I was using software that was forty four years old. I love you emacs - I hate you emacs -
- hsbauauvhabzb 5y agoI find it’s age awkward too. The terminology used (kill, buffer, window, etc) don’t fit at all with modern desktop terminology. Keyboard navigation doesn’t fit any modern standard either (cut/paste,etc) aside from linux terminals which have inherited it from eMacs. I’ve tried to (with some success) standardise keyboard shortcuts across my entire desktop (linux w/windows vms) but im forever in keyboard he’ll. In addition, I have awkward performance in emacs - character movement triggers a buffer save which occurs in the main thread resulting in a pretty constant lag. Am I the only one that likes the emacs concept, hates lisp, and hates eMacs to the point where I think it should be rewritten?
- LanternLight83 5y agoWith the pace of development, any given bug or issue could have been fixed within the past few years- I do see your point about Emacs's stability and dev-additudes, which can stand on it's own, but I usually do try to replicate an issue on a clean install (minimal config needed to reproduce the issue) of the latest (released) version before filing a report. Dev time is as scarce as our own. Additionally, if the amount of configuration needed to reproduce your issue is prohibitive, that sounds like it might actually be an emacs-distribution issue? I dont want to be too caught up in the cons. criticism- thanks for bringing it to someone's attention in the first place c:
- alipang 5y agoI'd imagine you can use a keyboard shortcut as well to open this menu, but based on the text cursor, rather than the mouse one. I do this a lot is vscode to auto-fix issues and automatically add imports for the identifier under the caret. It's however frustrating in that it sometimes uses the underlying platform's dropdown widget, which doesn't respect my key bindings (Emacs-like, using C-p, C-n for up, down etc).
- link0ff 5y agoIndeed, you can use the keyboard shortcut Shift-F10 to open the context menu based on the cursor location.
- chungus 5y agoUsed to be the dogmatist: "mouse is bad!" Now I'm a pragmatist, do 90% of my work on a Thinkpad using keyboard shortcuts, but use the little red trackpoint mouse whenever it's more convenient. As long as I don't have to move my arms.
- necrotic_comp 5y agoYep ! The mouse isn't a mouse if it's on the home row. :) Not enough people got behind the trackpoint in its day and it makes me sad that it's not the default mouse input for programmers.
- Sanzig 5y agoIf you want to be "that person" in your office, Unicomp makes buckling spring Model M keyboards, and they have one model with a trackpoint (the Endurapro). Looks like it's out of stock until sometime next year due to tooling issues though. https://www.pckeyboard.com/page/SFNT https://www.pckeyboard.com/page/SFNT
- necrotic_comp 5y agoEven better - https://tex.com.tw/products/shinobi?variant=16969883648090 https://tex.com.tw/products/shinobi?variant=16969883648090 - I've been using one of these since they came out and they're fantastic. I used to have one of the old thinkpad external keyboards - http://www.notebookreview.com/notebookreview/lenovo-thinkpad-usb-keyboard-review/ http://www.notebookreview.com/notebookreview/lenovo-thinkpad... - and I used those until they broke and I couldn't find more. I haven't used the unicomp ones, but I can wholeheartedly recommend the shinobi.
- gjvc 5y agoGoogle for KU-1255
- trabant00 5y ago> irrational fear of the mouse dominates amongst Un*x dogmatists. Be it because their tools don’t integrate, or because it is a symbol or rebellion, a means to differentiate their prior ignorance from the enlightenment they have attained Or maybe we've learned something in the decades we've been working, since before you were actually born. Get off my lawn know-it-all college kid!
- pjmlp 5y agoHaving started UNIX on Xenix, followed by DG/UX with twm like window manager, and an heavy XEmacs user during its heyday, I agree with the know-it-all college kid.
- trabant00 5y agoWhat exactly do you agree? That I'm not allowed to like my keyboard focused setup? That I can't avoid the mouse as much as I want? That he should be sarcastic with people who like to work a certain away after working for longer that he has lived?
- ReleaseCandidat 5y agoYou're allowed to do _all_ of that. Just don't force others to have to do the same. And yes, I used mice at a time where the middle button actually had been a button ;).
- ebiester 5y agoBut that's the thing - the article author is talking about a context menu, which by default means that everything from the context menu can be done by keyboard means. As for me, I'm another greybeard that doesn't need a mouse, but defaults to using it over a keyboard-only setup. Keyboard shortcuts are great for things that are frequently done, but I'd rather not spend the time to remember rarely-used features.
- narraturgy 5y agoI'm relatively young, only 30, but I have the "privilege" to work on a variety of 90s-era windows-based systems. Everything is mouse-driven. When you have to use the mouse to navigate between multiple nested GUI pages, and each one has a couple seconds of load time, and the button to get to the next level is in another spot relatively to where the previous button you clicked was, it takes hours of your day just navigating between contexts over the course of an entire work day. People who think my fear/hatred of the mouse is irrational have never had to work on the irrational systems and terrible UX that the widescale prevalence mouse has enabled.
- pjmlp 5y agoWhich is kind of ironic given the UIs of traditional UNIXes like CDE, NEWS, OpenLook and NeXT, with keyboard shortcuts alongside three button mouse usage. Somehow down the line the FOSS UNIX generation decided that the ways of twm were what one should aim for. I guess there is some romanticism to work as on the early UNIX years.
- HeckFeck 5y agoNot to mention IRIX's 4dwm. There was a different path available indeed.
- badsectoracula 5y agoThere are some exceptions to this though, e.g. Window Maker (which is what i use) feels like everything is made primarily to be used via the GUI and using a mouse (it even has a WYSIWYG global menu editor where you work with it by drag and dropping items on it instead of editing text files like you'd find in the vast majority of window managers or providing some barebones tree editor with add/remove/etc buttons like you'd find in most DEs - and AFAIK it is the only WM or DE to provide a WYSIWYG theme editor). I find it amazing that Window Maker is both among the most powerful window managers i've used and the most convenient and graphical (FVWM is probably more powerful but it certainly isn't as convenient to configure/set up).
- pjmlp 5y agoNo wonder given that it builds up on NeXT window manager concepts. It was actually my window manager of choice between 1998 and 2003 when on Linux distributions, and I had my collection of mini widget apps. Nowadays it seems mostly stable, to put it on a nicer way.
- badsectoracula 5y agoIt looks like NeXTSTEP but it isn't really following its concepts beyond those looks. I did use NeXTSTEP for a bit some time ago, after years of using Window Maker and NeXTSTEP's window management felt very primitive in comparison. > Nowadays it seems mostly stable, to put it on a nicer way. Sadly it has some bugs, though it is largely external stuff (RandR support was never implemented properly and is so broken that i don't think it is even compiled in by default, mouse settings do not work since it uses some old APIs, EWMH support is buggy/incomplete and some applications that assume it is always there have issues under it), but UI-wise it is stable (in that it doesn't try to reinvent itself - a 1997 screenshot of WM looks pretty much the same as a screenshot from a current PC, aside from increased resolutions, at least unless you are on a cheap laptop :-P). I do try to fix some bugs myself and implement features whenever i get too annoyed by something though.
- somat 5y agoDisagree highly, the x11 select/middle click paste is the best way to copy/paste by far. To the point I start to get visibly upset when trying to copy and paste on windows. you would think ctrl+c ctrl+v is easy and simple, but it is infuriatingly slow compared to the x11 method. To really throw gasoline on the mental fire, middle click on window usually puts you in some sort of stupid alternate scroll mode.
- w4rh4wk5 5y agoAre the commonly used file explorers also using this method to copy/paste files? If not, I wonder why.. </sarcasm>
- alkonaut 5y agoOriginally in the 1990s when there were 3-button mice without scrollwheels, especially on Sparcs and whatnot, middle clicks were good. But then mice standardised on scrollwheels and the middle button being the depression of the scrollwheel - and it's not so good anymore. It's way too easy to accidentally scroll when clicking a mouse wheel, and few people would disable the scroll wheel or get 90's type straight 3 button mouse. The middle click in windows for "scroll mode" (or something) as you say, is useless. And I can only assume that's a mode that exists precisely because people without scrollwheels still need to scroll so it emulates the wheel. Poorly.
- ReleaseCandidat 5y ago> Disagree highly, the x11 select/middle click paste is the best way to copy/paste by far. I prefer a right click. Mainly because middle click is _awkward_ using most laptops.
- vladvasiliu 5y agoWhy? You can tap with three fingers for the middle click. It may not be the default, though. Even my ancient HP ProBook's abysmal touchpda supports this.
- ReleaseCandidat 5y ago
- Spunkie 5y agoI really consider context menus to be the most intuitive way to work with git. I made the switch to Linux earlier this year but I still miss tortoisegit literally every day.
- BeetleB 5y agoSurprised they don't have tortoisegit in Linux. Tortoisehg exists on both Windows and Linux.
- Stratoscope 5y agoYou might try SmartGit. I use it on Linux and Windows and love it. I especially appreciate the way it makes it easy and obvious how to do things that would be complicated on the Git command line. Some examples: Committed to the wrong branch? Drag the branch markers where you want them. Want to see a diff between the files in two commits, possibly on unrelated branches? Click one commit, Ctrl+click the other, and the file diffs are right there. Lost a commit and now you have to trawl through the reflog? Turn on the "Recyclable commits" checkbox and all those reflog commits show up as normal commits, complete with diffing as noted above.
- ltultraweight 5y agoAnd I miss the speed at which magit works on Linux, when I have to use Windows for development.
- NoGravitas 5y agoSame. Apparently magit is somewhat faster in WSL2, and eventually we'll get magit-libgit, hopefully.
- bitwize 5y agoMaybe it's because rat wrestling isn't nearly as efficient as it's made out to be, and not as efficient as a good keyboard command set anyway. Mouse-driven UIs are great for beginners who are afraid of computers to find commands. They're terrible for efficient workflows in the hands of seasoned workers because they insert a multi-step process of "acquire mouse with hand, acquire pointer on-screen, move pointer to target, click, optionally drag pointer to alternate target, etc." between you and whatever you want to do. Mice (or pointers in general) are absolutely essential in some applications: drawing and painting, CAD, 3D modelling, etc. There also hasn't been a better flow for web browsing than simply clicking on links. But making the mouse supreme has added friction to workflows in fields from programming to simple data entry. It's why I never could really get behind the Acme text editor, as cool as it is on principle.
- michael-ax 5y agoI'm in the middle of redoing my 5 yo config from the ground up for emacs'29 to take advantage of byte code compilation* -- and there's a lot happening in that accessibility of features space! there are new better completion frameworks and new better ways of handling, thinking about and using key-maps .. so it look as if we're just one breakthrough away from having keymaps and menus attain some kind of parity with what M-x and M-: can deliver. my emacs, being more of a computing environment than an editor, had 11 k org'd loc. I'm dumping that for small elisp files editable with outshine so i can nimbly add customizations to these menus and the other three dozen breakthrough (for me) packages that have appeared over the last few years. this is all very exciting!
- taeric 5y agoWhat are the new better completion frameworks? And in contrast to which older one? (Asking as a helm user.)
- jonpalmisc 5y agoI only got into Emacs last year or so, but I’ve never used anything but company-mode. I’m also curious if this is what they are talking about or if there’s something else I’m missing.
- cjauvin 5y agoThey are talking about frameworks leveraging and extending the builtin Emacs completition mechanism [1]. The most well known ones are Ivy and Helm, I believe, but there are now many others. [1] https://www.gnu.org/software/emacs/manual/html_node/elisp/Completion.html https://www.gnu.org/software/emacs/manual/html_node/elisp/Co...
- jonpalmisc 5y agoI realized this after it was too late to edit my comment. Apparently a year of using Emacs is not enough to stop confusing “completion” and “auto-completion” in my head..
- fatbird 5y agoA 28 foot context menu is obviously going to be a UX problem.
- codesections 5y ago> When debugging code or studying a program, it is quite comfortable to depend on only one hand, and have the other free to scribble or relax. I wonder if the OP is ambidextrous? If using the mouse gave me a hand free to scribble some notes, I'd be a much more enthusiastic mouse user. Alas, both writing and mousing require my right hand, and there aren't many good uses for my left.
- jodrellblank 5y agoEnglebart’s classic “Mother of all Demos” has him using a mouse in his right hand and a one-handed chording keyboard in his left hand. USB mice are cheap, plug two in, one on each side. Makes it easier to use non-dominant hand occasionally without having to move the mouse around.
- BeetleB 5y agoIt's easier to train your non-dominant hand to mouse than to write. It's awkward initially, but for most people takes only a few days to be comfortable with it. Then they switch back and forth easily (I do it several times a day). As an analogy, a lot of people (including me) started writing on a keyboard with only one hand (or at least hitting most buttons with one hand). We had to train our brains to use both. That was a lot more challenging than learning to mouse with the other hand.
- throw10920 5y agoI tried to train myself to become ambidextrous at one point. I failed, but in the process, I learned a few interesting things - one of which was that it was far easier for me to train myself to competently use my left hand for mousing than for writing. This might be the case for you, too - try using your left hand to mouse for a day or two and see if you can get the hang of it.
- michael-ax 5y agoEXACTLY! I just came back to add this observation. I started to code at 14. At 20 i was consulting and ran across my first system with a mouse. I quickly realized that there was no profit in using it with my right hand since that was needed for numpad and shift selects etc. So I moved the mouse to the left and never looked back. My hand just goes there when it makes sense -- never breaking my focus or the close-contact my right has with the keyboard. That has made this entire discussion about mouse good/bad a non-issue. It may take some time to train yourself if you're not a puppy anymore, but its worth stepping out of that argument and into something else. "for crying out loud", "they even moved the f-keys to the top row so that you can have the mouse on the left of your keyboard!" /<smiles> (p.s. op .. at 36 i learned to play the conga and that allowed me to go crazy with the ambidexterity like nothing else, ever. just buy a set and give it a go!)
- SAI_Peregrinus 5y agoThe best UIs IMO tend to be those that allow operation with the left hand on the keyboard home row, and the right hand on the mouse. Keyboard shortcuts should be preferentially towards the left side of the keyboard. Quite a bit of CAD & graphics software works this way. Keyboard-only is decent for text, and particularly good for text where everything that needs to be edited will be on the screen at the same time.
- BeetleB 5y ago> The best UIs IMO tend to be those that allow operation with the left hand on the keyboard home row, and the right hand on the mouse. Which would suck for left handed people.
- matthberg 5y agoNot quite the case, thankfully. I'm left handed and greatly benefit from this style of keyboard layout. I tend to notice that I'm more finger-agile with my left hand, which helps with quickly chained left hand shortcuts (C-z/x/c/v/a/s/tab, M-x, anything with shift or windows) and WASD movement. As for the right, as some other commenters have noted it really isn't that bad to use your non-dominant hand with a mouse. Most of the movement precision comes from the wrist and elbow, rather than finer finger control.
- paulmooreparks 5y agoI switched to using the mouse with my left hand because of this. One day in the middle of a long coding session I noticed I was moving my right hand back and forth a lot between the keyboard and the mouse, so I picked up the mouse, moved it to the other side of the keyboard, and started using it that way (still in right-hand configuration). I've been using it that way for over 30 years now. Because I kept the mouse in right-hand configuration, I can use any mouse with my left hand without having to switch the buttons, and I can also still use the mouse right-handed.
- throw10920 5y agoI was just about to write something like this. I call this model the "MOBA interaction model", because in those games (which include League, Smite, and Dota) you must place do exactly this. I, too, wish that more interfaces worked this way - but there's a fundamental problem, which is that many tools (including all Unix ones) are more efficient when you can input text, which necessitates the use of both hands on the keyboard.
- tsuru 5y agoIf hands-on-keyboard-and-mouse (HOKAM?) is important, I would suggest looking at the digital content creation apps like Blender and Maya context menus and pie menus for inspiration. I know with my use of Emacs, I'd probably use or configure it like a fancy which-key: use the mouse to navigate / filter the available choices but then use the keyboard for final selection.
- lolcowe 5y agoYou guys should update to emacs 1000 (vim)
- yjftsjthsd-h 5y agovim isn't even the same class of tool; vim is a text editor, emacs is a lisp environment that implemented text editing (in between an email client, web browser, git frontend, task tracker, ...). And I say that as a vim user.
- User23 5y agoIn a lot of ways, GNU Emacs is the last life raft from the MIT AI Lab and its Lisp Machines. I'd still love to see a Linux/SBCL Lisp Machine. I wonder to what extent such a thing is possible. On another tangent, I'd love to see an Elisp compatibility package for Common Lisp, which would essentially be GNU Emacs with the C bits replaced with Common Lisp.
- int_19h 5y agoIsn't the whole point of a Lisp Machine that it's architecturally optimized for Lisp (rather than C, which is what underpins all of the modern Unix/Linux infrastructure)?
- User23 5y agoThat’s my understanding too, which is why I wondered to what extent it’s possible. SBCL produces performant code so I am hopeful an efficient Lisp Machine could be built on x64 hardware.
- int_19h 5y agoBut if you build it on x64 hardware, then it wouldn't be a Lisp Machine pretty much by definition, no? Or do you mean a machine that boots into Lisp, effectively using it as the OS, regardless of hardware?
- hestefisk 5y ago
- Kessler83 5y agoHahaha, like you are some sort of brave free-thinker for using the mouse! There are tons of reasons for preferring the keyboard, one of which is to alleviate the hand and shoulder pains resulting from pointing and clicking with a mouse for 35 years ... Go into any work place where people work with mouse-heavy applications all day, and count the number of employees who have had to resort to special solutions, like trackballs, trackpoints or roller-bars. I'm not saying you can't get pains from a keyboard---not least from Emacs unless you switch capslock and ctrl. But the intro to this article is kinda silly I think. It's not a statement to use the keyboard, and you certainly aren't a rebel if you don't.
- throw10920 5y agoI've been using Linux, traditional Unix editors like vim and emacs, and other keyboard-driven tools for the past decade with very little mouse use, and I'm starting to get RSI as a result. Singling out mouse-use for this is a wild claim, especially because typing on a keyboard involves far more RSI-inducing motions (many tiny repetitive finger-motions) than using a mouse. Also, the author is specifically speaking about "Unx dogmatists" (not programmers in general), where using the mouse absolutely does* make you a rebel.
- BeetleB 5y ago> I've been using Linux, traditional Unix editors like vim and emacs, and other keyboard-driven tools for the past decade with very little mouse use, and I'm starting to get RSI as a result. Eh - it's well known in my company where some jobs are mouse heavy and some are more keyboard heavy. Both camps get ergonomic pains, but it is more common with the mouse heavy folks. Typing can affect hands, wrists and forearms. Mousing affects neck/shoulder/side more. People who get it with typing tend to get it after extended use (years). People doing mouse heavy CAD work often get it quickly (1-2 years) unless they're aggressively trying to mitigate it. Contrary to what I just said, I do think they are equally prone assuming equal usage. The reality is that a lot of programming jobs do not require a lot of continuous keyboard usage - you spend a fair amount of time thinking. It's why I get more ergonomic issues when typing emails or writing documentation than when programming. Mouse heavy jobs, OTOH, often involve continual mouse use. So they automatically are more at risk.
- daptaq 5y agoI wrote this mess, and didn't expect this to end up here. To clarify, I wrote the first section because polemics are fun, not because I am claiming to have discovered something radical. My imagined addressee is the kind of person who thinks that mice were a mistake, and keyboard-oriented terminal usage is the one and only truth. Partially a straw man, but a good enough approximation of some people I have met. The main intention is to demonstrate how context-menu-mode works, how to extend it yourself and call for people to test it before Emacs 28 is released. Having written a few forgettable articles, I ended up forgetting that intentional provocation attracts unintentional attention.
- BeFlatXIII 5y agoThe title, both here on HN and on the article is missing an s. Currently, it reads as "Emacs 28' context menu", which implies that the context menu is 28 feet tall. It is probably meant as "Emacs 28's context menu".
- bagels 5y agoThat is the only reason I clicked, to see a 28 foot menu. Was disappointed.
- daptaq 5y agoFor some reason I thought that you don't have to add a possessive "s" after 28 (in the same way you wouldn't after Emacs'). As I only use metric units, I would have never seen the "28 feet" thing. Thanks!
- kstrauser 5y agoYou’d still use a possessive “‘s” after “Emacs” because it’s singular, like “Emacs’s context menu”.
- chuchana 5y agoThank you, I (probably re-)learned some English today :) As a non-native speaker, I looked it up because my intuition didn't align with your statement. Those who downvoted probably should have done so, too, or explained why they think otherwise. https://en.wikipedia.org/wiki/Apostrophe#Singular_nouns_ending_with_an_%22s%22_or_%22z%22_sound https://en.wikipedia.org/wiki/Apostrophe#Singular_nouns_endi...
- tgbugs 5y agoThis is a useful practical introduction to the new context menu functionality. Since power users rarely use the mouse or right click at all, I have found that context menus are a great space for making custom functionality accessible to semi-technical users on a file by file basis. Yes, this breaks all sorts of usability guidelines related to consistency. On the other hand if used judiciously it can save the user an enormous amount of time by giving the a single place to look for functionality that is relevant to them in a given context.
- stingraycharles 5y agoOh absolutely, even as a 20+ year emacs user, if I don’t use a package on a daily basis I keep forgetting how it works. I’m looking at you clj-refactor. Context menu is a great place for these things. If it’s not in line with how out emacs overlords thought things should work, they should provide a better solution for it.
- chrisfinazzo 5y agoMy god, a mouse click which actually does something in a Terminal prompt! What a concept. /s But seriously though, if I could just ask for two things in emacs: 1. Enable mouse mode by default (Yes -- I love UNIX too, but this is ridiculous) 2. Give up on "yanking" and "killing" with only the keyboard and allow for text selection with the mouse. OP touches on this a bit, but why anyone should have to write their own functions to accomplish it is a bad sign. Because I know I will get yelled at for this - especially #2 - is this limitation due to the fact that emacs (and I guess, vi) act like a pager with distinct modes of operation? And, yes I know GUI versions exist, but I shouldn't have to switch to something else just because the canonical implementation is incomplete. /rant
- eatmygodetia 5y agoI don't see why you wouldn't consider graphical Emacs to be the canonical implementation. It's part of the primary codebase, several features enabled by default rely on it, and it's what is started when you run emacs with no arguments.
- chrisfinazzo 5y ago> ...and it's what is started when you run emacs with no arguments. Well, actually... Not as of macOS 11 it isn't. Installing the latest version from Homebrew also presents a terminal interface - hence my questions re the available GUIs. Similar to mpv, they make a distinction between Formulas and Casks.
- donatzsky 5y agoMouse selection works fine. At least if you use the gui. And, really, if you're using emacs in the terminal, you should consider switching, since it works much better in the gui.
- twobitshifter 5y agoHas anyone ever used blackbox or open/fluxbox? The context menu can be very amazing and minimalistic. I don’t use those DEs today, but they did change my mind in terms of what is needed in a desktop for effective interaction.
- sulam 5y agoI was hoping someone had made a context menu that is 28 feet long when you scroll through all the options. Sadly, no such hilarity presented itself. :)