#import <Cocoa/Cocoa.h>
@interface AppController : NSObject {
IBOutlet NSMenu *statusMenu;
IBOutlet id appDelegate;
IBOutlet id prefWindow;
IBOutlet id inputPanelController;
NSStatusItem *statusItem;
NSImage *statusImageBlue;
NSImage *statusImageGrey;
NSImage *statusImageGreen;
NSImage *statusImageRed;
NSString *sageBinary;
NSString *logPath;
NSMutableArray *URLQueue;
NSUserDefaults *defaults;
NSTask *theTask;
NSPipe *taskPipe;
int port;
BOOL myIsInDock, haveStatusItem, useSystemBrowser, neverOpenedFileBrowser;
}
-(IBAction)startServer:(id)sender;
-(IBAction)stopServer:(id)sender;
-(BOOL)serverIsRunning:(BOOL)wait;
-(void)serverStartedWithPort:(int)port;
-(void)taskTerminated:(NSNotification *)aNotification;
-(IBAction)openNotebook:(id)sender;
-(IBAction)newWorksheet:(id)sender;
-(IBAction)browseLocalSageURL:(id)sender;
-(IBAction)browseRemoteURL:(id)sender;
-(IBAction)terminalSession:(id)sender;
-(IBAction)viewSageLog:(id)sender;
-(IBAction)revealInFinder:(id)sender;
-(IBAction)terminalSessionPromptForFile:(id)sender;
-(IBAction)terminalSessionPromptForInput:(id)sender;
-(NSString*)convertMenuTitleToSageCommand:(NSString*)title;
-(IBAction)showPreferences:(id)sender;
-(void)setupPaths;
-(IBAction)stopServerAndQuit:(id)sender;
-(void)sageBrowse:(NSString*)location;
-(void)sageTerminalRun:(NSString*)sessionType withArguments:(NSArray*)arguments;
-(void)terminalRun:(NSString*)command;
-(NSString*)createPrompt:(NSString*)sessionType forCommand:(NSString*)command;
-(BOOL)isTigerOrLess;
@end