TSPProgressIndicator ver. 1.0 Cocoa custom progress indicator class
TSPProgressIndicator is a highly customizable progress indicator class which lets you create a cool progress indicator with a few line of code. TSPProgressIndicator is a NSView subclass so the height and width of the progress indicator will be binded to the height and width of the NSView, without any restraints.
Main functions for customizing the progress indicator
- Progressbar main color
- Progressbar holder color
- Shadow color and blur radius
- Upper and lower text color, font size and alignment
- Progressbar corner radius
- Indeterminate animation both in main thread and another thread


Theming example:
[myProgress setMaxValue: 100.0];
[myProgress setCornerRadius: 15];
[myProgress setProgressColor: [NSColor colorWithCalibratedRed:0.076 green:0.076 blue:0.071 alpha:1.000]];
[myProgress setFontSize: 11];
[myProgress setProgressTextAlign: 2];
Wineskin, what is it?

What is Wineskin?
Wineskin is a tool used to make wrappers to run Windows software or games on Mac OS X. The wrappers are in the form of a normal Mac .app Application, which can be double clicked and ran just like a native app.
If you make a wrapper that uses software you are not licensed to distribute, you can still get it working, and clear out the programs, then allow others to have copies of your wrapper so they can put their licensed program inside of it and use it, or just make wrappers for yourself and run your Windows software on your Mac without even needing Windows.
For more information visit the official website
FAQ and Manual
Startup Manager - add your app to startup with ease
Here is a simple way on how you could add any of your applications to the start up application list. Before you do the following make sure that you have included the StartupMgr.m and StartupMgr.h files in your project
1. Add a new NSObject
2. Make sure you have selected the newly added object, go in the Inspector Window > Object Identity add StartupMgr in the Class section

3. Add a checkbox and connect it with the IBOutlet and IBAction from the StartupMgr object added in steps 1 and 2

There is also a sample project attached. Check it out.
TSPWindow ver. 1.0 – Cocoa custom window class

Let me present you my latest project TSPWindow. TSPWindow is a subclass of NSWindow witch let you customize your window simply and quickly. With a little imagination you can build almost any kind of window you want. Let me remind you that TSPWindow is still in the first release so it has limited functionalities and theming capabilities but we hope that in the future it’ll be better and more customizable.
Theming example:
[HUDWindow setTitleBarHeight: 25.0];
[HUDWindow setFooterBarHeight: 0.0];
NSColor *colort1 = [NSColor colorWithCalibratedWhite:.5 alpha:.82];
NSColor *colort2 = [NSColor colorWithCalibratedWhite:.1 alpha:.82];
NSColor *colort3 = [NSColor colorWithCalibratedWhite:0 alpha:.82];
NSColor *colort4 = [NSColor colorWithCalibratedWhite:0 alpha:.82];
NSGradient *normalGradient = [[NSGradient alloc] initWithColorsAndLocations:colort1,0.0,colort2,0.5,colort3,.51,colort4,1.0,nil];
NSColor *color1 = [NSColor colorWithCalibratedWhite:0 alpha:.82];
NSColor *color2 = [NSColor colorWithCalibratedWhite:.02 alpha:.82];
NSColor *color3 = [NSColor colorWithCalibratedWhite:.05 alpha:.82];
NSColor *color4 = [NSColor colorWithCalibratedWhite:0 alpha:.82];
NSGradient *gradientC = [[NSGradient alloc] initWithColorsAndLocations:color1,0.0,color2,0.5,color3,.51,color4,1.0,nil];
[HUDWindow setTitleBarGradient: normalGradient];
[HUDWindow setBodyGradient:gradientC];
Run AppleScript code inside Objective-C
The difference between this example and the one posted some time ago (this one) is that you don’t need a AppleScript file inside your apps resource folder. The nicest thing about this approach is that you don’t have to compile your AppleScript meaning lesser space occupied and secondly there’s no way to “steal” the code used in your script.
Calling the function:
[self executeAScript:@"do shell script \"rm -rf ~/Library/Preferences/com.someFile.plist\" with administrator privileges"];
The function that will execute the AppleScript code:
- (void)executeAScript:(NSString*)ascript {
NSDictionary* errorDict = [NSDictionary dictionary];
NSAppleEventDescriptor* returnDescriptor = NULL;
NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:ascript];
returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
[scriptObject release];
if ([errorDict count] > 0 && ![[[errorDict objectForKey:@"NSAppleScriptErrorNumber"] stringValue] isEqualToString:@"-128"]) {
[[NSAlert alertWithMessageText:[NSString stringWithFormat:@"%@ (Error %@)",[errorDict objectForKey:@"NSAppleScriptErrorMessage"],[errorDict objectForKey:@"NSAppleScriptErrorNumber"]]
defaultButton:@"OK"
alternateButton:@""
otherButton:@""
informativeTextWithFormat:@""
] runModal];
}
}
Threads in Cocoa using ThreadWorker
Calling ThreadWorker looks something like this:
[ThreadWorker workOn:self
withSelector:@selector(longTask:)
withArgument:someData
didEndTarget:self
didEndSelector:@selector(longTaskFinished:)];
In this case, longTask would be run in another thread, and longTaskFinished would be called on the original calling thread when longTask is finished.



