Skip to content

Commit

Permalink
Merged with changes from #6d0c7f1
Browse files Browse the repository at this point in the history
  • Loading branch information
Filip Krikava committed Oct 7, 2010
2 parents 456f7e8 + 6d0c7f1 commit 287825c
Show file tree
Hide file tree
Showing 24 changed files with 1,569 additions and 945 deletions.
52 changes: 46 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,69 @@

<h1><img src="http://github.com/fikovnik/ShiftIt/raw/master/artwork/ShiftIt.png" width="72" height="72" valign="middle"/>ShiftIt </h1>

*Managing windows size and position in OSX*
*Managing window size and position in OSX*

Overview
--------

ShiftIt is an application for OSX that allows you to quickly manipulate window's position and size using a predefined ket keys.
ShiftIt is an application for OSX that allows you to quickly manipulate window position and size using keyboard shortcuts.

This is a fork from the original [ShiftIt][2] by [Aravindkumar Rajendiran][3] which is not longer under development.

License: [GNU General Public License v3][4]

The idea is to add just a few features that are currently missing like keyboard configuration, menu icon, etc., make it a solid production ready app.

Actually menu icon is done - thanks to free icons available at [mysitemyway][5]
Changes since initial fork:
---------------------------

v1.3:
Added application & status menu icons - thanks to free icons available at [mysitemyway][5] - credit: fikovnik
Added ability to reconfigure hotkeys in Preferences - credit: Skandocious

v1.4:
Large code revamp to utilize [ShortcutRecorder][8] framework for capturing key bindings


ShortcutRecorder
----------------

Version 1.4 of ShiftIt employs the [ShortcutRecorder][8] framework for capturing key bindings during hotkey reconfiguration.

Copyright (c) 2006, contributors to ShortcutRecorder. (See the contributors listed in detail later in the file, or see <http://wafflesoftware.net/shortcut/contributors/>.)

All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* The name of the contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Related Work
------------

There is a feature full comertial application called [SizeUp][6] that I guess was an inspiration for the original ShitIt. If you are looking for a ready application with lot of features, [SizeUp][7] is way to go.
There is a feature full commerical application called [SizeUp][6] that seems to be an inspiration for the original ShiftIt. If you are looking for a full-featured, paid application similar to ShiftIt then [SizeUp][7] is way to go.

[2]: http://code.google.com/p/shiftit/
[3]: http://ca.linkedin.com/in/aravind88
[4]: http://www.gnu.org/licenses/gpl.html
[5]: http://icons.mysitemyway.com/free-clipart-icons/1/stick-shift-vehicle-icon--id/128009/style-id/924/simple-black-square-icons/transport-travel/
[6]: http://www.irradiatedsoftware.com/sizeup/
[7]: http://www.irradiatedsoftware.com/sizeup/
[7]: http://www.irradiatedsoftware.com/sizeup/
[8]: http://code.google.com/p/shortcutrecorder/
Binary file added ShiftIt/English.lproj/ShortcutRecorder.strings
Binary file not shown.
1,581 changes: 910 additions & 671 deletions ShiftIt/PrefWindow.xib

Large diffs are not rendered by default.

59 changes: 18 additions & 41 deletions ShiftIt/PrefWindowController.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@


#import <Cocoa/Cocoa.h>
#import <ShortcutRecorder/ShortcutRecorder.h>

#include "Preferences.h"
#include "SIHotKey.h"
Expand All @@ -28,56 +29,32 @@
hKController *hkContObject;
IBOutlet NSButton * _openAtLogin;
IBOutlet NSTabView * tabView;
IBOutlet NSTextField * versionLabel;

NSTextField * topField;
NSTextField * bottomField;
NSTextField * leftField;
NSTextField * rightField;
NSTextField * tlField;
NSTextField * trField;
NSTextField * blField;
NSTextField * brField;
NSTextField * fullScreenField;
NSTextField * centerField;
NSButton *cancelHotkeyButton;
NSArray *textFieldArray;
IBOutlet SRRecorderControl *leftRecorderCtrl;
IBOutlet SRRecorderControl *rightRecorderCtrl;
IBOutlet SRRecorderControl *topRecorderCtrl;
IBOutlet SRRecorderControl *bottomRecorderCtrl;

IBOutlet SRRecorderControl *tlRecorderCtrl;
IBOutlet SRRecorderControl *trRecorderCtrl;
IBOutlet SRRecorderControl *blRecorderCtrl;
IBOutlet SRRecorderControl *brRecorderCtrl;

IBOutlet SRRecorderControl *fullScreenRecorderCtrl;
IBOutlet SRRecorderControl *centerRecorderCtrl;

NSArray *recorderCtlArray;

IBOutlet NSMatrix *hotKeyButtonMatrix;
NSMutableString *modifiersString;
NSInteger buttonPressed;
NSMenu *statusMenu;
NSString *oldHotkeyString;

}

-(IBAction)savePreferences:(id)sender;
-(IBAction)showPreferences:(id)sender;
-(void)updateRecorderCombos;

-(IBAction)changeHotkey:(id)sender;
- (IBAction)cancelHotkey:(id)sender;

-(NSMutableString *)modifierKeysStringForFlags:(NSUInteger)modifierFlags;
-(void)disableButtons;
-(void)enableButtons;
-(void)updateTextFields;

@property (assign) IBOutlet NSTextField * topField;
@property (assign) IBOutlet NSTextField * bottomField;
@property (assign) IBOutlet NSTextField * leftField;
@property (assign) IBOutlet NSTextField * rightField;
@property (assign) IBOutlet NSTextField * tlField;
@property (assign) IBOutlet NSTextField * trField;
@property (assign) IBOutlet NSTextField * blField;
@property (assign) IBOutlet NSTextField * brField;
@property (assign) IBOutlet NSTextField * fullScreenField;
@property (assign) IBOutlet NSTextField * centerField;
@property (assign) IBOutlet NSButton *cancelHotkeyButton;
@property (nonatomic, retain) NSArray *textFieldArray;

@property (nonatomic, retain) NSMatrix *hotKeyButtonMatrix;
@property (nonatomic, retain) NSMutableString *modifiersString;
@property (nonatomic, retain) NSArray *recorderCtlArray;
@property (nonatomic) NSInteger buttonPressed;
@property (nonatomic, retain) NSMenu *statusMenu;
@property (nonatomic, retain) NSString *oldHotkeyString;

@end
Loading

0 comments on commit 287825c

Please sign in to comment.