Skip to content

Commit

Permalink
Merge branch 'master' into develop
Browse files Browse the repository at this point in the history
Conflicts:
	ShiftIt/ShiftIt.xcodeproj/xcshareddata/xcschemes/ShiftIt.xcscheme
	fabfile.py
  • Loading branch information
fikovnik committed Apr 27, 2015
2 parents cf96732 + 0458c5e commit 378057b
Show file tree
Hide file tree
Showing 31 changed files with 662 additions and 545 deletions.
89 changes: 51 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,75 @@
<h1><img src="https://raw.github.com/fikovnik/ShiftIt/develop/artwork/ShiftIt.png" width="72" height="72" valign="middle"/>ShiftIt <a href="https://travis-ci.org/fikovnik/ShiftIt"><img src="https://travis-ci.org/fikovnik/ShiftIt.png" valign="middle" alt="Build Status (develop branch)"/></a></h1>
<h1><img src="https://raw.github.com/fikovnik/ShiftIt/develop/artwork/ShiftIt.png" width="72" height="72" valign="middle"/>ShiftIt <a href="https://travis-ci.org/fikovnik/ShiftIt"><img src="https://travis-ci.org/fikovnik/ShiftIt.png" valign="middle" alt="Build Status"/></a></h1>

*Managing window size and position in OSX*

# About

