Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(3 Kb)
Download
Updated: 07-19-10 11:32 AM
Pictures
File Info
Updated:07-19-10 11:32 AM
Created:unknown
Downloads:13,037
Favorites:162
MD5:

Chicchai  Popular! (More than 5000 hits)

Version: 3.3.2
by: Lolzen, xConStruct

Explanation
Chicchai is a little Addon that will Minimize the Chat after a few seconds.

What can Chicchai do?

  • Minimize the Chat after X seconds
  • Maximize Chat on mouseover
  • Animations (+how long should the Animation take)
  • Configurable on wich events (Guild, say, yell,...) the chat should maximize
  • Possibility to disable maximizing in combat
  • CombatLog will be maximized when selected (optional, default)
  • Lightweight
  • and more...


Other
Click for Previewvideo - lousy quality, but you'll get the idea.

Configuration
The configuration will be done through lua only. The .lua contains comments for inexperienced users.

You can call some functions if you want to handle maximizing/minimizing by yourself:
  • /script ChatFrame1:Maximize() - Maximize this chat frame
  • /script ChatFrame1:Minimize() - Minimize this chat frame
  • /script ChatFrame1:SetFrozen(true/false) - block maximizing/minimizing

Thanks to
Cargor (EU-Nozdormu)
I asked him if he would help me a bit, because im so a lazy bastard. So he started coding and POOF - Chicchai was like in my dreams, even better :3

Hope ya enjoy,
Lolzen

3.3.2
* try to minimize chat on load
* Re-introduce ChatFrame:UpdateHeight() to manually update the height
* fixed a possible error with the chat-tabs

3.3.1
* fixed chat height of messages spanning multiple lines

3.3
*fixes for 3.3.5
*simpler event handling, including battle.net-events

3.2
*Prevent chat from resizing when moving it around

3.1
*TOC bump
*Added new PartyLeader event to the eventlist

3.0
* Another rewrite
* Chicchai now uses less CPU time
* You can define how many lines you'd like to see in minimized mode
* docked chatframes are now handled properly
* fixed chat frame flickering happening sometimes on mouseover
* you can define how long you should hover the frame until it maximizes
* chatframes can stay maximized for a defined time before minimizing on mouseleave
* you can configure on which custom channels the chatframe maximizes

2.0
*Core rewritten
*You are now able to manage the chatframes you want to be affected (like chatframe 5, 6, 8, and so on)
*TOC bump

1.1
*A few improvements
*Now Updates when the Chat Window is too small or big

1.0.1
*Added Option, that the Chat will stay open for a defined time after mouseover
Optional Files (0)


Archived Files (7)
File Name
Version
Size
Author
Date
3.3.1
3kB
Lolzen
07-02-10 12:06 PM
3.3
3kB
Lolzen
07-02-10 11:47 AM
3.2
2kB
Lolzen
03-11-10 07:38 AM
3.1
2kB
Lolzen
12-13-09 07:00 PM
3.0 r4
2kB
Lolzen
04-11-09 03:18 PM
3.0
2kB
Lolzen
04-11-09 01:30 PM
2.0
2kB
Lolzen
11-17-08 03:52 PM


Post A Reply Comment Options
Unread 08-18-10, 12:07 PM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
Originally posted by Cargor
Make sure that ChatFrame2 is listed in the ChatFrameConfig (since Chicchai only modifies these frames). If you don't need any events for it, just write
["ChatFrame2"] = true
Kerecha. I Believe this is what you need to do, for whichever chat frames you want to collapse/maximize. So if you have 3 chat frames, make sure to also add ["ChatFrame3"] = true in the appropriate section as well, and so on.
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 08-11-10, 05:51 PM  
Kerecha
A Deviate Faerie Dragon
 
Kerecha's Avatar

Forum posts: 10
File comments: 200
Uploads: 0
I can't seem to get the maximize on mmouseover to work on any other tabs then "1".


Anyone that can gimme a hand/hint?
Kerecha is offline Report comment to moderator  
Reply With Quote
Unread 08-08-10, 11:13 PM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
Originally posted by Cargor
MaximizeCombatLog needs to be deactivated, of course. If it still doesn't work, could you post your current Chiccai code please? (On pastey.net or similar).
Sorry for the wait. RL's been hectic to say the least. Here's what I'm currently using.

