├── .gitignore
├── .gitmodules
├── .rbenv-version
├── CHANGES_FROM_UPSTREAM.md
├── LICENSE
├── README.md
├── Slate.xcodeproj
├── project.pbxproj
└── project.xcworkspace
│ └── contents.xcworkspacedata
├── Slate
├── ASCIIToCode.plist
├── ASCIIToCode_Azerty.plist
├── ASCIIToCode_Colemak.plist
├── ASCIIToCode_Dvorak.plist
├── AccessibilityWrapper.h
├── AccessibilityWrapper.m
├── ActivateSnapshotOperation.h
├── ActivateSnapshotOperation.m
├── ApplicationOptions.h
├── ApplicationOptions.m
├── Binding.h
├── Binding.m
├── ChainOperation.h
├── ChainOperation.m
├── ConfigurationHelperView.h
├── ConfigurationHelperView.m
├── Constants.h
├── Constants.m
├── CornerOperation.h
├── CornerOperation.m
├── DeleteSnapshotOperation.h
├── DeleteSnapshotOperation.m
├── ExpressionPoint.h
├── ExpressionPoint.m
├── FocusOperation.h
├── FocusOperation.m
├── GridCellView.h
├── GridCellView.m
├── GridOperation.h
├── GridOperation.m
├── GridView.h
├── GridView.m
├── GridWindow.h
├── GridWindow.m
├── HintOperation.h
├── HintOperation.m
├── HintView.h
├── HintView.m
├── HintWindow.h
├── HintWindow.m
├── JSApplicationWrapper.h
├── JSApplicationWrapper.m
├── JSController.h
├── JSController.m
├── JSInfoWrapper.h
├── JSInfoWrapper.m
├── JSOperation.h
├── JSOperation.m
├── JSOperationWrapper.h
├── JSOperationWrapper.m
├── JSScreenWrapper.h
├── JSScreenWrapper.m
├── JSWindowWrapper.h
├── JSWindowWrapper.m
├── JSWrapperUtils.h
├── JSWrapperUtils.m
├── Layout.h
├── Layout.m
├── LayoutOperation.h
├── LayoutOperation.m
├── MathUtils.h
├── MathUtils.m
├── MoveOperation.h
├── MoveOperation.m
├── NSFileManager+ApplicationSupport.h
├── NSFileManager+ApplicationSupport.m
├── NSString+Indicies.h
├── NSString+Indicies.m
├── NSString+Levenshtein.h
├── NSString+Levenshtein.m
├── NudgeOperation.h
├── NudgeOperation.m
├── Operation.h
├── Operation.m
├── PushOperation.h
├── PushOperation.m
├── RelaunchOperation.h
├── RelaunchOperation.m
├── ResizeOperation.h
├── ResizeOperation.m
├── RunningApplications.h
├── RunningApplications.m
├── ScreenState.h
├── ScreenState.m
├── ScreenWrapper.h
├── ScreenWrapper.m
├── SequenceOperation.h
├── SequenceOperation.m
├── ShellOperation.h
├── ShellOperation.m
├── ShellUtils.h
├── ShellUtils.m
├── Slate-Info.plist
├── Slate-Prefix.pch
├── SlateAppDelegate.h
├── SlateAppDelegate.m
├── SlateConfig.h
├── SlateConfig.m
├── SlateLogger.h
├── Snapshot.h
├── Snapshot.m
├── SnapshotList.h
├── SnapshotList.m
├── SnapshotOperation.h
├── SnapshotOperation.m
├── StringTokenizer.h
├── StringTokenizer.m
├── SwitchAppQuittingOverlayView.h
├── SwitchAppQuittingOverlayView.m
├── SwitchAppView.h
├── SwitchAppView.m
├── SwitchOperation.h
├── SwitchOperation.m
├── SwitchView.h
├── SwitchView.m
├── SwitchWindow.h
├── SwitchWindow.m
├── ThrowOperation.h
├── ThrowOperation.m
├── UndoOperation.h
├── UndoOperation.m
├── VisibilityOperation.h
├── VisibilityOperation.m
├── WindowInfoView.h
├── WindowInfoView.m
├── WindowSnapshot.h
├── WindowSnapshot.m
├── WindowState.h
├── WindowState.m
├── default.slate
├── en.lproj
│ ├── Credits.rtf
│ ├── InfoPlist.strings
│ └── MainMenu.xib
├── icon.icns
├── initialize.js
├── main.m
├── slate-mock.js
├── slate-test.html
├── status.pdf
├── statusActive.pdf
├── underscore.js
└── utils.js
├── SlateTests
├── SlateTests-Info.plist
├── SlateTests-Prefix.pch
├── SlateTests.h
├── SlateTests.m
├── TestExpressionPoint.h
├── TestExpressionPoint.m
├── TestMathUtils.h
├── TestMathUtils.m
├── TestNSString+Indicies.h
├── TestNSString+Indicies.m
├── TestNSString+Levenshtein.h
├── TestNSString+Levenshtein.m
├── TestShellUtils.h
├── TestShellUtils.m
├── TestStringTokenizer.h
├── TestStringTokenizer.m
└── en.lproj
│ └── InfoPlist.strings
├── Sparkle.framework
├── Headers
├── Resources
├── Sparkle
└── Versions
│ ├── A
│ ├── Headers
│ │ ├── SUAppcast.h
│ │ ├── SUAppcastItem.h
│ │ ├── SUUpdater.h
│ │ ├── SUVersionComparisonProtocol.h
│ │ └── Sparkle.h
│ ├── Resources
│ │ ├── Info.plist
│ │ ├── License.txt
│ │ ├── SUModelTranslation.plist
│ │ ├── SUStatus.nib
│ │ │ ├── classes.nib
│ │ │ ├── info.nib
│ │ │ └── keyedobjects.nib
│ │ ├── de.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ │ ├── en.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ │ ├── es.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ │ ├── fr.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── Sparkle.strings
│ │ │ └── fr.lproj
│ │ ├── fr_CA.lproj
│ │ ├── it.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ │ ├── nl.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ │ ├── relaunch
│ │ ├── ru.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ ├── classes.nib
│ │ │ │ ├── info.nib
│ │ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ │ └── sv.lproj
│ │ │ ├── SUAutomaticUpdateAlert.nib
│ │ │ ├── classes.nib
│ │ │ ├── info.nib
│ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdateAlert.nib
│ │ │ ├── classes.nib
│ │ │ ├── info.nib
│ │ │ └── keyedobjects.nib
│ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ ├── classes.nib
│ │ │ ├── info.nib
│ │ │ └── keyedobjects.nib
│ │ │ └── Sparkle.strings
│ └── Sparkle
│ └── Current
├── VERSION
├── build
└── dmg_background.png
├── doc
├── Makefile
├── configuration.md
├── directive-alias.md
├── directive-bind.md
├── directive-config.md
├── directive-default.md
├── directive-layout.md
├── directive-source.md
├── github.css
├── installation.md
├── js-configuration.md
├── js-defaults.md
├── js-layouts.md
├── js-object-application.md
├── js-object-screen.md
├── js-object-window.md
└── keys.md
├── icons
├── Contact.txt
├── IMG
│ ├── icon_1024.png
│ ├── icon_128.png
│ ├── icon_256.png
│ ├── icon_32.png
│ ├── icon_512.png
│ ├── status-bar-icon_18.png
│ └── status-bar-icon_20.png
├── PREVIEW.png
└── PSD
│ ├── icon_1024.psd
│ ├── status-bar icon 1.psd
│ ├── status-bar icon 2.psd
│ └── status-bar icon 3.psd
└── script
└── slate.rb
/.gitignore:
--------------------------------------------------------------------------------
1 | build/Slate.build
2 | build/Release/Slate.app.dSYM
3 | build/debug_paths.json
4 | build/release_paths.json
5 | build/output
6 | build/Release/*.tar.gz
7 | build/Release/VERSION
8 | build/Release/appcast.xml
9 | Slate.xcodeproj/jigish.mode1v3
10 | Slate.xcodeproj/jigish.pbxuser
11 | Slate.xcodeproj/project.xcworkspace/xcuserdata/jigish.xcuserdatad/
12 | Slate.xcodeproj/xcuserdata/jigish.xcuserdatad/
13 | # don't version xcode artifacts
14 | *.xcuserdatad
15 | tmp
16 | doc/*.html
17 | .DS_Store
18 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "script/create-dmg"]
2 | path = script/create-dmg
3 | url = https://github.com/andreyvit/yoursway-create-dmg.git
4 |
--------------------------------------------------------------------------------
/.rbenv-version:
--------------------------------------------------------------------------------
1 | 1.9.3-p286
2 |
--------------------------------------------------------------------------------
/CHANGES_FROM_UPSTREAM.md:
--------------------------------------------------------------------------------
1 | As this is a fork of [jigish/slate](https://github.com/jigish/slate), I want to keep track of what pull requests and issues from that repository have been fixed/merged so I don't have to do double work:
2 |
3 | #414
4 | #395
5 | #393
6 | #387
7 | #362
8 | #351
9 | #344
10 | #371
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # WARNING #
2 |
3 | This repository is unmaintained and unsupported as of May 2017. I appreciate you using this extension of @jigish's original work. If you need a replacement, [Hammerspoon](https://github.com/Hammerspoon/hammerspoon) is the suggested replacement.
4 |
5 | # About Slate #
6 |
7 | Slate is a window management application similar to Divvy and SizeUp (except better and free!). Originally written to replace them due to some limitations in how each work, it attempts to overcome them by simply being extremely configurable. As a result, it may be a bit daunting to get configured, but once it is done, the benefit is huge.
8 |
9 | Slate currently works on Mac OS X 10.8 and above.
10 |
11 | # Summary of Features #
12 |
13 | * Highly customizable
14 | * Bind keystrokes to:
15 | * move and/or resize windows
16 | * directionally focus windows
17 | * activate preset layouts
18 | * create, delete, and activate snapshots of the current state of windows
19 | * Set default layouts for different monitor configurations which will activate when that configuration is detected.
20 | * Window Hints: an intuitive way to change window focus
21 | * \[Beta\] A better, more customizable, application switcher.
22 |
23 | # Manual #
24 |
25 | * [Installing Slate](doc/installation.md)
26 | * [Configuring Slate](doc/configuration.md)
27 |
28 | # Useful Stuff #
29 |
30 | * [kvs](https://github.com/kvs) has created a [Sublime Text 2](http://www.sublimetext.com/2) preference for `.slate` files [here](https://github.com/kvs/ST2Slate).
31 | * [trishume](https://github.com/trishume) has done a really nice writeup on getting started with Slate [here](http://thume.ca/howto/2012/11/19/using-slate/)
32 |
33 | # Credits #
34 |
35 | Big thanks to [philc](https://github.com/philc) for the Window Hints idea (and initial implementation) as well as plenty of other suggestions and improvement ideas.
36 |
37 | # Contact #
38 |
39 | Please [create a github issue](https://github.com/mattr-/slate/issues/new) for any questions, bug reports, suggestions, or general commentary.
40 |
--------------------------------------------------------------------------------
/Slate.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Slate/ActivateSnapshotOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // ActivateSnapshotOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/1/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | @interface ActivateSnapshotOperation : Operation {
24 | @private
25 | NSString *name;
26 | BOOL del;
27 | }
28 |
29 | @property NSString *name;
30 | @property (assign) BOOL del;
31 |
32 | - (id)initWithName:(NSString *)theName options:(NSString *)options;
33 |
34 | + (BOOL)activateSnapshot:(NSString *)name remove:(BOOL)del;
35 |
36 | + (id)activateSnapshotOperation;
37 | + (id)activateSnapshotOperationFromString:(NSString *)activateSnapshotOperation;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Slate/ApplicationOptions.h:
--------------------------------------------------------------------------------
1 | //
2 | // ApplicationOptions.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/14/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface ApplicationOptions : NSObject {
25 | @private
26 | BOOL ignoreFail;
27 | BOOL repeat;
28 | BOOL repeatLast;
29 | BOOL mainFirst;
30 | BOOL mainLast;
31 | BOOL sortTitle;
32 | NSArray *titleOrder;
33 | NSArray *titleOrderRegex;
34 | }
35 |
36 | @property (assign) BOOL ignoreFail;
37 | @property (assign) BOOL repeat;
38 | @property (assign) BOOL repeatLast;
39 | @property (assign) BOOL mainFirst;
40 | @property (assign) BOOL mainLast;
41 | @property (assign) BOOL sortTitle;
42 | @property NSArray *titleOrder;
43 | @property NSArray *titleOrderRegex;
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/Slate/ApplicationOptions.m:
--------------------------------------------------------------------------------
1 | //
2 | // ApplicationOptions.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/14/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "ApplicationOptions.h"
22 |
23 |
24 | @implementation ApplicationOptions
25 |
26 | @synthesize ignoreFail;
27 | @synthesize repeat;
28 | @synthesize repeatLast;
29 | @synthesize mainFirst;
30 | @synthesize mainLast;
31 | @synthesize sortTitle;
32 | @synthesize titleOrder;
33 | @synthesize titleOrderRegex;
34 |
35 | - (id)init {
36 | self = [super init];
37 | if (self) {
38 | [self setIgnoreFail:NO];
39 | [self setRepeat:NO];
40 | [self setRepeatLast:NO];
41 | [self setMainFirst:NO];
42 | [self setMainLast:NO];
43 | [self setSortTitle:NO];
44 | [self setTitleOrder:nil];
45 | [self setTitleOrderRegex:nil];
46 | }
47 | return self;
48 | }
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/Slate/Binding.h:
--------------------------------------------------------------------------------
1 | //
2 | // Binding.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import
23 |
24 | @class Operation;
25 |
26 | @interface Binding : NSObject {
27 | @private
28 | Operation *op;
29 | UInt32 keyCode;
30 | UInt32 modifiers;
31 | NSNumber *modalKey;
32 | EventHotKeyRef hotKeyRef;
33 | BOOL repeat;
34 | BOOL toggle;
35 | }
36 |
37 | @property Operation *op;
38 | @property (assign) UInt32 keyCode;
39 | @property (assign) UInt32 modifiers;
40 | @property NSNumber *modalKey;
41 | @property (assign) EventHotKeyRef hotKeyRef;
42 | @property (assign) BOOL repeat;
43 | @property (assign) BOOL toggle;
44 |
45 | + (NSDictionary *)asciiToCodeDict;
46 | - (id)initWithString:(NSString *)binding;
47 | - (id)initWithKeystroke:(NSString*)keystroke operation:(Operation*)op_ repeat:(BOOL)repeat_;
48 | - (BOOL)doOperation;
49 | - (NSString *)modalHashKey;
50 | + (NSArray *)modalHashKeyToKeyAndModifiers:(NSString *)modalHashKey;
51 | + (NSArray *)getKeystrokeFromString:(NSString *)keystroke;
52 |
53 | @end
54 |
--------------------------------------------------------------------------------
/Slate/ChainOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // ChainOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/28/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import "Operation.h"
23 |
24 | @interface ChainOperation : Operation {
25 | @private
26 | NSArray *operations;
27 | NSMutableDictionary *currentOp;
28 | }
29 |
30 | @property NSArray *operations;
31 | @property NSMutableDictionary *currentOp;
32 |
33 | - (BOOL)testOperation:(NSInteger)op;
34 | - (void)afterComplete:(AccessibilityWrapper *)aw opRun:(NSInteger)op ;
35 | - (id)initWithArray:(NSArray *)opArray;
36 | - (NSInteger)getNextOperation:(AccessibilityWrapper *)aw;
37 | - (void)setNextOperation:(AccessibilityWrapper *)aw nextOp:(NSNumber *)op;
38 |
39 | + (id)chainOperation;
40 | + (id)chainOperationFromString:(NSString *)chainOperation;
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Slate/ConfigurationHelperView.h:
--------------------------------------------------------------------------------
1 | //
2 | // ConfigurationHelperView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/5/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface ConfigurationHelperView : NSView {
24 | @private
25 | NSTextField *directiveLabel;
26 | NSPopUpButton *directive;
27 | NSButton *save;
28 | NSMutableDictionary *configs;
29 | }
30 |
31 | @property NSTextField *directiveLabel;
32 | @property NSPopUpButton *directive;
33 | @property NSButton *save;
34 | @property NSMutableDictionary *configs;
35 |
36 | - (void)directiveChanged;
37 | - (void)updateDirectiveSpecificUI:(NSString *)str;
38 | - (void)addDirectiveSpecificUIs;
39 | - (void)addConfigUI;
40 | - (void)hideAll:(NSArray *)theThings;
41 | - (void)showAll:(NSArray *)theThings;
42 | - (void)hide:(NSTextField *)theThings;
43 | - (void)show:(NSTextField *)theThings;
44 | - (void)saveToConfig;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Slate/CornerOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // CornerOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/20/13.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "MoveOperation.h"
22 |
23 | @interface CornerOperation : MoveOperation
24 |
25 | + (id)cornerOperation;
26 | + (id)cornerOperationFromString:(NSString *)cornerOperation;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/DeleteSnapshotOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // DeleteSnapshotOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 2/28/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | @interface DeleteSnapshotOperation : Operation {
24 | @private
25 | NSString *name;
26 | BOOL pop;
27 | }
28 |
29 | @property NSString *name;
30 | @property (assign) BOOL pop;
31 |
32 | - (id)initWithName:(NSString *)theName options:(NSString *)options;
33 |
34 | + (id)deleteSnapshotOperation;
35 | + (id)deleteSnapshotOperationFromString:(NSString *)deleteSnapshotOperation;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Slate/ExpressionPoint.h:
--------------------------------------------------------------------------------
1 | //
2 | // ExpressionPoint.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface ExpressionPoint : NSObject {
25 | @private
26 | NSString *x;
27 | NSString *y;
28 | }
29 |
30 | @property (copy) NSString *x;
31 | @property (copy) NSString *y;
32 |
33 | - (id)initWithX:(NSString *)xVal y:(NSString *)yVal;
34 |
35 | - (NSPoint)getPointWithDict:(NSDictionary *)values;
36 | - (NSSize)getSizeWithDict:(NSDictionary *)values;
37 |
38 | + (float)expToFloat:(NSString *)exp withDict:(NSDictionary *)values;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Slate/FocusOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // FocusOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/21/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import "Operation.h"
23 |
24 |
25 | @interface FocusOperation : Operation {
26 | @private
27 | NSInteger direction;
28 | NSString *app;
29 | }
30 |
31 | @property (assign) NSInteger direction;
32 | @property NSString *app;
33 |
34 | - (id)initWithDirectionOrApp:(NSString *)s;
35 |
36 | + (id)focusOperation;
37 | + (id)focusOperationFromString:(NSString *)focusOperation;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Slate/GridCellView.h:
--------------------------------------------------------------------------------
1 | //
2 | // GridCellView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 9/10/12.
6 | //
7 | // This program is free software: you can redistribute it and/or modify
8 | // it under the terms of the GNU General Public License as published by
9 | // the Free Software Foundation, either version 3 of the License, or
10 | // (at your option) any later version.
11 | //
12 | // This program is distributed in the hope that it will be useful,
13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | // GNU General Public License for more details.
16 | //
17 | // You should have received a copy of the GNU General Public License
18 | // along with this program. If not, see http://www.gnu.org/licenses
19 |
20 | #import
21 |
22 | @interface GridCellView : NSView
23 |
24 | @property NSColor *inactiveBg;
25 | @property NSColor *activeBg;
26 | @property NSColor *bg;
27 | @property float cornerSize;
28 |
29 | - (void)activate;
30 | - (void)deactivate;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Slate/GridOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // GridOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 9/7/12.
6 | //
7 | // This program is free software: you can redistribute it and/or modify
8 | // it under the terms of the GNU General Public License as published by
9 | // the Free Software Foundation, either version 3 of the License, or
10 | // (at your option) any later version.
11 | //
12 | // This program is distributed in the hope that it will be useful,
13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | // GNU General Public License for more details.
16 | //
17 | // You should have received a copy of the GNU General Public License
18 | // along with this program. If not, see http://www.gnu.org/licenses
19 |
20 | #import
21 | #import "Operation.h"
22 |
23 | @class ExpressionPoint;
24 |
25 | @interface GridOperation : Operation {
26 | NSDictionary *screenConfigs;
27 | NSMutableArray *grids;
28 | EventHotKeyRef escHotKeyRef;
29 | AccessibilityWrapper *focusedWindow;
30 | NSInteger padding;
31 | }
32 |
33 | @property NSDictionary *screenConfigs;
34 | @property NSMutableArray *grids;
35 | @property AccessibilityWrapper *focusedWindow;
36 | @property NSInteger padding;
37 |
38 | - (id)initWithScreenConfigs:(NSDictionary *)myScreenConfigs padding:(NSInteger)myPadding;
39 | - (void)killGrids;
40 | - (void)activateGridKey:(NSInteger)hintId;
41 | - (void)activateLayoutWithOrigin:(ExpressionPoint *)origin size:(ExpressionPoint *)size screenId:(NSInteger)screenId;
42 |
43 | + (id)gridOperation;
44 | + (id)gridOperationFromString:(NSString *) gridOperation;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Slate/GridView.h:
--------------------------------------------------------------------------------
1 | //
2 | // GridView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 9/7/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class GridOperation;
24 |
25 | @interface GridView : NSView
26 |
27 | @property GridOperation *op;
28 | @property NSInteger width;
29 | @property NSInteger height;
30 | @property float padding;
31 | @property float cellWidth;
32 | @property float cellHeight;
33 | @property NSMutableArray *grid;
34 | @property NSRect previousActiveRect;
35 |
36 | - (void)addGridWithWidth:(NSInteger)width height:(NSInteger)height padding:(float)myPadding;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Slate/GridWindow.h:
--------------------------------------------------------------------------------
1 | //
2 | // GridWindow.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 9/7/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface GridWindow : NSWindow
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Slate/GridWindow.m:
--------------------------------------------------------------------------------
1 | //
2 | // GridWindow.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 9/7/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "GridWindow.h"
22 |
23 | @implementation GridWindow
24 |
25 | - (BOOL)canBecomeKeyWindow {
26 | return YES;
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Slate/HintOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // HintOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/2/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | #import "Operation.h"
24 |
25 | @interface HintOperation : Operation {
26 | @private
27 | NSMutableDictionary *hints;
28 | NSMutableDictionary *windows;
29 | NSMutableDictionary *apps;
30 | NSMutableArray *hotkeyRefs;
31 | NSMutableArray *frames;
32 | NSTimer *hideTimer;
33 | AccessibilityWrapper *currentWindow;
34 | NSInteger currentHint;
35 | NSString *hintCharacters;
36 | BOOL ignoreHidden;
37 |
38 | BOOL spreadOnCollision;
39 | NSUInteger spreadSearchWidth;
40 | NSUInteger spreadSearchHeight;
41 | NSUInteger spreadPadding;
42 | }
43 |
44 | @property NSMutableDictionary *hints;
45 | @property NSMutableDictionary *windows;
46 | @property NSMutableDictionary *apps;
47 | @property NSMutableArray *frames;
48 | @property NSMutableArray *hotkeyRefs;
49 | @property NSTimer *hideTimer;
50 | @property AccessibilityWrapper *currentWindow;
51 | @property NSInteger currentHint;
52 | @property NSString *hintCharacters;
53 |
54 | - (id)initWithCharacters:(NSString *)characters;
55 | - (void)killHints;
56 | - (void)activateHintKey:(NSInteger)hintId;
57 | - (BOOL)collidesWithExistingHint:(NSPoint)origin;
58 |
59 | + (id)hintOperation;
60 | + (id)hintOperationFromString:(NSString *)hintOperation;
61 |
62 | @end
63 |
--------------------------------------------------------------------------------
/Slate/HintView.h:
--------------------------------------------------------------------------------
1 | //
2 | // HintView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/3/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface HintView : NSView {
24 | @private
25 | NSString *text;
26 | NSImage *icon;
27 | }
28 |
29 | - (void)setIconFromAppRef:(AXUIElementRef)appRef;
30 |
31 | @property NSString *text;
32 | @property NSImage *icon;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Slate/HintWindow.h:
--------------------------------------------------------------------------------
1 | //
2 | // HintWindow.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/3/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface HintWindow : NSWindow
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Slate/HintWindow.m:
--------------------------------------------------------------------------------
1 | //
2 | // HintWindow.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/3/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "HintWindow.h"
22 |
23 | @implementation HintWindow
24 |
25 | - (BOOL)canBecomeKeyWindow {
26 | return YES;
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Slate/JSApplicationWrapper.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSApplicationWrapper.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/21/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class AccessibilityWrapper;
24 | @class ScreenWrapper;
25 |
26 | @interface JSApplicationWrapper : NSObject {
27 | AccessibilityWrapper *aw;
28 | ScreenWrapper *sw;
29 | NSRunningApplication *app;
30 | }
31 | @property (strong) AccessibilityWrapper *aw;
32 | @property (strong) ScreenWrapper *sw;
33 | @property (strong) NSRunningApplication *app;
34 | - (id)initWithAccessibilityWrapper:(AccessibilityWrapper *)_aw screenWrapper:(ScreenWrapper *)_sw;
35 | - (id)initWithRunningApplication:(NSRunningApplication *)_app screenWrapper:(ScreenWrapper *)_sw;
36 | - (NSString *)toString;
37 | @end
38 |
--------------------------------------------------------------------------------
/Slate/JSController.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSController.h
3 | // Slate
4 | //
5 | // Created by Alex Morega on 2013-01-16.
6 | //
7 | // This program is free software: you can redistribute it and/or modify
8 | // it under the terms of the GNU General Public License as published by
9 | // the Free Software Foundation, either version 3 of the License, or
10 | // (at your option) any later version.
11 | //
12 | // This program is distributed in the hope that it will be useful,
13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | // GNU General Public License for more details.
16 | //
17 | // You should have received a copy of the GNU General Public License
18 | // along with this program. If not, see http://www.gnu.org/licenses
19 |
20 | #import
21 | #import
22 | #import "Operation.h"
23 |
24 | @interface JSController : NSObject {
25 | WebView *webView;
26 | WebScriptObject *scriptObject;
27 | NSMutableDictionary *functions;
28 | BOOL inited;
29 | NSMutableDictionary *eventCallbacks;
30 | }
31 | @property NSMutableDictionary *functions;
32 | @property NSMutableDictionary *eventCallbacks;
33 |
34 | - (BOOL)loadConfigFileWithPath:(NSString *)path;
35 | - (void)runCallbacks:(NSString *)what payload:(id)payload;
36 | - (NSString *)addCallableFunction:(WebScriptObject *)function;
37 | - (id)runCallableFunction:(NSString *)key;
38 | - (id)runFunction:(WebScriptObject*)function;
39 | - (id)runFunction:(WebScriptObject *)function withArg:(id)arg;
40 | - (id)unmarshall:(id)obj;
41 | - (id)marshall:(id)obj;
42 | - (NSString *)jsTypeof:(WebScriptObject *)obj;
43 | + (JSController *)getInstance;
44 |
45 | @end
--------------------------------------------------------------------------------
/Slate/JSInfoWrapper.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSInfoWrapper.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/21/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | @class ScreenWrapper;
23 | @class AccessibilityWrapper;
24 |
25 | @interface JSInfoWrapper : NSObject {
26 | ScreenWrapper *sw;
27 | AccessibilityWrapper *aw;
28 | }
29 |
30 | @property (strong) ScreenWrapper *sw;
31 | @property (strong) AccessibilityWrapper *aw;
32 |
33 | - (id)initWithAccessibilityWrapper:(AccessibilityWrapper *)_aw screenWrapper:(ScreenWrapper *)_sw;
34 |
35 | + (JSInfoWrapper *)getInstance;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Slate/JSOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/22/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import
23 | #import "Operation.h"
24 |
25 | @interface JSOperation : Operation {
26 | WebScriptObject *function;
27 | }
28 |
29 | @property (strong) WebScriptObject *function;
30 |
31 | - (id)initWithFunction:(WebScriptObject *)_function;
32 | + (id)jsOperationWithFunction:(WebScriptObject *)function;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Slate/JSOperationWrapper.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSOperationWrapper.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/25/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import
23 |
24 | @class AccessibilityWrapper;
25 | @class ScreenWrapper;
26 | @class Operation;
27 |
28 | @interface JSOperationWrapper : NSObject {
29 | Operation *op;
30 | }
31 |
32 | @property (strong) Operation *op;
33 |
34 | - (BOOL)run;
35 | - (JSOperationWrapper *)dup:(WebScriptObject *)opts;
36 | - (BOOL)doOperation;
37 | - (BOOL)doOperationWithAccessibilityWrapper:(AccessibilityWrapper *)aw screenWrapper:(ScreenWrapper *)sw;
38 |
39 | + (JSOperationWrapper *)operation:(NSString*)name options:(WebScriptObject *)opts;
40 | + (JSOperationWrapper *)operationFromString:(NSString *)opString;
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Slate/JSScreenWrapper.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSScreenWrapper.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/21/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class AccessibilityWrapper;
24 | @class ScreenWrapper;
25 |
26 | @interface JSScreenWrapper : NSObject {
27 | ScreenWrapper *sw;
28 | NSInteger screenId;
29 | }
30 |
31 | @property (strong) ScreenWrapper *sw;
32 | @property NSInteger screenId;
33 |
34 | - (id)initWithScreenId:(NSInteger)_id screenWrapper:(ScreenWrapper *)_sw;
35 | - (NSString *)toString;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Slate/JSWindowWrapper.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSWindowWrapper.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/21/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class AccessibilityWrapper;
24 | @class ScreenWrapper;
25 |
26 | @interface JSWindowWrapper : NSObject {
27 | ScreenWrapper *sw;
28 | AccessibilityWrapper *aw;
29 | }
30 |
31 | @property (strong) ScreenWrapper *sw;
32 | @property (strong) AccessibilityWrapper *aw;
33 |
34 | - (id)initWithAccessibilityWrapper:(AccessibilityWrapper *)_aw screenWrapper:(ScreenWrapper *)_sw;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Slate/JSWrapperUtils.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSWrapperUtils.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/22/13.
6 | // Copyright 2013 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class AccessibilityWrapper;
24 | @class ScreenWrapper;
25 |
26 | @interface JSWrapperUtils : NSObject
27 |
28 | + (NSDictionary *)screenAndWindowValues:(NSString *)screen aw:(AccessibilityWrapper *)aw sw:(ScreenWrapper *)sw;
29 | + (NSValue *)pointFromDict:(id)dict aw:(AccessibilityWrapper *)aw sw:(ScreenWrapper *)sw;
30 | + (NSValue *)sizeFromDict:(id)dict aw:(AccessibilityWrapper *)aw sw:(ScreenWrapper *)sw;
31 | + (NSValue *)rectFromDict:(id)dict aw:(AccessibilityWrapper *)aw sw:(ScreenWrapper *)sw;
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Slate/Layout.h:
--------------------------------------------------------------------------------
1 | //
2 | // Layout.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/13/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface Layout : NSObject {
25 | @private
26 | NSString *name;
27 | NSMutableDictionary *appStates;
28 | NSMutableDictionary *appOptions;
29 | NSMutableArray *appOrder;
30 | NSMutableArray *before;
31 | NSMutableArray *after;
32 | }
33 |
34 | @property (copy) NSString *name;
35 | @property NSMutableDictionary *appStates;
36 | @property NSMutableDictionary *appOptions;
37 | @property NSMutableArray *appOrder;
38 | @property NSMutableArray *before;
39 | @property NSMutableArray *after;
40 |
41 | - (id)initWithString:(NSString *)layout;
42 | - (id)initWithName:(NSString *)name dict:(NSDictionary *)dict;
43 | - (void)addWithString:(NSString *)layout;
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/Slate/LayoutOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // LayoutOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/14/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import "Operation.h"
23 |
24 |
25 | @interface LayoutOperation : Operation {
26 | @private
27 | NSString *name;
28 | }
29 |
30 | @property (copy) NSString *name;
31 |
32 | - (id)initWithName:(NSString *)theName;
33 | - (BOOL)testOperation:(Operation *)op;
34 |
35 | + (BOOL)activateLayout:(NSString *)name;
36 | + (BOOL)activateLayout:(NSString *)name screenWrapper:(ScreenWrapper *)sw;
37 | + (id)layoutOperation;
38 | + (id)layoutOperationFromString:(NSString *)layoutOperation;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Slate/MathUtils.h:
--------------------------------------------------------------------------------
1 | //
2 | // MathUtils.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/22/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface MathUtils : NSObject {}
25 |
26 | + (BOOL)isRect:(NSRect)rect1 biggerThan:(NSRect)rect2;
27 | + (NSRect)flipYCoordinateOfRect:(NSRect)original withReference:(NSRect)reference;
28 | + (NSRect)scaleRect:(NSRect)rect factor:(double)factor;
29 | + (NSRect)weightedIntersectionOf:(NSRect)rect1 and:(NSRect)rect2 weight:(double)weight;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Slate/MathUtils.m:
--------------------------------------------------------------------------------
1 | //
2 | // MathUtils.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/22/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "MathUtils.h"
22 |
23 |
24 | @implementation MathUtils
25 |
26 | + (BOOL)isRect:(NSRect)rect1 biggerThan:(NSRect)rect2 {
27 | return rect1.size.width*rect1.size.height > rect2.size.width*rect2.size.height;
28 | }
29 |
30 | // I understand that the following method is stupidly written. Apple apparently enjoys keeping
31 | // multiple types of coordinate spaces. NSScreen.origin returns bottom-left while we need
32 | // top-left for window moving. Go figure.
33 | + (NSRect)flipYCoordinateOfRect:(NSRect)original withReference:(NSRect)reference {
34 | return NSMakeRect(original.origin.x,
35 | reference.size.height - (reference.origin.y + original.origin.y + original.size.height),
36 | original.size.width,
37 | original.size.height);
38 | }
39 |
40 | + (NSRect)scaleRect:(NSRect)rect factor:(double)factor {
41 | return NSMakeRect(rect.origin.x, rect.origin.y, rect.size.width*factor, rect.size.height*factor);
42 | }
43 |
44 | + (NSRect)weightedIntersectionOf:(NSRect)rect1 and:(NSRect)rect2 weight:(double)weight {
45 | NSRect intersection = NSIntersectionRect(rect1, rect2);
46 | if (NSEqualRects(intersection, NSZeroRect)) return NSZeroRect;
47 | return [MathUtils scaleRect:intersection factor:weight];
48 | }
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/Slate/MoveOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // MoveOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import "Operation.h"
23 | #import "ExpressionPoint.h"
24 |
25 |
26 | @interface MoveOperation : Operation {
27 | @private
28 | ExpressionPoint *topLeft;
29 | ExpressionPoint *dimensions;
30 | NSString *monitor;
31 | NSInteger screenId;
32 | }
33 |
34 | @property ExpressionPoint *topLeft;
35 | @property ExpressionPoint *dimensions;
36 | @property NSString *monitor;
37 | @property NSInteger screenId;
38 |
39 | - (id)initWithTopLeft:(NSString *)tl dimensions:(NSString *)dim monitor:(NSString *)mon;
40 | - (id)initWithTopLeftEP:(ExpressionPoint *)tl dimensionsEP:(ExpressionPoint *)dim screenId:(NSInteger)myScreenId;
41 | - (NSPoint)getTopLeftWithCurrentWindowRect:(NSRect)cWindowRect newSize:(NSSize)nSize screenWrapper:(ScreenWrapper *)sw;
42 | - (NSSize)getDimensionsWithCurrentWindowRect:(NSRect)cWindowRect screenWrapper:(ScreenWrapper *)sw;
43 |
44 | + (id)moveOperation;
45 | + (id)moveOperationFromString:(NSString *)moveOperation;
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/Slate/NSFileManager+ApplicationSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSFileManager+ApplicationSupport.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 4/23/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface NSFileManager (ApplicationSupport)
24 |
25 | - (NSURL *)applicationSupportDirectory;
26 | - (NSURL *)findOrCreateDirectory:(NSSearchPathDirectory)searchPathDirectory inDomain:(NSSearchPathDomainMask)domainMask append:(NSString *)appendComponent error:(NSError **)errorOut;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/NSFileManager+ApplicationSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSFileManager+ApplicationSupport.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 4/23/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "NSFileManager+ApplicationSupport.h"
22 |
23 | @implementation NSFileManager (ApplicationSupport)
24 |
25 | - (NSURL *)applicationSupportDirectory {
26 | return [self findOrCreateDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask append:[[NSBundle mainBundle] bundleIdentifier] error:nil];
27 | }
28 |
29 | - (NSURL *)findOrCreateDirectory:(NSSearchPathDirectory)searchPathDirectory inDomain:(NSSearchPathDomainMask)domainMask append:(NSString *)appendComponent error:(NSError **)errorOut {
30 | NSArray *urls = [self URLsForDirectory:searchPathDirectory inDomains:domainMask];
31 | if ([urls count] == 0) return nil;
32 | NSURL *url = [urls objectAtIndex:0];
33 |
34 | if (appendComponent) {
35 | url = [url URLByAppendingPathComponent:appendComponent];
36 | }
37 | NSError *error;
38 | // need to use AtPath if < 10.7 because AtURL is 10.7 only
39 | BOOL success = [self createDirectoryAtURL:url withIntermediateDirectories:YES attributes:nil error:&error];
40 | if (!success) {
41 | if (errorOut) *errorOut = error;
42 | return nil;
43 | }
44 | if (errorOut) *errorOut = nil;
45 | return url;
46 | }
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Slate/NSString+Indicies.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+Indicies.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/1/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface NSString (Indicies)
24 |
25 | - (NSInteger)indexOfString:(NSString *)str;
26 | - (NSInteger)indexOfChar:(const unichar)c;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/NSString+Indicies.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+Indicies.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/1/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "NSString+Indicies.h"
22 |
23 | @implementation NSString (Indicies)
24 |
25 | - (NSInteger)indexOfString:(NSString *)str {
26 | NSRange range = [self rangeOfString:str];
27 | if ( range.length > 0 ) {
28 | return range.location;
29 | } else {
30 | return -1;
31 | }
32 | }
33 |
34 | - (NSInteger)indexOfChar:(const unichar) c {
35 | NSRange range = [self rangeOfString:[NSString stringWithCharacters:&c length:1]];
36 | if ( range.length > 0 ) {
37 | return range.location;
38 | } else {
39 | return -1;
40 | }
41 | }
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/Slate/NSString+Levenshtein.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+Levenshtein.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/1/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface NSString (Levenshtein)
24 |
25 | - (float) levenshteinDistance: (NSString *) stringB;
26 | - (float) sequentialDistance: (NSString *) stringB;
27 |
28 | - (int) smallestOf: (int) a andOf: (int) b andOf: (int) c;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Slate/NudgeOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // NudgeOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/20/13.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "MoveOperation.h"
22 |
23 | @interface NudgeOperation : MoveOperation
24 |
25 | + (id)nudgeOperation;
26 | + (id)nudgeOperationFromString:(NSString *)nudgeOperation;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/Operation.h:
--------------------------------------------------------------------------------
1 | //
2 | // Operation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import "AccessibilityWrapper.h"
23 | #import "ScreenWrapper.h"
24 |
25 |
26 | @interface Operation : NSObject {
27 | NSString *opName;
28 | NSMutableDictionary *options;
29 | NSMutableDictionary *dynamicOptions;
30 | }
31 |
32 | @property NSString *opName;
33 | @property NSMutableDictionary *options;
34 | @property NSMutableDictionary *dynamicOptions;
35 |
36 | - (BOOL)doOperation;
37 | - (BOOL)doOperationWithAccessibilityWrapper:(AccessibilityWrapper *)aw screenWrapper:(ScreenWrapper *)sw;
38 | - (BOOL)testOperation;
39 | - (BOOL)testOperationWithAccessibilityWrapper:(AccessibilityWrapper *)aw screenWrapper:(ScreenWrapper *)sw;
40 | - (BOOL)shouldTakeUndoSnapshot;
41 | - (NSArray *)requiredOptions;
42 | - (NSString *)checkRequiredOptions:(NSDictionary *)_options;
43 | - (void)beforeInitOptions;
44 | - (void)initOptions:(NSDictionary *)_options;
45 | - (void)parseOption:(NSString *)name value:(id)value;
46 | - (void)evalOptionsWithAccessibilityWrapper:(AccessibilityWrapper *)aw screenWrapper:(ScreenWrapper *)sw;
47 | - (void)afterEvalOptions;
48 | - (id)dup:(NSDictionary *)_options;
49 |
50 | + (id)operationFromString:(NSString *)opString;
51 | + (id)operationWithName:(NSString *)op options:(NSDictionary *)options;
52 | + (BOOL)isRepeatOnHoldOp:(NSString *)op;
53 | + (BOOL)doOperation:(NSString *)op options:(NSDictionary *)options aw:(AccessibilityWrapper *)aw sw:(ScreenWrapper *)sw;
54 |
55 | @end
56 |
--------------------------------------------------------------------------------
/Slate/PushOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // PushOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/20/13.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "MoveOperation.h"
22 |
23 | @interface PushOperation : MoveOperation
24 |
25 | + (id)pushOperation;
26 | + (id)pushOperationFromString:(NSString *)pushOperation;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/RelaunchOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // RelaunchOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/11/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | @interface RelaunchOperation : Operation
24 |
25 | + (id)relaunchOperation;
26 | + (id)relaunchOperationFromString:(NSString *)unused;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/RelaunchOperation.m:
--------------------------------------------------------------------------------
1 | //
2 | // RelaunchOperation.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/11/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "RelaunchOperation.h"
22 | #import "SlateLogger.h"
23 | #import "SlateAppDelegate.h"
24 |
25 | @implementation RelaunchOperation
26 |
27 | - (id)init {
28 | self = [super init];
29 | return self;
30 | }
31 |
32 | - (BOOL)doOperation {
33 | SlateLogger(@"----------------- Begin Relaunch Operation -----------------");
34 | // We don't use the passed in AccessibilityWrapper or ScreenWrapper so they are nil. No need to waste time creating them here.
35 | BOOL success = [self doOperationWithAccessibilityWrapper:nil screenWrapper:nil];
36 | SlateLogger(@"----------------- End Relaunch Operation -----------------");
37 | return success;
38 | }
39 |
40 | - (BOOL)doOperationWithAccessibilityWrapper:(AccessibilityWrapper *)iamnil screenWrapper:(ScreenWrapper *)iamalsonil {
41 | [(SlateAppDelegate *)[NSApp delegate] relaunch];
42 | return YES;
43 | }
44 |
45 | - (BOOL)testOperation {
46 | return YES;
47 | }
48 |
49 | + (id)relaunchOperation {
50 | return [[RelaunchOperation alloc] init];
51 | }
52 |
53 | + (id)relaunchOperationFromString:(NSString *)unused {
54 | return [RelaunchOperation relaunchOperation];
55 | }
56 |
57 | @end
58 |
--------------------------------------------------------------------------------
/Slate/ResizeOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // ResizeOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/26/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 | #import "Operation.h"
23 |
24 |
25 | @interface ResizeOperation : Operation {
26 | @private
27 | NSInteger anchor;
28 | NSString *xResize;
29 | NSString *yResize;
30 | }
31 |
32 | @property (assign) NSInteger anchor;
33 | @property (copy) NSString *xResize;
34 | @property (copy) NSString *yResize;
35 |
36 | - (id)initWithAnchor:(NSString *)a xResize:(NSString *)x yResize:(NSString *)y;
37 | - (NSPoint)getTopLeftWithCurrentWindow:(NSRect)cWindowRect newSize:(NSSize)nSize;
38 | - (NSSize)getDimensionsWithCurrentWindow:(NSRect)cWindowRect screenWrapper:(ScreenWrapper *)sw;
39 | - (NSInteger)resizeStringToInt:(NSString *)resize withValue:(NSInteger) val;
40 |
41 | + (id)resizeOperation;
42 | + (id)resizeOperationFromString:(NSString *)resizeOperation;
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/Slate/RunningApplications.h:
--------------------------------------------------------------------------------
1 | //
2 | // RunningApplications.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/22/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface RunningApplications : NSObject {
24 | NSMutableArray *apps;
25 | NSMutableDictionary *appNameToApp;
26 | NSMutableArray *windows;
27 | NSMutableDictionary *appToWindows;
28 | NSMutableDictionary *titleToWindow;
29 | NSInteger nextWindowNumber;
30 | NSMutableArray *unusedWindowNumbers;
31 | NSMutableDictionary *pidToObserver;
32 | }
33 |
34 | @property NSMutableArray *apps;
35 | @property NSMutableDictionary *appNameToApp;
36 | @property NSMutableArray *windows;
37 | @property NSMutableDictionary *appToWindows;
38 | @property NSMutableDictionary *titleToWindow;
39 | @property (assign) NSInteger nextWindowNumber;
40 | @property NSMutableArray *unusedWindowNumbers;
41 | @property NSMutableDictionary *pidToObserver;
42 |
43 | + (RunningApplications *)getInstance;
44 | + (BOOL)isAppSelectable:(NSRunningApplication *)app;
45 | + (NSRunningApplication *)focusedApp;
46 |
47 | - (void)pruneWindows;
48 | - (NSArray *)windowIdsForTitle:(NSString *)title;
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/Slate/ScreenState.h:
--------------------------------------------------------------------------------
1 | //
2 | // ScreenState.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/19/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface ScreenState : NSObject {
25 | @private
26 | id layout;
27 | NSInteger type;
28 | NSInteger count;
29 | NSMutableArray *resolutions;
30 | }
31 |
32 | @property id layout;
33 | @property (assign) NSInteger type;
34 | @property (assign) NSInteger count;
35 | @property NSMutableArray *resolutions;
36 |
37 | - (id)initWithString:(NSString *)state;
38 | - (id)initWithConfig:(id)screenConfig layout:(id)_layout;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Slate/SequenceOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // SequenceOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/5/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | @interface SequenceOperation : Operation {
24 | NSArray *operations; // Array of arrays
25 | }
26 |
27 | @property NSArray *operations;
28 |
29 | - (id)initWithArray:(NSArray *)opArray;
30 |
31 | + (id)sequenceOperation;
32 | + (id)sequenceOperationFromString:(NSString *)sequenceOperation;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Slate/ShellOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // ShellOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/17/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | @interface ShellOperation : Operation {
24 | NSString *command;
25 | NSArray *args;
26 | NSString *currentPath;
27 | BOOL waitForExit;
28 | }
29 |
30 | @property NSString *command;
31 | @property NSArray *args;
32 | @property NSString *currentPath;
33 | @property BOOL waitForExit;
34 |
35 | - (id)initWithCommand:(NSString *)theCommand args:(NSArray *)theArgs waitForExit:(BOOL)theWaitForExit currentPath:(NSString *)theCurrentPath;
36 |
37 | + (id)shellOperation;
38 | + (id)shellOperationFromString:(NSString *)shellOperation;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Slate/ShellUtils.h:
--------------------------------------------------------------------------------
1 | //
2 | // ShellUtils.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/17/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface ShellUtils : NSObject
24 |
25 | + (BOOL)commandExists:(NSString *)command;
26 | + (NSTask *)run:(NSString *)command args:(NSArray *)args wait:(BOOL)wait path:(NSString *)path;
27 | + (NSString *)run:(NSString *)commandAndArgs wait:(BOOL)wait path:(NSString *)path;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Slate/Slate-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIconFile
10 | icon.icns
11 | CFBundleIdentifier
12 | com.slate.${PRODUCT_NAME:rfc1034identifier}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.2
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.2.0
25 | LSApplicationCategoryType
26 | public.app-category.utilities
27 | LSBackgroundOnly
28 |
29 | LSMinimumSystemVersion
30 | ${MACOSX_DEPLOYMENT_TARGET}
31 | LSUIElement
32 |
33 | NSMainNibFile
34 | MainMenu
35 | NSPrincipalClass
36 | NSApplication
37 | SUFeedURL
38 | https://www.ninjamonkeysoftware.com/slate/appcast.xml
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Slate/Slate-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'Slate' target in the 'Slate' project
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 | #endif
8 |
--------------------------------------------------------------------------------
/Slate/SlateLogger.h:
--------------------------------------------------------------------------------
1 | //
2 | // SlateLogger.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/5/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #ifndef Slate_SlateLogger_h
22 | #define Slate_SlateLogger_h
23 |
24 | #ifdef DEBUG
25 | #define SlateLogger(...) NSLog(__VA_ARGS__)
26 | #else
27 | #define SlateLogger(...)
28 | #endif
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/Slate/Snapshot.h:
--------------------------------------------------------------------------------
1 | //
2 | // Snapshot.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 2/28/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class WindowSnapshot;
24 |
25 | @interface Snapshot : NSObject {
26 | @private
27 | NSMutableDictionary *apps;
28 | }
29 |
30 | @property NSMutableDictionary *apps;
31 |
32 | - (void)addWindow:(WindowSnapshot *)windowSnapshot app:(NSString *)appName;
33 | - (NSDictionary *)toDictionary;
34 | + (Snapshot *)snapshotFromDictionary:(NSDictionary *)dict;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Slate/SnapshotList.h:
--------------------------------------------------------------------------------
1 | //
2 | // SnapshotList.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 2/28/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class Snapshot;
24 |
25 | @interface SnapshotList : NSObject {
26 | @private
27 | NSMutableArray *snapshots;
28 | NSString *name;
29 | BOOL saveToDisk;
30 | BOOL isStack;
31 | NSInteger stackSize;
32 | }
33 |
34 | @property NSMutableArray *snapshots;
35 | @property NSString *name;
36 | @property (assign) BOOL saveToDisk;
37 | @property (assign) BOOL isStack;
38 | @property (assign) NSInteger stackSize;
39 |
40 | - (id)initWithName:(NSString *)theName saveToDisk:(BOOL)theSaveToDisk isStack:(BOOL)theIsStack;
41 | - (void)addSnapshot:(Snapshot *)snapshot;
42 | - (Snapshot *)popSnapshot:(BOOL)remove;
43 | - (NSDictionary *)toDictionary;
44 | + (SnapshotList *)snapshotListFromDictionary:(NSDictionary *)dict;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Slate/SnapshotOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // SnapshotOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 2/28/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | @interface SnapshotOperation : Operation {
24 | @private
25 | NSString *name;
26 | BOOL saveToDisk;
27 | BOOL isStack;
28 | NSInteger stackSize;
29 | }
30 |
31 | @property NSString *name;
32 | @property (assign) BOOL saveToDisk;
33 | @property (assign) BOOL isStack;
34 | @property (assign) NSInteger stackSize;
35 |
36 | - (id)initWithName:(NSString *)theName options:(NSString *)options;
37 |
38 | + (id)snapshotOperation;
39 | + (id)snapshotOperationFromString:(NSString *)snapshotOperation;
40 |
41 | @end
42 |
--------------------------------------------------------------------------------
/Slate/StringTokenizer.h:
--------------------------------------------------------------------------------
1 | //
2 | // StringTokenizer.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/26/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface StringTokenizer : NSObject {}
25 |
26 | + (BOOL)isSpaceChar:(unichar)c;
27 | + (BOOL)isQuoteChar:(unichar)c quoteChars:(NSCharacterSet *)quoteChars;
28 | + (void)tokenize:(NSString *)s into:(NSMutableArray *)array;
29 | + (void)tokenize:(NSString *)s into:(NSMutableArray *)array quoteChars:(NSCharacterSet *)quotes;
30 | + (void)tokenize:(NSString *)s into:(NSMutableArray *)array maxTokens:(NSInteger)maxTokens;
31 | + (void)tokenize:(NSString *)s into:(NSMutableArray *)array maxTokens:(NSInteger)maxTokens quoteChars:(NSCharacterSet *)quotes;
32 | + (void)firstToken:(NSString *)s into:(NSMutableString *)token;
33 | + (NSString *)removeQuotes:(NSString *)s quoteChars:(NSCharacterSet *)quoteChars;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Slate/SwitchAppQuittingOverlayView.h:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchAppQuittingOverlayView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/22/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface SwitchAppQuittingOverlayView : NSView {
24 | BOOL force;
25 | }
26 |
27 | @property BOOL force;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Slate/SwitchAppView.h:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchAppView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/22/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @class SwitchAppQuittingOverlayView;
24 |
25 | @interface SwitchAppView : NSView {
26 | BOOL selected;
27 | BOOL hidden;
28 | BOOL quitting;
29 | BOOL forceQuitting;
30 | NSRunningApplication *app;
31 | NSImageView *iconView;
32 | NSTextField *textField;
33 | SwitchAppQuittingOverlayView *quittingView;
34 | }
35 |
36 | @property (assign) BOOL selected;
37 | @property (assign) BOOL hidden;
38 | @property (assign) BOOL quitting;
39 | @property (assign) BOOL forceQuitting;
40 | @property NSRunningApplication *app;
41 | @property NSImageView *iconView;
42 | @property NSTextField *textField;
43 | @property SwitchAppQuittingOverlayView *quittingView;
44 |
45 | - (void)updateSelected:(BOOL)theSelected;
46 | - (void)updateApp:(NSRunningApplication *)theApp;
47 | - (void)updateHidden:(BOOL)theHidden;
48 | - (void)updateQuitting:(BOOL)theQuitting;
49 | - (void)updateForceQuitting:(BOOL)theForceQuitting;
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Slate/SwitchOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/9/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 | #import
23 |
24 | @interface SwitchOperation : Operation {
25 | NSMutableArray *switchers;
26 | NSMutableArray *switchersToViews;
27 | UInt32 modifiers;
28 | UInt32 backKeyCode;
29 | EventHotKeyRef backHotKeyRef;
30 | UInt32 quitKeyCode;
31 | EventHotKeyRef quitHotKeyRef;
32 | UInt32 fquitKeyCode;
33 | EventHotKeyRef fquitHotKeyRef;
34 | UInt32 hideKeyCode;
35 | EventHotKeyRef hideHotKeyRef;
36 | }
37 |
38 | @property (assign) UInt32 modifiers;
39 |
40 | - (void)activateSwitchKey:(EventHotKeyID)key isRepeat:(BOOL)isRepeat;
41 | - (BOOL)modifiersChanged:(UInt32)was new:(UInt32)new;
42 |
43 | + (id)switchOperation;
44 | + (id)switchOperationFromString:(NSString *)switchOperation;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Slate/SwitchView.h:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/9/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface SwitchView : NSView
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Slate/SwitchView.m:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchView.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/9/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "SwitchView.h"
22 | #import "SlateConfig.h"
23 | #import "Constants.h"
24 |
25 | @implementation SwitchView
26 |
27 | - (id)initWithFrame:(NSRect)frame {
28 | self = [super initWithFrame:frame];
29 | if (self) [self setWantsLayer:YES];
30 | return self;
31 | }
32 |
33 | - (void)drawRect:(NSRect)dirtyRect {
34 | NSArray *bgColorArr = [[SlateConfig getInstance] getArrayConfig:SWITCH_BACKGROUND_COLOR];
35 | if ([bgColorArr count] < 4) bgColorArr = [SWITCH_BACKGROUND_COLOR_DEFAULT componentsSeparatedByString:SEMICOLON];
36 | NSColor *backgroundColor = [NSColor colorWithDeviceRed:[[bgColorArr objectAtIndex:0] floatValue]/255.0
37 | green:[[bgColorArr objectAtIndex:1] floatValue]/255.0
38 | blue:[[bgColorArr objectAtIndex:2] floatValue]/255.0
39 | alpha:[[bgColorArr objectAtIndex:3] floatValue]];
40 | [backgroundColor set];
41 | float cornerSize = [[SlateConfig getInstance] getFloatConfig:SWITCH_ROUNDED_CORNER_SIZE];
42 | NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:[self bounds] xRadius:cornerSize yRadius:cornerSize];
43 | [path fill];
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Slate/SwitchWindow.h:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchWindow.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/9/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface SwitchWindow : NSWindow
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Slate/SwitchWindow.m:
--------------------------------------------------------------------------------
1 | //
2 | // SwitchWindow.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 3/9/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "SwitchWindow.h"
22 |
23 | @implementation SwitchWindow
24 |
25 | - (BOOL)canBecomeKeyWindow {
26 | return YES;
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Slate/ThrowOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // ThrowOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 1/20/13.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "MoveOperation.h"
22 |
23 | @interface ThrowOperation : MoveOperation
24 |
25 | + (id)throwOperation;
26 | + (id)throwOperationFromString:(NSString *)throwOperation;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/UndoOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // UndoOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 11/27/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "ActivateSnapshotOperation.h"
22 |
23 | @interface UndoOperation : ActivateSnapshotOperation
24 |
25 | + (id)undoOperation;
26 | + (id)undoOperationFromString:(NSString *)unused;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Slate/UndoOperation.m:
--------------------------------------------------------------------------------
1 | //
2 | // UndoOperation.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 11/27/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "UndoOperation.h"
22 | #import "Constants.h"
23 | #import "SlateAppDelegate.h"
24 |
25 | @implementation UndoOperation
26 |
27 | - (NSArray *)requiredOptions {
28 | return [NSArray array];
29 | }
30 |
31 | + (id)undoOperation {
32 | [(SlateAppDelegate *)[NSApp delegate] setHasUndoOperation:YES];
33 | return [[UndoOperation alloc] initWithName:UNDO_SNAPSHOT options:DELETE];
34 | }
35 |
36 | + (id)undoOperationFromString:(NSString *)unused {
37 | return [UndoOperation undoOperation];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Slate/VisibilityOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // VisibilityOperation.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/7/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "Operation.h"
22 |
23 | typedef enum {
24 | VisibilityOperationTypeUnknown,
25 | VisibilityOperationTypeShow,
26 | VisibilityOperationTypeHide,
27 | VisibilityOperationTypeToggle
28 | } VisibilityOperationType;
29 |
30 | @interface VisibilityOperation : Operation {
31 | @private
32 | VisibilityOperationType type;
33 | NSArray *apps;
34 | }
35 |
36 | @property (assign) VisibilityOperationType type;
37 | @property NSArray *apps;
38 |
39 | - (id)initWithType:(VisibilityOperationType)theType apps:(NSArray *)theApps;
40 | - (void)applyVisibilityToApp:(NSRunningApplication *)app;
41 |
42 | + (id)visibilityOperation;
43 | + (id)visibilityOperationFromString:(NSString *)visibilityOperation;
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/Slate/WindowInfoView.h:
--------------------------------------------------------------------------------
1 | //
2 | // WindowInfoView.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 2/27/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface WindowInfoView : NSTextView {
24 | NSDate *lastDraw;
25 | }
26 | - (void)genText;
27 | @end
28 |
--------------------------------------------------------------------------------
/Slate/WindowSnapshot.h:
--------------------------------------------------------------------------------
1 | //
2 | // WindowSnapshot.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 2/28/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface WindowSnapshot : NSObject {
24 | @private
25 | NSString *appName;
26 | NSString *title;
27 | NSPoint topLeft;
28 | NSSize size;
29 | }
30 |
31 | @property NSString *appName;
32 | @property NSString *title;
33 | @property (assign) NSPoint topLeft;
34 | @property (assign) NSSize size;
35 |
36 | - (id)initWithAppName:(NSString *)theAppName title:(NSString *)theTitle topLeft:(NSPoint)theTopLeft size:(NSSize)theSize;
37 | - (NSDictionary *)toDictionary;
38 | + (WindowSnapshot *)windowSnapshotFromDictionary:(NSDictionary *)dict;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Slate/WindowState.h:
--------------------------------------------------------------------------------
1 | //
2 | // WindowState.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/13/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface WindowState : NSObject {
25 | @private
26 | pid_t appPID;
27 | NSSize size;
28 | NSPoint topLeft;
29 | }
30 |
31 | @property (assign) pid_t appPID;
32 | @property (assign) NSSize size;
33 | @property (assign) NSPoint topLeft;
34 |
35 | - (id)init:(AccessibilityWrapper *)aw;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Slate/WindowState.m:
--------------------------------------------------------------------------------
1 | //
2 | // WindowState.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 6/13/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "AccessibilityWrapper.h"
22 | #import "WindowState.h"
23 |
24 |
25 | @implementation WindowState
26 |
27 | @synthesize appPID;
28 | @synthesize size;
29 | @synthesize topLeft;
30 |
31 | - (id)init {
32 | self = [super init];
33 | if (self) {
34 | }
35 | return self;
36 | }
37 |
38 | - (id)init:(AccessibilityWrapper *)aw {
39 | self = [self init];
40 | if (self && [aw inited]) {
41 | [self setAppPID:[AccessibilityWrapper processIdentifierOfUIElement:[aw window]]];
42 | [self setSize:[aw getCurrentSize]];
43 | [self setTopLeft:[aw getCurrentTopLeft]];
44 | }
45 | return self;
46 | }
47 |
48 | - (id)copyWithZone:(NSZone *)zone {
49 | WindowState *other = [[WindowState alloc] init];
50 | [other setAppPID:[self appPID]];
51 | [other setSize:[self size]];
52 | [other setTopLeft:[self topLeft]];
53 | return other;
54 | }
55 |
56 | - (BOOL)isEqual:(NSObject *)other {
57 | if ([other isKindOfClass:[WindowState class]]) {
58 | return [(WindowState *)other appPID] == [self appPID] && NSEqualSizes([(WindowState *)other size],[self size]) && NSEqualPoints([(WindowState *)other topLeft], [self topLeft]);
59 | }
60 | return NO;
61 | }
62 |
63 | - (NSUInteger)hash {
64 | NSUInteger prime = 31;
65 | NSUInteger result = prime * 1 + [self appPID];
66 | result = prime * result + [self size].width;
67 | result = prime * result + [self size].height;
68 | result = prime * result + [self topLeft].x;
69 | result = prime * result + [self topLeft].y;
70 | return result;
71 | }
72 |
73 | @end
74 |
--------------------------------------------------------------------------------
/Slate/default.slate:
--------------------------------------------------------------------------------
1 | # This is the default .slate file.
2 | # If no ~/.slate file exists this is the file that will be used.
3 |
4 | config defaultToCurrentScreen true
5 | config nudgePercentOf screenSize
6 | config resizePercentOf screenSize
7 |
8 | # Resize Bindings
9 | bind right:alt resize +10% +0
10 | bind left:alt resize -10% +0
11 | bind up:alt resize +0 -10%
12 | bind down:alt resize +0 +10%
13 | bind right:ctrl;alt resize -10% +0 bottom-right
14 | bind left:ctrl;alt resize +10% +0 bottom-right
15 | bind up:ctrl;alt resize +0 +10% bottom-right
16 | bind down:ctrl;alt resize +0 -10% bottom-right
17 |
18 | # Push Bindings
19 | bind right:ctrl;cmd push right bar-resize:screenSizeX/3
20 | bind left:ctrl;cmd push left bar-resize:screenSizeX/3
21 | bind up:ctrl;cmd push up bar-resize:screenSizeY/2
22 | bind down:ctrl;cmd push down bar-resize:screenSizeY/2
23 |
24 | # Nudge Bindings
25 | bind right:shift;alt nudge +10% +0
26 | bind left:shift;alt nudge -10% +0
27 | bind up:shift;alt nudge +0 -10%
28 | bind down:shift;alt nudge +0 +10%
29 |
30 | # Throw Bindings
31 | bind 1:ctrl;alt throw 0 resize
32 | bind 2:ctrl;alt throw 1 resize
33 | bind 3:ctrl;alt throw 2 resize
34 | bind right:ctrl;alt;cmd throw right resize
35 | bind left:ctrl;alt;cmd throw left resize
36 | bind up:ctrl;alt;cmd throw up resize
37 | bind down:ctrl;alt;cmd throw down resize
38 |
39 | # Focus Bindings
40 | bind right:cmd focus right
41 | bind left:cmd focus left
42 | bind up:cmd focus up
43 | bind down:cmd focus down
44 | bind up:cmd;alt focus behind
45 | bind down:cmd;alt focus behind
46 |
47 | # Window Hints
48 | bind esc:cmd hint
--------------------------------------------------------------------------------
/Slate/en.lproj/Credits.rtf:
--------------------------------------------------------------------------------
1 | {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf510
2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
3 | {\colortbl;\red255\green255\blue255;}
4 | \vieww10800\viewh8400\viewkind0
5 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
6 |
7 | \f0\b\fs24 \cf0 Links\
8 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
9 | {\field{\*\fldinst{HYPERLINK "https://github.com/jigish/slate"}}{\fldrslt
10 | \b0 \cf0 Home Page}}
11 | \b0 \
12 | {\field{\*\fldinst{HYPERLINK "https://github.com/jigish/slate/wiki/JavaScript-Configs"}}{\fldrslt JavaScript Configs}}
13 | \b \
14 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
15 | \cf0 \
16 | Development
17 | \b0 \
18 | Jigish Patel & {\field{\*\fldinst{HYPERLINK "https://github.com/jigish/slate/graphs/contributors"}}{\fldrslt Contributors\
19 | \
20 | }}
21 | \b Utilising{\field{\*\fldinst{HYPERLINK "https://github.com/jigish/slate/graphs/contributors"}}{\fldrslt
22 | \b0 \
23 | JSONKit\
24 | Sparkle}}
25 | \b0 \
26 | \
27 |
28 | \b Licensing
29 | \b0 \
30 | GPLv3 \'a9 Jigish Patel 2011}
--------------------------------------------------------------------------------
/Slate/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/Slate/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Slate/icon.icns
--------------------------------------------------------------------------------
/Slate/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | int main(int argc, char *argv[]) {
24 | return NSApplicationMain(argc, (const char **)argv);
25 | }
26 |
--------------------------------------------------------------------------------
/Slate/slate-mock.js:
--------------------------------------------------------------------------------
1 | var opNum = 0;
2 | window._controller = {
3 | log : function(msg) {
4 | console.log(msg);
5 | },
6 | bindFunction : function(k, c, r) {
7 | console.log("Mock bind function "+callback+" to "+k+" with repeat "+r);
8 | },
9 | bindNative : function(k, c, r) {
10 | console.log("Mock bind operation "+callback+" to "+k+" with repeat "+r);
11 | },
12 | configFunction : function(k, c) {
13 | console.log("Mock config function "+k+" = "+c);
14 | },
15 | configNative : function(k, c) {
16 | console.log("Mock config native "+k+" = "+c);
17 | },
18 | doOperation : function(op) {
19 | console.log("Mock do operation "+op);
20 | return true;
21 | },
22 | operation : function(op, opts) {
23 | console.log("Mock create operation "+op+" with opts "+opts);
24 | opNum++;
25 | return "javascript:operation["+opNum+"]";
26 | },
27 | operationFromString : function(str) {
28 | opNum++;
29 | return "javascript:operation["+opNum+"]";
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Slate/slate-test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Slate/status.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Slate/status.pdf
--------------------------------------------------------------------------------
/Slate/statusActive.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Slate/statusActive.pdf
--------------------------------------------------------------------------------
/Slate/utils.js:
--------------------------------------------------------------------------------
1 | (function(controller) {
2 | for (key in _) {
3 | window["_"+key+"_"] = _[key];
4 | }
5 |
6 | var _typeof_ = window._typeof_ = function(obj) {
7 | if (_.isString(obj)) { return "string"; }
8 | if (_.isArray(obj)) { return "array"; }
9 | if (_.isFunction(obj)) { return "function"; }
10 | if (_.isObject(obj)) { return "object"; }
11 | if (_.isNumber(obj)) { return "number"; }
12 | if (_.isBoolean(obj)) { return "boolean"; }
13 | return "unknown";
14 | }
15 |
16 | var _array_ = window._array_ = function() { return []; }
17 | var _array_with_ = window._array_with_ = function() { return Array.prototype.slice.call(arguments, 0); }
18 | var _hash_ = window._hash_ = function() { return {}; }
19 | })(window._controller);
--------------------------------------------------------------------------------
/SlateTests/SlateTests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.slate.${PRODUCT_NAME:rfc1034identifier}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/SlateTests/SlateTests-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'SlateTests' target in the 'SlateTests' project
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 | #endif
8 |
--------------------------------------------------------------------------------
/SlateTests/SlateTests.h:
--------------------------------------------------------------------------------
1 | //
2 | // SlateTests.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 |
24 | @interface SlateTests : XCTestCase {
25 | @private
26 |
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/SlateTests/SlateTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // SlateTests.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 5/18/11.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "SlateTests.h"
22 |
23 |
24 | @implementation SlateTests
25 |
26 | - (void)setUp
27 | {
28 | [super setUp];
29 |
30 | // Set-up code here.
31 | }
32 |
33 | - (void)tearDown
34 | {
35 | // Tear-down code here.
36 |
37 | [super tearDown];
38 | }
39 |
40 | - (void)testExample
41 | {
42 | XCTAssertTrue(true, @"Unit tests are not implemented yet in SlateTests");
43 | }
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/SlateTests/TestExpressionPoint.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestExpressionPoint.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/16/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface TestExpressionPoint : XCTestCase
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/SlateTests/TestMathUtils.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestMathUtils.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/16/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface TestMathUtils : XCTestCase
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/SlateTests/TestNSString+Indicies.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestNSString+Indicies.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/1/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface TestNSString_Indicies : XCTestCase
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/SlateTests/TestNSString+Indicies.m:
--------------------------------------------------------------------------------
1 | //
2 | // TestNSString+Indicies.m
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/1/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import "TestNSString+Indicies.h"
22 | #import "NSString+Indicies.h"
23 |
24 | @implementation TestNSString_Indicies
25 |
26 | - (void)testIndexOfString {
27 | NSString *test = @"hello&i%am-a$test#string";
28 | XCTAssertEqual([test indexOfString:@"&"], (NSInteger)5, @"index of & should be 5");
29 | XCTAssertEqual([test indexOfString:@"0"], (NSInteger)-1, @"index of 0 should be -1");
30 | XCTAssertEqual([test indexOfString:@"hello"], (NSInteger)0, @"index of hello should be 0");
31 | XCTAssertEqual([test indexOfString:@"g"], (NSInteger)([test length]-1), @"index of 0 should be ld", [test length]-1);
32 | }
33 |
34 | - (void)testIndexOfChar {
35 | NSString *test = @"hello&i%am-a$test#string";
36 | XCTAssertEqual([test indexOfChar:'&'], (NSInteger)5, @"index of & should be 5");
37 | XCTAssertEqual([test indexOfChar:'0'], (NSInteger)-1, @"index of 0 should be -1");
38 | XCTAssertEqual([test indexOfChar:'h'], (NSInteger)0, @"index of h should be 0");
39 | XCTAssertEqual([test indexOfChar:'g'], (NSInteger)([test length]-1), @"index of g should be %ld", [test length]-1);
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/SlateTests/TestNSString+Levenshtein.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestNSString+Levenshtein.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/16/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface TestNSString_Levenshtein : XCTestCase
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/SlateTests/TestShellUtils.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestShellUtils.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/17/12.
6 | // Copyright 2012 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface TestShellUtils : XCTestCase
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/SlateTests/TestStringTokenizer.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestStringTokenizer.h
3 | // Slate
4 | //
5 | // Created by Jigish Patel on 10/16/12.
6 | // Copyright 2011 Jigish Patel. All rights reserved.
7 | //
8 | // This program is free software: you can redistribute it and/or modify
9 | // it under the terms of the GNU General Public License as published by
10 | // the Free Software Foundation, either version 3 of the License, or
11 | // (at your option) any later version.
12 | //
13 | // This program is distributed in the hope that it will be useful,
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | // GNU General Public License for more details.
17 | //
18 | // You should have received a copy of the GNU General Public License
19 | // along with this program. If not, see http://www.gnu.org/licenses
20 |
21 | #import
22 |
23 | @interface TestStringTokenizer : XCTestCase
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/SlateTests/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/Sparkle.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Sparkle.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Sparkle.framework/Sparkle:
--------------------------------------------------------------------------------
1 | Versions/Current/Sparkle
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Headers/SUAppcast.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUAppcast.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 3/12/06.
6 | // Copyright 2006 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SUAPPCAST_H
10 | #define SUAPPCAST_H
11 |
12 | @class SUAppcastItem;
13 | @interface SUAppcast : NSObject {
14 | NSArray *items;
15 | NSString *userAgentString;
16 | id delegate;
17 | NSMutableData *incrementalData;
18 | }
19 |
20 | - (void)fetchAppcastFromURL:(NSURL *)url;
21 | - (void)setDelegate:delegate;
22 | - (void)setUserAgentString:(NSString *)userAgentString;
23 |
24 | - (NSArray *)items;
25 |
26 | @end
27 |
28 | @interface NSObject (SUAppcastDelegate)
29 | - (void)appcastDidFinishLoading:(SUAppcast *)appcast;
30 | - (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
31 | @end
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUAppcastItem.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 3/12/06.
6 | // Copyright 2006 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SUAPPCASTITEM_H
10 | #define SUAPPCASTITEM_H
11 |
12 | @interface SUAppcastItem : NSObject {
13 | NSString *title;
14 | NSDate *date;
15 | NSString *itemDescription;
16 |
17 | NSURL *releaseNotesURL;
18 |
19 | NSString *DSASignature;
20 | NSString *minimumSystemVersion;
21 |
22 | NSURL *fileURL;
23 | NSString *versionString;
24 | NSString *displayVersionString;
25 |
26 | NSDictionary *propertiesDictionary;
27 | }
28 |
29 | // Initializes with data from a dictionary provided by the RSS class.
30 | - initWithDictionary:(NSDictionary *)dict;
31 |
32 | - (NSString *)title;
33 | - (NSString *)versionString;
34 | - (NSString *)displayVersionString;
35 | - (NSDate *)date;
36 | - (NSString *)itemDescription;
37 | - (NSURL *)releaseNotesURL;
38 | - (NSURL *)fileURL;
39 | - (NSString *)DSASignature;
40 | - (NSString *)minimumSystemVersion;
41 |
42 | // Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
43 | - (NSDictionary *)propertiesDictionary;
44 |
45 | @end
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUVersionComparisonProtocol.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 12/21/07.
6 | // Copyright 2007 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H
10 | #define SUVERSIONCOMPARISONPROTOCOL_H
11 |
12 | /*!
13 | @protocol
14 | @abstract Implement this protocol to provide version comparison facilities for Sparkle.
15 | */
16 | @protocol SUVersionComparison
17 |
18 | /*!
19 | @method
20 | @abstract An abstract method to compare two version strings.
21 | @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
22 | */
23 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
24 |
25 | @end
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Headers/Sparkle.h:
--------------------------------------------------------------------------------
1 | //
2 | // Sparkle.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
6 | // Copyright 2006 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SPARKLE_H
10 | #define SPARKLE_H
11 |
12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
13 | // there are name-space collisions) so we can list all of them to start with:
14 |
15 | #import
16 |
17 | #import
18 | #import
19 | #import
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | Sparkle
9 | CFBundleIdentifier
10 | org.andymatuschak.Sparkle
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | Sparkle
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.5 Beta 6
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 313
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/License.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006 Andy Matuschak
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | CLASS
25 | FirstResponder
26 | LANGUAGE
27 | ObjC
28 | SUPERCLASS
29 | NSObject
30 |
31 |
32 | CLASS
33 | NSObject
34 | LANGUAGE
35 | ObjC
36 |
37 |
38 | CLASS
39 | SUStatusController
40 | LANGUAGE
41 | ObjC
42 | OUTLETS
43 |
44 | actionButton
45 | NSButton
46 | progressBar
47 | NSProgressIndicator
48 |
49 | SUPERCLASS
50 | SUWindowController
51 |
52 |
53 | IBVersion
54 | 1
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 10A96
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 658
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9C7010
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 18
14 |
15 | IBSystem Version
16 | 10A96
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 | 41
15 |
16 | IBSystem Version
17 | 10A96
18 | targetFramework
19 | IBCocoaFramework
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 629
7 | IBOldestOS
8 | 5
9 | IBOpenObjects
10 |
11 | IBSystem Version
12 | 9D34
13 | targetFramework
14 | IBCocoaFramework
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 629
7 | IBOldestOS
8 | 5
9 | IBOpenObjects
10 |
11 | IBSystem Version
12 | 9E17
13 | targetFramework
14 | IBCocoaFramework
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 629
7 | IBOldestOS
8 | 5
9 | IBOpenObjects
10 |
11 | IBSystem Version
12 | 9E17
13 | targetFramework
14 | IBCocoaFramework
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj:
--------------------------------------------------------------------------------
1 | /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/fr_CA.lproj:
--------------------------------------------------------------------------------
1 | /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 667
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 5
14 |
15 | IBSystem Version
16 | 9D34
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 629
7 | IBOldestOS
8 | 5
9 | IBOpenObjects
10 |
11 | 6
12 |
13 | IBSystem Version
14 | 9D34
15 | targetFramework
16 | IBCocoaFramework
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 629
7 | IBOldestOS
8 | 5
9 | IBOpenObjects
10 |
11 | IBSystem Version
12 | 9E17
13 | targetFramework
14 | IBCocoaFramework
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 629
7 | IBOldestOS
8 | 5
9 | IBOpenObjects
10 |
11 | IBSystem Version
12 | 9E17
13 | targetFramework
14 | IBCocoaFramework
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/relaunch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/relaunch
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9E17
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | CLASS
17 | NSApplication
18 | LANGUAGE
19 | ObjC
20 | SUPERCLASS
21 | NSResponder
22 |
23 |
24 | ACTIONS
25 |
26 | installUpdate
27 | id
28 | remindMeLater
29 | id
30 | skipThisVersion
31 | id
32 |
33 | CLASS
34 | SUUpdateAlert
35 | LANGUAGE
36 | ObjC
37 | OUTLETS
38 |
39 | delegate
40 | id
41 | description
42 | NSTextField
43 | releaseNotesView
44 | WebView
45 |
46 | SUPERCLASS
47 | SUWindowController
48 |
49 |
50 | CLASS
51 | FirstResponder
52 | LANGUAGE
53 | ObjC
54 | SUPERCLASS
55 | NSObject
56 |
57 |
58 | CLASS
59 | NSObject
60 | LANGUAGE
61 | ObjC
62 |
63 |
64 | IBVersion
65 | 1
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 9E17
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | NSObject
10 | LANGUAGE
11 | ObjC
12 |
13 |
14 | CLASS
15 | SUWindowController
16 | LANGUAGE
17 | ObjC
18 | SUPERCLASS
19 | NSWindowController
20 |
21 |
22 | ACTIONS
23 |
24 | finishPrompt
25 | id
26 | toggleMoreInfo
27 | id
28 |
29 | CLASS
30 | SUUpdatePermissionPrompt
31 | LANGUAGE
32 | ObjC
33 | OUTLETS
34 |
35 | delegate
36 | id
37 | descriptionTextField
38 | NSTextField
39 | moreInfoButton
40 | NSButton
41 | moreInfoView
42 | NSView
43 |
44 | SUPERCLASS
45 | SUWindowController
46 |
47 |
48 | CLASS
49 | FirstResponder
50 | LANGUAGE
51 | ObjC
52 | SUPERCLASS
53 | NSObject
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | IBSystem Version
14 | 9E17
15 | targetFramework
16 | IBCocoaFramework
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | doNotInstall
19 | id
20 | installLater
21 | id
22 | installNow
23 | id
24 |
25 | CLASS
26 | SUAutomaticUpdateAlert
27 | LANGUAGE
28 | ObjC
29 | SUPERCLASS
30 | SUWindowController
31 |
32 |
33 | CLASS
34 | FirstResponder
35 | LANGUAGE
36 | ObjC
37 | SUPERCLASS
38 | NSObject
39 |
40 |
41 | CLASS
42 | NSObject
43 | LANGUAGE
44 | ObjC
45 |
46 |
47 | IBVersion
48 | 1
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 10A96
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib:
--------------------------------------------------------------------------------
1 | {
2 | IBClasses = (
3 | {
4 | CLASS = FirstResponder;
5 | LANGUAGE = ObjC;
6 | SUPERCLASS = NSObject;
7 | },
8 | {
9 | CLASS = NSApplication;
10 | LANGUAGE = ObjC;
11 | SUPERCLASS = NSResponder;
12 | },
13 | {
14 | CLASS = NSObject;
15 | LANGUAGE = ObjC;
16 | },
17 | {
18 | ACTIONS = {
19 | installUpdate = id;
20 | remindMeLater = id;
21 | skipThisVersion = id;
22 | };
23 | CLASS = SUUpdateAlert;
24 | LANGUAGE = ObjC;
25 | OUTLETS = {
26 | delegate = id;
27 | description = NSTextField;
28 | releaseNotesView = WebView;
29 | };
30 | SUPERCLASS = SUWindowController;
31 | },
32 | {
33 | CLASS = SUWindowController;
34 | LANGUAGE = ObjC;
35 | SUPERCLASS = NSWindowController;
36 | }
37 | );
38 | IBVersion = 1;
39 | }
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBDocumentLocation
6 | 69 14 356 240 0 0 1280 778
7 | IBFramework Version
8 | 489.0
9 | IBLastKnownRelativeProjectPath
10 | ../Sparkle.xcodeproj
11 | IBOldestOS
12 | 5
13 | IBSystem Version
14 | 9D34
15 | targetFramework
16 | IBCocoaFramework
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBClasses
6 |
7 |
8 | CLASS
9 | SUWindowController
10 | LANGUAGE
11 | ObjC
12 | SUPERCLASS
13 | NSWindowController
14 |
15 |
16 | ACTIONS
17 |
18 | finishPrompt
19 | id
20 | toggleMoreInfo
21 | id
22 |
23 | CLASS
24 | SUUpdatePermissionPrompt
25 | LANGUAGE
26 | ObjC
27 | OUTLETS
28 |
29 | delegate
30 | id
31 | descriptionTextField
32 | NSTextField
33 | moreInfoButton
34 | NSButton
35 | moreInfoView
36 | NSView
37 |
38 | SUPERCLASS
39 | SUWindowController
40 |
41 |
42 | CLASS
43 | FirstResponder
44 | LANGUAGE
45 | ObjC
46 | SUPERCLASS
47 | NSObject
48 |
49 |
50 | CLASS
51 | NSObject
52 | LANGUAGE
53 | ObjC
54 |
55 |
56 | IBVersion
57 | 1
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IBFramework Version
6 | 670
7 | IBLastKnownRelativeProjectPath
8 | ../Sparkle.xcodeproj
9 | IBOldestOS
10 | 5
11 | IBOpenObjects
12 |
13 | 6
14 |
15 | IBSystem Version
16 | 10A96
17 | targetFramework
18 | IBCocoaFramework
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/A/Sparkle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/Sparkle.framework/Versions/A/Sparkle
--------------------------------------------------------------------------------
/Sparkle.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/build/dmg_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/build/dmg_background.png
--------------------------------------------------------------------------------
/doc/Makefile:
--------------------------------------------------------------------------------
1 | MDFILES := $(wildcard *.md)
2 | HTMLFILES := $(patsubst %.md,%.html,$(MDFILES))
3 |
4 | .PHONY: all
5 | all: $(HTMLFILES) $(MAKEFILE_LIST)
6 |
7 | %.html: %.md $(MAKEFILE_LIST)
8 | pandoc $< --output=$@ --from=markdown_github --to=html5 --css=github.css
9 | perl -i -ple 's/href="([^"]+).md([#"])/href="$$1.html$$2/g' $@
10 |
11 | .PHONY: clean
12 | clean: $(MAKEFILE_LIST)
13 | rm -f $(HTMLFILES)
14 |
--------------------------------------------------------------------------------
/doc/directive-alias.md:
--------------------------------------------------------------------------------
1 | # The `alias` Directive #
2 |
3 | The `alias` directive follows the following format:
4 |
5 | ```
6 | alias name value
7 | ```
8 |
9 | When you set an alias, you can refer to it in any directive (sequentially after that alias directive) by referencing like `${name}`.
10 |
11 | Example:
12 |
13 | ```
14 | alias bot-right-2nd-mon move screenOriginX+2*screenSizeX/3;screenOriginY+screenSizeY/2 screenSizeX/3;screenSizeY/2 1
15 | ```
16 |
17 | Will allow you to use `${bot-right-2nd-mon}` as a reference to `move screenOriginX+2*screenSizeX/3;screenOriginY+screenSizeY/2 screenSizeX/3;screenSizeY/2 1` in any directive following the alias (including other alias directives)
18 |
--------------------------------------------------------------------------------
/doc/directive-default.md:
--------------------------------------------------------------------------------
1 | # The `default` Directive #
2 |
3 | The `default` directive follows the following format (tokens may be separated by any number of spaces):
4 |
5 | ```
6 | default layout-or-snapshot-name screen-configuration
7 | ```
8 |
9 | Where:
10 |
11 | * `layout-or-snapshot-name` is the name of the layout or snapshot you want to default to
12 | * `screen-configuration` is either `count:NUMBER_OF_SCREENS` or `resolutions:SEMICOLON_SEPARATED_LIST_OF_RESOLUTIONS`
13 |
14 | This directive will cause any screen configuration change (add monitor, remove monitor, screen resolution change) to trigger a search for a default layout or snapshot. If the screen configuration matches one of the defaults set, the layout or snapshot matching `layout-or-snapshot-name` will be triggered. For example:
15 |
16 | ```
17 | default myLayout count:2
18 | ```
19 |
20 | Will trigger `myLayout` anytime the screen configuration changes to have 2 monitors. Also:
21 |
22 | ```
23 | default myLayout2 resolutions:1440x900;1024x768;1680x1050
24 | ```
25 |
26 | Will trigger `myLayout2` anytime the screen configuration changes to have exactly 3 monitors with resolutions `1440x900`, `1024x768`, and `1680x1050`.
27 |
--------------------------------------------------------------------------------
/doc/directive-source.md:
--------------------------------------------------------------------------------
1 | # The `source` Directive #
2 |
3 | The source directive follows the following format (tokens may be separated by any number of spaces):
4 |
5 | ```
6 | source filename optional:if_exists
7 | ```
8 |
9 | Where `filename` is the name of a file containing any of the directives above (including source). If no absolute path is specified, the user's home directory will be prepended to `filename`. If the user specifies the option `if_exists` as the second argument, Slate will not complain if it cannot find the file.
10 |
11 | For Example:
12 |
13 | ```
14 | source ~/.slate.test if_exists
15 | ```
16 |
17 | Will append all of the configurations from the file `~/.slate.test` to the current configuration if the file `~/.slate.test` exists.
18 |
19 | **Note:** You may use any aliases, layouts, etc that you specify before the source directive in the file you source. Any aliases, layouts, etc specified after cannot be used. Additionally, any aliases, layouts, etc that you specify in the file you source can be used after the source directive.
20 |
--------------------------------------------------------------------------------
/doc/installation.md:
--------------------------------------------------------------------------------
1 | # Installing Slate #
2 |
3 | **Note:** You must turn on the Accessibility API!
4 |
5 | When *Slate* starts it asks you if it can enable access for assistive devices. It may fail to do so. You can manually set this by checking System Preferences > Universal Access > Enable access for assistive devices. If you are on Mavericks or Yosemite, you must turn it on by checking *Slate* in System Preferences > Security & Privacy > Privacy > Accessibility.
6 |
7 | ## Homebrew Cask ##
8 |
9 | If you use [Homebrew Cask](http://caskroom.io/), install the `mattr-slate` cask:
10 |
11 | ```console
12 | $ brew cask install mattr-slate
13 | ```
14 |
15 | ## Manual Install ##
16 |
17 | Get the [latest `Slate.app`](https://github.com/mattr-/slate/releases/latest) as a _zip_ file.
18 |
19 | ## Build from Source ##
20 |
21 | 1. Install XCode.
22 | 2. In the terminal, run: `git clone https://github.com/mattr-/slate.git ~/Slate`.
23 | 3. Open `~/Slate/Slate.xcodeproj` with XCode.
24 | 4. Go to **Product** → **Archive** and wait a minute.
25 | 5. Once the Archive Organizer pops up, choose the most recently created Slate export. (It should be selected by default.)
26 | 6. Click **Export** (on the right).
27 | 7. Select **Export as a Mac Application** and click **Next**.
28 | 8. Choose where you want to save Slate.app.
29 | 9. Run Slate by opening the Finder to where you saved it and double clicking `Slate.app`.
30 |
--------------------------------------------------------------------------------
/doc/js-object-application.md:
--------------------------------------------------------------------------------
1 | # The Slate Application Object #
2 |
3 | The application object is returned by various Slate API functions. This page describes it in detail.
4 |
5 | ## Description ##
6 |
7 | The application object represents a currently running application.
8 |
9 | ## Functions ##
10 |
11 | ### pid() ###
12 |
13 | Return the Process Identifier of the application.
14 |
15 | ```javascript
16 | // app is an application object
17 | var pid = app.pid();
18 | ```
19 |
20 | ### name() ###
21 |
22 | Return the name of the application.
23 |
24 | ```javascript
25 | // app is an application object
26 | var name = app.name();
27 | ```
28 |
29 | ### eachWindow() ###
30 |
31 | **Alias:** `ewindow`
32 |
33 | Loop over each [window](js-object-window.md) within the application and run a function for each one.
34 |
35 | ```javascript
36 | // app is an application object
37 | var name = app.eachWindow(function(windowObject) {
38 | // do something with windowObject
39 | });
40 | ```
41 |
42 | * `windowObject` is a [window object](js-object-window.md) representing the current window within the callback function.
43 |
44 | ### mainWindow() ###
45 |
46 | **Alias:** `mwindow`
47 |
48 | Return the main [window](js-object-window.md) of the application or `undefined` if there is none.
49 |
50 | ```javascript
51 | // app is an application object
52 | var mainWindow = app.mainWindow();
53 | ```
54 |
--------------------------------------------------------------------------------
/doc/js-object-screen.md:
--------------------------------------------------------------------------------
1 | # The Slate Screen Object #
2 |
3 | The screen object is returned by various Slate API functions. This page describes it in detail.
4 |
5 | ## Description ##
6 |
7 | The screen object represents a screen. It can be used to reference screens in operations.
8 |
9 | ## Functions ##
10 |
11 | ### id() ###
12 |
13 | Return the ID of the screen. This can be used to reference the screen in operations.
14 |
15 | ```javascript
16 | // screen is a screen object
17 | var screenId = screen.id();
18 | ```
19 |
20 | ### rect() ###
21 |
22 | Return the rectangle that represents this screen's location and size.
23 |
24 | ```javascript
25 | // screen is a screen object
26 | var rect = screen.rect();
27 | var topLeftX = rect.x;
28 | var topLeftY = rect.y;
29 | var width = rect.width;
30 | var height = rect.height;
31 | ```
32 |
33 | ### visibleRect() ###
34 |
35 | **Alias:** `vrect`
36 |
37 | Return the rectangle that represents this screen's visible location and size. This takes the menu bar and dock into account and will return the size and location of the screen without those components.
38 |
39 | ```javascript
40 | // screen is a screen object
41 | var rect = screen.visibleRect();
42 | var topLeftX = rect.x;
43 | var topLeftY = rect.y;
44 | var width = rect.width;
45 | var height = rect.height;
46 | ```
47 |
48 | ### isMain() ###
49 |
50 | **Alias:** `main`
51 |
52 | Returns `true` if this screen is the main screen, `false` otherwise.
53 |
54 | ```javascript
55 | // screen is a screen object
56 | var isMain = screen.isMain();
57 | ```
58 |
--------------------------------------------------------------------------------
/doc/keys.md:
--------------------------------------------------------------------------------
1 | # Allowed Keys #
2 |
3 | **Note:** If you bind anything to cmd-tab or cmd-shift-tab, Slate will completely disable the default Mac OS X Application switcher!
4 |
5 | * Letters
6 | * `a`
7 | * `b`
8 | * `c`
9 | * `d`
10 | * `e`
11 | * `f`
12 | * `g`
13 | * `h`
14 | * `i`
15 | * `j`
16 | * `k`
17 | * `l`
18 | * `m`
19 | * `n`
20 | * `o`
21 | * `p`
22 | * `q`
23 | * `r`
24 | * `s`
25 | * `t`
26 | * `u`
27 | * `v`
28 | * `w`
29 | * `x`
30 | * `y`
31 | * `z`
32 | * Numbers
33 | * `0`
34 | * `1`
35 | * `2`
36 | * `3`
37 | * `4`
38 | * `5`
39 | * `6`
40 | * `7`
41 | * `8`
42 | * `9`
43 | * Symbols
44 | * `-`
45 | * `,`
46 | * `;`
47 | * `.`
48 | * `'`
49 | * `[`
50 | * `]`
51 | * `/`
52 | * `
53 | * `=`
54 | * `backslash`
55 | * Navigation Keys
56 | * `up`
57 | * `down`
58 | * `left`
59 | * `right`
60 | * `home`
61 | * `end`
62 | * `pageUp`
63 | * `pageDown`
64 | * Function Keys
65 | * `f1`
66 | * `f2`
67 | * `f3`
68 | * `f4`
69 | * `f5`
70 | * `f6`
71 | * `f7`
72 | * `f8`
73 | * `f9`
74 | * `f10`
75 | * `f11`
76 | * `f12`
77 | * `f13`
78 | * `f14`
79 | * `f15`
80 | * `f16`
81 | * `f17`
82 | * `f18`
83 | * `f19`
84 | * `f20`
85 | * Keypad Keys
86 | * `pad0`
87 | * `pad1`
88 | * `pad2`
89 | * `pad3`
90 | * `pad4`
91 | * `pad5`
92 | * `pad6`
93 | * `pad7`
94 | * `pad8`
95 | * `pad9`
96 | * `pad.`
97 | * `pad+`
98 | * `pad-`
99 | * `pad*`
100 | * `pad/`
101 | * `pad=`
102 | * `padClear`
103 | * `padEnter`
104 | * Other Non-Printable Keys
105 | * `caps`
106 | * `delete`
107 | * `esc`
108 | * `help`
109 | * `mute`
110 | * `rdelete`
111 | * `return`
112 | * `space`
113 | * `tab`
114 |
--------------------------------------------------------------------------------
/icons/Contact.txt:
--------------------------------------------------------------------------------
1 | Gianluca Aiello
2 |
3 | email: gianluca369@gmail.com
4 | skype: gianluka369
5 | dribbble: http://dribbble.com/G369
--------------------------------------------------------------------------------
/icons/IMG/icon_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/icon_1024.png
--------------------------------------------------------------------------------
/icons/IMG/icon_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/icon_128.png
--------------------------------------------------------------------------------
/icons/IMG/icon_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/icon_256.png
--------------------------------------------------------------------------------
/icons/IMG/icon_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/icon_32.png
--------------------------------------------------------------------------------
/icons/IMG/icon_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/icon_512.png
--------------------------------------------------------------------------------
/icons/IMG/status-bar-icon_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/status-bar-icon_18.png
--------------------------------------------------------------------------------
/icons/IMG/status-bar-icon_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/IMG/status-bar-icon_20.png
--------------------------------------------------------------------------------
/icons/PREVIEW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/PREVIEW.png
--------------------------------------------------------------------------------
/icons/PSD/icon_1024.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/PSD/icon_1024.psd
--------------------------------------------------------------------------------
/icons/PSD/status-bar icon 1.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/PSD/status-bar icon 1.psd
--------------------------------------------------------------------------------
/icons/PSD/status-bar icon 2.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/PSD/status-bar icon 2.psd
--------------------------------------------------------------------------------
/icons/PSD/status-bar icon 3.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mattr-/slate/84675306064dfa6f8f2bd6606a261818f83d39ee/icons/PSD/status-bar icon 3.psd
--------------------------------------------------------------------------------