unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Make button face appear magenta on a Linux console
@ 2007-04-22  9:16 Nick Roberts
  2007-04-22 10:08 ` Andreas Schwab
  2007-04-23  3:47 ` Richard Stallman
  0 siblings, 2 replies; 13+ messages in thread
From: Nick Roberts @ 2007-04-22  9:16 UTC (permalink / raw)
  To: emacs-devel


The button face uses underlining but the Linux console doesn't have that
capability.  So although the [back] button in a help buffer suggests a link,
it's not apparent that you can press <RET>/click on the the word `customize'
(which is unquoted in the help buffer) to customize a variable.  I see that in
an xterm that doesn't have underlining, the button face has a magenta
foreground (and in one that does, it keeps it's default colour - how clever is
that!).  Can someone who knows how this all works give the button face on a
Linux console a magenta foreground please? (not directly though, but via the
underline mechanism).

-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22  9:16 Make button face appear magenta on a Linux console Nick Roberts
@ 2007-04-22 10:08 ` Andreas Schwab
  2007-04-22 11:31   ` Nick Roberts
  2007-04-23  3:47 ` Richard Stallman
  1 sibling, 1 reply; 13+ messages in thread
From: Andreas Schwab @ 2007-04-22 10:08 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

> Can someone who knows how this all works give the button face on a
> Linux console a magenta foreground please? (not directly though, but via the
> underline mechanism).

This is a limitation of the linux console.  The underline and dim video
modes cannot be used with color (see the ncv capability).

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 10:08 ` Andreas Schwab
@ 2007-04-22 11:31   ` Nick Roberts
  2007-04-22 13:13     ` Andreas Schwab
  2007-04-23  0:34     ` Glenn Morris
  0 siblings, 2 replies; 13+ messages in thread
From: Nick Roberts @ 2007-04-22 11:31 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel

 > > Can someone who knows how this all works give the button face on a Linux
 > > console a magenta foreground please? (not directly though, but via the
 > > underline mechanism).
 > 
 > This is a limitation of the linux console.  The underline and dim video
 > modes cannot be used with color (see the ncv capability).

I think you're saying Xterm does the work, not Emacs.  OK, how about giving
button face a magenta foreground directly then?  Is it possible to specify
the console and not an xterm in defface, i.e, not using min-colors?


-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 11:31   ` Nick Roberts
@ 2007-04-22 13:13     ` Andreas Schwab
  2007-04-22 20:56       ` Nick Roberts
  2007-04-23  0:34     ` Glenn Morris
  1 sibling, 1 reply; 13+ messages in thread
From: Andreas Schwab @ 2007-04-22 13:13 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

>  > > Can someone who knows how this all works give the button face on a Linux
>  > > console a magenta foreground please? (not directly though, but via the
>  > > underline mechanism).
>  > 
>  > This is a limitation of the linux console.  The underline and dim video
>  > modes cannot be used with color (see the ncv capability).
>
> I think you're saying Xterm does the work, not Emacs.

I don't understand what work you mean.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 13:13     ` Andreas Schwab
@ 2007-04-22 20:56       ` Nick Roberts
  2007-04-22 22:43         ` Andreas Schwab
  2007-04-23  8:40         ` Eli Zaretskii
  0 siblings, 2 replies; 13+ messages in thread
From: Nick Roberts @ 2007-04-22 20:56 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel

 > >  > > Can someone who knows how this all works give the button face on a
 > >  > > Linux console a magenta foreground please? (not directly though, but
 > >  > > via the underline mechanism).
 > >  > 
 > >  > This is a limitation of the linux console.  The underline and dim video
 > >  > modes cannot be used with color (see the ncv capability).
 > >
 > > I think you're saying Xterm does the work, not Emacs.
 > 
 > I don't understand what work you mean.

If I do "man ls" in the xterm without underlining, words that are meant to be
displayed with an underline are displayed with a magenta foreground (likewise
bold is displayed as blue).

If a console can't do this, then presumably Emacs could by specifying the
button face as magenta.

Another possibility is to make the button face inherit from link, or info-xref
face, then, by default it gets displayed as cyan.  A long time ago I had a
patch (which I've lost now) which kept track of destinations visited in the
help buffer and used info-xref-visited for them.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 20:56       ` Nick Roberts
@ 2007-04-22 22:43         ` Andreas Schwab
  2007-04-22 23:15           ` Nick Roberts
  2007-04-23  8:40         ` Eli Zaretskii
  1 sibling, 1 reply; 13+ messages in thread
From: Andreas Schwab @ 2007-04-22 22:43 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

> If I do "man ls" in the xterm without underlining,

What do you mean with "xterm without underlining"?

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 22:43         ` Andreas Schwab
@ 2007-04-22 23:15           ` Nick Roberts
  0 siblings, 0 replies; 13+ messages in thread
From: Nick Roberts @ 2007-04-22 23:15 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel

 > > If I do "man ls" in the xterm without underlining,
 > 
 > What do you mean with "xterm without underlining"?

Clearly I don't know exactly what I mean, or I wouldn't need to ask, but I
don't think it needs much imagination and if if you keep replying to my
question with another question clearly I'm not going to get anywhere.

I mean if I have an nroff file that starts:

  .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.28.
  .TH LS "1" "July 2002" "ls (fileutils) 4.1.11" "User Commands"
  .SH NAME
  ls \- list directory contents
  .SH SYNOPSIS
  .B ls
  [\fIOPTION\fR]... [\fIFILE\fR]...
  .SH DESCRIPTION
  ...

then [\fIOPTION\fR]... [\fIFILE\fR]... displays as underlined text in an xterm
`with underlining' and with a magenta foreground in one `without underlining'.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 11:31   ` Nick Roberts
  2007-04-22 13:13     ` Andreas Schwab
