[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ps-print-buffer-with-faces doesn't use selected frame's background

From: Vinicius Jose Latorre
Subject: Re: ps-print-buffer-with-faces doesn't use selected frame's background
Date: Wed, 10 Jan 2007 03:01:42 -0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20061211 SeaMonkey/1.0.7

Hi Leo,

Thanks for the Emacs image.

Leo wrote:
Hi Vinicius,

* Vinicius Jose Latorre (2007-01-08 23:21 -0200) said:
Hi Eli,
Hi Leo,

Eli Zaretskii wrote:
From: Leo <address@hidden>
Date: Sat, 06 Jan 2007 17:29:34 +0000

* Eli Zaretskii (2007-01-06 12:59 +0200) said:
`ps-print-buffer-with-faces' will print a dark background buffer
into a .ps file with white background. This makes the text
difficult to read.
This is a feature.  See the variable ps-use-face-background for how
to override it.
I play with it. I put the buffer I want to print in another frame and
swap its foreground and background by modifying frame parameters so
that the change only happens in that frame.

But then printing still uses the global frame parameter's foreground
and background colors instead of the selected frame's. Is this a bug?
I don't know.  Vinicius, could you please look into this?  Thanks.

ps-print does not get color frame parameters; it only deals with faces.

The variables ps-default-fg, ps-default-bg and ps-use-face-background
are only relative to faces.

So, to get the frame parameters to print you could use some function like:

(defun my-ps-print-buffer-with-faces (&optional filename)
 (interactive (list (ps-print-preprint current-prefix-arg)))
 (let ((ps-default-bg (frame-parameter nil 'background-color))
       (ps-default-fg (frame-parameter nil 'foreground-color))
       (ps-use-face-background t))
   (ps-print-buffer-with-faces filename)))


Thank you for the answer.

However output from ps-print does not look good generally in a dark
background? Is this a known problem?

Ok, using the ps-default-bg default value (white) is not good when using a dark background.

This is neither a problem nor a bug.

You could set ps-default-bg and ps-default-fg to a suitable color.

One possible way to improve ps-default-bg initialization could be set it in ps-print with

  (frame-parameter nil 'background-color)

The value of ps-default-fg and ps-default-bg variables are not changed when 
frame parameters change.

Note that even the initialization above will not be good if the frame 
parameters (background-color and foreground-color) are changed dynamically.

ps-print also allows face remapping, so, the initialization above could not be 
good depending on the colors used.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]