I Want To Do Something Cool With iChat But Need Help!
You how in the Terminal app you can play around with the Transparency to make the window all clear....i want to do the same in the chat window of iChat...would be cool to see the desktop or anything behind it...i don't mean the window just where the text is in the chat window....like when you set the background....can this be done...is there a hack? Please post as i would love to have this work as i know it can be done in os 10.2
frank_t
frank_t
Comments
Frank_t
Of course it's hard. It's not something that the apps are *meant* to do. You said yourself it'd be a hack.
I don't know where i said i would be willing to do that as i don't know how too... <img src="graemlins/oyvey.gif" border="0" alt="[oyvey]" />
I am asking for help remeber
Frank_t
[ 02-21-2003: Message edited by: frank_t ]</p>
Frank_t
<strong>That looks hard.....can someone that knows how to use Dev Tools do it?
Frank_t</strong><hr></blockquote>
There's 4 steps, 1 of them is open, and 1 of them is save.
It seems it doesn't work anyways. <img src="graemlins/hmmm.gif" border="0" alt="[Hmmm]" />
[ 02-23-2003: Message edited by: serrano ]</p>
Frank_t
Frank_t
<strong>Is there a programer that knows a work around so it can be done as this can be done in the terminal app.....would it be very hard to tell ichat windows background to do the same?
Frank_t</strong><hr></blockquote>Yep... go into the iChat nibs, reclass the window or the view used to display messages. Add your custom class to the nib. Open up Project Builder and override the draw routines in this class with a call to the super's draw routines... should work perfectly!
Could you give a step by step of what and where i edit by how much and i may get it done befor i pull my hair out.....why is something so cool need to be so hard to do
Frank_t
You're talking about editing the inner workings of a compiled app. Try it sometime on any other system... not gonna happen unless you can read the assembly for that hardware and know the inner workings of the OS intimately.
Actually, the only thing blocking me from *doing* this is the lack of a header for the Aqua2Window class. Anyone have a pointer to help out a developer in need?
Frank_t
You're not a developer, are you?
Making a window transparent is easy... you're just telling the Window Server "make this one window transparent". That is one of its documented functions. That's what it *does*. All you're doing there is requesting it to do something it was designed to do and respond to external requests for.
What *you* want to do is to dig into the inner workings of iChat, tease out the one object that is the background of the iChat chat window, and tell it to go transparent. Oh yes, and the window itself needs to know to have a transparent pass-through background as well, without forcing transparency on all objects.
VERY different. I'm sorry you're frustrated that this is 'difficult'. (It's not, really, and the fact that we even have a chance in hades of doing it at *all* is a testimony to the design of the inner workings of MacOS X.) It's just quite a bit beyond making a single window transparent. Heck, that's easy.
For comparison, it's the difference between asking someone "Please open this jar for me" and surgically replacing one of their hands with a jar opener.
As I said above, a couple of minutes poking around the guts of iChat led me to realize that I would need information on the Aqua2Window class to do this, but otherwise it's straightforward and pretty simple. All I'd have to do is subclass A2W, override the awakeFromNib: method, redirect the object in the .nib file itself to the new custom class, and call it good. But, without the header file for A2W, *I'm* at an impass. If anyone else wants to take a crack at it, and has more experience teasing out private framework tidbits for extension, go for it.
Frank_t
Terminal *PROVIDES* that functionality in its code. iChat does not. That l33t hax0r you're talking about is just accessing a hidden option in Terminal, it's nothing big. What you want in iChat would be.
It's a cool idea, but I'm sorry, it's just plain out of your reach at the moment.
Now, if you wanted to learn how to do it, I'm sure the rest of us would applaud.
Frank_t