@ 2007-04-23  0:34     ` Glenn Morris
  2007-04-23  3:43       ` Nick Roberts
  1 sibling, 1 reply; 13+ messages in thread
From: Glenn Morris @ 2007-04-23  0:34 UTC (permalink / raw)
  To: Nick Roberts; +Cc: Andreas Schwab, emacs-devel

Nick Roberts wrote:

> OK, how about giving button face a magenta foreground directly then?
> Is it possible to specify the console and not an xterm in defface,
> i.e, not using min-colors?

I made it blue, same as ms-dos uses. Change it to magenta if you feel
passionate about it.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-23  0:34     ` Glenn Morris
@ 2007-04-23  3:43       ` Nick Roberts
  0 siblings, 0 replies; 13+ messages in thread
From: Nick Roberts @ 2007-04-23  3:43 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Andreas Schwab, emacs-devel

 > > OK, how about giving button face a magenta foreground directly then?
 > > Is it possible to specify the console and not an xterm in defface,
 > > i.e, not using min-colors?
 > 
 > I made it blue, same as ms-dos uses. Change it to magenta if you feel
 > passionate about it.

Well, it doesn't really go with my tie... No, actually it's not quite what I
was looking for because it loses underline when available.

I've changed it to inherit from link on a tty.  This means:

1) It's the same as your change on a Linux console (cyan).
2) X based terminals with underline still display links with an underline.
3) X based terminals now generally display links in blue.  I recall that some
   people didn't like this when links were dense, but this is only on a
   terminal and their apperance on a graphical display is unchanged.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22  9:16 Make button face appear magenta on a Linux console Nick Roberts
  2007-04-22 10:08 ` Andreas Schwab
@ 2007-04-23  3:47 ` Richard Stallman
  1 sibling, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2007-04-23  3:47 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

      I see that in
    an xterm that doesn't have underlining, the button face has a magenta
    foreground (and in one that does, it keeps it's default colour - how clever is
    that!).

I suspect this cleverness is done by xterm, not by Emacs.  There is
nothing in xterm.el which would do it.  It could be that the terminfo
entry for `xterm' specifies a command for underlining, and then
`xterm' implements that as magenta when it can't implement that as
underlining.

