GNU Emacs; Does the GUI version offer anything more than the ability to have a GUI menu?

There used to be more restrictions, but since GNU Emacs 23, the text mode interface can do most of what the GUI interface can do. Also, since GNU Emacs 23, you can combine X frames and text mode frames in the same Emacs instance.

Running in a terminal limits the input key combinations Emacs can recognize, because the terminal emulator often doesn't transmit distinct escape sequences for all key combinations. Most terminal emulators don't support all combinations of modifiers with ASCII characters (things like C-S-a or C-; or modifiers other than Ctrl, Shift and Meta/Alt). You can't distinguish tab from C-i or backspace from DEL (or C-h depending on the terminal emulator setup). There is a proposed standard for encoding escape sequences in a systematic way but many popular terminals don't support it.

In a terminal, you get bold, perhaps italics and underline, and however many colors the terminal supports. Under X, Emacs can use multiple fonts, and display images. Whether that's useful or not is mostly a personal preference. Don't knock it until you've tried LaTeX font-locking (in AUCTeX) and rendering of mathematical symbols and diagrams through x-symbol (I tried, and didn't like it). If you use Emacs as a browser, image support is a plus (or not).

In a terminal, you're limited by the terminal's support for encodings (but most at least support basic Unicode features nowadays). The X interface lets Emacs choose its own fonts and mix them in fontsets; this is useful if you edit multilingual documents that aren't covered by a single font. I don't have enough experience with non-latin languages to say whether Emacs is better than your typical terminal emulator at coping with “difficult” languages (combining characters, double-width, left-to-right (which Emacs 23 doesn't support anyway, Emacs 24 should)).

There's obviously mouse support in the GUI interface. In the text interface, you can turn on mouse support if running in a terminal emulator under X with xterm-mouse-mode. You can get X clipboard support as well. The GUI version has a few extra features like tooltips, mouse avoidance, and mouse-activated context menus.

You can use the menu bar with either interface. The X version can put up icons at the top of the frame (the tool bar), not that I've ever seen any use for them. You also don't get dialog boxes or scroll bars in text modes. You don't get multiple-frame convenience such as speedbars or an ediff control frame.


In a word: No.

The GUI is just a convenience layer of menus and such that allow you to see some of the tools you have at your disposal at a glance and click to activate, but it is just an alternate interface to the same program. The only things that could be considered additional "features" are the integration with the environment. Copy/paste, drag and drop files to the window to open, things like that.

The same goes for vim vs gvim. The program is the same, the window is a fancy wrapper on the same horsepower.

Tags:

X11

Emacs