http://pastey.net/139372-hpsd

Edit: I haven't been able to get maximize on input to work yet, but I left the variable defined for the time being.
Last edited by wampafodder : 08-08-10 at 11:15 PM.
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-31-10, 03:48 PM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
RL's been a bit hectic, but I'll get that posted for you as soon as I can. Sorry for the delays.
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-28-10, 11:20 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 20
Thanks! The CPU temperature issues I had are gone since a few weeks - thanks to thermal grease, never thought that it makes such a difference
But since I switched to another linux distro (Kubuntu -> Arch btw) some days ago, my WoW keeps crashing with the infamous 132 / ACCESS_VIOLATION error as soon as I've entered my login credentials.
But linux > WoW, so I rather quit WoW than switching to Windows Well, let's just hope that re-installing solves the issue.

---

Make sure that ChatFrame2 is listed in the ChatFrameConfig (since Chicchai only modifies these frames). If you don't need any events for it, just write
["ChatFrame2"] = true

MaximizeCombatLog needs to be deactivated, of course. If it still doesn't work, could you post your current Chiccai code please? (On pastey.net or similar).
__________________
Website | GitHub

Oh hai!
Last edited by xConStruct : 07-28-10 at 11:42 AM.
xConStruct is offline Report comment to moderator  
Reply With Quote
Unread 07-28-10, 10:02 AM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
Originally posted by Cargor
My WoW is still not running, so I can just try to give some further clues instead of testing. (Strangely Cataclysm runs, maybe I need to reinstall? :O)

1) MaximizeCombatLog:
It does not have a "toggle"-function and was never planned to have one. It was meant to serve in a dock-setup where the combatlog gets maximized if it is shown in the dock-group. So it maximizes when ChatFrame2Tab is clicked and minimizes if another one is clicked.
You better start by writing your own custom toggle-function.
Ouch, I'm sorry to hear that you're still having issues with WoW. Best of luck on getting that up and running. Hopefully the computer issues you've mentioned earlier have been resolved ?

Regarding #1, is there any way you can point me to what code to modify to at least get the combat log (chatframe2) emulating the main chat window's behavior of moving down, and up when I mouse over it ? I use what is probably the secondary standard chat frame set-up, with the chat log and combat log separated out into two windows. Currentlly, the chat frame goes up and down like a champ, but the combat log is being stubborn, lol. You can see what I used to have Chicchai doing in my UI Vid if my description isn't clear enough, Necrie's UI. As to re-writing the toggling, I basically rewrote code that had been posted here. I know enough about coding to get myself in trouble, as the saying goes, but not enough to write my own code >.<

Here's looking forward to what you'll come up with ! I'll keep on testing it, because I really like this addon
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-27-10, 05:54 PM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 20
My WoW is still not running, so I can just try to give some further clues instead of testing. (Strangely Cataclysm runs, maybe I need to reinstall? :O)

1) MaximizeCombatLog:
It does not have a "toggle"-function and was never planned to have one. It was meant to serve in a dock-setup where the combatlog gets maximized if it is shown in the dock-group. So it maximizes when ChatFrame2Tab is clicked and minimizes if another one is clicked.
You better start by writing your own custom toggle-function.

2) Expand Chat on Combat:
Ah yes, going to include it in the next update.

3) Maximize on editbox:
The code needs a complete rewrite for the new chat, based on two changes:
a) Each chat frame has its own editbox (ChatFrameXEditBox) - you'd need to hook them all, because it depends on which chat frame is active.
b) They are not shown when they are opened (and not hidden when closed) as before, because they are visible (but faded) the whole time if their chat frame is shown. So you better go with hooking the "OnEditFocusGained" and "OnEditFocusLost" events.

I try to test and maybe include all of them in Chicchai as soon as my WoW is running again ... and maybe I can get the Chicchai-rewrite finally done ...
__________________
Website | GitHub

Oh hai!
xConStruct is offline Report comment to moderator  
Reply With Quote
Unread 07-27-10, 10:11 AM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
Edit: Nix that, I'm not getting errors, but its also not raising the chat window when I open the edit box.


