Adium plugin to pipe events/messages to an external program
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

initial version

joshua stein e1330525

+2955
+2
.gitignore
··· 1 + build 2 + .DS_Store
+28
Info.plist
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>AIMinimumAdiumVersionRequirement</key> 6 + <string>1.3</string> 7 + <key>CFBundleDevelopmentRegion</key> 8 + <string>English</string> 9 + <key>CFBundleExecutable</key> 10 + <string>PipeEventPlugin</string> 11 + <key>CFBundleIconFile</key> 12 + <string></string> 13 + <key>CFBundleIdentifier</key> 14 + <string>org.jcs.PipeEventPlugin</string> 15 + <key>CFBundleInfoDictionaryVersion</key> 16 + <string>6.0</string> 17 + <key>CFBundleName</key> 18 + <string>${PRODUCT_NAME}</string> 19 + <key>CFBundlePackageType</key> 20 + <string>BNDL</string> 21 + <key>CFBundleSignature</key> 22 + <string>AdiM</string> 23 + <key>CFBundleVersion</key> 24 + <string>1.0</string> 25 + <key>NSPrincipalClass</key> 26 + <string>PipeEventPlugin</string> 27 + </dict> 28 + </plist>
+26
LICENSE
··· 1 + PipeEvent Adium Plugin 2 + 3 + Copyright (c) 2010 joshua stein <jcs@jcs.org> 4 + 5 + Redistribution and use in source and binary forms, with or without 6 + modification, are permitted provided that the following conditions 7 + are met: 8 + 9 + 1. Redistributions of source code must retain the above copyright 10 + notice, this list of conditions and the following disclaimer. 11 + 2. Redistributions in binary form must reproduce the above copyright 12 + notice, this list of conditions and the following disclaimer in the 13 + documentation and/or other materials provided with the distribution. 14 + 3. The name of the author may not be used to endorse or promote products 15 + derived from this software without specific prior written permission. 16 + 17 + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18 + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19 + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20 + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+767
PipeEvent.nib/designable.nib
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> 3 + <data> 4 + <int key="IBDocument.SystemTarget">1060</int> 5 + <string key="IBDocument.SystemVersion">10H574</string> 6 + <string key="IBDocument.InterfaceBuilderVersion">823</string> 7 + <string key="IBDocument.AppKitVersion">1038.35</string> 8 + <string key="IBDocument.HIToolboxVersion">461.00</string> 9 + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> 11 + <string key="NS.object.0">823</string> 12 + </object> 13 + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> 14 + <bool key="EncodedWithXMLCoder">YES</bool> 15 + <integer value="5"/> 16 + </object> 17 + <object class="NSArray" key="IBDocument.PluginDependencies"> 18 + <bool key="EncodedWithXMLCoder">YES</bool> 19 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 20 + </object> 21 + <object class="NSMutableDictionary" key="IBDocument.Metadata"> 22 + <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 23 + <integer value="1" key="NS.object.0"/> 24 + </object> 25 + <object class="NSMutableArray" key="IBDocument.RootObjects" id="555519691"> 26 + <bool key="EncodedWithXMLCoder">YES</bool> 27 + <object class="NSCustomObject" id="252087448"> 28 + <string key="NSClassName">PipeEventDetailPane</string> 29 + </object> 30 + <object class="NSCustomObject" id="1063742037"> 31 + <string key="NSClassName">FirstResponder</string> 32 + </object> 33 + <object class="NSCustomObject" id="1016719247"> 34 + <string key="NSClassName">NSApplication</string> 35 + </object> 36 + <object class="NSCustomView" id="620044544"> 37 + <reference key="NSNextResponder"/> 38 + <int key="NSvFlags">256</int> 39 + <object class="NSMutableArray" key="NSSubviews"> 40 + <bool key="EncodedWithXMLCoder">YES</bool> 41 + <object class="NSTextField" id="487393283"> 42 + <reference key="NSNextResponder" ref="620044544"/> 43 + <int key="NSvFlags">268</int> 44 + <string key="NSFrame">{{162, 4}, {368, 22}}</string> 45 + <reference key="NSSuperview" ref="620044544"/> 46 + <bool key="NSEnabled">YES</bool> 47 + <object class="NSTextFieldCell" key="NSCell" id="719438349"> 48 + <int key="NSCellFlags">343014977</int> 49 + <int key="NSCellFlags2">272630784</int> 50 + <string key="NSContents"/> 51 + <object class="NSFont" key="NSSupport" id="985268539"> 52 + <string key="NSName">LucidaGrande</string> 53 + <double key="NSSize">13</double> 54 + <int key="NSfFlags">1044</int> 55 + </object> 56 + <reference key="NSControlView" ref="487393283"/> 57 + <bool key="NSDrawsBackground">YES</bool> 58 + <object class="NSColor" key="NSBackgroundColor"> 59 + <int key="NSColorSpace">6</int> 60 + <string key="NSCatalogName">System</string> 61 + <string key="NSColorName">textBackgroundColor</string> 62 + <object class="NSColor" key="NSColor"> 63 + <int key="NSColorSpace">3</int> 64 + <bytes key="NSWhite">MQA</bytes> 65 + </object> 66 + </object> 67 + <object class="NSColor" key="NSTextColor"> 68 + <int key="NSColorSpace">6</int> 69 + <string key="NSCatalogName">System</string> 70 + <string key="NSColorName">textColor</string> 71 + <object class="NSColor" key="NSColor" id="329742758"> 72 + <int key="NSColorSpace">3</int> 73 + <bytes key="NSWhite">MAA</bytes> 74 + </object> 75 + </object> 76 + </object> 77 + </object> 78 + <object class="NSTextField" id="432982409"> 79 + <reference key="NSNextResponder" ref="620044544"/> 80 + <int key="NSvFlags">268</int> 81 + <string key="NSFrame">{{17, 6}, {140, 17}}</string> 82 + <reference key="NSSuperview" ref="620044544"/> 83 + <bool key="NSEnabled">YES</bool> 84 + <object class="NSTextFieldCell" key="NSCell" id="797437917"> 85 + <int key="NSCellFlags">67239424</int> 86 + <int key="NSCellFlags2">71303168</int> 87 + <string key="NSContents">Command:</string> 88 + <reference key="NSSupport" ref="985268539"/> 89 + <reference key="NSControlView" ref="432982409"/> 90 + <object class="NSColor" key="NSBackgroundColor"> 91 + <int key="NSColorSpace">6</int> 92 + <string key="NSCatalogName">System</string> 93 + <string key="NSColorName">controlColor</string> 94 + <object class="NSColor" key="NSColor"> 95 + <int key="NSColorSpace">3</int> 96 + <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> 97 + </object> 98 + </object> 99 + <object class="NSColor" key="NSTextColor"> 100 + <int key="NSColorSpace">6</int> 101 + <string key="NSCatalogName">System</string> 102 + <string key="NSColorName">controlTextColor</string> 103 + <reference key="NSColor" ref="329742758"/> 104 + </object> 105 + </object> 106 + </object> 107 + </object> 108 + <string key="NSFrameSize">{550, 26}</string> 109 + <reference key="NSSuperview"/> 110 + <object class="NSMutableString" key="NSClassName"> 111 + <characters key="NS.bytes">NSView</characters> 112 + </object> 113 + <string key="NSExtension">NSResponder</string> 114 + </object> 115 + </object> 116 + <object class="IBObjectContainer" key="IBDocument.Objects"> 117 + <object class="NSMutableArray" key="connectionRecords"> 118 + <bool key="EncodedWithXMLCoder">YES</bool> 119 + <object class="IBConnectionRecord"> 120 + <object class="IBOutletConnection" key="connection"> 121 + <string key="label">view</string> 122 + <reference key="source" ref="252087448"/> 123 + <reference key="destination" ref="620044544"/> 124 + </object> 125 + <int key="connectionID">19</int> 126 + </object> 127 + <object class="IBConnectionRecord"> 128 + <object class="IBOutletConnection" key="connection"> 129 + <string key="label">label_behavior</string> 130 + <reference key="source" ref="252087448"/> 131 + <reference key="destination" ref="432982409"/> 132 + </object> 133 + <int key="connectionID">21</int> 134 + </object> 135 + <object class="IBConnectionRecord"> 136 + <object class="IBOutletConnection" key="connection"> 137 + <string key="label">text_command</string> 138 + <reference key="source" ref="252087448"/> 139 + <reference key="destination" ref="487393283"/> 140 + </object> 141 + <int key="connectionID">28</int> 142 + </object> 143 + </object> 144 + <object class="IBMutableOrderedSet" key="objectRecords"> 145 + <object class="NSArray" key="orderedObjects"> 146 + <bool key="EncodedWithXMLCoder">YES</bool> 147 + <object class="IBObjectRecord"> 148 + <int key="objectID">0</int> 149 + <object class="NSArray" key="object" id="0"> 150 + <bool key="EncodedWithXMLCoder">YES</bool> 151 + </object> 152 + <reference key="children" ref="555519691"/> 153 + <nil key="parent"/> 154 + </object> 155 + <object class="IBObjectRecord"> 156 + <int key="objectID">-2</int> 157 + <reference key="object" ref="252087448"/> 158 + <reference key="parent" ref="0"/> 159 + <string key="objectName">File's Owner</string> 160 + </object> 161 + <object class="IBObjectRecord"> 162 + <int key="objectID">-1</int> 163 + <reference key="object" ref="1063742037"/> 164 + <reference key="parent" ref="0"/> 165 + <string key="objectName">First Responder</string> 166 + </object> 167 + <object class="IBObjectRecord"> 168 + <int key="objectID">5</int> 169 + <reference key="object" ref="620044544"/> 170 + <object class="NSMutableArray" key="children"> 171 + <bool key="EncodedWithXMLCoder">YES</bool> 172 + <reference ref="432982409"/> 173 + <reference ref="487393283"/> 174 + </object> 175 + <reference key="parent" ref="0"/> 176 + <string key="objectName">View</string> 177 + </object> 178 + <object class="IBObjectRecord"> 179 + <int key="objectID">15</int> 180 + <reference key="object" ref="432982409"/> 181 + <object class="NSMutableArray" key="children"> 182 + <bool key="EncodedWithXMLCoder">YES</bool> 183 + <reference ref="797437917"/> 184 + </object> 185 + <reference key="parent" ref="620044544"/> 186 + </object> 187 + <object class="IBObjectRecord"> 188 + <int key="objectID">24</int> 189 + <reference key="object" ref="797437917"/> 190 + <reference key="parent" ref="432982409"/> 191 + </object> 192 + <object class="IBObjectRecord"> 193 + <int key="objectID">-3</int> 194 + <reference key="object" ref="1016719247"/> 195 + <reference key="parent" ref="0"/> 196 + <string key="objectName">Application</string> 197 + </object> 198 + <object class="IBObjectRecord"> 199 + <int key="objectID">26</int> 200 + <reference key="object" ref="487393283"/> 201 + <object class="NSMutableArray" key="children"> 202 + <bool key="EncodedWithXMLCoder">YES</bool> 203 + <reference ref="719438349"/> 204 + </object> 205 + <reference key="parent" ref="620044544"/> 206 + </object> 207 + <object class="IBObjectRecord"> 208 + <int key="objectID">27</int> 209 + <reference key="object" ref="719438349"/> 210 + <reference key="parent" ref="487393283"/> 211 + </object> 212 + </object> 213 + </object> 214 + <object class="NSMutableDictionary" key="flattenedProperties"> 215 + <bool key="EncodedWithXMLCoder">YES</bool> 216 + <object class="NSArray" key="dict.sortedKeys"> 217 + <bool key="EncodedWithXMLCoder">YES</bool> 218 + <string>15.IBPluginDependency</string> 219 + <string>15.IBViewBoundsToFrameTransform</string> 220 + <string>15.ImportedFromIB2</string> 221 + <string>26.IBPluginDependency</string> 222 + <string>26.IBViewBoundsToFrameTransform</string> 223 + <string>27.IBPluginDependency</string> 224 + <string>5.IBEditorWindowLastContentRect</string> 225 + <string>5.IBPluginDependency</string> 226 + <string>5.ImportedFromIB2</string> 227 + </object> 228 + <object class="NSMutableArray" key="dict.values"> 229 + <bool key="EncodedWithXMLCoder">YES</bool> 230 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 231 + <object class="NSAffineTransform"> 232 + <bytes key="NSTransformStruct">P4AAAL+AAABBiAAAwXAAAA</bytes> 233 + </object> 234 + <boolean value="YES"/> 235 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 236 + <object class="NSAffineTransform"> 237 + <bytes key="NSTransformStruct">P4AAAL+AAABDIgAAwcAAAA</bytes> 238 + </object> 239 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 240 + <string>{{330, 621}, {550, 26}}</string> 241 + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 242 + <boolean value="YES"/> 243 + </object> 244 + </object> 245 + <object class="NSMutableDictionary" key="unlocalizedProperties"> 246 + <bool key="EncodedWithXMLCoder">YES</bool> 247 + <reference key="dict.sortedKeys" ref="0"/> 248 + <object class="NSMutableArray" key="dict.values"> 249 + <bool key="EncodedWithXMLCoder">YES</bool> 250 + </object> 251 + </object> 252 + <nil key="activeLocalization"/> 253 + <object class="NSMutableDictionary" key="localizations"> 254 + <bool key="EncodedWithXMLCoder">YES</bool> 255 + <reference key="dict.sortedKeys" ref="0"/> 256 + <object class="NSMutableArray" key="dict.values"> 257 + <bool key="EncodedWithXMLCoder">YES</bool> 258 + </object> 259 + </object> 260 + <nil key="sourceID"/> 261 + <int key="maxID">28</int> 262 + </object> 263 + <object class="IBClassDescriber" key="IBDocument.Classes"> 264 + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> 265 + <bool key="EncodedWithXMLCoder">YES</bool> 266 + <object class="IBPartialClassDescription"> 267 + <string key="className">AIActionDetailsPane</string> 268 + <string key="superclassName">AIModularPane</string> 269 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 270 + <string key="majorKey">IBUserSource</string> 271 + <string key="minorKey"/> 272 + </object> 273 + </object> 274 + <object class="IBPartialClassDescription"> 275 + <string key="className">AIModularPane</string> 276 + <string key="superclassName">AIObject</string> 277 + <object class="NSMutableDictionary" key="actions"> 278 + <string key="NS.key.0">changePreference:</string> 279 + <string key="NS.object.0">id</string> 280 + </object> 281 + <object class="NSMutableDictionary" key="actionInfosByName"> 282 + <string key="NS.key.0">changePreference:</string> 283 + <object class="IBActionInfo" key="NS.object.0"> 284 + <string key="name">changePreference:</string> 285 + <string key="candidateClassName">id</string> 286 + </object> 287 + </object> 288 + <object class="NSMutableDictionary" key="outlets"> 289 + <bool key="EncodedWithXMLCoder">YES</bool> 290 + <object class="NSArray" key="dict.sortedKeys"> 291 + <bool key="EncodedWithXMLCoder">YES</bool> 292 + <string>plugin</string> 293 + <string>view</string> 294 + </object> 295 + <object class="NSMutableArray" key="dict.values"> 296 + <bool key="EncodedWithXMLCoder">YES</bool> 297 + <string>id</string> 298 + <string>NSView</string> 299 + </object> 300 + </object> 301 + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> 302 + <bool key="EncodedWithXMLCoder">YES</bool> 303 + <object class="NSArray" key="dict.sortedKeys"> 304 + <bool key="EncodedWithXMLCoder">YES</bool> 305 + <string>plugin</string> 306 + <string>view</string> 307 + </object> 308 + <object class="NSMutableArray" key="dict.values"> 309 + <bool key="EncodedWithXMLCoder">YES</bool> 310 + <object class="IBToOneOutletInfo"> 311 + <string key="name">plugin</string> 312 + <string key="candidateClassName">id</string> 313 + </object> 314 + <object class="IBToOneOutletInfo"> 315 + <string key="name">view</string> 316 + <string key="candidateClassName">NSView</string> 317 + </object> 318 + </object> 319 + </object> 320 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 321 + <string key="majorKey">IBUserSource</string> 322 + <string key="minorKey"/> 323 + </object> 324 + </object> 325 + <object class="IBPartialClassDescription"> 326 + <string key="className">AIObject</string> 327 + <string key="superclassName">NSObject</string> 328 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 329 + <string key="majorKey">IBUserSource</string> 330 + <string key="minorKey"/> 331 + </object> 332 + </object> 333 + <object class="IBPartialClassDescription"> 334 + <string key="className">FirstResponder</string> 335 + <string key="superclassName">NSObject</string> 336 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 337 + <string key="majorKey">IBUserSource</string> 338 + <string key="minorKey"/> 339 + </object> 340 + </object> 341 + <object class="IBPartialClassDescription"> 342 + <string key="className">PipeEventDetailPane</string> 343 + <string key="superclassName">AIActionDetailsPane</string> 344 + <object class="NSMutableDictionary" key="outlets"> 345 + <string key="NS.key.0">text_command</string> 346 + <string key="NS.object.0">NSTextField</string> 347 + </object> 348 + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> 349 + <string key="NS.key.0">text_command</string> 350 + <object class="IBToOneOutletInfo" key="NS.object.0"> 351 + <string key="name">text_command</string> 352 + <string key="candidateClassName">NSTextField</string> 353 + </object> 354 + </object> 355 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 356 + <string key="majorKey">IBProjectSource</string> 357 + <string key="minorKey">PipeEventDetailPane.h</string> 358 + </object> 359 + </object> 360 + </object> 361 + <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> 362 + <bool key="EncodedWithXMLCoder">YES</bool> 363 + <object class="IBPartialClassDescription"> 364 + <string key="className">NSActionCell</string> 365 + <string key="superclassName">NSCell</string> 366 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 367 + <string key="majorKey">IBFrameworkSource</string> 368 + <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string> 369 + </object> 370 + </object> 371 + <object class="IBPartialClassDescription"> 372 + <string key="className">NSApplication</string> 373 + <string key="superclassName">NSResponder</string> 374 + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="494166759"> 375 + <string key="majorKey">IBFrameworkSource</string> 376 + <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string> 377 + </object> 378 + </object> 379 + <object class="IBPartialClassDescription"> 380 + <string key="className">NSApplication</string> 381 + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="549450946"> 382 + <string key="majorKey">IBFrameworkSource</string> 383 + <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string> 384 + </object> 385 + </object> 386 + <object class="IBPartialClassDescription"> 387 + <string key="className">NSApplication</string> 388 + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="456284729"> 389 + <string key="majorKey">IBFrameworkSource</string> 390 + <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string> 391 + </object> 392 + </object> 393 + <object class="IBPartialClassDescription"> 394 + <string key="className">NSApplication</string> 395 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 396 + <string key="majorKey">IBFrameworkSource</string> 397 + <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string> 398 + </object> 399 + </object> 400 + <object class="IBPartialClassDescription"> 401 + <string key="className">NSApplication</string> 402 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 403 + <string key="majorKey">IBFrameworkSource</string> 404 + <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string> 405 + </object> 406 + </object> 407 + <object class="IBPartialClassDescription"> 408 + <string key="className">NSApplication</string> 409 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 410 + <string key="majorKey">IBFrameworkSource</string> 411 + <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string> 412 + </object> 413 + </object> 414 + <object class="IBPartialClassDescription"> 415 + <string key="className">NSCell</string> 416 + <string key="superclassName">NSObject</string> 417 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 418 + <string key="majorKey">IBFrameworkSource</string> 419 + <string key="minorKey">AppKit.framework/Headers/NSCell.h</string> 420 + </object> 421 + </object> 422 + <object class="IBPartialClassDescription"> 423 + <string key="className">NSControl</string> 424 + <string key="superclassName">NSView</string> 425 + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="813226731"> 426 + <string key="majorKey">IBFrameworkSource</string> 427 + <string key="minorKey">AppKit.framework/Headers/NSControl.h</string> 428 + </object> 429 + </object> 430 + <object class="IBPartialClassDescription"> 431 + <string key="className">NSFormatter</string> 432 + <string key="superclassName">NSObject</string> 433 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 434 + <string key="majorKey">IBFrameworkSource</string> 435 + <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string> 436 + </object> 437 + </object> 438 + <object class="IBPartialClassDescription"> 439 + <string key="className">NSMenu</string> 440 + <string key="superclassName">NSObject</string> 441 + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="199916222"> 442 + <string key="majorKey">IBFrameworkSource</string> 443 + <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string> 444 + </object> 445 + </object> 446 + <object class="IBPartialClassDescription"> 447 + <string key="className">NSObject</string> 448 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 449 + <string key="majorKey">IBFrameworkSource</string> 450 + <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string> 451 + </object> 452 + </object> 453 + <object class="IBPartialClassDescription"> 454 + <string key="className">NSObject</string> 455 + <reference key="sourceIdentifier" ref="494166759"/> 456 + </object> 457 + <object class="IBPartialClassDescription"> 458 + <string key="className">NSObject</string> 459 + <reference key="sourceIdentifier" ref="549450946"/> 460 + </object> 461 + <object class="IBPartialClassDescription"> 462 + <string key="className">NSObject</string> 463 + <reference key="sourceIdentifier" ref="456284729"/> 464 + </object> 465 + <object class="IBPartialClassDescription"> 466 + <string key="className">NSObject</string> 467 + <reference key="sourceIdentifier" ref="813226731"/> 468 + </object> 469 + <object class="IBPartialClassDescription"> 470 + <string key="className">NSObject</string> 471 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 472 + <string key="majorKey">IBFrameworkSource</string> 473 + <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string> 474 + </object> 475 + </object> 476 + <object class="IBPartialClassDescription"> 477 + <string key="className">NSObject</string> 478 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 479 + <string key="majorKey">IBFrameworkSource</string> 480 + <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string> 481 + </object> 482 + </object> 483 + <object class="IBPartialClassDescription"> 484 + <string key="className">NSObject</string> 485 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 486 + <string key="majorKey">IBFrameworkSource</string> 487 + <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string> 488 + </object> 489 + </object> 490 + <object class="IBPartialClassDescription"> 491 + <string key="className">NSObject</string> 492 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 493 + <string key="majorKey">IBFrameworkSource</string> 494 + <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string> 495 + </object> 496 + </object> 497 + <object class="IBPartialClassDescription"> 498 + <string key="className">NSObject</string> 499 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 500 + <string key="majorKey">IBFrameworkSource</string> 501 + <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string> 502 + </object> 503 + </object> 504 + <object class="IBPartialClassDescription"> 505 + <string key="className">NSObject</string> 506 + <reference key="sourceIdentifier" ref="199916222"/> 507 + </object> 508 + <object class="IBPartialClassDescription"> 509 + <string key="className">NSObject</string> 510 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 511 + <string key="majorKey">IBFrameworkSource</string> 512 + <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string> 513 + </object> 514 + </object> 515 + <object class="IBPartialClassDescription"> 516 + <string key="className">NSObject</string> 517 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 518 + <string key="majorKey">IBFrameworkSource</string> 519 + <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string> 520 + </object> 521 + </object> 522 + <object class="IBPartialClassDescription"> 523 + <string key="className">NSObject</string> 524 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 525 + <string key="majorKey">IBFrameworkSource</string> 526 + <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string> 527 + </object> 528 + </object> 529 + <object class="IBPartialClassDescription"> 530 + <string key="className">NSObject</string> 531 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 532 + <string key="majorKey">IBFrameworkSource</string> 533 + <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string> 534 + </object> 535 + </object> 536 + <object class="IBPartialClassDescription"> 537 + <string key="className">NSObject</string> 538 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 539 + <string key="majorKey">IBFrameworkSource</string> 540 + <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string> 541 + </object> 542 + </object> 543 + <object class="IBPartialClassDescription"> 544 + <string key="className">NSObject</string> 545 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 546 + <string key="majorKey">IBFrameworkSource</string> 547 + <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string> 548 + </object> 549 + </object> 550 + <object class="IBPartialClassDescription"> 551 + <string key="className">NSObject</string> 552 + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="161305923"> 553 + <string key="majorKey">IBFrameworkSource</string> 554 + <string key="minorKey">AppKit.framework/Headers/NSView.h</string> 555 + </object> 556 + </object> 557 + <object class="IBPartialClassDescription"> 558 + <string key="className">NSObject</string> 559 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 560 + <string key="majorKey">IBFrameworkSource</string> 561 + <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string> 562 + </object> 563 + </object> 564 + <object class="IBPartialClassDescription"> 565 + <string key="className">NSObject</string> 566 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 567 + <string key="majorKey">IBFrameworkSource</string> 568 + <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string> 569 + </object> 570 + </object> 571 + <object class="IBPartialClassDescription"> 572 + <string key="className">NSObject</string> 573 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 574 + <string key="majorKey">IBFrameworkSource</string> 575 + <string key="minorKey">Foundation.framework/Headers/NSError.h</string> 576 + </object> 577 + </object> 578 + <object class="IBPartialClassDescription"> 579 + <string key="className">NSObject</string> 580 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 581 + <string key="majorKey">IBFrameworkSource</string> 582 + <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> 583 + </object> 584 + </object> 585 + <object class="IBPartialClassDescription"> 586 + <string key="className">NSObject</string> 587 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 588 + <string key="majorKey">IBFrameworkSource</string> 589 + <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> 590 + </object> 591 + </object> 592 + <object class="IBPartialClassDescription"> 593 + <string key="className">NSObject</string> 594 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 595 + <string key="majorKey">IBFrameworkSource</string> 596 + <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> 597 + </object> 598 + </object> 599 + <object class="IBPartialClassDescription"> 600 + <string key="className">NSObject</string> 601 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 602 + <string key="majorKey">IBFrameworkSource</string> 603 + <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> 604 + </object> 605 + </object> 606 + <object class="IBPartialClassDescription"> 607 + <string key="className">NSObject</string> 608 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 609 + <string key="majorKey">IBFrameworkSource</string> 610 + <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> 611 + </object> 612 + </object> 613 + <object class="IBPartialClassDescription"> 614 + <string key="className">NSObject</string> 615 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 616 + <string key="majorKey">IBFrameworkSource</string> 617 + <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string> 618 + </object> 619 + </object> 620 + <object class="IBPartialClassDescription"> 621 + <string key="className">NSObject</string> 622 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 623 + <string key="majorKey">IBFrameworkSource</string> 624 + <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string> 625 + </object> 626 + </object> 627 + <object class="IBPartialClassDescription"> 628 + <string key="className">NSObject</string> 629 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 630 + <string key="majorKey">IBFrameworkSource</string> 631 + <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> 632 + </object> 633 + </object> 634 + <object class="IBPartialClassDescription"> 635 + <string key="className">NSObject</string> 636 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 637 + <string key="majorKey">IBFrameworkSource</string> 638 + <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string> 639 + </object> 640 + </object> 641 + <object class="IBPartialClassDescription"> 642 + <string key="className">NSObject</string> 643 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 644 + <string key="majorKey">IBFrameworkSource</string> 645 + <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string> 646 + </object> 647 + </object> 648 + <object class="IBPartialClassDescription"> 649 + <string key="className">NSObject</string> 650 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 651 + <string key="majorKey">IBFrameworkSource</string> 652 + <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string> 653 + </object> 654 + </object> 655 + <object class="IBPartialClassDescription"> 656 + <string key="className">NSObject</string> 657 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 658 + <string key="majorKey">IBFrameworkSource</string> 659 + <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string> 660 + </object> 661 + </object> 662 + <object class="IBPartialClassDescription"> 663 + <string key="className">NSObject</string> 664 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 665 + <string key="majorKey">IBFrameworkSource</string> 666 + <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> 667 + </object> 668 + </object> 669 + <object class="IBPartialClassDescription"> 670 + <string key="className">NSObject</string> 671 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 672 + <string key="majorKey">IBFrameworkSource</string> 673 + <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> 674 + </object> 675 + </object> 676 + <object class="IBPartialClassDescription"> 677 + <string key="className">NSObject</string> 678 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 679 + <string key="majorKey">IBFrameworkSource</string> 680 + <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> 681 + </object> 682 + </object> 683 + <object class="IBPartialClassDescription"> 684 + <string key="className">NSObject</string> 685 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 686 + <string key="majorKey">IBFrameworkSource</string> 687 + <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string> 688 + </object> 689 + </object> 690 + <object class="IBPartialClassDescription"> 691 + <string key="className">NSResponder</string> 692 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 693 + <string key="majorKey">IBFrameworkSource</string> 694 + <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string> 695 + </object> 696 + </object> 697 + <object class="IBPartialClassDescription"> 698 + <string key="className">NSResponder</string> 699 + <string key="superclassName">NSObject</string> 700 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 701 + <string key="majorKey">IBFrameworkSource</string> 702 + <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string> 703 + </object> 704 + </object> 705 + <object class="IBPartialClassDescription"> 706 + <string key="className">NSTextField</string> 707 + <string key="superclassName">NSControl</string> 708 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 709 + <string key="majorKey">IBFrameworkSource</string> 710 + <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string> 711 + </object> 712 + </object> 713 + <object class="IBPartialClassDescription"> 714 + <string key="className">NSTextFieldCell</string> 715 + <string key="superclassName">NSActionCell</string> 716 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 717 + <string key="majorKey">IBFrameworkSource</string> 718 + <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string> 719 + </object> 720 + </object> 721 + <object class="IBPartialClassDescription"> 722 + <string key="className">NSView</string> 723 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 724 + <string key="majorKey">IBFrameworkSource</string> 725 + <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string> 726 + </object> 727 + </object> 728 + <object class="IBPartialClassDescription"> 729 + <string key="className">NSView</string> 730 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 731 + <string key="majorKey">IBFrameworkSource</string> 732 + <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string> 733 + </object> 734 + </object> 735 + <object class="IBPartialClassDescription"> 736 + <string key="className">NSView</string> 737 + <object class="IBClassDescriptionSource" key="sourceIdentifier"> 738 + <string key="majorKey">IBFrameworkSource</string> 739 + <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string> 740 + </object> 741 + </object> 742 + <object class="IBPartialClassDescription"> 743 + <string key="className">NSView</string> 744 + <string key="superclassName">NSResponder</string> 745 + <reference key="sourceIdentifier" ref="161305923"/> 746 + </object> 747 + </object> 748 + </object> 749 + <int key="IBDocument.localizationMode">0</int> 750 + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> 751 + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> 752 + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> 753 + <integer value="1060" key="NS.object.0"/> 754 + </object> 755 + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> 756 + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> 757 + <integer value="1050" key="NS.object.0"/> 758 + </object> 759 + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> 760 + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string> 761 + <integer value="3000" key="NS.object.0"/> 762 + </object> 763 + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 764 + <string key="IBDocument.LastKnownRelativeProjectPath">PipeMessagePlugin.xcodeproj</string> 765 + <int key="IBDocument.defaultPropertyAccessControl">3</int> 766 + </data> 767 + </archive>
PipeEvent.nib/keyedobjects.nib

This is a binary file and will not be displayed.

+9
PipeEventDetailPane.h
··· 1 + #import <Adium/AIActionDetailsPane.h> 2 + 3 + @class AILocalizationTextField; 4 + 5 + @interface PipeEventDetailPane : AIActionDetailsPane { 6 + IBOutlet NSTextField *text_command; 7 + } 8 + 9 + @end
+29
PipeEventDetailPane.m
··· 1 + #import "PipeEventPlugin.h" 2 + #import "PipeEventDetailPane.h" 3 + 4 + @implementation PipeEventDetailPane 5 + 6 + - (NSString *)nibName{ 7 + return @"PipeEvent"; 8 + } 9 + 10 + /* put the command back in the text field */ 11 + - (void)configureForActionDetails:(NSDictionary *)inDetails listObject:(AIListObject *)inObject 12 + { 13 + NSString *command = [inDetails objectForKey:KEY_COMMAND]; 14 + [text_command setStringValue:(command ? command : @"")]; 15 + 16 + [super configureForActionDetails:inDetails listObject:inObject]; 17 + } 18 + 19 + - (NSDictionary *)actionDetails 20 + { 21 + if ([text_command stringValue]) { 22 + return [NSDictionary dictionaryWithObject:[text_command stringValue] forKey:KEY_COMMAND]; 23 + } else { 24 + return nil; 25 + } 26 + } 27 + 28 + @end 29 +
+14
PipeEventPlugin.h
··· 1 + #import <Cocoa/Cocoa.h> 2 + #import <Adium/AIPlugin.h> 3 + #import <Adium/AISharedAdium.h> 4 + #import <Adium/AIContactAlertsControllerProtocol.h> 5 + 6 + #define KEY_COMMAND @"PipeEvent" 7 + 8 + @protocol AIContentFilter; 9 + 10 + @interface PipeEventPlugin : AIPlugin <AIActionHandler> { 11 + } 12 + 13 + @end 14 +
+139
PipeEventPlugin.m
··· 1 + #import "PipeEventPlugin.h" 2 + #import "PipeEventDetailPane.h" 3 + #import <AIUtilities/AIImageAdditions.h> 4 + #import <Adium/AIContentObject.h> 5 + #import <Adium/AIListContact.h> 6 + 7 + #define PIPE_EVENT_IDENTIFIER @"PipeEvent" 8 + #define PIPE_EVENT_SHORT @"Pipe event to command" 9 + #define PIPE_EVENT_LONG @"Pipe event to \"%@\"" 10 + 11 + @implementation PipeEventPlugin 12 + 13 + - (void)installPlugin 14 + { 15 + [adium.contactAlertsController registerActionID:PIPE_EVENT_IDENTIFIER withHandler:self]; 16 + } 17 + 18 + /* text for the "Action:" drop down */ 19 + - (NSString *)shortDescriptionForActionID:(NSString *)actionID 20 + { 21 + return PIPE_EVENT_SHORT; 22 + } 23 + 24 + /* subtext for the "When you receive any message" line, and the text in the full events list */ 25 + - (NSString *)longDescriptionForActionID:(NSString *)actionID 26 + withDetails:(NSDictionary *)details 27 + { 28 + NSString *command = [details objectForKey:KEY_COMMAND]; 29 + 30 + if (command && [command length]) { 31 + return [NSString stringWithFormat:PIPE_EVENT_LONG, [command lastPathComponent]]; 32 + } else { 33 + return PIPE_EVENT_SHORT; 34 + } 35 + } 36 + 37 + - (NSImage *)imageForActionID:(NSString *)actionID 38 + { 39 + return [NSImage imageNamed:@"TerminalIcon" forClass:[self class]]; 40 + } 41 + 42 + - (AIModularPane *)detailsPaneForActionID:(NSString *)actionID 43 + { 44 + return [PipeEventDetailPane actionDetailsPane]; 45 + } 46 + 47 + /* the actual event handler */ 48 + - (BOOL)performActionID:(NSString *)actionID 49 + forListObject:(AIListObject *)listObject 50 + withDetails:(NSDictionary *)details 51 + triggeringEventID:(NSString *)eventID 52 + userInfo:(id)userInfo 53 + { 54 + NSString *command = [details objectForKey:KEY_COMMAND]; 55 + NSString *message = [adium.contactAlertsController naturalLanguageDescriptionForEventID:eventID 56 + listObject:listObject 57 + userInfo:userInfo 58 + includeSubject:NO]; 59 + NSString *sender; 60 + AIChat *chat = nil; 61 + 62 + NSTask *task = [[NSTask alloc] init]; 63 + 64 + [task setLaunchPath:command]; 65 + 66 + // for a message event, listObject should become whoever sent the message 67 + if ([adium.contactAlertsController isMessageEvent:eventID] && 68 + [userInfo respondsToSelector:@selector(objectForKey:)] && 69 + [userInfo objectForKey:@"AIContentObject"]) { 70 + AIContentObject *contentObject = [userInfo objectForKey:@"AIContentObject"]; 71 + AIListObject *source = [contentObject source]; 72 + chat = [userInfo objectForKey:@"AIChat"]; 73 + 74 + if (source) 75 + listObject = source; 76 + } 77 + 78 + if (listObject) { 79 + if ([listObject isKindOfClass:[AIListContact class]]) { 80 + // use the parent 81 + listObject = [(AIListContact *)listObject parentContact]; 82 + sender = [listObject longDisplayName]; 83 + } else 84 + sender = listObject.displayName; 85 + } else if (chat) 86 + sender = chat.displayName; 87 + 88 + // pass the sender (or whatever the event sends) as the first arg 89 + if (sender) 90 + [task setArguments:[NSArray arrayWithObjects:sender, nil]]; 91 + 92 + // stdout and stderr will be closed right away 93 + [task setStandardOutput:[NSPipe pipe]]; 94 + [task setStandardError:[NSPipe pipe]]; 95 + [task setStandardInput:[NSPipe pipe]]; 96 + 97 + // go go gadget nstask 98 + [task launch]; 99 + 100 + // close command's stdout and stderr 101 + [[[task standardOutput] fileHandleForReading] closeFile]; 102 + [[[task standardError] fileHandleForReading] closeFile]; 103 + 104 + // send the message contents (with newline) and then close the filehandle 105 + [[[task standardInput] fileHandleForWriting] writeData:[[NSString stringWithFormat:@"%@\n", message] dataUsingEncoding:NSASCIIStringEncoding]]; 106 + [[[task standardInput] fileHandleForWriting] closeFile]; 107 + 108 + // uh, i guess magic happens here and everything is cleaned up for us 109 + 110 + return YES; // WE CAN 111 + } 112 + 113 + - (BOOL)allowMultipleActionsWithID:(NSString *)actionID 114 + { 115 + /* we can be setup with different commands for different things, so, yeah */ 116 + return YES; 117 + } 118 + 119 + - (NSString *)pluginAuthor 120 + { 121 + return @"joshua stein"; 122 + } 123 + 124 + - (NSString *)pluginVersion 125 + { 126 + return @"1.0"; 127 + } 128 + 129 + - (NSString *)pluginDescription 130 + { 131 + return @"This plugin pipes events to an external command."; // with gusto! 132 + } 133 + 134 + - (NSString *)pluginURL 135 + { 136 + return @"http://jcs.org/"; 137 + } 138 + 139 + @end
PipeEventPlugin.xcodeproj/TemplateIcon.icns

