IRC Log Viewer » #firebreath » 2011-09-07

IRC Nick Time (GMT-7) Message
linearray 00:09 I do remember some people here using SDL
it's definitely been done before :)
linearray 01:09 lol, is that the drawback to using irccloud? you occassionally get k-lined? :)
dougma 01:09 no idea what happened... occasionally the whole thing tumbles over. :)
it's pretty, but i'm not sure if i'll persist with it
linearray 01:09 07:23 -!- dougma [[email protected]/web/] has quit [K-Lined]
my guess is someone misbehaved and freenode killed off all of irccloud
dougma 01:09 right.
that's a serious drawback of the irccloud approach. :)
JT_ 10:09 Hi all, I was on here yesterday wondering if there was an easy way to stip unneeded code out of firebreath and the distribution of boost that FB uses, but noone was available, anyone areund today?
kalev 10:09 JT_: I don't think there is, but wait a few hours and stay on this channel; I believe taxilian_away was working on getting the binary size down
he might have a better answer.
JT_ 10:09 ok, thank you
I'll stay on
taxilian_away 12:09 JT_: what platform are you on?
JT_ 12:09 My main is mac but it needs to be a cross platform solution.
taxilian 12:09 okay; on Mac, the biggest thing you can do is to build it 32 bit only instead of building a universal binary
when you build a universal binary, you're essentially packaging two copies of the plugin into one file
and then of course build it in Release mode
JT_ 12:09 Ok
taxilian 12:09 There really aren't any unneeded things in FireBreath; you might be able to shave a little bit off, but I doubt you can get rid of much
JT_ 12:09 What do you mean by unneeded?
taxilian 12:09 but if you're building universal and you don't actually need 64 bit support (64 bit browsers on mac can use 32 bit plugins) you can roughly cut the size in half by only doing i386
I mean there isn't really anything that I can think of that you can conditionally compile out that wouldn't break the whole abstraction. there are probably a few things here and there, but for the most part they are all abstracted out
you could probably use JSAPISimple instead of JSAPIAuto to get some savings, as that would drastically reduce the number of templates instantiated, but I bet that'd only save you maybe 50k, if that
you can of course try it; I'm just guessing based on what I know of the code
JT_ 12:09 So say I had an extremely minimal plugin that just had one javascript function that returned a string
It would still need the entire system set up to support that?
taxilian 12:09 define "the entire system"
what part would you remove?
things that aren't used will be removed by the optimizer
JT_ 12:09 I'm not sure, I was looking at it and it's hard to tell what each part does.
taxilian 12:09 tell me a part, I'll tell you what it does
it's all pretty basic
seriously, though, I would try first compiling a release build w/ i386 only
it's not going to be very big
maybe 500K, compressed
JT_ 12:09 Ok, I'll give it a try.
And i'll have better questions if I need to come back.
taxilian 12:09 okay
kylehuff 13:09 okay, so, apparently, stuffing the output of getenv("somevar") into a std::string on windows results in a segfault... on linux it is no problem though...
kalev 14:09 kylehuff: getenv can return NULL, should check if it's NULL before passing it to std::string's constructor
kylehuff 14:09 yeah, I should have just used char*... 30 minutes of debugging later - lesson learned.
taxilian 14:09 lol
kigero 15:09 is there a (relatively) simple way to launch a process from a firebreath plugin? I need to be able to download a file (which I can see how to do) and then launch an exe (or mac equivalent), passing that file as an argument. I'm thinking boost.process may help here, but I'm wondering if there's something easier to include that I'm missing.
taxilian 15:09 sure
CreateProcessEx on windows
there is something similar on Mac, but I forget what it is offhand
you don't need anything fancy if all you want to do is launch a process
you should be aware that on windows Vista/7 in IE you may (if UAC is on) be stuck in protected mode and be a low integrity process, though
kigero 15:09 oh, excellent - I'm glad I asked then.
luckily IE isn't a requirement for this project, but good to know. thanks!
taxilian 15:09 you should be golden, then
google it, there are several examples around
I don't have the url for the one I used last week on me right now, but it wasn't hard
kigero 15:09 excellent
kigero 15:09 CreateProcess works like a charm on Windows - thanks again!
FireBreathBot 19:09 JIRA issue issue created by jmassey
dougma 20:09 what does that mean? "support mousewheel event"
FireBreathBot 21:09 JIRA issue issue commented by richard "you'll need to be a tad bit more specific...."