ShiftIt is an application for OSX that allows you to quickly manipulate window position and size using keyboard shortcuts. It intends to become a full featured window organizer for OSX.
It is a complete rewrite of the original [ShiftIt][1] by [Aravindkumar Rajendiran][2] which is not longer under development. For discussing any sort of stuff about this app, please create a new issue [right here][3].
ShiftIt is an application for OSX that allows you to quickly manipulate window position and size using keyboard shortcuts.
It intends to become a full featured window organizer for OSX.
It is a complete rewrite of the original [ShiftIt](http://code.google.com/p/shiftit/) by Aravindkumar Rajendiran which is not longer under development.
For discussing any sort of stuff about this app, please create a [new issue](https://github.com/fikovnik/ShiftIt/issues).

License: [GNU General Public License v3][5]
License: [GNU General Public License v3](http://www.gnu.org/licenses/gpl.html)

Change logs: change logs are versioned in the [repository](https://github.com/fikovnik/ShiftIt/tree/develop/release) as well.

## Download

A binary build for OSX 10.7+ is available in [downloads page](https://github.com/fikovnik/ShiftIt/downloads). It might still work on OSX 10.6, but it has not been tested.

This build includes support for X11 which might be problematic in 10.8, a fix is discussed in [#105](https://github.com/fikovnik/ShiftIt/issues/105).
A binary build for OSX 10.7+ is available in [releases](https://github.com/fikovnik/ShiftIt/releases).

## User guide

ShiftIt installs itself in the menu bar (optionally it can be completely hidden). It provides a set of actions that manipulates windows positions and sizes. Following is an example of list of actions available:
ShiftIt installs itself in the menu bar (optionally it can be completely hidden).
It provides a set of actions that manipulates windows positions and sizes.
Following is an example of list of actions available:

![Screenshot Menu](https://raw.github.com/fikovnik/ShiftIt/develop/docs/schreenshot-menu.png)

Normally, all Cocoa windows and X11 windows are supported. Some applications might not work correctly or not at all. There is a [list of known problems](https://github.com/fikovnik/ShiftIt/wiki/Application-Compatibility-Issues). If you find any problem not mentioned there, please submit an issue.
Normally, all Cocoa windows and X11 windows are supported.
Some applications might not work correctly or not at all.
There is a [list of known problems](https://github.com/fikovnik/ShiftIt/wiki/Application-Compatibility-Issues).
If you find any problem not mentioned there, please submit an issue.

## Requirements

* OSX 10.6+, 64-bit
* OSX 10.7+, 64-bit

The primary development is done on OSX 10.7 Lion, but it should be running under OSX 10.6 Snow Leopard as well.
The primary development is done on OSX 10.10, but it should be running under OSX 10.7 as well.

## FAQ

* **I disabled the `Show Icon in Menu Bar` in the preferences, how can I get it back?**
##### I disabled the _Show Icon in Menu Bar_ in the preferences, how can I get it back?

Launch the application again. It will open the preference dialog.

##### I pressed a shortcut, but nothing has happened, why?

While most of application windows should work well with ShiftIt, there are some exceptions (like the GTK+ OSX applications). There is a [list of known problems](https://github.com/fikovnik/ShiftIt/wiki/Application-Compatibility-Issues). If you find any problem not mentioned in the list, please raise an issue.

##### I pressed a shortcut, something happened, but not what I expected, why?

Launch the application again. It will open the preference dialog.
ShiftIt is based on a Cocoa Accessibility API and sometimes this API can be a bit [fragile](http://lists.apple.com/archives/accessibility-dev/2011/Aug/msg00031.html) and not do exactly what it should. In order to help to improve ShiftIt, please submit an issue every time you find some weird behavior. Before you do please consult the [list of known problems](https://github.com/fikovnik/ShiftIt/wiki/Application-Compatibility-Issues). Thanks!

* **I pressed a shortcut, but nothing has happened, why?**
##### ShiftIt wants accessibility access on my Mac but my system preferences don't match the instruction, why?

While most of application windows should work well with ShiftIt, there are some exceptions (like the GTK+ OSX applications). There is a [list of known problems](https://github.com/fikovnik/ShiftIt/wiki/Application-Compatibility-Issues). If you find any problem not mentioned in the list, please raise an issue.
For instructions on accessibility in Mac OS X 10.9.x, see [this comment](https://github.com/fikovnik/ShiftIt/issues/110#issuecomment-20834932).
For instructions on accessibility in Mac OS X 10.9.x, see [this comment](https://github.com/fikovnik/ShiftIt/issues/110#issuecomment-20834932).

* **I pressed a shortcut, something happened, but not what I expected, why?**
##### How to repairing Accessibility API permissions?

ShiftIt is based on a Cocoa Accessibility API and sometimes this API can be a bit [fragile](http://lists.apple.com/archives/accessibility-dev/2011/Aug/msg00031.html) and not do exactly what it should. In order to help to improve ShiftIt, please submit an issue every time you find some weird behavior. Before you do please consult the [list of known problems](https://github.com/fikovnik/ShiftIt/wiki/Application-Compatibility-Issues). Thanks!
This can be done either using GUI in _System Preferences_ -> _Security & Privacy_ -> _Privacy_ -> _Accessibility_ where it is necessary to check and uncheck the checkbox which is next to ShiftIt in the _Allow the apps below to control your computer_.
If ShiftIt is not in the list, just drag and drop it there from the `Applications` folder.

* **ShiftIt wants accessibility access on my Mac but my system preferences don't match the instruction, why?**
![ShiftIt permissions](https://raw.githubusercontent.com/fikovnik/ShiftIt/develop/ShiftIt/AccessibilitySettings-Maverick.png)

For instructions on accessibility in Mac OS X 10.9.x, see [this comment](https://github.com/fikovnik/ShiftIt/issues/110#issuecomment-20834932). If you've upgraded to 10.10, just
uncheck and recheck the box to make things work again.
Alternatively, this can be also done in a command line, however, this is rather a hack with all potential issues hacks come with.

```sh
$ sudo sqlite3 '/Library/Application Support/com.apple.TCC/TCC.db' 'update access set allowed=1 where client like "%org.shiftitapp.ShiftIt%"'
```

For instructions on accessibility in Mac OS X 10.9.x, see [this comment](https://github.com/fikovnik/ShiftIt/issues/110#issuecomment-20834932).
If you've upgraded to 10.10, just uncheck and recheck the box to make things work again.

## Development

Expand All @@ -58,11 +79,15 @@ The repository is based on the git flow model. The development therefore happens

To build ShiftIt locally just clone the repository or get the latest snapshot and execute following command in the `ShiftIt` directory:

xcodebuild -target ShiftIt -configuration Release
```sh
$ xcodebuild -target ShiftIt -configuration Release
```

To make a build without X11 support execute following:

xcodebuild -target "ShiftIt NoX11" -configuration Release
```sh
$ xcodebuild -target "ShiftIt NoX11" -configuration Release
```

### Making a release

Expand All @@ -79,21 +104,9 @@ The releases are fully automatic which hopefully will help to release more often
* `archive` - Archives build
* `build` - Makes a build by executing xcodebuild
* `info` - Output all the build properties
* `prepare_release` - Prepare the release: sign the build, generate appcast, generate release notes, commit and push.
* `print_release_notes` - Prints release notes
* `release` - Makes the complete release (same as prepare_release, upload_release)
* `upload_release` - Uploads the release to github
* `release` - Prepare the release: sign the build, generate appcast, generate release notes
* `release_notes` - Generate release notes

Thanks [JetBrains](http://www.jetbrains.com/) for kindly supporting this open source project by providing [AppCode](http://www.jetbrains.com/objc/) IDE.
After `fab release` instructions about how to create the actual release at github are printed.

[1]: http://code.google.com/p/shiftit/
[2]: http://ca.linkedin.com/in/aravind88
[3]: https://github.com/fikovnik/ShiftIt/issues
[4]: http://groups.google.com/group/shiftitapp
[5]: http://www.gnu.org/licenses/gpl.html
[7]: http://code.google.com/p/shortcutrecorder/
[8]: https://github.com/fikovnik/FMT
[9]: http://nkuyu.net/apps/shiftit/release-notes-1.5.html
[10]: http://nkuyu.net/apps/shiftit/release-notes-1.4.1.html
[11]: http://nkuyu.net/apps/shiftit/release-notes-1.4.html
[12]: http://nkuyu.net/apps/shiftit/release-notes-1.3.html
Thanks [JetBrains](http://www.jetbrains.com/) for kindly supporting this open source project by providing [AppCode](http://www.jetbrains.com/objc/) IDE.
File renamed without changes
File renamed without changes
File renamed without changes.
36 changes: 36 additions & 0 deletions ShiftIt/Base.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
Localizable.strings
ShiftIt

Created by Hiroyuki Kurosawa on 2013/11/16.

*/

"Left" = "Left";
"Right" = "Right";
"Top" = "Top";
"Bottom" = "Bottom";
"Top Left" = "Top Left";
"Top Right" = "Top Right";
"Bottom Left" = "Bottom Left";
"Bottom Right" = "Bottom Right";
"Center" = "Center";
"Toggle Zoom" = "Toggle Zoom";
"Maximize" = "Maximize";
"Toggle Full Screen" = "Toggle Full Screen";
"Increase" = "Increase";
"Reduce" = "Reduce";
"Next Screen" = "Next Screen";
"Previous Screen" = "Previous Screen";

"Authorization Required" = "Authorization Required";
"Recheck" = "Recheck";
"Open System Preferences" = "Open System Preferences";
"Quit" = "Quit";
"AUTHORIZATION_INFORMATIVE_TEXT_10_9" = "ShiftIt needs to be authorized to use an Accessibility Services in order to be able to move and resize application windows.\n\nYou can do this in System Preferences > Security & Privacy > Privacy > Accessibility. You might need to drag-and-drop ShiftIt into the list of allowed apps and make sure the checkbox is on.";
"AUTHORIZATION_INFORMATIVE_TEXT_10_8" = "ShiftIt needs to be authorized to use an Accessibility Services in order to be able to move and resize application windows.\n\nPlease \"Enable access for assistive devices\" in the System Preferences > Universal Access and then restart ShiftIt.";

"Start ShiftIt automatically?" = "Start ShiftIt automatically?";
"Would you like to have ShiftIt automatically started at a login time?" = "Would you like to have ShiftIt automatically started at a login time?";
"Yes" = "Yes";
"No" = "No";
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@
<menuItem title="Next Screen" tag="2015" keyEquivalent="n" id="794">
<modifierMask key="keyEquivalentModifierMask" control="YES" option="YES" command="YES"/>
</menuItem>
<menuItem title="Previous Screen" tag="2016" id="URi-Kh-uDb">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="793"/>
<menuItem title="Preferences" keyEquivalent="," id="558">
<connections>
Expand Down
Loading

0 comments on commit 378057b

Please sign in to comment.