Do I need to change:

orgChatFrame_OpenChat
to

orgChatFrame1_OpenChat
and

ChatFrame_OpenChat
to

ChatFrame1_OpenChat
as well ?
Last edited by wampafodder : 07-27-10 at 10:43 AM.
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-26-10, 11:21 PM  
Lord_Doom
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 9
Uploads: 1
Well, I tried to do that. It didn't work so well. Here's the error I got:
Well as for your #3 problem, I guess ChatFrameEditBox API got changed to ChatFrame1EditBox last patch, change all

Code:
ChatFrameEditBox
to

Code:
ChatFrame1EditBox
If you notice it has "1" in it now, Im guessing this something to do with blizz assigning each edit box frame a specific function number for the new Real Friend id stuff they added. Anyhow tested it with the 1 in there and it worked
Last edited by Lord_Doom : 07-26-10 at 11:27 PM.
Lord_Doom is offline Report comment to moderator  
Reply With Quote
Unread 07-25-10, 04:20 PM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
All righty then, I'll go over what I've found so far. I've listed them hopefully is some semblance of priority. #1 is related to existing code, while 2 and 3 are additional bits of code that have been posted here previously (but I wouldn't mind the insight from someone who knows what they're doing to get 3 working again ).

1. Firstly, the combat log is not minimizing if its separated from the chat log. Clicking on the combat log tab (when seperated) does not cause it to collapse. The "MaximizeCombatLog" descriptor doesn't seem to be working. I took the same code and copied it and changed it to affect chatframe1, and Chat frame one stopped collapsing as well.
Before the last patch, I was using this code to achieve the desired behavior in chat window 1, but I had the same thing for chat window 2:
if(MaximizeChatLog) then
hooksecurefunc("FCF_Tab_OnClick", function(self)
local frame = getChicchai(ChatFrame1)
if(frame.Frozen) then
SetFrozen(frame, nil)
Animate(frame, DOWN)
elseif(self == ChatFrame1Tab) then
Animate(frame, UP)
SetFrozen(frame, true)
end
end)
end
That no longer works very well. It will minimize the chat frame if you click the tab, but it will not maximize the frame and lock it in place if you click the tab when its minimized. If I read your code correctly, it looks like it was aimed at doing the same thing I had mine doing, i.e. Click on the tab to expand the chat frame and lock it in place, click it again to unlock and collapse the frame. It just doesn't seem to be working quite right.
Any thoughts ?


2. The Expand Chat on Combat code that was listed a while back here seems to work still, though I haven't tested it extensively, and I was only able to test it with chat frame 1 since chat frame 2 won't collapse. I can re-post it if needed.


3. Ok, a while back, some code was posted to maximize the chat frame when you opened the chat frame edit box, i.e. hit the Return key, the "/" key, "R" to reply to someone, and so on. The code for that was:
if (MaximizeOnInput) then
local orgChatFrame_OpenChat = ChatFrame_OpenChat
ChatFrame_OpenChat = function(text, chatFrame)
self = chatFrame
if ( not self ) then
self = DEFAULT_CHAT_FRAME;
end

if (not ChatFrameEditBox:IsShown()) then
Animate(self, UP, WaitAfterEnter)
end

orgChatFrame_OpenChat(text, chatFrame)
end

ChatFrameEditBox:SetScript('OnHide', function (self)
self = DEFAULT_CHAT_FRAME
if (not ChatFrameEditBox:IsShown()) then
Animate(self, DOWN, WaitAfterLeave)
end
end);
end

And you had to add a line in the Config section of the .lua file:
local MaximizeOnInput = true

Well, I tried to do that. It didn't work so well. Here's the error I got:
Date: 2010-07-25 14:28:47
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Chicchai\core.lua line 163:
attempt to index global 'ChatFrameEditBox' (a nil value)
Debug:
[C]: ?
Chicchai\core.lua:163: in main chunk
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-25-10, 03:11 PM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
It seems to be working like a charm Cargor !

I'm gonna start testing some of my old changes to the new version. So far, no errors
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-24-10, 11:47 AM  
Kinch
A Kobold Labourer
 
