Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making ShiftIt work on OS X 10.9 Mavericks #118

Closed
dpoon opened this issue Oct 23, 2013 · 22 comments
Closed

Making ShiftIt work on OS X 10.9 Mavericks #118

dpoon opened this issue Oct 23, 2013 · 22 comments
Milestone

Comments

@dpoon
Copy link

dpoon commented Oct 23, 2013

This is not a bug per se. ShiftIt 10.6 actually works on OS X 10.9, but there are some obstacles. You could consider this a documentation issue.

First, you have to re-enable the Accessibility API. In OS X 10.9, accessibility has to be enabled per application. Under System Preferences → Security & Privacy → Privacy → Accessibility, select ShiftIt.

Second, I found that after upgrading from OS X 10.8 to 10.9, you have to reinstall XQuartz. (I had XQuartz 2.7.4 installed under OS X 10.8, but after upgrading to 10.9, ShiftIt complained that it was missing.)

@anacronw
Copy link

thanks! just installed Mavericks myself and your post helped

@cwc
Copy link

cwc commented Oct 23, 2013

👍 for instructions on granting access to ShiftIt. Those instructions should probably be added to the app itself.

@jackcogdill
Copy link

I just installed Mavericks, and after having reinstalled XQuartz and re-enabling the Accessibility for ShiftIt like in the picture, it still refuses to work. I get the same dialogue error saying I need to enable the Accessibility, but as far as I can tell it should work. Any ideas?

@dpoon
Copy link
Author

dpoon commented Oct 24, 2013

@yentup Like in what picture?

@maerten
Copy link

maerten commented Oct 24, 2013

Not sure if this supposed to happen, but since I updated to Mavericks and updated ShiftIt to 1.6 without X11, all resize shortcuts seem to trigger an animation. In the past all windows just resized instantaneously, without any transitions. In the preferences I dont see any way to disable this behavior.
Any ideas what causes this?

@jackcogdill
Copy link

@jackcogdill
Copy link

So I reinstalled it and had it working for a few minutes, but then it randomly closed. Then when I opened it again, it went back to the same exact problem. I even found some crash reports.

@jackcogdill
Copy link

I just tried using version 1.5 and it works, but only for certain windows.

@fikovnik
Copy link
Owner

I won't have 10.9 until mid november so I cannot really help. On the other hand, if any of you is willing to update the README to add a simple and working tutorial how to get it working, it will be really appreciated.

Thanks for help!

@ddirgo
Copy link

ddirgo commented Oct 24, 2013

Like yentup, I have reinstalled XQuartz, reinstalled Shiftit, and re-enabled accessibility for Shiftit in System Preferences > Security & Privacy > Privacy > Accessibility, and find that the fresh install of Shiftit still generates the same error message.

2b7b230a-3c5b-11e3-9e45-174ef3a7ffab

Sadly, I don't have any other ideas.

@jackcogdill
Copy link

@ddirgo Try uninstalling it and using version 1.5. For now this works for me.

@thromera
Copy link

Thank you for your informations, was really helpfull !

@ogoldberg
Copy link

@dpoon Thanks, your op here worked for me!

@cbrunnkvist
Copy link

So in conclusion, a Mavericks-compatible release will involve:

  • Looking under /opt for XQuartz
  • Check if >= 10.9 and open the correct prefpane because the location of the "Allow assistive..." setting in System Preferences has changed.

At the time of writing, the only publicly available build that works in Mavericks seems to be http://cl.ly/3p071K0S2B0y (@fikovnik's 1.6-NoX11 pre-release). I'd say it would be helpful if this one was linked from the /Readme for now.

Oh and last but not least:

  • If you have used ShiftIt prior to Mavericks, you might need to either zap the old .app or drag-drop the upgraded one into the System Preferences > Security & Privacy > Privacy > Accessibility pane to authorize it again.

@fikovnik
Copy link
Owner

fikovnik commented Nov 4, 2013

There are two things that should be done. First, it is possible to programmatically make ShifIt trusted process (using a dialog that will prompt for admin password). Second, the XQuartz should really be optional (the path has been already fixed in #117), for what I need to find a way that does not bother users with prompting for X11 installation.
For now, anyone willing to reorganize the README to clearly describe the steps to make it up and running on maverick is more than welcomed and highly appreciated :-)

@abhibeckert
Copy link

Not sure how to reproduce it, but I just had an issue where ShiftIt was checked in Security -> Accessibility but still showed the alert saying it couldn't access Assistive Devices.

Unchecking ShiftIt then checking it again solved the problem.

@seanoliver
Copy link

I'm experiencing the same issue as @maerten above. Now that ShiftIt is working in Mavericks, the window resize is animated instead of snapping instantly. It also feels less responsive. Sometimes it will only partially resize and it need to hit it 1-2 more times for it to resize itself fully.

Help?

@fikovnik
Copy link
Owner

I should receive new laptop with mavericks soon and then I will be able to look into it.

@dezza
Copy link

dezza commented Dec 11, 2013

It worked fine for me - I added it to Security -> Accessibility and that was it!
Update ^ Not anymore ^

10.9.1 (13B40)

I tried increase/decrease resize operations and it didn't animate on me.

I have the following animations turned off:
http://apple.stackexchange.com/questions/14001/how-to-turn-off-all-the-animation-effect-on-mac-os

@jackcogdill
Copy link

Yes, I recommend turning off window animations if you want it to be a little more instant.
For reference to anyone who might want to do this, just enter this code into your Terminal:

defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false

@OleksiyA
Copy link

With this changes in ShiftItAppDelegate.m the App working for me on OSX 10.9.1:

     }
+    
+    NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @YES};
+    BOOL trustedAxProcess = AXIsProcessTrustedWithOptions((CFDictionaryRef)options);

-    if (!AXAPIEnabled()) {
+    if (!trustedAxProcess) {
         NSInteger ret = NSRunAlertPanel(@"UI Element Inspector requires that the Accessibility API be enabled.      Please \"Enable access for assistive devices and try again\".", @"", @"OK", @"Cancel", NULL);
         switch (ret) {

This will not compile on OSX 10.8 SDK and probably this will not work on OSX 10.8, should be implemented fall back in these cases.

Also it looks like after each recompiling of the App it should be re-added as trusted in System settings for AX access.

@fikovnik fikovnik added this to the 1.6.1 milestone May 22, 2014
@fikovnik fikovnik modified the milestones: 1.6.2, 1.6.1 Jun 7, 2014
@fikovnik
Copy link
Owner

fikovnik commented Jun 7, 2014

I updated the code to be compatible with maverick. The logic is in the checkAuthorization method in ShiftItAppDelegate.

@fikovnik fikovnik closed this as completed Jun 7, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests