dulu m4v3r1ck pernah tanya soal Psuedo vs. True Transparency di list ini,
berikut adalah penjelasan dr author Eterm, kenapa Eterm tidak implement
True Transparancy.
On Tue, Sep 14, 1999 at 02:14:28PM -0700, Michael Jennings wrote:
> On Tuesday, 14 September 1999, at 13:48:55 (-0700),
> Ben Rockwood wrote:
>
> > I've been really curious about the transparency on
> > the icon box. The other day I relized that I could
> > see applications behind the box. How? Can we use
> > the same trick for Eterm at some point?
>
> I sent the following to the E list on August 18th. Please read it.
>
> Q: Why can't Eterm duplicate the transparency found in GQMpeg, XEyes,
> XDaliClock, etc.?
>
> A: GQMpeg, xeyes, xdaliclock, etc. all use a concept called "shaped
> windows." That means that the windows are non-rectangular. It's
> not a rectangular window with some parts transparent; it is
> actually a non-rectangularly-shaped window. So the places where
> it seems to be transparent are actually places where the window
> doesn't exist. Which is just fine for graphical applications, but
> Eterm needs to be able to render the terminal text onto something.
> Since you can't render text onto a window that doesn't exist,
> Eterm is S.O.L. So Eterm can't use shaped windows. Now, Eterm
> *could*, in theory, create a window, render the text onto an
> image, then copy the image to a mask and apply the shape mask,
> making a window that is shaped precisely to the text. Then Eterm
> would be "transparent." However, imagine the CPU power that would
> be required to do that. Then realize that the entire process I
> just mentioned would have to be redone from scratch for EVERY
> LETTER that was written to the window. So basically you have to
> have a CPU with the power of a minor deity to do it. In other
> words, for all intents and purposes, it can't be done that way.
> The best solution would be for someone to add a draw event
> redirection hook to X. As yet, however, this has not been done.
>
>
> Q: What about the way Enlightenment does shaded/translucent moves?
> Those look good. Couldn't Eterm do it the same way?
>
> A: Enlightenment is a window manager. Although X is designed so that
> the window manager is supposedly "just another application," there
> are things that window managers do that other applications
> shouldn't (and sometimes can't). Grabbing the X server is one of
> those things. Basically that tells X to ignore every application
> except Enlightenment until further notice. Only Enlightenment
> gets events while it has the X server grabbed; everyone else
> waits. Now this isn't a big deal for a window manager, but
> imagine if an application did that. Now imagine if each of the
> five or ten or fifteen Eterm windows you have open did that. You
> couldn't get anything done!
>
> A simple demonstration will show you what E does in order to
> accomplish this. Fire up an Eterm window and type the following
> at the prompt:
>
> while /bin/true ; do ls -l ; done
>
> Now, let this run as you open Enlightenment's "Move and Resize
> Settings" dialog box. Select translucent move, then click apply.
> Now move that Eterm window. See how it stopped updating?
> Basically, Enlightenment stops all events for everyone but itself
> and takes a snapshot of what everything looks like. Since it has
> stopped events for all your other apps, it knows that its data
> about what things look like will be accurate until you drop that
> window somewhere, so all it has to worry about is drawing the
> effect. Once you drop the window, everything starts up again, and
> your infinite loop goes back to work.
>
> You can try the same test with shaded moves; the same thing will
> result. You can also try two different Eterms running the above
> command. You'll see that they both stop whenever you move either
> one. If you have xclock, xload, or some other continuously-
> updating app running, you'll notice that they stop too.
>
> Bottom line: Nice effect, but it would be very bad for Eterm to
> do what is required to duplicate it.
>
> Michael
>
Best regards,
Andy
--
chandy a7 indo 607 net 607 id
http://gmail.cakraweb.com http://eworld.indoglobal.com/eworld
----------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]