Kinch's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 6
Uploads: 2
Bug report:
Code:
[19:43:15] Interface\AddOns\Chicchai\core.lua:152: attempt to index local 'self' (a nil value)
[C]: ?
Interface\AddOns\Chicchai\core.lua:152: in function <Interface\AddOns\Chicchai\core.lua:150>
Kinch is offline Report comment to moderator  
Reply With Quote
Unread 07-22-10, 07:32 PM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 20
I broke my WoW under linux, so I can't test it atm - but I came up with this here:
core.lua (Diff).
Theoretically it should fix the line 179-related error. Could someone test it please?

Going to look into the second error (152er) as soon as WoW's running again.
__________________
Website | GitHub

Oh hai!
xConStruct is offline Report comment to moderator  
Reply With Quote
Unread 07-22-10, 03:16 PM  
wampafodder
A Kobold Labourer

Forum posts: 0
File comments: 16
Uploads: 0
Same issue here.
Thanks again for working to get this addon going

Here's is the default bliz error report, with only chicchai enabled:
Message: Interface\AddOns\Chicchai\core.lua:179: attempt to index local 'self' (a nil value)
Time: 07/22/10 14:12:26
Count: 1
Stack: Interface\AddOns\Chicchai\core.lua:179: in function `updateHeight'
Interface\AddOns\Chicchai\core.lua:221: in main chunk

Locals: self = ChatFrame3 {
0 = <userdata>
flashTimer = 0
tellTimer = 74601.755
Maximize = <function> defined @Interface\AddOns\Chicchai\core.lua:141
resizeButton = ChatFrame3ResizeButton {
}
buttonFrame = ChatFrame3ButtonFrame {
}
Chicchai = <unnamed> {
}
channelList = <table> {
}
clickAnywhereButton = ChatFrame3ClickAnywhereButton {
}
isDocked = 1
SetFrozen = <function> defined @Interface\AddOns\Chicchai\core.lua:121
editBox = ChatFrame3EditBox {
}
UpdateHeight = <function> defined @Interface\AddOns\Chicchai\core.lua:177
isLocked = 1
name = "misc"
Minimize = <function> defined @Interface\AddOns\Chicchai\core.lua:142
buttonSide = "left"
zoneChannelList = <table> {
}
defaultLanguage = "Common"
messageTypeList = <table> {
}
}
self = nil
(*temporary) = ChatFrame1 {
channelList = <table> {
}
0 = <userdata>
clickAnywhereButton = ChatFrame1ClickAnywhereButton {
}
isStaticDocked = true
editBox = ChatFrame1EditBox {
}
isDocked = 1
tellTimer = 74601.647
defaultLanguage = "Common"
flashTimer = 0
zoneChannelList = <table> {
}
resizeButton = ChatFrame1ResizeButton {
}
buttonFrame = ChatFrame1ButtonFrame {
}
messageTypeList = <table> {
}
}
(*temporary) = nil
(*temporary) = ChatFrame3 {
0 = <userdata>
flashTimer = 0
tellTimer = 74601.755
Maximize = <function> defined @Interface\AddOns\Chicchai\core.lua:141
resizeButton = ChatFrame3ResizeButton {
}
buttonFrame = ChatFrame3ButtonFrame {
}
Chicchai = <unnamed> {
}
channelList = <table> {
}
clickAnywhereButton = ChatFrame3ClickAnywhereButton {
}
isDocked = 1
SetFrozen = <function> defined @Interface\AddOns\Chicchai\core.lua:121
editBox = ChatFrame3EditBox {
}
UpdateHeight = <function> defined @Interface\AddOns\Chicchai\core.lua:177
isLocked = 1
name = "misc"
Minimize = <function> defined @Interface\AddOns\Chicchai\core.lua:142
buttonSide = "left"
zoneChannelList = <table> {
}
defaultLanguage = "Common"
messageTypeList = <table> {
}
}
(*temporary) = "ScrollingMessageFrame"
(*temporary) = "attempt to index local 'self' (a nil value)"
getChicchai = <function> defined @Interface\AddOns\Chicchai\core.lua:115
DOWN = -1
getMinHeight = <function> defined @Interface\AddOns\Chicchai\core.lua:74



And this is a swatter report with all my normal addons enabled:
Date: 2010-07-22 14:10:27
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Chicchai\core.lua line 179:
attempt to index local 'self' (a nil value)
Debug:
[C]: ?
Chicchai\core.lua:179: updateHeight()
Chicchai\core.lua:221: in main chunk
AddOns:
Swatter, v3.1.14 (<%codename%>)
acbAuras, v09.12.16
acbCastBar, v09.12.16
acbMirror, v09.12.16
acbSwing, v09.12.16
ACP, v3.3.3
Align, v
Ammomatique, v2.0.4
AtlasLoot, vv5.11.03
AtlasLootFu, vv5.11.03
AutoLog, v1.07b
AzCastBar, v10.06.27
BankItems, v30300
Bartender4, v4.4.2
BaudBag, v3.3.4
Chatter, v1.0
Chicchai, v3.3.2
FuBar, v
BlizRuntimeLib_enUS v3.3.5.30300 <us>
(ck=197)
wampafodder is offline Report comment to moderator  
Reply With Quote
Unread 07-21-10, 03:09 PM  
Kerecha
A Deviate Faerie Dragon
 
Kerecha's Avatar

Forum posts: 10
File comments: 200
Uploads: 0
getting 2 errors now (the 41 copies of the second one is prolly just a cascade effect).

Might have messed somethintg up, but i only made some inor changes to the settings.

Code:
1x Chicchai-3.3.2\core.lua:179: attempt to index local 'self' (a nil value)
Chicchai-3.3.2\core.lua:221: in main chunk

Locals:
maxHeight = 150
animTime = 0.5
minimizeTime = 10
minimizedLines = 1
MaximizeOnEnter = true
WaitAfterEnter = 1
WaitAfterLeave = 1
LockInCombat = nil
MaximizeCombatLog = true
channelNumbers = <table> {
 2 = true
 1 = true
 3 = true
}
ChatFrameConfig = <table> {
 ChatFrame3 = <unnamed> {}
 ChatFrame1 = <table> {}
}
select = <function> defined =[C]:-1
UP = 1
DOWN = -1
getMinHeight = <function> @ Chicchai\core.lua:74:
Update = <function> @ Chicchai\core.lua:88:
getChicchai = <function> @ Chicchai\core.lua:115:
SetFrozen = <function> @ Chicchai\core.lua:121:
Animate = <function> @ Chicchai\core.lua:125:
Maximize = <function> @ Chicchai\core.lua:141:
Minimize = <function> @ Chicchai\core.lua:142:
MinimizeAfterWait = <function> @ Chicchai\core.lua:144:
CheckEnterLeave = <function> @ Chicchai\core.lua:150:
updateHeight = <function> @ Chicchai\core.lua:177:
chatEvent = <function> @ Chicchai\core.lua:184:
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
 ChatFrame3 = <unnamed> {}
 ChatFrame1 = <table> {}
}
(for control) = "ChatFrame3"
chatname = "ChatFrame3"
options = true
chatframe = ChatFrame3 {
 0 = <userdata>
 flashTimer = 0
 tellTimer = 1901768.284
 Maximize = <function> @ Chicchai\core.lua:141:
 resizeButton = ChatFrame3ResizeButton {}
 buttonFrame = ChatFrame3ButtonFrame {}
 Chicchai = <unnamed> {}
 channelList = <table> {}
 clickAnywhereButton = ChatFrame3ClickAnywhereButton {}
 isDocked = 1
 SetFrozen = <function> @ Chicchai\core.lua:121:
 editBox = ChatFrame3EditBox {}
 UpdateHeight = <function> @ Chicchai\core.lua:177:
 isLocked = 1
 name = "PM"
 Minimize = <function> @ Chicchai\core.lua:142:
 buttonSide = "left"
 zoneChannelList = <table> {}
 defaultLanguage = "Common"
 messageTypeList = <table> {}
}
chicchai = <unnamed> {
 0 = <userdata>
 Frame = ChatFrame3 {}
}

  ---


Code:
41x Chicchai-3.3.2\core.lua:152: attempt to index local 'self' (a nil value)

Locals:

  ---
Kerecha is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: