|
From: | Vinicius Jose Latorre |
Subject: | Re: ps-print-buffer-with-faces doesn't use selected frame's background |
Date: | Thu, 11 Jan 2007 11:07:52 -0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.9) Gecko/20061211 SeaMonkey/1.0.7 |
Hi Leo,I made some tests and it is not possible to use frame-parameter in the ps-default-fg and ps-default-bg initialization, because, during Emacs initilization, ps-print is loaded before the frame parameters are set.
The settings: (setq ps-zebra-stripes nil ps-use-face-background t ps-default-bg t) seem to do what you want.The above settings could not work if frame parameters are changed dynamically or if you use face remapping.
Regards, Vinicius Vinicius Jose Latorre wrote:
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))) Regards,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.Regards, Vinicius
[Prev in Thread] | Current Thread | [Next in Thread] |