Filelight on The Big Bang Theory?
May 8th, 2008Today I got an anonymous message:
I think there was a filelight harddrive poster on the wall in “big bang theory” Season 1 Ep. 11
Can anyone confirm?
Today I got an anonymous message:
I think there was a filelight harddrive poster on the wall in “big bang theory” Season 1 Ep. 11
Can anyone confirm?
Spotlight will open the map with the Tufnell Park highlighted!
So now you know where it is and what line to get.
OS X is awesome.
As long as /usr/local/bin is first in the path, you can use TortoiseSVN for the good bits, and the command line svn client for the rest.
# Use TortoiseSVN from the cli
# Public Domain, Max Howell 2008
path=$2
test -z $path && path=.
test -e $path && path=`cygpath -wa $path`
svn='/cygdrive/c/dev/tools/TortoiseSVN/bin/TortoiseProc.exe /notempfile'
case $1 in
up | update) $svn /command:update /path:"$path";;
ci | commit) $svn /command:commit /path:"$path";;
log) $svn /command:log /path:"$path";;
props) $svn /command:properties /path:"$path";;
*) /usr/bin/svn $@;;
esac
We had a need to override the QSystemTrayIcon::showMessage() function on mac specifically across multiple projects. The trouble is ensuring that developers use the override function even if they don’t know about it. So:
namespace Moose
{
class QSystemTrayIcon : public ::QSystemTrayIcon
{
public:
void showMessage( const QString& title, const QString& text )
{
//code
}
};
}
#define QSystemTrayIcon Moose::QSystemTrayIcon
Name the file “QSystemTrayIcon” and save it in a directory like QtOverrides. Then add the following to your qmake project file:
CXX = $$CXX -IQtOverrides
Which forces our override directory to be earlier in the include path than the Qt includes.
This method scares me somewhat, due to the define, but I couldn’t see a neater way of doing it.
Now if a developer #includes <QSystemTrayIcon> they will be using our stealth reimplementation.
Of course this method isn’t virtual, but that shouldn’t be a problem, people don’t tend to use QWidgets in a way that requires polymorphism. Well that’s a lie, but most methods are safe, on final-type classes.
The Last.fm client has a number of helper apps. These helper apps don’t link to QtGui so would normally not get a dock icon. However, since Leopard everything seems to get a dock icon by default if you put in the Contents/MacOS directory of your bundle.
There are two solutions that we found for this problem.
This is more packaging work and feels lame. You can cheat and prevent having to copy your shared libraries into the new bundle using symlinks, ie:
$ path=helper.app/Contents/MacOS/ mkdir -p $path && cd $path $ ln -s ../../../helper . $ vim ../info.plist
cd your.app/Contents/Resources/ ln -s ../MacOS/yourapp .
Launching the symlink will run the application in the background without a dock icon.
Any other solutions? Please write them below.