From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Xah Newsgroups: gmane.emacs.help Subject: Re: emacs mode line suggestions Date: Sat, 15 Nov 2008 17:54:02 -0800 (PST) Organization: http://groups.google.com Message-ID: <15962952-6180-41bd-abce-1b919aa55807@v13g2000pro.googlegroups.com> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1226823415 9545 80.91.229.12 (16 Nov 2008 08:16:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Nov 2008 08:16:55 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Nov 16 09:17:57 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1L1cpP-0007pY-Ri for geh-help-gnu-emacs@m.gmane.org; Sun, 16 Nov 2008 09:17:56 +0100 Original-Received: from localhost ([127.0.0.1]:54531 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L1coH-0005N1-DZ for geh-help-gnu-emacs@m.gmane.org; Sun, 16 Nov 2008 03:16:45 -0500 Original-Path: news.stanford.edu!newsfeed.stanford.edu!postnews.google.com!v13g2000pro.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.emacs Original-Lines: 262 Original-NNTP-Posting-Host: 24.6.185.159 Original-X-Trace: posting.google.com 1226800443 10970 127.0.0.1 (16 Nov 2008 01:54:03 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Sun, 16 Nov 2008 01:54:03 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: v13g2000pro.googlegroups.com; posting-host=24.6.185.159; posting-account=bRPKjQoAAACxZsR8_VPXCX27T2YcsyMA User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.22, gzip(gfe), gzip(gfe) Original-Xref: news.stanford.edu gnu.emacs.help:164491 comp.emacs:97362 X-Mailman-Approved-At: Sun, 16 Nov 2008 03:16:24 -0500 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:59829 Archived-At: On Nov 15, 1:23 am, Eli Zaretskii wrote: > > From:Xah > > Date: Fri, 14 Nov 2008 15:18:31 -0800 (PST) > > > =E2=80=A2 that the buffer location percentage should by default not sho= wn if > > emacs is running in GUI with scroll bar. > > This is already the default on _all_ types of displays, and has been > so since day one, even when Emacs didn't support scroll bars. umm? on my carbon emacs (based on emacs 22.x), it still show cursor location percentage. In my x11 emacs running in gui (emacs 21.x) with scroll bar, it also shows this percentage. > > =E2=80=A2 clicking on the file name should not switch buffer. > > That's not the file name, that's the buffer name. please get the over all picture, not bone picking. > As for what it should do, I don't see why your preference is better > than the current one. Popping a menu requires another click to > actually select a buffer, whereas the current behavior does it in one > click. typically, a user has several user buffers open, and as far as i guess many programers who use emacs extensively has like hundreds of buffers open. Cycling them one by one is not much useful. Counting emacs's own buffers, those info, messages, scratch, completions, grep output, shell output, C-h f and friends output, dictionary lookup output, ispell output, man page output ... etc... these are typically looked once and not useful afterwards. Switching and cycling thru them are not much useful. > Since there's a menu-bar menu item to do what you want, I > don't see a problem. it's more about what would be a useful behavior for clicking on the buffer name section of mode line, not about whether suggested functionality already exists somewhere. For example, the functionality of cycling thru buffers also is already in the menu under Buffers. i don't necessarily disagree with every point you make. But please consider the over all suggestion, as opposed to seeming to have a nay- say attitude and turn down the whole thing. > > =E2=80=A2 Minor mode should not be displayed there. It's confusing. > > Emacs always displayed it. Get used to it. the question is not about what emacs is. It is about what is better for emacs. if we already stick with what emacs always has been, there'd be no progress. here's a refined suggestion on the minor mode in mode line point: =E2=80=A2 Minor mode should not be displayed in mode line. It's confusing. = For one reason, it by default selectively display only some of the minor modes currently on, and the selective process is not something people who intuitively understands. For the other reason, Emacs's technical concept of Minor mode is somewhat confusing. Most minor modes in practice are Preferences settings (Mac-speak) or Options (Windows- speak and Linux Desktops) from user point of view. > > =E2=80=A2 Clicking on the major mode name should pop up a contextual me= nu to > > let user switch to major major modes. > > Switching a major mode is a very rare command, so having this at your > fingertips makes no sense, IMO. switching between modes is not rarely used. I'd estimate it is used every other hour at least. > > =E2=80=A2 line number mode should be on by default. So that, the line n= umber > > shows in the mode line. > > This already is the default. Opps, you are right. Thanks. > > The coding system shown in mode line should be removed. The current > > coding system should be shown in the menu somewhere > > It's an important piece of information, and takes only one position in > the mode line. I always hated the way IE and Outlook hide this > somewhere under View, because I might wish to know the current > encoding even if I don't need to switch it. > > > and allow users to change [coding system] thru menu. > > Emacs does have the change encoding part in the menu. I have refined my previous writings about the mode line suggestions. It has more neutral wording, with more explanations. This came in part when i just filed a bug report to GNU as suggestions so that developers have a chance to review this opinion. Please give it another try. The url is here: =E2=80=A2 Emacs's Mode Line Modernization Suggestions http://xahlee.org/emacs/modernization_mode_line.html plain text version follows: ----------------- Emacs's Mode Line Modernization Suggestions Xah Lee, 2008-12 This article gives some suggestions on improving emacs's =E2=80=9Cmode line= =E2=80=9D, so that it is more intuitive and useful. I think the mode line is one of emacs's problem in usability. emacs mode line above: Emacs's mode line. Here's what i think are better default: =E2=80=A2 The start of the mode line, displaying the coding system used suc= h as =E2=80=9C-u=E2=80=9D, =E2=80=9C-uuu=E2=80=9D, and displaying the modific= ation status like =E2=80=9C:**=E2=80=9D, =E2=80=9C% %=E2=80=9D, =E2=80=9C%*=E2=80=9D are quite cryptic. Having used emacs for 1= 0 years, these are still not burned into my brain. And it's not easy to look them up what they are unless you are emacs diehard. (e.g. you'll have to know it's technically called =E2=80=9Cmode line=E2=80=9D, then you'll have to know ab= out emacs- index-search, and in general familiar with info and emacs) It'd better to instead say =E2=80=9CRead Only=E2=80=9D instead of =E2=80=9C= %*=E2=80=9D, and show =E2=80=9CModified=E2=80=9D instead of the =E2=80=9C**=E2=80=9D. (don't show= anything when it's =E2=80=9C--=E2=80=9D) =E2=80=A2 The coding system shown in mode line should be removed. Because, = for vast majority of programers, he rarely deals with different file coding systems or coding system change, perhaps just few times a year. It is not something programers encounter on a daily basis. Also, 3 letter-code is cryptic for conveying file coding system, especially today because there are lots of them. The current coding system should be shown perhaps in the menu somewhere, and allow users to change thru menu. For programers who deals with different file systems or coding systems hourly and need it be displayed on the mode line, perhaps emacs can introduce a customization feature so that the full coding system is displayed in modeline. =E2=80=A2 The cursor location percentage should by default not shown if ema= cs is running in GUI with scroll bar. (this is sometimes shown as =E2=80=9CTop= =E2=80=9D or =E2=80=9CBot=E2=80=9D) GUI scroll bar gives intuitive indication of wher= e cursor is in relation to the whole buffer, and also gives a indication of the screen display size in relation to the buffer size, and conveys these info faster. =E2=80=A2 When emacs is running in a terminal, the special indicator =E2=80= =9CTop=E2=80=9D and =E2=80=9CBot=E2=80=9D should be shown as percentage as usual, because for s= omeone uninitiated, consistent changing of percentage as he moves the cursor is more intuitive. The code word =E2=80=9CTop=E2=80=9D and =E2=80=9CBot=E2= =80=9D could mean many things to first time users. =E2=80=A2 Minor mode should not be displayed in mode line. It's confusing. = For one reason, it by default selectively display only some of the minor modes currently on, and the selective process is not something people who intuitively understands. For the other reason, Emacs's technical concept of Minor mode is somewhat confusing. Most minor modes in practice are Preferences settings (Mac-speak) or Options (Windows- speak and Linux Desktops) from user point of view. =E2=80=A2 Line number mode should be on by default. So that, the line numbe= r shows in the mode line. How to show line number is a frequently asked question. =E2=80=A2 Clicking on the file name should not switch buffer. It could do contextual menu listing user buffers instead. (user buffer here are those not starting with =E2=80=9C*=E2=80=9D) =E2=80=A2 Clicking on the major mode name should pop up a contextual menu t= o let user switch to major modes that are familiar to majority of average programers. (e.g. C, C++, java, perl, php, bash, javascript, html/xml, python, text, LaTeX, elisp.) The menu can have a =E2=80=9CMore...= =E2=80=9D submenu to show all other available major modes. Summary I think the mode line should be like this: =E2=80=B9buffer name=E2=80=BA =E2=80=B9major mode name=E2=80=BA =E2=80=B9li= ne num=E2=80=BA =E2=80=B9status=E2=80=BA------------------- where the status is Modified or Read Only. Here's a example of such actual display: elisp_basics.html html-mode L19 Modified------------------- Also, when editing as root, it'd be nice to indicate it in mode line. Possibly making the mode line's background red, or add a word =E2=80=9C(roo= t)=E2=80=9D on the right. Some indication of being root is a frequently requested feature. If running in a GUI, clicking on the buffer name should show menu list of user buffers, those not starting with a =E2=80=9C*=E2=80=9D. Clicking on the major mode name should show a menu of commonly used major modes, allowing user a easy way to switch. (currently, emacs has no intuitive way for user to switch a mode or know what modes are available. This is also a FAQ item.) Clicking on linePos/charPos show a menu that allow user to turn on/off line number mode or char number mode. Clicking on the Read Only or =E2=80=9CModified=E2=80=9D, should show a menu= allowing user to toggle Read Only. Clicking the rest of the mode line displaying =E2=80=9C--------=E2=80=9D, c= an show all the useful info about the current buffer. For example: modified/read status, mode settings, minor modes, encoding used. This can be done as a new split window much like describe-function would. In the result pane, it can show status of other buffer local vars that are related to text editing (such as case sensitive search, how lines are wrapped, length for truncation, margin ... ). With links or active text that lets user toggle or set new vals easily (similar to the UI of the customize function). All these clicking should be Right Click, which is more standard behavior of clicking on things for contextual menu. (e.g. in Windows, Mac, Linux, system wide, and in Firefox and other browsers.) =E2=80=A2 The term =E2=80=9Cmode line=E2=80=9D could be changed to =E2=80= =9Cstatus bar=E2=80=9D in the manuals. =E2=80=9CStatus bar=E2=80=9D is more understandable to modern user= s. Xah =E2=88=91 http://xahlee.org/ =E2=98=84