norio-nomura / EasySIMBL

EasySIMBL is modified "SIMBL" for OS X 10.7, 10.8, 10.9 or 10.10 supporting sandbox, resume. No installer.
818 stars 76 forks source link

EasySIMBL doesn't work on 10.9 #4

Open Crazor opened 11 years ago

Crazor commented 11 years ago

It seems EasySIMBL is broken on 10.9. It doesn't do anything at all...

1-61803 commented 11 years ago

What exactly is not working?

Btw, did you try SIMBL 0.9.9? It's working for me in 10.8.4 and it seems to work for others too, https://github.com/ZeR0-Wu/FinderTabSwitching.

norio-nomura commented 11 years ago

There are some different behaviors between current developer preview and earlier one of 10.9 about the AppleScript mechanism which allows injecting plugins into target process. So, I can't say whether this issue can be resolved until 10.9 will be released.

tyilo commented 10 years ago

Could you take a look at it, now that 10.9 has been released?

norio-nomura commented 10 years ago

EasySIMBL just works on my Mac with OS X 10.9 (13A603). Some different behaviors that I saw in earlier Developer Previews does not happen on OS X 10.9 (13A603). I think no workarounds are needed for OS X 10.9 (13A603).

norio-nomura commented 10 years ago

EasySIMBL-1.5 has been released as OS X 10.9 tested version.

tyilo commented 10 years ago

1.5 doesn't seem to work for me in 10.9. Specifically a plugin with BundleIdentifier = "*" that just NSLogs a message and then does nothing. I don't see that output from any application launched from the terminal.

norio-nomura commented 10 years ago

I found an issue #7 which caused by injecting plugin with BundlerIdentifier = "*" into non-sandboxed app on OS X 10.9.

norio-nomura commented 10 years ago

Hi @Tyilo,

Please re-try EasySIMBL-1.5.1.

Crazor commented 10 years ago

1.5.1 works fine on Mavericks for me. I use it with my little tweak MenuBarHider, which uses BundleIdentifier = "*", too. It works in every application except Google Chrome. I'm not sure if this is a problem with my code or a limitation with SIMBL/EasySIMBL, though.

norio-nomura commented 10 years ago

It seems Google Chrome has CFBundleBlocker. https://code.google.com/p/chromium/issues/detail?id=95045 Maybe EasySIMBL will not support it.

tyilo commented 10 years ago

EasySIMBL doesn't seem to work for me after rebooting. Every time I reboot I have to open EasySIMBL and uncheck and then check the "Use SIMBL" checkbox for it to work again.

norio-nomura commented 10 years ago

Hi @Tyilo, As far as I know, the launch item API which EasySIMBL using depend on Spotlight index. If Spotlight index is disabled, the API won't work.

tyilo commented 10 years ago

@norio-nomura I don't think I have Spotlight index disabled. How can I check it?

norio-nomura commented 10 years ago

You can check by following command:

mdfind "(_kMDItemApplicationLoginIdentifiers == '*') && (_kMDItemGroupId == 8)"

E.g. The result on my Mac is,

/Applications/EasySIMBL.app
/Applications/1Password 4.app
/Applications/1Password.app
/Applications/Aperture.app
/Applications/iPhoto.app
/Applications/TrashMe.app
/Applications/Battery Health.app
/Applications/CloudClip Manager.app

These apps register items for launching on login by the API.

I found another information which may solve the login item issue, I quote it.

We had several customers with bad system permissions in the launchd database, ACLs which restrict write acess (which the SMLoginItemSetEnabled() function needs). This is apparently due to a bad restore from a Time Machine backup. These bad permissions can be detected by taking a look at the ACLs for the /var/db/launch.db/ directory.

ls -le /var/db/launchd.db/

And it probably could be fixed with the following command:

chmod -RN /var/db/launchd.db

This could be your issue.

E.g. the permission of my account in /var/db/launchd.db/ directory is following:

drwx------  3 norio            wheel  102  7 25  2012 com.apple.launchd.peruser.501
tyilo commented 10 years ago

I see EasySIMBL when I run that mdfind command and the permissions of my accounts launchd.db directory is the same as yours:

drwx------  3 Tyilo  wheel  102 25 Nov  2012 com.apple.launchd.peruser.501

However running sudo chmod -RN /var/db/launchd.db and rebooting fixed it, thanks.

skull-squadron commented 10 years ago

New install of EasySIMBL 1.6 (9) works fine on 10.9.0.

rquadling commented 10 years ago

My "Use SIMBL" is greyed out. Running OSX Mavericks 10.9.2. EasySIMBL just downloaded is V1.6 (9).

Only have ColorfulSidebar installed. Was working before EasySIMBL upgrade from V1.4 (I think).

Looking at the Console logging and seeing that the SIMBL Agent was already running but a different version. Killed the agent. Restarted EasySIMBL. All went well.

Maybe worth adding this to an installer or adding something to the startup process for EasySIMBL to detect and then offer to kill and replace old agent.