-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider enabling menu-bar by default for the benefit of new users #5669
Comments
You have a point about discoverability but Spacemacs is a keyboard centric distribution. Is it possible to navigate the menu with the keyboard ? If no, is there a package to do it ? Something like which-key interface duplicating the menu and allowing the user to navigate with the keyboard. |
Yes, you can use 'menu-bar-open ( by default) to access the menu I think an important use of the menu is to simply identify the most On 4/5/16, Sylvain Benner notifications@github.com wrote:
|
Yes, after activating the menu bar with F10, you can use the arrow keys to select an item and enter to activate it. Escape backtracks. If that's not fast enough, you can also use the letter keys to quickly select a visible item based on the first letter of the item. This means the arrow keys are not really required. If there is more than one visible item with the same letter, typing the letter will cycle through the items starting with that letter, then you activate it with enter. For example, to save a buffer you could use If that's still not fast enough, once you notice the keyboard shortcut displayed in the menu text ( |
LaCarte seems like a good option. You bind
If we could represent the menu as a keymap, we could use On 4/5/16, Troy Pracy troyp7@gmail.com wrote:
|
|
Yeah I hadn't noticed that. Even given I've also noticed that enabling tooltips makes which-key much more useful. You can hover over the which-key window to see the documentation for each function displayed. Without tooltips you only get the first line on hover. This feature of which-key should also be mentioned in the quick start. When I first started learning through which-key I had to memorize the bindings I was interested in learning more about and look them up one at a time using |
Regarding Also, you can use the function call It'd be nice if there was a special state available (from the On 4/6/16, Matthew Egan Odendahl notifications@github.com wrote:
|
I am glad Spacemacs disables the menu-bar by default.* It helped me, as someone new to Spacemacs, to learn Spacemacs keyboard commands, which I've found to be much more efficient than using the menu-bar ever was for me in plain GNU Emacs. *Update 2017-12-15: However, I can see that access to the menu-bar would potentially be very helpful for some users, e.g. per these comments from @terrycloth and @samuraijack : 1, 2. I would therefore suggest
* Thank you, Sylvain! |
We're sort of there, I guess... SPC T reveals the "UI Toggles/Themes" menu, which can then toggle the menu bar (for the current session).
Never allowing yourself to use "training wheels" is certainly one way to do it. Spacemacs is such a drastically different UI design philosophy from most modern editors, though, that it's tough to learn how to use it while also trying to do real work. Going without training wheels may require you to learn the keyboard navigation faster, but during that time would also be a bigger slow-down for any work you're doing --- so there's a trade-off. Consider this, then, too: Having the menu bar enabled is also helpful for learning keyboard commands, because you can see them right there in the menus. I personally like the idea of enabling the menu bar by default, but even if the Spacemacs team decided against doing this, I would hope it's for some other reason: Forcing new users to learn things the hard way doesn't seem like a great UI design principle, IMHO. Spacemacs uses the UI that it does not because it's hard but because it's effective, once you get used to it, and users should be able to consider the range of online and offline documentation, the tutorials, the spacebar menus, and the menu bar and any other training-wheel-like features and decide for themselves how they want to approach learning. In that light, I think this thread deserves to be considered an actual feature request (labeled as something other than |
Real world case. I'm a total emacs newbie. I'll be honest - I hate it. I would never use it, but it seems to have the best support for haskell, so not much choice. Anyway, I was struggling to realize how do I find the file in the project by partial match. And after I've enabled the menu - I found it in 1 min, just exploring the "Tools -> Projectile" section. I think the philosophy should be "give powerful commands/customizations to user", not "force the user to learn 100 new things". If user like the command he will assign his own shortcut to it - thats not a main point of being productive. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please let us know if this issue is still valid! |
Discoverability is one of the pillars of Spacemacs. The which-key package included by default helps a great deal on this point. However, it does not reveal the bindings for single-character commands, like
f10
to use the menus. While this is a fairly standard key to invoke menus, it is a somewhat obscure one. (Most Windows users, for example, expect Alt to reveal a hidden menu, and when that doesn't work, won't think to tryf10
.)For many commands a graphical menu is easier to search through than which-key, since backtracking requires a restart of the command, but the graphical menu doesn't. Some things available through the menus don't even have a keybinding. The menus also change with the modes, aiding discoverability of new features.
Emacs updates the menu text with the currently valid keybindings, including the SPC bindings, when applicable. This helps new the user to learn those bindings more quickly, since they can more easily find commands they've used from the menus before.
The buffer menu can help a vim user escape a non-evilified buffer (like Custom, see #5668), it also helps those unfamiliar with emacs understand how buffers work, since they're not so invisible given the buffer menu.
We would, of course, like new users to learn to use the keyboard shortcuts instead of relying on the mouse, but they have to discover them first. When a good keyboard-based alternative to a particular menu or menu item exists (like
SPC b b
for thebuffer
menu), consider appending a note of that to the relevant menu tooltip, and of course enable tooltips by default as well to make this possible.The text was updated successfully, but these errors were encountered: