GithubHelp home page GithubHelp logo

shiftit's Introduction

ShiftIt Build Status

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 by Aravindkumar Rajendiran which is not longer under development. For discussing any sort of stuff about this app, please create a new issue.

License: GNU General Public License v3

Change logs: change logs are versioned in the repository as well.

Download

A binary build for OSX 10.7+ is available in 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:

Screenshot Menu

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. If you find any problem not mentioned there, please submit an issue.

Requirements

  • OSX 10.7+, 64-bit

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?

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. 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?

ShiftIt is based on a Cocoa Accessibility API and sometimes this API can be a bit fragile 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. Thanks!

ShiftIt wants accessibility access on my Mac but my system preferences don't match the instruction, why?

For instructions on accessibility in Mac OS X 10.9.x, see this comment.

How to repairing Accessibility API permissions?

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 permissions

Alternatively, this can be also done in a command line, however, this is rather a hack with all potential issues hacks come with.

$ 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. If you've upgraded to 10.10, just uncheck and recheck the box to make things work again.

Development

The repository is based on the git flow model. The development therefore happens in the develop branch. Any contribution is welcomed!

Local build

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

To make a build without X11 support execute following:

$ xcodebuild -target "ShiftIt NoX11" -configuration Release

Brew Cask

To install ShiftIt using brew you can use the cask.

$ brew cask install shiftit

Making a release

Releases are handled using fabric. There are some dependencies that can be easily obtained using pip:

The releases are fully automatic which hopefully will help to release more often.

Available commands

  • archive - Archives build
  • build - Makes a build by executing xcodebuild
  • info - Output all the build properties
  • release - Prepare the release: sign the build, generate appcast, generate release notes
  • release_notes - Generate release notes

After fab release instructions about how to create the actual release at github are printed.

Thanks JetBrains for kindly supporting this open source project by providing AppCode IDE.

shiftit's People

Contributors

chriscrowe avatar daturkel avatar fikovnik avatar hkurosawa avatar inthecloud247 avatar iwritethings avatar jpouellet avatar lookfirst avatar omercnet avatar pborzenkov avatar stevenspiel avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.