From: "Jan D." <jan.h.d@swipnet.se>
Cc: emacs-devel@gnu.org
Subject: Re: GTK pixmap background support?
Date: Thu, 14 Aug 2003 18:30:04 +0200 [thread overview]
Message-ID: <8F1738F1-CE74-11D7-BA9D-00039363E640@swipnet.se> (raw)
In-Reply-To: <buosmo5ked7.fsf@mcspd15.ucom.lsi.nec.co.jp>
> This means that calls to XClear*, and exposures, will start out with
> the
> correct background color, and emacs need only worry about changing
> other
> things. When using the GTK toolkit, GTK itself apparently uses
> XSetWindowBackground for its own purposes, but the xg_set_background
> gives
> GTK enough info to keep things basically how emacs likes.
Yes, since the display engine in Emacs uses X calls, GTK must be kept
in sync so it doesn't mess things up.
>
> However, with pixmap backgrounds, I want to use
> `XSetWindowBackgroundPixmap'
> instead -- but there doesn't appear to be any equivalent call to
> `gtk_widget_modify_bg' that takes a pixmap instead of a color! So you
> can
> see the problem: even though I've done a XSetWindowBackgroundPixmap,
> GTK
> will at some point set the window background to a color, and there
> doesn't
> seem to be any way to tell it not to, so clears/exposures come out
> incorrectly.
>
> As it happens, I think I have to support more complete redrawing modes
> in
> emacs anyway (for more complicated background tiling than just simple
> frame-relative pixmaps), but it would be nice to be able to use the
> native X
> calls when possible, as it's more efficient, and probably going to be
> less
> buggy for a while... :-)
>
> So can you see any possible GTK solution to this qunadary? I thought
> maybe
> it would possible to do something tricky by consing up a theme or
> something,
> but that seems rather hairy and certainly beyond my limited experience.
I have no solution to this. I disabled setting of a background pixmap
by GTK themes because of the problems you are seeing. I suspect you
need to look at the GTK (or rather GDK) code to see exactly what it
is doing, and how Emacs can work with it.
In general you set a background pixmap with styles. If you look at
xg_create_frame_widgets (near the end) in gtkutil.c, you can see how
it is disabled. By setting bg_pixmap in a GtkStyle to a suitable
GdkPixmap, and the apply the style to the widget, you can set a
background
pixmap for the GTK widget.
Jan D.
next prev parent reply other threads:[~2003-08-14 16:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-13 11:04 GTK pixmap background support? Miles Bader
2003-08-14 16:30 ` Jan D. [this message]
2003-08-18 6:42 ` Miles Bader
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8F1738F1-CE74-11D7-BA9D-00039363E640@swipnet.se \
--to=jan.h.d@swipnet.se \
--cc=emacs-devel@gnu.org \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.