You can probably see what's going on if you make a termscript file for
the same Emacs command sequence in both kinds of xterm.  Are they
different?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-22 20:56       ` Nick Roberts
  2007-04-22 22:43         ` Andreas Schwab
@ 2007-04-23  8:40         ` Eli Zaretskii
  2007-04-23 13:37           ` Johan Bockgård
  1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2007-04-23  8:40 UTC (permalink / raw)
  To: Nick Roberts; +Cc: schwab, emacs-devel

> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Mon, 23 Apr 2007 08:56:04 +1200
> Cc: emacs-devel@gnu.org
> 
> If I do "man ls" in the xterm without underlining, words that are meant to be
> displayed with an underline are displayed with a magenta foreground (likewise
> bold is displayed as blue).
> 
> If a console can't do this, then presumably Emacs could by specifying the
> button face as magenta.

We lack infrastructure for such features.  What we need is a way to
form conditionals inside defface forms that look at display
capabilities, so that we could, for example, define an alternative for
the underline attribute on displays that don't support underline.
What we have now allows to form conditionals on _some_ of the
capabilities, in a patchy and ad-hoc way: we can ask about color and
grayscale support, about the number of available distinct colors, and
about the value of window-system, but that's it.

(I hope it is clear that such changes are for after the release.  As a
matter of fact, even changing the default faces should not be done
now.)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-23  8:40         ` Eli Zaretskii
@ 2007-04-23 13:37           ` Johan Bockgård
  2007-04-23 21:34             ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Johan Bockgård @ 2007-04-23 13:37 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> What we need is a way to form conditionals inside defface forms that
> look at display capabilities, so that we could, for example, define
> an alternative for the underline attribute on displays that don't
> support underline.

You mean like (info "(elisp)Defining Faces")

    `supports'
          Whether or not the frame can display the face attributes
          given in VALUE... (*note Face Attributes::). See the
          documentation for the function
          `display-supports-face-attributes-p' for more information on
          exactly how this testing is done. *Note Display Face
          Attribute Testing::.

?


The `underline' face is defined like this in faces.el

    (defface underline
      '((((supports :underline t))
         :underline t)
        (((supports :weight bold))
         :weight bold)
        (t :underline t))
      "Basic underlined face."
      :group 'basic-faces)

And on my console the `underline' face is indeed bold.

-- 
Johan Bockgård

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Make button face appear magenta on a Linux console
  2007-04-23 13:37           ` Johan Bockgård
@ 2007-04-23 21:34             ` Eli Zaretskii
  0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2007-04-23 21:34 UTC (permalink / raw)
  To: Johan Bockgård; +Cc: emacs-devel

> From: bojohan+news@dd.chalmers.se (Johan =?utf-8?Q?Bockg=C3=A5rd?=)
> Date: Mon, 23 Apr 2007 15:37:59 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > What we need is a way to form conditionals inside defface forms that
> > look at display capabilities, so that we could, for example, define
> > an alternative for the underline attribute on displays that don't
> > support underline.
> 
> You mean like (info "(elisp)Defining Faces")
> 
>     `supports'

Sounds like it got implemented while I was sleeping.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2007-04-23 21:34 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-22  9:16 Make button face appear magenta on a Linux console Nick Roberts
2007-04-22 10:08 ` Andreas Schwab
2007-04-22 11:31   ` Nick Roberts
2007-04-22 13:13     ` Andreas Schwab
2007-04-22 20:56       ` Nick Roberts
2007-04-22 22:43         ` Andreas Schwab
2007-04-22 23:15           ` Nick Roberts
2007-04-23  8:40         ` Eli Zaretskii
2007-04-23 13:37           ` Johan Bockgård
2007-04-23 21:34             ` Eli Zaretskii
2007-04-23  0:34     ` Glenn Morris
2007-04-23  3:43       ` Nick Roberts
2007-04-23  3:47 ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).