forked from gnachman/iTerm2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
iTermGrowlDelegate.h
114 lines (103 loc) · 3.59 KB
/
iTermGrowlDelegate.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// -*- mode:objc -*- vim: filetype=objcpp:
// $Id: iTermGrowlDelegate.h,v 1.7 2006-09-21 00:55:10 yfabian Exp $
//
/*
** iTermGrowlDelegate.h
**
** Copyright (c) 2006
**
** Author: David E. Nedrow
**
** Project: iTerm
**
** Description: Implements the delegate for Growl notifications.
**
** Usage:
** In your class header file, add the following @class directive
**
** @class iTermGrowlDelegate;
**
** and declare an iTermGrowlDelegate variable in the @interface
**
** iTermGrowlDelegate* gd;
**
** In your class implementation file, add the following import
**
** #import "iTermGrowlDelegate.h"
**
** In the class init, get a copy of the shared delegate
**
** gd = [iTermGrowlDelegate sharedInstance];
**
** There are several growlNotify methods in iTermGrowlDelegate.
** See the header file for details.
**
** Example usage:
**
** [gd growlNotify: @"This is the title"
** withDescription: @"This is the description"
** andNotification: @"Bells"];
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import <Cocoa/Cocoa.h>
#import "PTYSession.h"
#import "Growl.framework/Headers/GrowlApplicationBridge.h"
#define OURGROWLAPPNAME @"iTerm"
#define DEFAULTNOTIFICATION @"Miscellaneous"
#define OURNOTIFICATIONS @"Bells", \
@"Broken Pipes", \
@"Miscellaneous", \
@"Idle", \
@"New Output", \
@"Customized Message"
@interface iTermGrowlDelegate : NSObject <GrowlApplicationBridgeDelegate> {
BOOL enabled;
NSArray * notifications;
}
+ (id) sharedInstance;
/**
** Used by the class to indicate the current status of the Growl preference
** in iTerm.
** This is generally only for use with the class.
**/
- (BOOL) isEnabled;
/**
** Used by the prefs class to toggle the Growl state when the user makes
** changes to the iTerm prefs that impact Growl.
**/
- (void) setEnabled: (BOOL) newState;
/**
** Generate a Growl message with no description and a notification type
** of "Miscellaneous".
**/
- (void) growlNotify: (NSString *) title;
/**
** Generate a Growl message with a notification type of "Miscellaneous".
**/
- (void) growlNotify: (NSString *) title withDescription: (NSString *) description;
/**
** Generate a 'full' Growl message with a specified notification type.
**/
- (void) growlNotify: (NSString *) title withDescription: (NSString *) description andNotification: (NSString *) notification;
/**
** Generate a 'full' Growl message with a specified notification type,
** associated with a PTYSession.
**/
- (void)growlNotify:(NSString *)title
withDescription:(NSString *)description
andNotification:(NSString *)notification
andSession:(PTYSession *)session;
@end