I Want To Do Something Cool With iChat But Need Help!

Posted:
in macOS edited January 2014
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

Comments

  • Reply 1 of 18
    giaguaragiaguara Posts: 2,724member
    <a href="http://www.macosxhints.com/article.php?story=20010407171430814&query=terminal +default+set" target="_blank">Get transparent windows in any cocoa app.</a>
  • Reply 2 of 18
    That looks hard.....can someone that knows how to use Dev Tools do it?



    Frank_t
  • Reply 3 of 18
    lol... so, you don't want to touch the command line but you're willing to write a little app to execute the same commands in ObjC or AppleScript instead?



    Of course it's hard. It's not something that the apps are *meant* to do. You said yourself it'd be a hack.
  • Reply 4 of 18
    "you're willing to write a little app to execute the same commands"



    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>
  • Reply 5 of 18
    Well, you said Dev Tools; so, I automatically assumed you'd be writing an app to do it. Why else would you metnion them?
  • Reply 6 of 18
    I metnion them as only that way can one make it work as there isn't any GUI for this.....yet...



    Frank_t
  • Reply 7 of 18
    serranoserrano Posts: 1,806member
    [quote]Originally posted by 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>
  • Reply 8 of 18
    Dam....would look very cool as the balloons still make it easy to read the text unlike the terminal app....



    Frank_t
  • Reply 9 of 18
    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
  • Reply 10 of 18
    dfilerdfiler Posts: 3,420member
    [quote]Originally posted by 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!

  • Reply 11 of 18
    Gee you make it sound so easy <img src="embarrassed.gif" border="0">



    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
  • Reply 12 of 18
    kickahakickaha Posts: 8,760member
    Meow meow meow meow.



    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?
  • Reply 13 of 18
    serranoserrano Posts: 1,806member
    Stop bumping your thread. It's annoying. <img src="graemlins/hmmm.gif" border="0" alt="[Hmmm]" />
  • Reply 14 of 18
    frank_tfrank_t Posts: 428member
    Well i tryed Application Enhancer and it does it to all of the window....why can't i just do the background? like in the Terminal app? someone? why is this so hard to do?



    Frank_t
  • Reply 15 of 18
    kickahakickaha Posts: 8,760member
    *sigh*



    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.
  • Reply 16 of 18
    frank_tfrank_t Posts: 428member
    I see..no i'm not a programer but i know that in the InspectorX.nib from the terminal app if you look under colorInspector thing you will see that is what i'm looking for as in the terminal you can make only the background clear and not the window....which is what i'm looking as you know...so i ask is there a easy way of copy and paste the colorInspector thing in ichat somewhere that will let me use i t as a GUI or even as code it self? I don't know which just as long as it does the job.....hope this helps in someway.....sorry if it doesn't..



    Frank_t
  • Reply 17 of 18
    kickahakickaha Posts: 8,760member
    No. There is no way to do what you want short of digging into the inner guts of iChat and programming a new class to override the existing custom class that we don't have full information on.



    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.
  • Reply 18 of 18
    frank_tfrank_t Posts: 428member
    Dam....



    Frank_t
Sign In or Register to comment.