This is a binary file and will not be displayed.

+1403
PipeEventPlugin.xcodeproj/jcs.mode1v3
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>ActivePerspectiveName</key> 6 + <string>Project</string> 7 + <key>AllowedModules</key> 8 + <array> 9 + <dict> 10 + <key>BundleLoadPath</key> 11 + <string></string> 12 + <key>MaxInstances</key> 13 + <string>n</string> 14 + <key>Module</key> 15 + <string>PBXSmartGroupTreeModule</string> 16 + <key>Name</key> 17 + <string>Groups and Files Outline View</string> 18 + </dict> 19 + <dict> 20 + <key>BundleLoadPath</key> 21 + <string></string> 22 + <key>MaxInstances</key> 23 + <string>n</string> 24 + <key>Module</key> 25 + <string>PBXNavigatorGroup</string> 26 + <key>Name</key> 27 + <string>Editor</string> 28 + </dict> 29 + <dict> 30 + <key>BundleLoadPath</key> 31 + <string></string> 32 + <key>MaxInstances</key> 33 + <string>n</string> 34 + <key>Module</key> 35 + <string>XCTaskListModule</string> 36 + <key>Name</key> 37 + <string>Task List</string> 38 + </dict> 39 + <dict> 40 + <key>BundleLoadPath</key> 41 + <string></string> 42 + <key>MaxInstances</key> 43 + <string>n</string> 44 + <key>Module</key> 45 + <string>XCDetailModule</string> 46 + <key>Name</key> 47 + <string>File and Smart Group Detail Viewer</string> 48 + </dict> 49 + <dict> 50 + <key>BundleLoadPath</key> 51 + <string></string> 52 + <key>MaxInstances</key> 53 + <string>1</string> 54 + <key>Module</key> 55 + <string>PBXBuildResultsModule</string> 56 + <key>Name</key> 57 + <string>Detailed Build Results Viewer</string> 58 + </dict> 59 + <dict> 60 + <key>BundleLoadPath</key> 61 + <string></string> 62 + <key>MaxInstances</key> 63 + <string>1</string> 64 + <key>Module</key> 65 + <string>PBXProjectFindModule</string> 66 + <key>Name</key> 67 + <string>Project Batch Find Tool</string> 68 + </dict> 69 + <dict> 70 + <key>BundleLoadPath</key> 71 + <string></string> 72 + <key>MaxInstances</key> 73 + <string>n</string> 74 + <key>Module</key> 75 + <string>XCProjectFormatConflictsModule</string> 76 + <key>Name</key> 77 + <string>Project Format Conflicts List</string> 78 + </dict> 79 + <dict> 80 + <key>BundleLoadPath</key> 81 + <string></string> 82 + <key>MaxInstances</key> 83 + <string>n</string> 84 + <key>Module</key> 85 + <string>PBXBookmarksModule</string> 86 + <key>Name</key> 87 + <string>Bookmarks Tool</string> 88 + </dict> 89 + <dict> 90 + <key>BundleLoadPath</key> 91 + <string></string> 92 + <key>MaxInstances</key> 93 + <string>n</string> 94 + <key>Module</key> 95 + <string>PBXClassBrowserModule</string> 96 + <key>Name</key> 97 + <string>Class Browser</string> 98 + </dict> 99 + <dict> 100 + <key>BundleLoadPath</key> 101 + <string></string> 102 + <key>MaxInstances</key> 103 + <string>n</string> 104 + <key>Module</key> 105 + <string>PBXCVSModule</string> 106 + <key>Name</key> 107 + <string>Source Code Control Tool</string> 108 + </dict> 109 + <dict> 110 + <key>BundleLoadPath</key> 111 + <string></string> 112 + <key>MaxInstances</key> 113 + <string>n</string> 114 + <key>Module</key> 115 + <string>PBXDebugBreakpointsModule</string> 116 + <key>Name</key> 117 + <string>Debug Breakpoints Tool</string> 118 + </dict> 119 + <dict> 120 + <key>BundleLoadPath</key> 121 + <string></string> 122 + <key>MaxInstances</key> 123 + <string>n</string> 124 + <key>Module</key> 125 + <string>XCDockableInspector</string> 126 + <key>Name</key> 127 + <string>Inspector</string> 128 + </dict> 129 + <dict> 130 + <key>BundleLoadPath</key> 131 + <string></string> 132 + <key>MaxInstances</key> 133 + <string>n</string> 134 + <key>Module</key> 135 + <string>PBXOpenQuicklyModule</string> 136 + <key>Name</key> 137 + <string>Open Quickly Tool</string> 138 + </dict> 139 + <dict> 140 + <key>BundleLoadPath</key> 141 + <string></string> 142 + <key>MaxInstances</key> 143 + <string>1</string> 144 + <key>Module</key> 145 + <string>PBXDebugSessionModule</string> 146 + <key>Name</key> 147 + <string>Debugger</string> 148 + </dict> 149 + <dict> 150 + <key>BundleLoadPath</key> 151 + <string></string> 152 + <key>MaxInstances</key> 153 + <string>1</string> 154 + <key>Module</key> 155 + <string>PBXDebugCLIModule</string> 156 + <key>Name</key> 157 + <string>Debug Console</string> 158 + </dict> 159 + <dict> 160 + <key>BundleLoadPath</key> 161 + <string></string> 162 + <key>MaxInstances</key> 163 + <string>n</string> 164 + <key>Module</key> 165 + <string>XCSnapshotModule</string> 166 + <key>Name</key> 167 + <string>Snapshots Tool</string> 168 + </dict> 169 + </array> 170 + <key>BundlePath</key> 171 + <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string> 172 + <key>Description</key> 173 + <string>DefaultDescriptionKey</string> 174 + <key>DockingSystemVisible</key> 175 + <false/> 176 + <key>Extension</key> 177 + <string>mode1v3</string> 178 + <key>FavBarConfig</key> 179 + <dict> 180 + <key>PBXProjectModuleGUID</key> 181 + <string>012E1BFF12C980E2001DB640</string> 182 + <key>XCBarModuleItemNames</key> 183 + <dict/> 184 + <key>XCBarModuleItems</key> 185 + <array/> 186 + </dict> 187 + <key>FirstTimeWindowDisplayed</key> 188 + <false/> 189 + <key>Identifier</key> 190 + <string>com.apple.perspectives.project.mode1v3</string> 191 + <key>MajorVersion</key> 192 + <integer>33</integer> 193 + <key>MinorVersion</key> 194 + <integer>0</integer> 195 + <key>Name</key> 196 + <string>Default</string> 197 + <key>Notifications</key> 198 + <array/> 199 + <key>OpenEditors</key> 200 + <array/> 201 + <key>PerspectiveWidths</key> 202 + <array> 203 + <integer>-1</integer> 204 + <integer>-1</integer> 205 + </array> 206 + <key>Perspectives</key> 207 + <array> 208 + <dict> 209 + <key>ChosenToolbarItems</key> 210 + <array> 211 + <string>active-combo-popup</string> 212 + <string>action</string> 213 + <string>NSToolbarFlexibleSpaceItem</string> 214 + <string>debugger-enable-breakpoints</string> 215 + <string>build-and-go</string> 216 + <string>buildOrClean</string> 217 + <string>com.apple.ide.PBXToolbarStopButton</string> 218 + <string>get-info</string> 219 + <string>NSToolbarFlexibleSpaceItem</string> 220 + <string>com.apple.pbx.toolbar.searchfield</string> 221 + </array> 222 + <key>ControllerClassBaseName</key> 223 + <string></string> 224 + <key>IconName</key> 225 + <string>WindowOfProjectWithEditor</string> 226 + <key>Identifier</key> 227 + <string>perspective.project</string> 228 + <key>IsVertical</key> 229 + <false/> 230 + <key>Layout</key> 231 + <array> 232 + <dict> 233 + <key>BecomeActive</key> 234 + <true/> 235 + <key>ContentConfiguration</key> 236 + <dict> 237 + <key>PBXBottomSmartGroupGIDs</key> 238 + <array> 239 + <string>1C37FBAC04509CD000000102</string> 240 + <string>1C37FAAC04509CD000000102</string> 241 + <string>1C37FABC05509CD000000102</string> 242 + <string>1C37FABC05539CD112110102</string> 243 + <string>E2644B35053B69B200211256</string> 244 + <string>1C37FABC04509CD000100104</string> 245 + <string>1CC0EA4004350EF90044410B</string> 246 + <string>1CC0EA4004350EF90041110B</string> 247 + </array> 248 + <key>PBXProjectModuleGUID</key> 249 + <string>1CE0B1FE06471DED0097A5F4</string> 250 + <key>PBXProjectModuleLabel</key> 251 + <string>Files</string> 252 + <key>PBXProjectStructureProvided</key> 253 + <string>yes</string> 254 + <key>PBXSmartGroupTreeModuleColumnData</key> 255 + <dict> 256 + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> 257 + <array> 258 + <real>186</real> 259 + </array> 260 + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> 261 + <array> 262 + <string>MainColumn</string> 263 + </array> 264 + </dict> 265 + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> 266 + <dict> 267 + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> 268 + <array> 269 + <string>089C166AFE841209C02AAC07</string> 270 + <string>08FB77AFFE84173DC02AAC07</string> 271 + <string>089C167CFE841241C02AAC07</string> 272 + <string>089C1671FE841209C02AAC07</string> 273 + <string>1C37FBAC04509CD000000102</string> 274 + <string>1C37FABC05509CD000000102</string> 275 + </array> 276 + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> 277 + <array> 278 + <array> 279 + <integer>1</integer> 280 + <integer>0</integer> 281 + </array> 282 + </array> 283 + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> 284 + <string>{{0, 0}, {186, 602}}</string> 285 + </dict> 286 + <key>PBXTopSmartGroupGIDs</key> 287 + <array/> 288 + <key>XCIncludePerspectivesSwitch</key> 289 + <true/> 290 + <key>XCSharingToken</key> 291 + <string>com.apple.Xcode.GFSharingToken</string> 292 + </dict> 293 + <key>GeometryConfiguration</key> 294 + <dict> 295 + <key>Frame</key> 296 + <string>{{0, 0}, {203, 620}}</string> 297 + <key>GroupTreeTableConfiguration</key> 298 + <array> 299 + <string>MainColumn</string> 300 + <real>186</real> 301 + </array> 302 + <key>RubberWindowFrame</key> 303 + <string>42 72 1297 661 0 0 1366 746 </string> 304 + </dict> 305 + <key>Module</key> 306 + <string>PBXSmartGroupTreeModule</string> 307 + <key>Proportion</key> 308 + <string>203pt</string> 309 + </dict> 310 + <dict> 311 + <key>Dock</key> 312 + <array> 313 + <dict> 314 + <key>ContentConfiguration</key> 315 + <dict> 316 + <key>PBXProjectModuleGUID</key> 317 + <string>1CE0B20306471E060097A5F4</string> 318 + <key>PBXProjectModuleLabel</key> 319 + <string>PipeEventPlugin.m</string> 320 + <key>PBXSplitModuleInNavigatorKey</key> 321 + <dict> 322 + <key>Split0</key> 323 + <dict> 324 + <key>PBXProjectModuleGUID</key> 325 + <string>1CE0B20406471E060097A5F4</string> 326 + <key>PBXProjectModuleLabel</key> 327 + <string>PipeEventPlugin.m</string> 328 + <key>_historyCapacity</key> 329 + <integer>0</integer> 330 + <key>bookmark</key> 331 + <string>013D16A412C9CF3F00E50A86</string> 332 + <key>history</key> 333 + <array> 334 + <string>01FFC67A12C9CCF900EFFBD0</string> 335 + <string>01FFC67B12C9CCF900EFFBD0</string> 336 + <string>01FFC67C12C9CCF900EFFBD0</string> 337 + <string>01FFC67D12C9CCF900EFFBD0</string> 338 + <string>01FFC67E12C9CCF900EFFBD0</string> 339 + <string>01FFC67F12C9CCF900EFFBD0</string> 340 + <string>01DA5E6E12C9CE6D000F43A2</string> 341 + </array> 342 + </dict> 343 + <key>SplitCount</key> 344 + <string>1</string> 345 + </dict> 346 + <key>StatusBarVisibility</key> 347 + <true/> 348 + </dict> 349 + <key>GeometryConfiguration</key> 350 + <dict> 351 + <key>Frame</key> 352 + <string>{{0, 0}, {1089, 455}}</string> 353 + <key>RubberWindowFrame</key> 354 + <string>42 72 1297 661 0 0 1366 746 </string> 355 + </dict> 356 + <key>Module</key> 357 + <string>PBXNavigatorGroup</string> 358 + <key>Proportion</key> 359 + <string>455pt</string> 360 + </dict> 361 + <dict> 362 + <key>ContentConfiguration</key> 363 + <dict> 364 + <key>PBXProjectModuleGUID</key> 365 + <string>1CE0B20506471E060097A5F4</string> 366 + <key>PBXProjectModuleLabel</key> 367 + <string>Detail</string> 368 + </dict> 369 + <key>GeometryConfiguration</key> 370 + <dict> 371 + <key>Frame</key> 372 + <string>{{0, 460}, {1089, 160}}</string> 373 + <key>RubberWindowFrame</key> 374 + <string>42 72 1297 661 0 0 1366 746 </string> 375 + </dict> 376 + <key>Module</key> 377 + <string>XCDetailModule</string> 378 + <key>Proportion</key> 379 + <string>160pt</string> 380 + </dict> 381 + </array> 382 + <key>Proportion</key> 383 + <string>1089pt</string> 384 + </dict> 385 + </array> 386 + <key>Name</key> 387 + <string>Project</string> 388 + <key>ServiceClasses</key> 389 + <array> 390 + <string>XCModuleDock</string> 391 + <string>PBXSmartGroupTreeModule</string> 392 + <string>XCModuleDock</string> 393 + <string>PBXNavigatorGroup</string> 394 + <string>XCDetailModule</string> 395 + </array> 396 + <key>TableOfContents</key> 397 + <array> 398 + <string>013D169E12C9CEA000E50A86</string> 399 + <string>1CE0B1FE06471DED0097A5F4</string> 400 + <string>013D169F12C9CEA000E50A86</string> 401 + <string>1CE0B20306471E060097A5F4</string> 402 + <string>1CE0B20506471E060097A5F4</string> 403 + </array> 404 + <key>ToolbarConfigUserDefaultsMinorVersion</key> 405 + <string>2</string> 406 + <key>ToolbarConfiguration</key> 407 + <string>xcode.toolbar.config.defaultV3</string> 408 + </dict> 409 + <dict> 410 + <key>ControllerClassBaseName</key> 411 + <string></string> 412 + <key>IconName</key> 413 + <string>WindowOfProject</string> 414 + <key>Identifier</key> 415 + <string>perspective.morph</string> 416 + <key>IsVertical</key> 417 + <integer>0</integer> 418 + <key>Layout</key> 419 + <array> 420 + <dict> 421 + <key>BecomeActive</key> 422 + <integer>1</integer> 423 + <key>ContentConfiguration</key> 424 + <dict> 425 + <key>PBXBottomSmartGroupGIDs</key> 426 + <array> 427 + <string>1C37FBAC04509CD000000102</string> 428 + <string>1C37FAAC04509CD000000102</string> 429 + <string>1C08E77C0454961000C914BD</string> 430 + <string>1C37FABC05509CD000000102</string> 431 + <string>1C37FABC05539CD112110102</string> 432 + <string>E2644B35053B69B200211256</string> 433 + <string>1C37FABC04509CD000100104</string> 434 + <string>1CC0EA4004350EF90044410B</string> 435 + <string>1CC0EA4004350EF90041110B</string> 436 + </array> 437 + <key>PBXProjectModuleGUID</key> 438 + <string>11E0B1FE06471DED0097A5F4</string> 439 + <key>PBXProjectModuleLabel</key> 440 + <string>Files</string> 441 + <key>PBXProjectStructureProvided</key> 442 + <string>yes</string> 443 + <key>PBXSmartGroupTreeModuleColumnData</key> 444 + <dict> 445 + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> 446 + <array> 447 + <real>186</real> 448 + </array> 449 + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> 450 + <array> 451 + <string>MainColumn</string> 452 + </array> 453 + </dict> 454 + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> 455 + <dict> 456 + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> 457 + <array> 458 + <string>29B97314FDCFA39411CA2CEA</string> 459 + <string>1C37FABC05509CD000000102</string> 460 + </array> 461 + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> 462 + <array> 463 + <array> 464 + <integer>0</integer> 465 + </array> 466 + </array> 467 + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> 468 + <string>{{0, 0}, {186, 337}}</string> 469 + </dict> 470 + <key>PBXTopSmartGroupGIDs</key> 471 + <array/> 472 + <key>XCIncludePerspectivesSwitch</key> 473 + <integer>1</integer> 474 + <key>XCSharingToken</key> 475 + <string>com.apple.Xcode.GFSharingToken</string> 476 + </dict> 477 + <key>GeometryConfiguration</key> 478 + <dict> 479 + <key>Frame</key> 480 + <string>{{0, 0}, {203, 355}}</string> 481 + <key>GroupTreeTableConfiguration</key> 482 + <array> 483 + <string>MainColumn</string> 484 + <real>186</real> 485 + </array> 486 + <key>RubberWindowFrame</key> 487 + <string>373 269 690 397 0 0 1440 878 </string> 488 + </dict> 489 + <key>Module</key> 490 + <string>PBXSmartGroupTreeModule</string> 491 + <key>Proportion</key> 492 + <string>100%</string> 493 + </dict> 494 + </array> 495 + <key>Name</key> 496 + <string>Morph</string> 497 + <key>PreferredWidth</key> 498 + <integer>300</integer> 499 + <key>ServiceClasses</key> 500 + <array> 501 + <string>XCModuleDock</string> 502 + <string>PBXSmartGroupTreeModule</string> 503 + </array> 504 + <key>TableOfContents</key> 505 + <array> 506 + <string>11E0B1FE06471DED0097A5F4</string> 507 + </array> 508 + <key>ToolbarConfiguration</key> 509 + <string>xcode.toolbar.config.default.shortV3</string> 510 + </dict> 511 + </array> 512 + <key>PerspectivesBarVisible</key> 513 + <false/> 514 + <key>ShelfIsVisible</key> 515 + <false/> 516 + <key>SourceDescription</key> 517 + <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string> 518 + <key>StatusbarIsVisible</key> 519 + <true/> 520 + <key>TimeStamp</key> 521 + <real>0.0</real> 522 + <key>ToolbarConfigUserDefaultsMinorVersion</key> 523 + <string>2</string> 524 + <key>ToolbarDisplayMode</key> 525 + <integer>1</integer> 526 + <key>ToolbarIsVisible</key> 527 + <true/> 528 + <key>ToolbarSizeMode</key> 529 + <integer>1</integer> 530 + <key>Type</key> 531 + <string>Perspectives</string> 532 + <key>UpdateMessage</key> 533 + <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string> 534 + <key>WindowJustification</key> 535 + <integer>5</integer> 536 + <key>WindowOrderList</key> 537 + <array> 538 + <string>012E1A8B12C97C72001DB640</string> 539 + <string>/Users/jcs/code/adium-pipeevent/PipeEventPlugin.xcodeproj</string> 540 + </array> 541 + <key>WindowString</key> 542 + <string>42 72 1297 661 0 0 1366 746 </string> 543 + <key>WindowToolsV3</key> 544 + <array> 545 + <dict> 546 + <key>FirstTimeWindowDisplayed</key> 547 + <false/> 548 + <key>Identifier</key> 549 + <string>windowTool.build</string> 550 + <key>IsVertical</key> 551 + <true/> 552 + <key>Layout</key> 553 + <array> 554 + <dict> 555 + <key>Dock</key> 556 + <array> 557 + <dict> 558 + <key>ContentConfiguration</key> 559 + <dict> 560 + <key>PBXProjectModuleGUID</key> 561 + <string>1CD0528F0623707200166675</string> 562 + <key>PBXProjectModuleLabel</key> 563 + <string></string> 564 + <key>StatusBarVisibility</key> 565 + <true/> 566 + </dict> 567 + <key>GeometryConfiguration</key> 568 + <dict> 569 + <key>Frame</key> 570 + <string>{{0, 0}, {1127, 242}}</string> 571 + <key>RubberWindowFrame</key> 572 + <string>21 178 1127 524 0 0 1366 746 </string> 573 + </dict> 574 + <key>Module</key> 575 + <string>PBXNavigatorGroup</string> 576 + <key>Proportion</key> 577 + <string>242pt</string> 578 + </dict> 579 + <dict> 580 + <key>ContentConfiguration</key> 581 + <dict> 582 + <key>PBXProjectModuleGUID</key> 583 + <string>XCMainBuildResultsModuleGUID</string> 584 + <key>PBXProjectModuleLabel</key> 585 + <string>Build Results</string> 586 + <key>XCBuildResultsTrigger_Collapse</key> 587 + <integer>1021</integer> 588 + <key>XCBuildResultsTrigger_Open</key> 589 + <integer>1011</integer> 590 + </dict> 591 + <key>GeometryConfiguration</key> 592 + <dict> 593 + <key>Frame</key> 594 + <string>{{0, 247}, {1127, 236}}</string> 595 + <key>RubberWindowFrame</key> 596 + <string>21 178 1127 524 0 0 1366 746 </string> 597 + </dict> 598 + <key>Module</key> 599 + <string>PBXBuildResultsModule</string> 600 + <key>Proportion</key> 601 + <string>236pt</string> 602 + </dict> 603 + </array> 604 + <key>Proportion</key> 605 + <string>483pt</string> 606 + </dict> 607 + </array> 608 + <key>Name</key> 609 + <string>Build Results</string> 610 + <key>ServiceClasses</key> 611 + <array> 612 + <string>PBXBuildResultsModule</string> 613 + </array> 614 + <key>StatusbarIsVisible</key> 615 + <true/> 616 + <key>TableOfContents</key> 617 + <array> 618 + <string>012E1A8B12C97C72001DB640</string> 619 + <string>013D16A012C9CEA000E50A86</string> 620 + <string>1CD0528F0623707200166675</string> 621 + <string>XCMainBuildResultsModuleGUID</string> 622 + </array> 623 + <key>ToolbarConfiguration</key> 624 + <string>xcode.toolbar.config.buildV3</string> 625 + <key>WindowContentMinSize</key> 626 + <string>486 300</string> 627 + <key>WindowString</key> 628 + <string>21 178 1127 524 0 0 1366 746 </string> 629 + <key>WindowToolGUID</key> 630 + <string>012E1A8B12C97C72001DB640</string> 631 + <key>WindowToolIsVisible</key> 632 + <false/> 633 + </dict> 634 + <dict> 635 + <key>Identifier</key> 636 + <string>windowTool.debugger</string> 637 + <key>Layout</key> 638 + <array> 639 + <dict> 640 + <key>Dock</key> 641 + <array> 642 + <dict> 643 + <key>ContentConfiguration</key> 644 + <dict> 645 + <key>Debugger</key> 646 + <dict> 647 + <key>HorizontalSplitView</key> 648 + <dict> 649 + <key>_collapsingFrameDimension</key> 650 + <real>0.0</real> 651 + <key>_indexOfCollapsedView</key> 652 + <integer>0</integer> 653 + <key>_percentageOfCollapsedView</key> 654 + <real>0.0</real> 655 + <key>isCollapsed</key> 656 + <string>yes</string> 657 + <key>sizes</key> 658 + <array> 659 + <string>{{0, 0}, {317, 164}}</string> 660 + <string>{{317, 0}, {377, 164}}</string> 661 + </array> 662 + </dict> 663 + <key>VerticalSplitView</key> 664 + <dict> 665 + <key>_collapsingFrameDimension</key> 666 + <real>0.0</real> 667 + <key>_indexOfCollapsedView</key> 668 + <integer>0</integer> 669 + <key>_percentageOfCollapsedView</key> 670 + <real>0.0</real> 671 + <key>isCollapsed</key> 672 + <string>yes</string> 673 + <key>sizes</key> 674 + <array> 675 + <string>{{0, 0}, {694, 164}}</string> 676 + <string>{{0, 164}, {694, 216}}</string> 677 + </array> 678 + </dict> 679 + </dict> 680 + <key>LauncherConfigVersion</key> 681 + <string>8</string> 682 + <key>PBXProjectModuleGUID</key> 683 + <string>1C162984064C10D400B95A72</string> 684 + <key>PBXProjectModuleLabel</key> 685 + <string>Debug - GLUTExamples (Underwater)</string> 686 + </dict> 687 + <key>GeometryConfiguration</key> 688 + <dict> 689 + <key>DebugConsoleDrawerSize</key> 690 + <string>{100, 120}</string> 691 + <key>DebugConsoleVisible</key> 692 + <string>None</string> 693 + <key>DebugConsoleWindowFrame</key> 694 + <string>{{200, 200}, {500, 300}}</string> 695 + <key>DebugSTDIOWindowFrame</key> 696 + <string>{{200, 200}, {500, 300}}</string> 697 + <key>Frame</key> 698 + <string>{{0, 0}, {694, 380}}</string> 699 + <key>RubberWindowFrame</key> 700 + <string>321 238 694 422 0 0 1440 878 </string> 701 + </dict> 702 + <key>Module</key> 703 + <string>PBXDebugSessionModule</string> 704 + <key>Proportion</key> 705 + <string>100%</string> 706 + </dict> 707 + </array> 708 + <key>Proportion</key> 709 + <string>100%</string> 710 + </dict> 711 + </array> 712 + <key>Name</key> 713 + <string>Debugger</string> 714 + <key>ServiceClasses</key> 715 + <array> 716 + <string>PBXDebugSessionModule</string> 717 + </array> 718 + <key>StatusbarIsVisible</key> 719 + <integer>1</integer> 720 + <key>TableOfContents</key> 721 + <array> 722 + <string>1CD10A99069EF8BA00B06720</string> 723 + <string>1C0AD2AB069F1E9B00FABCE6</string> 724 + <string>1C162984064C10D400B95A72</string> 725 + <string>1C0AD2AC069F1E9B00FABCE6</string> 726 + </array> 727 + <key>ToolbarConfiguration</key> 728 + <string>xcode.toolbar.config.debugV3</string> 729 + <key>WindowString</key> 730 + <string>321 238 694 422 0 0 1440 878 </string> 731 + <key>WindowToolGUID</key> 732 + <string>1CD10A99069EF8BA00B06720</string> 733 + <key>WindowToolIsVisible</key> 734 + <integer>0</integer> 735 + </dict> 736 + <dict> 737 + <key>Identifier</key> 738 + <string>windowTool.find</string> 739 + <key>Layout</key> 740 + <array> 741 + <dict> 742 + <key>Dock</key> 743 + <array> 744 + <dict> 745 + <key>Dock</key> 746 + <array> 747 + <dict> 748 + <key>ContentConfiguration</key> 749 + <dict> 750 + <key>PBXProjectModuleGUID</key> 751 + <string>1CDD528C0622207200134675</string> 752 + <key>PBXProjectModuleLabel</key> 753 + <string>&lt;No Editor&gt;</string> 754 + <key>PBXSplitModuleInNavigatorKey</key> 755 + <dict> 756 + <key>Split0</key> 757 + <dict> 758 + <key>PBXProjectModuleGUID</key> 759 + <string>1CD0528D0623707200166675</string> 760 + </dict> 761 + <key>SplitCount</key> 762 + <string>1</string> 763 + </dict> 764 + <key>StatusBarVisibility</key> 765 + <integer>1</integer> 766 + </dict> 767 + <key>GeometryConfiguration</key> 768 + <dict> 769 + <key>Frame</key> 770 + <string>{{0, 0}, {781, 167}}</string> 771 + <key>RubberWindowFrame</key> 772 + <string>62 385 781 470 0 0 1440 878 </string> 773 + </dict> 774 + <key>Module</key> 775 + <string>PBXNavigatorGroup</string> 776 + <key>Proportion</key> 777 + <string>781pt</string> 778 + </dict> 779 + </array> 780 + <key>Proportion</key> 781 + <string>50%</string> 782 + </dict> 783 + <dict> 784 + <key>BecomeActive</key> 785 + <integer>1</integer> 786 + <key>ContentConfiguration</key> 787 + <dict> 788 + <key>PBXProjectModuleGUID</key> 789 + <string>1CD0528E0623707200166675</string> 790 + <key>PBXProjectModuleLabel</key> 791 + <string>Project Find</string> 792 + </dict> 793 + <key>GeometryConfiguration</key> 794 + <dict> 795 + <key>Frame</key> 796 + <string>{{8, 0}, {773, 254}}</string> 797 + <key>RubberWindowFrame</key> 798 + <string>62 385 781 470 0 0 1440 878 </string> 799 + </dict> 800 + <key>Module</key> 801 + <string>PBXProjectFindModule</string> 802 + <key>Proportion</key> 803 + <string>50%</string> 804 + </dict> 805 + </array> 806 + <key>Proportion</key> 807 + <string>428pt</string> 808 + </dict> 809 + </array> 810 + <key>Name</key> 811 + <string>Project Find</string> 812 + <key>ServiceClasses</key> 813 + <array> 814 + <string>PBXProjectFindModule</string> 815 + </array> 816 + <key>StatusbarIsVisible</key> 817 + <integer>1</integer> 818 + <key>TableOfContents</key> 819 + <array> 820 + <string>1C530D57069F1CE1000CFCEE</string> 821 + <string>1C530D58069F1CE1000CFCEE</string> 822 + <string>1C530D59069F1CE1000CFCEE</string> 823 + <string>1CDD528C0622207200134675</string> 824 + <string>1C530D5A069F1CE1000CFCEE</string> 825 + <string>1CE0B1FE06471DED0097A5F4</string> 826 + <string>1CD0528E0623707200166675</string> 827 + </array> 828 + <key>WindowString</key> 829 + <string>62 385 781 470 0 0 1440 878 </string> 830 + <key>WindowToolGUID</key> 831 + <string>1C530D57069F1CE1000CFCEE</string> 832 + <key>WindowToolIsVisible</key> 833 + <integer>0</integer> 834 + </dict> 835 + <dict> 836 + <key>Identifier</key> 837 + <string>MENUSEPARATOR</string> 838 + </dict> 839 + <dict> 840 + <key>Identifier</key> 841 + <string>windowTool.debuggerConsole</string> 842 + <key>Layout</key> 843 + <array> 844 + <dict> 845 + <key>Dock</key> 846 + <array> 847 + <dict> 848 + <key>BecomeActive</key> 849 + <integer>1</integer> 850 + <key>ContentConfiguration</key> 851 + <dict> 852 + <key>PBXProjectModuleGUID</key> 853 + <string>1C78EAAC065D492600B07095</string> 854 + <key>PBXProjectModuleLabel</key> 855 + <string>Debugger Console</string> 856 + </dict> 857 + <key>GeometryConfiguration</key> 858 + <dict> 859 + <key>Frame</key> 860 + <string>{{0, 0}, {650, 250}}</string> 861 + <key>RubberWindowFrame</key> 862 + <string>516 632 650 250 0 0 1680 1027 </string> 863 + </dict> 864 + <key>Module</key> 865 + <string>PBXDebugCLIModule</string> 866 + <key>Proportion</key> 867 + <string>209pt</string> 868 + </dict> 869 + </array> 870 + <key>Proportion</key> 871 + <string>209pt</string> 872 + </dict> 873 + </array> 874 + <key>Name</key> 875 + <string>Debugger Console</string> 876 + <key>ServiceClasses</key> 877 + <array> 878 + <string>PBXDebugCLIModule</string> 879 + </array> 880 + <key>StatusbarIsVisible</key> 881 + <integer>1</integer> 882 + <key>TableOfContents</key> 883 + <array> 884 + <string>1C78EAAD065D492600B07095</string> 885 + <string>1C78EAAE065D492600B07095</string> 886 + <string>1C78EAAC065D492600B07095</string> 887 + </array> 888 + <key>ToolbarConfiguration</key> 889 + <string>xcode.toolbar.config.consoleV3</string> 890 + <key>WindowString</key> 891 + <string>650 41 650 250 0 0 1280 1002 </string> 892 + <key>WindowToolGUID</key> 893 + <string>1C78EAAD065D492600B07095</string> 894 + <key>WindowToolIsVisible</key> 895 + <integer>0</integer> 896 + </dict> 897 + <dict> 898 + <key>FirstTimeWindowDisplayed</key> 899 + <false/> 900 + <key>Identifier</key> 901 + <string>windowTool.snapshots</string> 902 + <key>IsVertical</key> 903 + <true/> 904 + <key>Layout</key> 905 + <array> 906 + <dict> 907 + <key>Dock</key> 908 + <array> 909 + <dict> 910 + <key>ContentConfiguration</key> 911 + <dict> 912 + <key>PBXProjectModuleGUID</key> 913 + <string>012E28FB12C9AE6B001DB640</string> 914 + <key>PBXProjectModuleLabel</key> 915 + <string>Snapshots</string> 916 + </dict> 917 + <key>GeometryConfiguration</key> 918 + <dict> 919 + <key>Frame</key> 920 + <string>{{0, 0}, {300, 509}}</string> 921 + <key>RubberWindowFrame</key> 922 + <string>63 160 300 550 0 0 1366 746 </string> 923 + </dict> 924 + <key>Module</key> 925 + <string>XCSnapshotModule</string> 926 + <key>Proportion</key> 927 + <string>509pt</string> 928 + </dict> 929 + </array> 930 + <key>Proportion</key> 931 + <string>509pt</string> 932 + </dict> 933 + </array> 934 + <key>Name</key> 935 + <string>Snapshots</string> 936 + <key>ServiceClasses</key> 937 + <array> 938 + <string>XCSnapshotModule</string> 939 + </array> 940 + <key>StatusbarIsVisible</key> 941 + <true/> 942 + <key>TableOfContents</key> 943 + <array> 944 + <string>012E28FC12C9AE6B001DB640</string> 945 + <string>012E28FD12C9AE6B001DB640</string> 946 + <string>012E28FB12C9AE6B001DB640</string> 947 + </array> 948 + <key>ToolbarConfiguration</key> 949 + <string>xcode.toolbar.config.snapshots</string> 950 + <key>WindowString</key> 951 + <string>63 160 300 550 0 0 1366 746 </string> 952 + <key>WindowToolGUID</key> 953 + <string>012E28FC12C9AE6B001DB640</string> 954 + <key>WindowToolIsVisible</key> 955 + <false/> 956 + </dict> 957 + <dict> 958 + <key>Identifier</key> 959 + <string>windowTool.scm</string> 960 + <key>Layout</key> 961 + <array> 962 + <dict> 963 + <key>Dock</key> 964 + <array> 965 + <dict> 966 + <key>ContentConfiguration</key> 967 + <dict> 968 + <key>PBXProjectModuleGUID</key> 969 + <string>1C78EAB2065D492600B07095</string> 970 + <key>PBXProjectModuleLabel</key> 971 + <string>&lt;No Editor&gt;</string> 972 + <key>PBXSplitModuleInNavigatorKey</key> 973 + <dict> 974 + <key>Split0</key> 975 + <dict> 976 + <key>PBXProjectModuleGUID</key> 977 + <string>1C78EAB3065D492600B07095</string> 978 + </dict> 979 + <key>SplitCount</key> 980 + <string>1</string> 981 + </dict> 982 + <key>StatusBarVisibility</key> 983 + <integer>1</integer> 984 + </dict> 985 + <key>GeometryConfiguration</key> 986 + <dict> 987 + <key>Frame</key> 988 + <string>{{0, 0}, {452, 0}}</string> 989 + <key>RubberWindowFrame</key> 990 + <string>743 379 452 308 0 0 1280 1002 </string> 991 + </dict> 992 + <key>Module</key> 993 + <string>PBXNavigatorGroup</string> 994 + <key>Proportion</key> 995 + <string>0pt</string> 996 + </dict> 997 + <dict> 998 + <key>BecomeActive</key> 999 + <integer>1</integer> 1000 + <key>ContentConfiguration</key> 1001 + <dict> 1002 + <key>PBXProjectModuleGUID</key> 1003 + <string>1CD052920623707200166675</string> 1004 + <key>PBXProjectModuleLabel</key> 1005 + <string>SCM</string> 1006 + </dict> 1007 + <key>GeometryConfiguration</key> 1008 + <dict> 1009 + <key>ConsoleFrame</key> 1010 + <string>{{0, 259}, {452, 0}}</string> 1011 + <key>Frame</key> 1012 + <string>{{0, 7}, {452, 259}}</string> 1013 + <key>RubberWindowFrame</key> 1014 + <string>743 379 452 308 0 0 1280 1002 </string> 1015 + <key>TableConfiguration</key> 1016 + <array> 1017 + <string>Status</string> 1018 + <real>30</real> 1019 + <string>FileName</string> 1020 + <real>199</real> 1021 + <string>Path</string> 1022 + <real>197.0950012207031</real> 1023 + </array> 1024 + <key>TableFrame</key> 1025 + <string>{{0, 0}, {452, 250}}</string> 1026 + </dict> 1027 + <key>Module</key> 1028 + <string>PBXCVSModule</string> 1029 + <key>Proportion</key> 1030 + <string>262pt</string> 1031 + </dict> 1032 + </array> 1033 + <key>Proportion</key> 1034 + <string>266pt</string> 1035 + </dict> 1036 + </array> 1037 + <key>Name</key> 1038 + <string>SCM</string> 1039 + <key>ServiceClasses</key> 1040 + <array> 1041 + <string>PBXCVSModule</string> 1042 + </array> 1043 + <key>StatusbarIsVisible</key> 1044 + <integer>1</integer> 1045 + <key>TableOfContents</key> 1046 + <array> 1047 + <string>1C78EAB4065D492600B07095</string> 1048 + <string>1C78EAB5065D492600B07095</string> 1049 + <string>1C78EAB2065D492600B07095</string> 1050 + <string>1CD052920623707200166675</string> 1051 + </array> 1052 + <key>ToolbarConfiguration</key> 1053 + <string>xcode.toolbar.config.scm</string> 1054 + <key>WindowString</key> 1055 + <string>743 379 452 308 0 0 1280 1002 </string> 1056 + </dict> 1057 + <dict> 1058 + <key>Identifier</key> 1059 + <string>windowTool.breakpoints</string> 1060 + <key>IsVertical</key> 1061 + <integer>0</integer> 1062 + <key>Layout</key> 1063 + <array> 1064 + <dict> 1065 + <key>Dock</key> 1066 + <array> 1067 + <dict> 1068 + <key>BecomeActive</key> 1069 + <integer>1</integer> 1070 + <key>ContentConfiguration</key> 1071 + <dict> 1072 + <key>PBXBottomSmartGroupGIDs</key> 1073 + <array> 1074 + <string>1C77FABC04509CD000000102</string> 1075 + </array> 1076 + <key>PBXProjectModuleGUID</key> 1077 + <string>1CE0B1FE06471DED0097A5F4</string> 1078 + <key>PBXProjectModuleLabel</key> 1079 + <string>Files</string> 1080 + <key>PBXProjectStructureProvided</key> 1081 + <string>no</string> 1082 + <key>PBXSmartGroupTreeModuleColumnData</key> 1083 + <dict> 1084 + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> 1085 + <array> 1086 + <real>168</real> 1087 + </array> 1088 + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> 1089 + <array> 1090 + <string>MainColumn</string> 1091 + </array> 1092 + </dict> 1093 + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> 1094 + <dict> 1095 + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> 1096 + <array> 1097 + <string>1C77FABC04509CD000000102</string> 1098 + </array> 1099 + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> 1100 + <array> 1101 + <array> 1102 + <integer>0</integer> 1103 + </array> 1104 + </array> 1105 + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> 1106 + <string>{{0, 0}, {168, 350}}</string> 1107 + </dict> 1108 + <key>PBXTopSmartGroupGIDs</key> 1109 + <array/> 1110 + <key>XCIncludePerspectivesSwitch</key> 1111 + <integer>0</integer> 1112 + </dict> 1113 + <key>GeometryConfiguration</key> 1114 + <dict> 1115 + <key>Frame</key> 1116 + <string>{{0, 0}, {185, 368}}</string> 1117 + <key>GroupTreeTableConfiguration</key> 1118 + <array> 1119 + <string>MainColumn</string> 1120 + <real>168</real> 1121 + </array> 1122 + <key>RubberWindowFrame</key> 1123 + <string>315 424 744 409 0 0 1440 878 </string> 1124 + </dict> 1125 + <key>Module</key> 1126 + <string>PBXSmartGroupTreeModule</string> 1127 + <key>Proportion</key> 1128 + <string>185pt</string> 1129 + </dict> 1130 + <dict> 1131 + <key>ContentConfiguration</key> 1132 + <dict> 1133 + <key>PBXProjectModuleGUID</key> 1134 + <string>1CA1AED706398EBD00589147</string> 1135 + <key>PBXProjectModuleLabel</key> 1136 + <string>Detail</string> 1137 + </dict> 1138 + <key>GeometryConfiguration</key> 1139 + <dict> 1140 + <key>Frame</key> 1141 + <string>{{190, 0}, {554, 368}}</string> 1142 + <key>RubberWindowFrame</key> 1143 + <string>315 424 744 409 0 0 1440 878 </string> 1144 + </dict> 1145 + <key>Module</key> 1146 + <string>XCDetailModule</string> 1147 + <key>Proportion</key> 1148 + <string>554pt</string> 1149 + </dict> 1150 + </array> 1151 + <key>Proportion</key> 1152 + <string>368pt</string> 1153 + </dict> 1154 + </array> 1155 + <key>MajorVersion</key> 1156 + <integer>3</integer> 1157 + <key>MinorVersion</key> 1158 + <integer>0</integer> 1159 + <key>Name</key> 1160 + <string>Breakpoints</string> 1161 + <key>ServiceClasses</key> 1162 + <array> 1163 + <string>PBXSmartGroupTreeModule</string> 1164 + <string>XCDetailModule</string> 1165 + </array> 1166 + <key>StatusbarIsVisible</key> 1167 + <integer>1</integer> 1168 + <key>TableOfContents</key> 1169 + <array> 1170 + <string>1CDDB66807F98D9800BB5817</string> 1171 + <string>1CDDB66907F98D9800BB5817</string> 1172 + <string>1CE0B1FE06471DED0097A5F4</string> 1173 + <string>1CA1AED706398EBD00589147</string> 1174 + </array> 1175 + <key>ToolbarConfiguration</key> 1176 + <string>xcode.toolbar.config.breakpointsV3</string> 1177 + <key>WindowString</key> 1178 + <string>315 424 744 409 0 0 1440 878 </string> 1179 + <key>WindowToolGUID</key> 1180 + <string>1CDDB66807F98D9800BB5817</string> 1181 + <key>WindowToolIsVisible</key> 1182 + <integer>1</integer> 1183 + </dict> 1184 + <dict> 1185 + <key>Identifier</key> 1186 + <string>windowTool.debugAnimator</string> 1187 + <key>Layout</key> 1188 + <array> 1189 + <dict> 1190 + <key>Dock</key> 1191 + <array> 1192 + <dict> 1193 + <key>Module</key> 1194 + <string>PBXNavigatorGroup</string> 1195 + <key>Proportion</key> 1196 + <string>100%</string> 1197 + </dict> 1198 + </array> 1199 + <key>Proportion</key> 1200 + <string>100%</string> 1201 + </dict> 1202 + </array> 1203 + <key>Name</key> 1204 + <string>Debug Visualizer</string> 1205 + <key>ServiceClasses</key> 1206 + <array> 1207 + <string>PBXNavigatorGroup</string> 1208 + </array> 1209 + <key>StatusbarIsVisible</key> 1210 + <integer>1</integer> 1211 + <key>ToolbarConfiguration</key> 1212 + <string>xcode.toolbar.config.debugAnimatorV3</string> 1213 + <key>WindowString</key> 1214 + <string>100 100 700 500 0 0 1280 1002 </string> 1215 + </dict> 1216 + <dict> 1217 + <key>Identifier</key> 1218 + <string>windowTool.bookmarks</string> 1219 + <key>Layout</key> 1220 + <array> 1221 + <dict> 1222 + <key>Dock</key> 1223 + <array> 1224 + <dict> 1225 + <key>Module</key> 1226 + <string>PBXBookmarksModule</string> 1227 + <key>Proportion</key> 1228 + <string>100%</string> 1229 + </dict> 1230 + </array> 1231 + <key>Proportion</key> 1232 + <string>100%</string> 1233 + </dict> 1234 + </array> 1235 + <key>Name</key> 1236 + <string>Bookmarks</string> 1237 + <key>ServiceClasses</key> 1238 + <array> 1239 + <string>PBXBookmarksModule</string> 1240 + </array> 1241 + <key>StatusbarIsVisible</key> 1242 + <integer>0</integer> 1243 + <key>WindowString</key> 1244 + <string>538 42 401 187 0 0 1280 1002 </string> 1245 + </dict> 1246 + <dict> 1247 + <key>Identifier</key> 1248 + <string>windowTool.projectFormatConflicts</string> 1249 + <key>Layout</key> 1250 + <array> 1251 + <dict> 1252 + <key>Dock</key> 1253 + <array> 1254 + <dict> 1255 + <key>Module</key> 1256 + <string>XCProjectFormatConflictsModule</string> 1257 + <key>Proportion</key> 1258 + <string>100%</string> 1259 + </dict> 1260 + </array> 1261 + <key>Proportion</key> 1262 + <string>100%</string> 1263 + </dict> 1264 + </array> 1265 + <key>Name</key> 1266 + <string>Project Format Conflicts</string> 1267 + <key>ServiceClasses</key> 1268 + <array> 1269 + <string>XCProjectFormatConflictsModule</string> 1270 + </array> 1271 + <key>StatusbarIsVisible</key> 1272 + <integer>0</integer> 1273 + <key>WindowContentMinSize</key> 1274 + <string>450 300</string> 1275 + <key>WindowString</key> 1276 + <string>50 850 472 307 0 0 1440 877</string> 1277 + </dict> 1278 + <dict> 1279 + <key>Identifier</key> 1280 + <string>windowTool.classBrowser</string> 1281 + <key>Layout</key> 1282 + <array> 1283 + <dict> 1284 + <key>Dock</key> 1285 + <array> 1286 + <dict> 1287 + <key>BecomeActive</key> 1288 + <integer>1</integer> 1289 + <key>ContentConfiguration</key> 1290 + <dict> 1291 + <key>OptionsSetName</key> 1292 + <string>Hierarchy, all classes</string> 1293 + <key>PBXProjectModuleGUID</key> 1294 + <string>1CA6456E063B45B4001379D8</string> 1295 + <key>PBXProjectModuleLabel</key> 1296 + <string>Class Browser - NSObject</string> 1297 + </dict> 1298 + <key>GeometryConfiguration</key> 1299 + <dict> 1300 + <key>ClassesFrame</key> 1301 + <string>{{0, 0}, {374, 96}}</string> 1302 + <key>ClassesTreeTableConfiguration</key> 1303 + <array> 1304 + <string>PBXClassNameColumnIdentifier</string> 1305 + <real>208</real> 1306 + <string>PBXClassBookColumnIdentifier</string> 1307 + <real>22</real> 1308 + </array> 1309 + <key>Frame</key> 1310 + <string>{{0, 0}, {630, 331}}</string> 1311 + <key>MembersFrame</key> 1312 + <string>{{0, 105}, {374, 395}}</string> 1313 + <key>MembersTreeTableConfiguration</key> 1314 + <array> 1315 + <string>PBXMemberTypeIconColumnIdentifier</string> 1316 + <real>22</real> 1317 + <string>PBXMemberNameColumnIdentifier</string> 1318 + <real>216</real> 1319 + <string>PBXMemberTypeColumnIdentifier</string> 1320 + <real>97</real> 1321 + <string>PBXMemberBookColumnIdentifier</string> 1322 + <real>22</real> 1323 + </array> 1324 + <key>PBXModuleWindowStatusBarHidden2</key> 1325 + <integer>1</integer> 1326 + <key>RubberWindowFrame</key> 1327 + <string>385 179 630 352 0 0 1440 878 </string> 1328 + </dict> 1329 + <key>Module</key> 1330 + <string>PBXClassBrowserModule</string> 1331 + <key>Proportion</key> 1332 + <string>332pt</string> 1333 + </dict> 1334 + </array> 1335 + <key>Proportion</key> 1336 + <string>332pt</string> 1337 + </dict> 1338 + </array> 1339 + <key>Name</key> 1340 + <string>Class Browser</string> 1341 + <key>ServiceClasses</key> 1342 + <array> 1343 + <string>PBXClassBrowserModule</string> 1344 + </array> 1345 + <key>StatusbarIsVisible</key> 1346 + <integer>0</integer> 1347 + <key>TableOfContents</key> 1348 + <array> 1349 + <string>1C0AD2AF069F1E9B00FABCE6</string> 1350 + <string>1C0AD2B0069F1E9B00FABCE6</string> 1351 + <string>1CA6456E063B45B4001379D8</string> 1352 + </array> 1353 + <key>ToolbarConfiguration</key> 1354 + <string>xcode.toolbar.config.classbrowser</string> 1355 + <key>WindowString</key> 1356 + <string>385 179 630 352 0 0 1440 878 </string> 1357 + <key>WindowToolGUID</key> 1358 + <string>1C0AD2AF069F1E9B00FABCE6</string> 1359 + <key>WindowToolIsVisible</key> 1360 + <integer>0</integer> 1361 + </dict> 1362 + <dict> 1363 + <key>Identifier</key> 1364 + <string>windowTool.refactoring</string> 1365 + <key>IncludeInToolsMenu</key> 1366 + <integer>0</integer> 1367 + <key>Layout</key> 1368 + <array> 1369 + <dict> 1370 + <key>Dock</key> 1371 + <array> 1372 + <dict> 1373 + <key>BecomeActive</key> 1374 + <integer>1</integer> 1375 + <key>GeometryConfiguration</key> 1376 + <dict> 1377 + <key>Frame</key> 1378 + <string>{0, 0}, {500, 335}</string> 1379 + <key>RubberWindowFrame</key> 1380 + <string>{0, 0}, {500, 335}</string> 1381 + </dict> 1382 + <key>Module</key> 1383 + <string>XCRefactoringModule</string> 1384 + <key>Proportion</key> 1385 + <string>100%</string> 1386 + </dict> 1387 + </array> 1388 + <key>Proportion</key> 1389 + <string>100%</string> 1390 + </dict> 1391 + </array> 1392 + <key>Name</key> 1393 + <string>Refactoring</string> 1394 + <key>ServiceClasses</key> 1395 + <array> 1396 + <string>XCRefactoringModule</string> 1397 + </array> 1398 + <key>WindowString</key> 1399 + <string>200 200 500 356 0 0 1920 1200 </string> 1400 + </dict> 1401 + </array> 1402 + </dict> 1403 + </plist>
+208
PipeEventPlugin.xcodeproj/jcs.pbxuser
··· 1 + // !$*UTF8*$! 2 + { 3 + 012E1A8612C97C5E001DB640 /* Source Control */ = { 4 + isa = PBXSourceControlManager; 5 + fallbackIsa = XCSourceControlManager; 6 + isSCMEnabled = 0; 7 + scmConfiguration = { 8 + repositoryNamesForRoots = { 9 + "" = ""; 10 + }; 11 + }; 12 + }; 13 + 012E1A8712C97C5E001DB640 /* Code sense */ = { 14 + isa = PBXCodeSenseManager; 15 + indexTemplatePath = ""; 16 + }; 17 + 012E22A212C98DEF001DB640 /* PipeEventDetailPane.h */ = { 18 + uiCtxt = { 19 + sepNavIntBoundsRect = "{{0, 0}, {1028, 433}}"; 20 + sepNavSelRange = "{136, 0}"; 21 + sepNavVisRange = "{0, 173}"; 22 + }; 23 + }; 24 + 012E22A312C98DEF001DB640 /* PipeEventDetailPane.m */ = { 25 + uiCtxt = { 26 + sepNavIntBoundsRect = "{{0, 0}, {1028, 433}}"; 27 + sepNavSelRange = "{144, 0}"; 28 + sepNavVisRange = "{0, 690}"; 29 + sepNavWindowFrame = "{{15, 55}, {915, 686}}"; 30 + }; 31 + }; 32 + 013D16A412C9CF3F00E50A86 /* PBXTextBookmark */ = { 33 + isa = PBXTextBookmark; 34 + fRef = A7996F940E79D70B0000BA6C /* PipeEventPlugin.m */; 35 + name = "PipeEventPlugin.m: 125"; 36 + rLen = 0; 37 + rLoc = 3800; 38 + rType = 0; 39 + vrLen = 731; 40 + vrLoc = 3259; 41 + }; 42 + 01DA5E6E12C9CE6D000F43A2 /* PBXTextBookmark */ = { 43 + isa = PBXTextBookmark; 44 + fRef = A7996F940E79D70B0000BA6C /* PipeEventPlugin.m */; 45 + name = "PipeEventPlugin.m: 125"; 46 + rLen = 0; 47 + rLoc = 3800; 48 + rType = 0; 49 + vrLen = 586; 50 + vrLoc = 3404; 51 + }; 52 + 01FFC67A12C9CCF900EFFBD0 /* PBXTextBookmark */ = { 53 + isa = PBXTextBookmark; 54 + fRef = 32DBCF630370AF2F00C91783 /* PipeEventPlugin_Prefix.pch */; 55 + name = "PipeEventPlugin_Prefix.pch: 4"; 56 + rLen = 0; 57 + rLoc = 51; 58 + rType = 0; 59 + vrLen = 51; 60 + vrLoc = 0; 61 + }; 62 + 01FFC67B12C9CCF900EFFBD0 /* PlistBookmark */ = { 63 + isa = PlistBookmark; 64 + fRef = 8D5B49B7048680CD000E48DA /* Info.plist */; 65 + fallbackIsa = PBXBookmark; 66 + isK = 0; 67 + kPath = ( 68 + NSPrincipalClass, 69 + ); 70 + name = "/Users/jcs/code/adium-pipemessage/Info.plist"; 71 + rLen = 0; 72 + rLoc = 9223372036854775808; 73 + }; 74 + 01FFC67C12C9CCF900EFFBD0 /* PBXBookmark */ = { 75 + isa = PBXBookmark; 76 + fRef = 012E25CE12C995CD001DB640 /* TerminalIcon.png */; 77 + }; 78 + 01FFC67D12C9CCF900EFFBD0 /* PBXTextBookmark */ = { 79 + isa = PBXTextBookmark; 80 + fRef = 012E22A212C98DEF001DB640 /* PipeEventDetailPane.h */; 81 + name = "PipeEventDetailPane.h: 6"; 82 + rLen = 0; 83 + rLoc = 136; 84 + rType = 0; 85 + vrLen = 173; 86 + vrLoc = 0; 87 + }; 88 + 01FFC67E12C9CCF900EFFBD0 /* PBXTextBookmark */ = { 89 + isa = PBXTextBookmark; 90 + fRef = 012E22A312C98DEF001DB640 /* PipeEventDetailPane.m */; 91 + name = "PipeEventDetailPane.m: 7"; 92 + rLen = 0; 93 + rLoc = 144; 94 + rType = 0; 95 + vrLen = 690; 96 + vrLoc = 0; 97 + }; 98 + 01FFC67F12C9CCF900EFFBD0 /* PBXTextBookmark */ = { 99 + isa = PBXTextBookmark; 100 + fRef = A7996F930E79D70B0000BA6C /* PipeEventPlugin.h */; 101 + name = "PipeEventPlugin.h: 8"; 102 + rLen = 0; 103 + rLoc = 192; 104 + rType = 0; 105 + vrLen = 265; 106 + vrLoc = 0; 107 + }; 108 + 089C1669FE841209C02AAC07 /* Project object */ = { 109 + activeBuildConfigurationName = Release; 110 + activeTarget = 8D5B49AC048680CD000E48DA /* PipeEventPlugin */; 111 + addToTargets = ( 112 + 8D5B49AC048680CD000E48DA /* PipeEventPlugin */, 113 + ); 114 + codeSenseManager = 012E1A8712C97C5E001DB640 /* Code sense */; 115 + perUserDictionary = { 116 + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { 117 + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 118 + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 119 + PBXFileTableDataSourceColumnWidthsKey = ( 120 + 20, 121 + 850, 122 + 20, 123 + 48, 124 + 43, 125 + 43, 126 + 20, 127 + ); 128 + PBXFileTableDataSourceColumnsKey = ( 129 + PBXFileDataSource_FiletypeID, 130 + PBXFileDataSource_Filename_ColumnID, 131 + PBXFileDataSource_Built_ColumnID, 132 + PBXFileDataSource_ObjectSize_ColumnID, 133 + PBXFileDataSource_Errors_ColumnID, 134 + PBXFileDataSource_Warnings_ColumnID, 135 + PBXFileDataSource_Target_ColumnID, 136 + ); 137 + }; 138 + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { 139 + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 140 + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 141 + PBXFileTableDataSourceColumnWidthsKey = ( 142 + 20, 143 + 810, 144 + 60, 145 + 20, 146 + 48, 147 + 43, 148 + 43, 149 + ); 150 + PBXFileTableDataSourceColumnsKey = ( 151 + PBXFileDataSource_FiletypeID, 152 + PBXFileDataSource_Filename_ColumnID, 153 + PBXTargetDataSource_PrimaryAttribute, 154 + PBXFileDataSource_Built_ColumnID, 155 + PBXFileDataSource_ObjectSize_ColumnID, 156 + PBXFileDataSource_Errors_ColumnID, 157 + PBXFileDataSource_Warnings_ColumnID, 158 + ); 159 + }; 160 + PBXPerProjectTemplateStateSaveDate = 315215508; 161 + PBXWorkspaceStateSaveDate = 315215508; 162 + }; 163 + perUserProjectItems = { 164 + 013D16A412C9CF3F00E50A86 /* PBXTextBookmark */ = 013D16A412C9CF3F00E50A86 /* PBXTextBookmark */; 165 + 01DA5E6E12C9CE6D000F43A2 /* PBXTextBookmark */ = 01DA5E6E12C9CE6D000F43A2 /* PBXTextBookmark */; 166 + 01FFC67A12C9CCF900EFFBD0 /* PBXTextBookmark */ = 01FFC67A12C9CCF900EFFBD0 /* PBXTextBookmark */; 167 + 01FFC67B12C9CCF900EFFBD0 /* PlistBookmark */ = 01FFC67B12C9CCF900EFFBD0 /* PlistBookmark */; 168 + 01FFC67C12C9CCF900EFFBD0 /* PBXBookmark */ = 01FFC67C12C9CCF900EFFBD0 /* PBXBookmark */; 169 + 01FFC67D12C9CCF900EFFBD0 /* PBXTextBookmark */ = 01FFC67D12C9CCF900EFFBD0 /* PBXTextBookmark */; 170 + 01FFC67E12C9CCF900EFFBD0 /* PBXTextBookmark */ = 01FFC67E12C9CCF900EFFBD0 /* PBXTextBookmark */; 171 + 01FFC67F12C9CCF900EFFBD0 /* PBXTextBookmark */ = 01FFC67F12C9CCF900EFFBD0 /* PBXTextBookmark */; 172 + }; 173 + sourceControlManager = 012E1A8612C97C5E001DB640 /* Source Control */; 174 + userBuildSettings = { 175 + }; 176 + }; 177 + 32DBCF630370AF2F00C91783 /* PipeEventPlugin_Prefix.pch */ = { 178 + uiCtxt = { 179 + sepNavIntBoundsRect = "{{0, 0}, {1028, 433}}"; 180 + sepNavSelRange = "{51, 0}"; 181 + sepNavVisRange = "{0, 51}"; 182 + sepNavWindowFrame = "{{61, 13}, {915, 686}}"; 183 + }; 184 + }; 185 + 8D5B49AC048680CD000E48DA /* PipeEventPlugin */ = { 186 + activeExec = 0; 187 + }; 188 + 8D5B49B7048680CD000E48DA /* Info.plist */ = { 189 + uiCtxt = { 190 + sepNavWindowFrame = "{{15, 55}, {915, 686}}"; 191 + }; 192 + }; 193 + A7996F930E79D70B0000BA6C /* PipeEventPlugin.h */ = { 194 + uiCtxt = { 195 + sepNavIntBoundsRect = "{{0, 0}, {1028, 433}}"; 196 + sepNavSelRange = "{192, 0}"; 197 + sepNavVisRange = "{0, 265}"; 198 + }; 199 + }; 200 + A7996F940E79D70B0000BA6C /* PipeEventPlugin.m */ = { 201 + uiCtxt = { 202 + sepNavIntBoundsRect = "{{0, 0}, {1041, 1820}}"; 203 + sepNavSelRange = "{3800, 0}"; 204 + sepNavVisRange = "{3259, 731}"; 205 + sepNavWindowFrame = "{{38, 34}, {915, 686}}"; 206 + }; 207 + }; 208 + }
+288
PipeEventPlugin.xcodeproj/project.pbxproj
··· 1 + // !$*UTF8*$! 2 + { 3 + archiveVersion = 1; 4 + classes = { 5 + }; 6 + objectVersion = 45; 7 + objects = { 8 + 9 + /* Begin PBXBuildFile section */ 10 + 012E22A412C98DEF001DB640 /* PipeEventDetailPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 012E22A312C98DEF001DB640 /* PipeEventDetailPane.m */; }; 11 + 012E241312C98F85001DB640 /* PipeEvent.nib in Resources */ = {isa = PBXBuildFile; fileRef = 012E241212C98F85001DB640 /* PipeEvent.nib */; }; 12 + 012E25CF12C995CD001DB640 /* TerminalIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 012E25CE12C995CD001DB640 /* TerminalIcon.png */; }; 13 + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 14 + A7996F950E79D70B0000BA6C /* PipeEventPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = A7996F940E79D70B0000BA6C /* PipeEventPlugin.m */; }; 15 + A7996F990E79D7950000BA6C /* Adium.Framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7996F980E79D7950000BA6C /* Adium.Framework */; }; 16 + /* End PBXBuildFile section */ 17 + 18 + /* Begin PBXFileReference section */ 19 + 012E22A212C98DEF001DB640 /* PipeEventDetailPane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PipeEventDetailPane.h; sourceTree = "<group>"; }; 20 + 012E22A312C98DEF001DB640 /* PipeEventDetailPane.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PipeEventDetailPane.m; sourceTree = "<group>"; }; 21 + 012E241212C98F85001DB640 /* PipeEvent.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = PipeEvent.nib; sourceTree = "<group>"; }; 22 + 012E25CE12C995CD001DB640 /* TerminalIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = TerminalIcon.png; sourceTree = "<group>"; }; 23 + 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 24 + 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; 25 + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; 26 + 32DBCF630370AF2F00C91783 /* PipeEventPlugin_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PipeEventPlugin_Prefix.pch; sourceTree = "<group>"; }; 27 + 8D5B49B6048680CD000E48DA /* PipeEventPlugin.AdiumPlugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PipeEventPlugin.AdiumPlugin; sourceTree = BUILT_PRODUCTS_DIR; }; 28 + 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 29 + A7996F930E79D70B0000BA6C /* PipeEventPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PipeEventPlugin.h; sourceTree = "<group>"; }; 30 + A7996F940E79D70B0000BA6C /* PipeEventPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PipeEventPlugin.m; sourceTree = "<group>"; }; 31 + A7996F980E79D7950000BA6C /* Adium.Framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = Adium.Framework; path = ../adium/Frameworks/Adium.Framework; sourceTree = SOURCE_ROOT; }; 32 + D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; }; 33 + /* End PBXFileReference section */ 34 + 35 + /* Begin PBXFrameworksBuildPhase section */ 36 + 8D5B49B3048680CD000E48DA /* Frameworks */ = { 37 + isa = PBXFrameworksBuildPhase; 38 + buildActionMask = 2147483647; 39 + files = ( 40 + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, 41 + A7996F990E79D7950000BA6C /* Adium.Framework in Frameworks */, 42 + ); 43 + runOnlyForDeploymentPostprocessing = 0; 44 + }; 45 + /* End PBXFrameworksBuildPhase section */ 46 + 47 + /* Begin PBXGroup section */ 48 + 089C166AFE841209C02AAC07 /* PipeMessagePlugin */ = { 49 + isa = PBXGroup; 50 + children = ( 51 + 012E241212C98F85001DB640 /* PipeEvent.nib */, 52 + 08FB77AFFE84173DC02AAC07 /* Classes */, 53 + 32C88E010371C26100C91783 /* Other Sources */, 54 + 089C167CFE841241C02AAC07 /* Resources */, 55 + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 56 + 19C28FB8FE9D52D311CA2CBB /* Products */, 57 + ); 58 + name = PipeMessagePlugin; 59 + sourceTree = "<group>"; 60 + }; 61 + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { 62 + isa = PBXGroup; 63 + children = ( 64 + A7996F980E79D7950000BA6C /* Adium.Framework */, 65 + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 66 + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, 67 + ); 68 + name = "Frameworks and Libraries"; 69 + sourceTree = "<group>"; 70 + }; 71 + 089C167CFE841241C02AAC07 /* Resources */ = { 72 + isa = PBXGroup; 73 + children = ( 74 + 012E25CE12C995CD001DB640 /* TerminalIcon.png */, 75 + 8D5B49B7048680CD000E48DA /* Info.plist */, 76 + ); 77 + name = Resources; 78 + sourceTree = "<group>"; 79 + }; 80 + 08FB77AFFE84173DC02AAC07 /* Classes */ = { 81 + isa = PBXGroup; 82 + children = ( 83 + 012E22A212C98DEF001DB640 /* PipeEventDetailPane.h */, 84 + 012E22A312C98DEF001DB640 /* PipeEventDetailPane.m */, 85 + A7996F930E79D70B0000BA6C /* PipeEventPlugin.h */, 86 + A7996F940E79D70B0000BA6C /* PipeEventPlugin.m */, 87 + ); 88 + name = Classes; 89 + sourceTree = "<group>"; 90 + }; 91 + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { 92 + isa = PBXGroup; 93 + children = ( 94 + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, 95 + ); 96 + name = "Linked Frameworks"; 97 + sourceTree = "<group>"; 98 + }; 99 + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { 100 + isa = PBXGroup; 101 + children = ( 102 + 089C167FFE841241C02AAC07 /* AppKit.framework */, 103 + D2F7E65807B2D6F200F64583 /* CoreData.framework */, 104 + 089C1672FE841209C02AAC07 /* Foundation.framework */, 105 + ); 106 + name = "Other Frameworks"; 107 + sourceTree = "<group>"; 108 + }; 109 + 19C28FB8FE9D52D311CA2CBB /* Products */ = { 110 + isa = PBXGroup; 111 + children = ( 112 + 8D5B49B6048680CD000E48DA /* PipeEventPlugin.AdiumPlugin */, 113 + ); 114 + name = Products; 115 + sourceTree = "<group>"; 116 + }; 117 + 32C88E010371C26100C91783 /* Other Sources */ = { 118 + isa = PBXGroup; 119 + children = ( 120 + 32DBCF630370AF2F00C91783 /* PipeEventPlugin_Prefix.pch */, 121 + ); 122 + name = "Other Sources"; 123 + sourceTree = "<group>"; 124 + }; 125 + /* End PBXGroup section */ 126 + 127 + /* Begin PBXNativeTarget section */ 128 + 8D5B49AC048680CD000E48DA /* PipeEventPlugin */ = { 129 + isa = PBXNativeTarget; 130 + buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "PipeEventPlugin" */; 131 + buildPhases = ( 132 + 8D5B49AF048680CD000E48DA /* Resources */, 133 + 8D5B49B1048680CD000E48DA /* Sources */, 134 + 8D5B49B3048680CD000E48DA /* Frameworks */, 135 + ); 136 + buildRules = ( 137 + ); 138 + dependencies = ( 139 + ); 140 + name = PipeEventPlugin; 141 + productInstallPath = "$(HOME)/Library/Bundles"; 142 + productName = PipeMessagePlugin; 143 + productReference = 8D5B49B6048680CD000E48DA /* PipeEventPlugin.AdiumPlugin */; 144 + productType = "com.apple.product-type.bundle"; 145 + }; 146 + /* End PBXNativeTarget section */ 147 + 148 + /* Begin PBXProject section */ 149 + 089C1669FE841209C02AAC07 /* Project object */ = { 150 + isa = PBXProject; 151 + buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "PipeEventPlugin" */; 152 + compatibilityVersion = "Xcode 3.1"; 153 + developmentRegion = English; 154 + hasScannedForEncodings = 1; 155 + knownRegions = ( 156 + English, 157 + Japanese, 158 + French, 159 + German, 160 + ); 161 + mainGroup = 089C166AFE841209C02AAC07 /* PipeMessagePlugin */; 162 + projectDirPath = ""; 163 + projectRoot = ""; 164 + targets = ( 165 + 8D5B49AC048680CD000E48DA /* PipeEventPlugin */, 166 + ); 167 + }; 168 + /* End PBXProject section */ 169 + 170 + /* Begin PBXResourcesBuildPhase section */ 171 + 8D5B49AF048680CD000E48DA /* Resources */ = { 172 + isa = PBXResourcesBuildPhase; 173 + buildActionMask = 2147483647; 174 + files = ( 175 + 012E241312C98F85001DB640 /* PipeEvent.nib in Resources */, 176 + 012E25CF12C995CD001DB640 /* TerminalIcon.png in Resources */, 177 + ); 178 + runOnlyForDeploymentPostprocessing = 0; 179 + }; 180 + /* End PBXResourcesBuildPhase section */ 181 + 182 + /* Begin PBXSourcesBuildPhase section */ 183 + 8D5B49B1048680CD000E48DA /* Sources */ = { 184 + isa = PBXSourcesBuildPhase; 185 + buildActionMask = 2147483647; 186 + files = ( 187 + A7996F950E79D70B0000BA6C /* PipeEventPlugin.m in Sources */, 188 + 012E22A412C98DEF001DB640 /* PipeEventDetailPane.m in Sources */, 189 + ); 190 + runOnlyForDeploymentPostprocessing = 0; 191 + }; 192 + /* End PBXSourcesBuildPhase section */ 193 + 194 + /* Begin XCBuildConfiguration section */ 195 + 1DEB913B08733D840010E9CD /* Debug */ = { 196 + isa = XCBuildConfiguration; 197 + buildSettings = { 198 + ALWAYS_SEARCH_USER_PATHS = NO; 199 + COPY_PHASE_STRIP = NO; 200 + FRAMEWORK_SEARCH_PATHS = ( 201 + "$(inherited)", 202 + "\"$(SRCROOT)/../adium/build/Release\"", 203 + ); 204 + GCC_DYNAMIC_NO_PIC = NO; 205 + GCC_ENABLE_FIX_AND_CONTINUE = YES; 206 + GCC_MODEL_TUNING = G5; 207 + GCC_OPTIMIZATION_LEVEL = 0; 208 + GCC_PRECOMPILE_PREFIX_HEADER = YES; 209 + GCC_PREFIX_HEADER = PipeEventPlugin_Prefix.pch; 210 + INFOPLIST_FILE = Info.plist; 211 + INSTALL_PATH = "$(HOME)/Library/Application Support/Adium 2.0/PlugIns/"; 212 + PRODUCT_NAME = PipeEventPlugin; 213 + WRAPPER_EXTENSION = AdiumPlugin; 214 + }; 215 + name = Debug; 216 + }; 217 + 1DEB913C08733D840010E9CD /* Release */ = { 218 + isa = XCBuildConfiguration; 219 + buildSettings = { 220 + ALWAYS_SEARCH_USER_PATHS = NO; 221 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 222 + FRAMEWORK_SEARCH_PATHS = ( 223 + "$(inherited)", 224 + "\"$(SRCROOT)/../adium/build/Release\"", 225 + ); 226 + GCC_MODEL_TUNING = G5; 227 + GCC_PRECOMPILE_PREFIX_HEADER = YES; 228 + GCC_PREFIX_HEADER = PipeEventPlugin_Prefix.pch; 229 + INFOPLIST_FILE = Info.plist; 230 + INSTALL_PATH = "$(HOME)/Library/Application Support/Adium 2.0/PlugIns/"; 231 + PRODUCT_NAME = PipeEventPlugin; 232 + WRAPPER_EXTENSION = AdiumPlugin; 233 + }; 234 + name = Release; 235 + }; 236 + 1DEB913F08733D840010E9CD /* Debug */ = { 237 + isa = XCBuildConfiguration; 238 + buildSettings = { 239 + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 240 + GCC_C_LANGUAGE_STANDARD = c99; 241 + GCC_MODEL_TUNING = G4; 242 + GCC_OPTIMIZATION_LEVEL = 0; 243 + GCC_WARN_ABOUT_RETURN_TYPE = YES; 244 + GCC_WARN_UNUSED_VARIABLE = YES; 245 + ONLY_ACTIVE_ARCH = YES; 246 + PREBINDING = NO; 247 + SDKROOT = macosx10.5; 248 + }; 249 + name = Debug; 250 + }; 251 + 1DEB914008733D840010E9CD /* Release */ = { 252 + isa = XCBuildConfiguration; 253 + buildSettings = { 254 + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 255 + GCC_C_LANGUAGE_STANDARD = c99; 256 + GCC_MODEL_TUNING = G4; 257 + GCC_WARN_ABOUT_RETURN_TYPE = YES; 258 + GCC_WARN_UNUSED_VARIABLE = YES; 259 + PREBINDING = NO; 260 + SDKROOT = macosx10.5; 261 + }; 262 + name = Release; 263 + }; 264 + /* End XCBuildConfiguration section */ 265 + 266 + /* Begin XCConfigurationList section */ 267 + 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "PipeEventPlugin" */ = { 268 + isa = XCConfigurationList; 269 + buildConfigurations = ( 270 + 1DEB913B08733D840010E9CD /* Debug */, 271 + 1DEB913C08733D840010E9CD /* Release */, 272 + ); 273 + defaultConfigurationIsVisible = 0; 274 + defaultConfigurationName = Release; 275 + }; 276 + 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "PipeEventPlugin" */ = { 277 + isa = XCConfigurationList; 278 + buildConfigurations = ( 279 + 1DEB913F08733D840010E9CD /* Debug */, 280 + 1DEB914008733D840010E9CD /* Release */, 281 + ); 282 + defaultConfigurationIsVisible = 0; 283 + defaultConfigurationName = Release; 284 + }; 285 + /* End XCConfigurationList section */ 286 + }; 287 + rootObject = 089C1669FE841209C02AAC07 /* Project object */; 288 + }
+3
PipeEventPlugin_Prefix.pch
··· 1 + #ifdef __OBJC__ 2 + #import <Cocoa/Cocoa.h> 3 + #endif
+39
README.rdoc
··· 1 + # vim:ts=8:sw=8:tw=80 2 + 3 + PipeEvent Plugin for {Adium}[http://adium.im/] 4 + Written by {joshua stein}[mailto:jcs@jcs.org] - {http://jcs.org/}[http://jcs.org/] 5 + 6 + This is a simple plugin that will add a "Pipe event" action that you can add 7 + to events, which will pipe the contents of the event text to an executable of 8 + your choosing. 9 + 10 + The most common case would be adding it to the "Message received" event, which 11 + would pipe the content of the incoming message to your program. 12 + 13 + To install, download the plugin: 14 + 15 + https://github.com/downloads/jcs/adium-pipemessage/PipeEventPlugin.AdiumPlugin.zip 16 + 17 + Unzip it and double-click it. Adium should notify you that the plugin has been 18 + installed and you may have to restart Adium. 19 + 20 + In Adium's Preferences, choose Events. You may also create a per-contact alert 21 + by double-clicking on a contact and clicking the Events icon. 22 + 23 + Click an event, such as "Message received", and click the [+] button. Select 24 + "Pipe event to command". Enter the *full path* to your command and hit OK. 25 + 26 + The command will be executed every time the event is run and have STDOUT and 27 + STDERR closed, and then have the full content of the event/message written to 28 + its STDIN. For easier scripting, the event/message has a trailing newline 29 + appended. The title of the event (for messages, the sender's name) will be 30 + passed to the command as its first argument. 31 + 32 + A simple script that will write every received message to a file: 33 + 34 + #!/usr/bin/ruby 35 + File.open("#{ENV['HOME']}/adium.log", "a+") do |f| 36 + f.puts "#{Time.now}: #{ARGV[0]} - #{STDIN.read}" 37 + end 38 + 39 + Note: make sure the command is executable (chmod +x).
TerminalIcon.png

This is a binary file and will not be displayed.