IRC Log Viewer » #firebreath » 2011-06-16

IRC Nick Time (GMT-7) Message
feeling 00:06 are taxilian here?
feeling 02:06 hello~~
feeling 07:06 should i use atl or wtl if i implement modal dialog in firebreath?
_neilg_ 08:06 You should avoid modal dialogs if all possible
Though so long as you can accept that by creating one you lock up the whole browser... It shouldn't matter whether you use ATL or anything else
feeling 08:06 ok. thanks
_neilg_ 09:06 nirvdrum: Did you watch the game last night?
nirvdrum 09:06 I did.
I'm surprised how well they played.
I thought they were going to lose heading into it.
_neilg_ 09:06 They were definitely the better team on the night
I wanted them to win - but I must admit, I didn't think they'd win away. But it was a fantastic game!
And the Canucks actually played a mostly clean game, there was only really one bit of dirty play for once
If they have the parade on Saturday then I'll definitely be going
nirvdrum 09:06 They even looked pretty good. It was a good game to watch.
_neilg_ 09:06 Were there fireworks by you when they won? Seems like they were everwhere by me!
nirvdrum 09:06 Nope. But I live in a pretty desolate area.
I could hear people cheering, which was surprising for me.
_neilg_ 09:06 Same by me but I knew that the neighbours were having some kind of party with the amount of cars on the road!
nirvdrum 09:06 Heh.
I probably should have said isolated. It's not all that bad. There just aren't a lot of people around.
_neilg_ 09:06 That actually sounds appealing to me. I'm a country boy, grew up in a village surrounded by farms, fields and woodlands. I now I live only several miles outside of Boston
"I now I live"? Hmm. And. Definitely "And". :)
nirvdrum 09:06 I'm in a small town called Holliston.
It's nice. But commuting into the city sucks,
_neilg_ 09:06 Oh, I know Holliston - my sis-in-law lives on the south side of Framingham
nirvdrum 09:06 Oh, nice. I grew up in the Worcester area. I had never heard of Holliston until we looked at a house out there.
We were looking to move to the metro-west area.
bg_ 11:06 Hey guys, I followed the videos here: ( and when I went to about:plugins I noticed a version number ( or something). I've been looking in the documentation for a place to change that. Can anyone point me in the right direction? Thanks.
_pq_ 11:06 Pluginconfig.cmake or similar
In project source directory
bg_ 11:06 Cool. thanks
Once I change this, I'll need to run the "prep20XX.cmd" command again, huh?
taxilian 11:06 bg_: yeah, I don't think that will change the version; that version probably comes from the .rc file
there is no official "good" way to do it
but there is an unofficial semi-hacky way that doesn't cause too many problems
bg_ 11:06 I'm ready
taxilian 11:06 copy the .rc file from gen_templates/ to your plugin directory
and change the version in that file
then rerun the prep script
any of those gen templates you can copy to your plugin dir and customize the template
bg_ 11:06 running
taxilian 11:06 _nielg_: you actually can get away with using a modal dialog if you run it on another thread, I discovered
bg_ 11:06 taxilian: thanks. it works. is there anyway I can access that version number that I set from within the .cpp file
taxilian 11:06 the version number from the .rc? not a clue. you can use the one from PluginConfig.cmake, though
it's a define in global/config.h; look at the generated source in build/projects/<your plugin>/gen/global
bg_ 11:06 does the one in PluginConfig.cmake get updated based on the version in the .rc?
taxilian 11:06 nope
bg_ 11:06 so, just to clarify, if I wanted to update the version, I would have to update it in two places. Once in the .rc file (after copying it into the project directory), and once in the .cmake file.
taxilian 11:06 if you care about the one in the .rc file, then yes
one of these days I'll come up with a good way to update that from PluginConfig
but I haven't gotten to it yet
bg_ 11:06 oh. so when I go to about:plugins, which one shows up
taxilian 11:06 and nobody has cared enough to file a jira issue
there? probably the one from the .rc
bg_ 11:06 haha alright
taxilian 11:06 I generally only care about the one I report from the plugin, though
and I put the real version number in the filename
since that's accessible from all npapi browsers
whereas the "version" from the dll is a pretty recent addition
and I don't really care what people see
bg_ 11:06 fair enough
mhilmi 14:06 If I want an plugin API function to return JSON, should I just encode the JSON into a std::string and return that?
taxilian 14:06 yeah, I suppose you could do it that way
depending on what you're doing that could be the fastest way to do it
mhilmi 14:06 I'm open to suggestions on a better way :P
taxilian 14:06 I usually just return a javascript object =]
but if you actually need json I guess that works
mhilmi 14:06 yeah I figured it would be easier to just return a JS object but the front end of the application is already setup using JSON so itll be easier to just do it this way...
will anything be lost in converting the JSON object (using the same json-cpp) library to a string?
taxilian 14:06 shouldn't be, I wouldn't imagine
I even have a class already somewhere that will convert a FB::variant to json using json-cpp that is in the codebase already
can't remember if it's in the FireBreath codebase yet or not
but I could send it to you
mhilmi 14:06 awesome, yeah that would be super useful
taxilian 14:06
mhilmi 14:06 sweet
benjie_ 15:06 hey, so I'm trying to include a png in my plugin bundle on mac, how would one do this?
taxilian 15:06 copy the png into the bundle?
_neilg_ 15:06 Which you can do from CMake if you follow these instructions:
taxilian 15:06 _neilg_: thanks, I forgot that had been added
!wiki bundles
FireBreathBot 15:06 7 results found. Note: Results limited to 8
"Working with bundles":
"Mac Plugins":
"Building on Mac OS X":
"Using Libraries":
"Tips and Tricks":
"Creating a New Plugin Project":
"Frequently Asked Questions":
taxilian 15:06 that works too =]
_neilg_ 15:06 FireBreathBot: tell taxilian You're showing off now! ;)
FireBreathBot 15:06 _neilg_: I'll pass that on when taxilian is around.
taxilian 15:06 lol
FireBreathBot 15:06 taxilian: 21:43Z <_neilg_> tell taxilian You're showing off now! ;)
_neilg_ 15:06 lol
taxilian 15:06 I think the ctags search is my fav feature, though
!find getRootJSAPI
FireBreathBot 15:06 Found 1 possible matches. Displaying 1
/^ virtual JSAPIPtr getRootJSAPI()$/ (f) found in src/PluginCore/PluginCore.h:
_neilg_ 15:06 That is actually very awesome
taxilian 15:06 I was proud of it =]
git pull requests
FireBreathBot 15:06 2 open pull requests:
dougma: add 64bit build support for windows
dougma: FIREBREATH-77: ActiveX: focus+capture on mousedown
taxilian 15:06 would be cool to write a plugin for confluence that would notify FireBreathBot whenever a page changes
_neilg_ 15:06 That would be awesome - especially since this chat room has a log
taxilian 15:06 hmm. and I really should set up hudson to have FireBreathBot tell us when builds fail
_neilg_ 15:06 Would be nice to be able to tie together why a page changed if it was at all unclear
taxilian 15:06 yeah
find changes in context
would be neat
my java is a bit rusty, though
_neilg_ 15:06 We used to use Hudson, we switched to Jenkins when the community split. I'm really very impressed with it!
taxilian 15:06 (like, rusy nails rusty)
yeah, I need to reinstall
_neilg_ 15:06 (Both of them)
taxilian 15:06 I just set up jenkins for GradeCam in the last couple of days
maybe Rob will let me use the GradeCam build servers for FireBreath; then I wouldn't need to set up VMs here at home for the builds
_neilg_ 15:06 Sure, I definitely understand that. I have to look at writing an extension to deal with multiple build servers at some point
I mean, it works with multiple build servers out of the box but it would be cool to upload builds from Jenkins. There's an extension which can do that but it launches using shell commands - and they run on a random server. Unfortunately DOS/UNIX shell commands are not the same and so... problem. :)
taxilian 15:06 yeah; the one thing that Jenkins doesn't do that I really wish it did is building things on multiple nodes simultaneously
i.e. build a plugin on both Mac and Windows and only declare the build as good if both succeed
I have some plugins dealing with upstream/downstream that I might be able to get to do a semblence of that
plcDJ 15:06 What's the recommended framework to use to add UI to a FB plugin? Qt?
taxilian 15:06 plcDJ: there is no "recommended framework"
the recommendation is that you use something that works =]
plcDJ 15:06 That's the problem - I'm trying to use Qt and I can't get my widget to parent to the window handle so I'm wondering if there is something else out there
taxilian 15:06 what OS?
plcDJ 15:06 needs to be cross platform (Windows and Mac for now)
taxilian 15:06 well keep in mind that on Mac you don't get an NSView or anything similar that you can draw to; assuming you use CoreGraphics (simplest) you get a CGContext and you draw when instructed
on windows you can either get an HWND (windowed mode) or a hDC (windowless)
plcDJ 16:06 Go to know - I've used Qt extensively to write Windows/Linux desktop app but I'm new to FB
taxilian 16:06 this isn't a question of how FB works, it's a question of how plugins work
plcDJ 16:06 I've been testing FB on Windows - that works fine. I want to add some UI, tried using Qt and had issues so I'm wondering what others have tried.
taxilian 16:06 I usually don't end up drawing, personally
when I do, it's usually using directx or opengl
recently I've been embedding a browser in my plugin and using that for UI =]
many people (most, probably) just expose functionality and provide the UI with HTML
_neilg_: you might find my most recent blog post moderately interesting:
plcDJ: on windows you could try creating a child HWND and then attaching that to QT
QT may be trying to take ownership of the window, which it can't do in a browser plugin; you use the window, but the browser owns it
plcDJ 16:06 Haven't tried that
taxilian 16:06 let me know what you figure out
it would really be awesome to have an example of using QT with FireBreath
should you get things working and want to contribute back ;-)
plcDJ 16:06 Qt creates it's own HWND - I've tried using windows SetParent to reparent the Qt widget with no luck
taxilian 16:06 hmm. yeah, I don't know. As far as I know there is nothing special about the window you draw to, except that it's created and destroyed by the browser and you need to keep its winproc intact unless you really know what you're doing