From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: Changing Color Of Column # In Modeline
Date: Wed, 23 Nov 2005 22:21:33 -0800 [thread overview]
Message-ID: <DNEMKBNJBGPAOPIJOOICOEDJCPAA.drew.adams@oracle.com> (raw)
In-Reply-To: <1132791604.697417.9830@g49g2000cwa.googlegroups.com>
I was having similar problems. I'm using v21 as well. But how do you
use what you're proposing? I added it to my init file, then evaluated,
then toggled my major-mode (tcl-mode in this case). Nothing happened.
What am I missing?
The code I sent, like the code that MJF sent, requires Emacs 22, because it
uses variable `mode-line-position'. What I said wrt Emacs 21 was that you
could do something similar in Emacs 21, using variable `mode-line-format'
instead of `mode-line-position'.
The following works in Emacs 21. I just took the default value for
`mode-line-format' (defined in bindings.el), wrapped it in (:eval...), and
added the conditional face expression for `column-number-mode'.
(defcustom my-column-limit 70
"When current column is > this, column is highlighted in mode-line."
:type 'integer :group 'convenience)
(setq mode-line-format
'(:eval
(let* ((help-echo
"mouse-1: select window, mouse-2: \
delete others, mouse-3: delete ...")
(dashes (propertize "--" 'help-echo help-echo)))
(list
(propertize "-" 'help-echo help-echo)
'mode-line-mule-info
'mode-line-modified
'mode-line-frame-identification
'mode-line-buffer-identification
(propertize " " 'help-echo help-echo)
'global-mode-string
(propertize " %[(" 'help-echo help-echo)
'(:eval (mode-line-mode-name))
'mode-line-process
'minor-mode-alist
(propertize "%n" 'help-echo "mouse-2: widen"
'local-map (make-mode-line-mouse-map
'mouse-2 #'mode-line-widen))
(propertize ")%]--" 'help-echo help-echo)
`(which-func-mode ("" which-func-format ,dashes))
`(line-number-mode
(,(propertize "L%l" 'help-echo help-echo) ,dashes))
`(column-number-mode
(,(propertize
"C%c"
'face (and (> (current-column) 50) 'bold)
'help-echo help-echo)
,dashes))
`(-3 . ,(propertize "%p" 'help-echo help-echo))
(propertize "-%-" 'help-echo help-echo)))))
Note: You could, alternatively, put the (:eval ...) around only the
column-number-mode stuff, but then you would also need to substitute the
values for `help-echo' and `dashes' (because they would be quoted inside the
'(:eval ...), so they wouldn't pick up the values from the `let'). IOW, you
could remove the (:eval ...) from around the `let' above, and do this in
place of the (column-number-mode...) stuff:
'(:eval `(column-number-mode
(,(propertize
"C%c"
'face (and (> (current-column) 50) 'bold)
'help-echo "mouse-1: select window,....")
,(propertize "--" 'help-echo "mouse-1: select window,..."))))
That's maybe (maybe not) a bit more understandable, if a bit redundant. If
you don't care about the `help-echo' strings, then that becomes much
simpler:
'(:eval `(column-number-mode
(,(propertize "C%c" 'face (and (> (current-column) 50) 'bold))
"--")))
And don't forget to turn on `column-number-mode': (column-number-mode 1)
;-).
HTH. - Drew
next prev parent reply other threads:[~2005-11-24 6:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-22 1:07 Changing Color Of Column # In Modeline gamename
2005-11-22 6:26 ` M Jared Finder
2005-11-22 17:24 ` rgb
2005-11-22 21:02 ` gamename
2005-11-23 1:21 ` M Jared Finder
2005-11-23 20:32 ` Kevin Rodgers
2005-11-23 21:08 ` Drew Adams
[not found] ` <mailman.16497.1132780124.20277.help-gnu-emacs@gnu.org>
2005-11-24 0:20 ` gamename
2005-11-24 6:21 ` Drew Adams [this message]
[not found] ` <mailman.16559.1132813301.20277.help-gnu-emacs@gnu.org>
2005-11-25 23:03 ` gamename
2005-11-26 0:01 ` Drew Adams
2005-11-26 18:33 ` gamename
2005-11-26 18:53 ` Drew Adams
[not found] ` <mailman.16824.1133031197.20277.help-gnu-emacs@gnu.org>
2005-11-27 0:25 ` gamename
2005-11-22 23:09 ` Ilya Zakharevich
2005-11-25 17:55 ` rgb
2005-11-25 18:54 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DNEMKBNJBGPAOPIJOOICOEDJCPAA.drew.adams@oracle.com \
--to=drew.adams@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).