zhouzhui / simbl

Automatically exported from code.google.com/p/simbl
0 stars 0 forks source link

SIMBL 0.9.6b ignores LSUIElement=1 apps #9

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
See this bug for more info:
http://github.com/darwin/visor/issues/closed#issue/32

Thanks for your great work on SIMBL

Original issue reported on code.google.com by antonin....@gmail.com on 21 Sep 2009 at 4:49

GoogleCodeExporter commented 9 years ago
This is correct behavior - the SIMBL Agent will not modify applications that 
have no interface as the underlying 
Cocoa mechanism doesn't report such events.

http://developer.apple.com/mac/library/technotes/tn/tn2050.html

A reasonable workaround is to manually inject the desired plugin.

Original comment by ms...@gmail.com on 22 Sep 2009 at 12:47

GoogleCodeExporter commented 9 years ago
How would one go about injecting the desired plugin into Terminal in... say... 
the terminal?  Is it possible to set 
up a daemon that can see when apps in /Applications are started?

Original comment by evan.ber...@gmail.com on 22 Sep 2009 at 2:57

GoogleCodeExporter commented 9 years ago
You have to send the application a particular set of apple events. You can look 
in the SIMBL source for the 
precise commands.

When you set LSUIElement=1, you lose the ability to use the NSWorkspace 
monitoring.  You are better off having 
your application manually communicate with the target application and making 
your plugin robust against 
getting the inject event more than once.

Original comment by ms...@gmail.com on 22 Sep 2009 at 6:09

GoogleCodeExporter commented 9 years ago
I know this is classified as WontFix, but what exactly changed that this isn't
allowed anymore?  This worked in previous versions of SIMBL, making Visor run 
in the
background with no visible trace unless the key combo was invoked.  That was 
far more
desirable to the current situation, where I have to see the Terminal icon every 
time
I cmd+tab to a new app.

Just curious as to why this went from being possible to being impossible so 
quickly.

Original comment by Gordon.Fontenot on 6 Oct 2009 at 6:57

GoogleCodeExporter commented 9 years ago
"Just curious as to why this went from being possible to being impossible so 
quickly."
+1

This is really a dealbreaker for me - does anyone know which old version still 
works
on hidden apps? 

Original comment by aaronma...@gmail.com on 12 Oct 2009 at 5:55

GoogleCodeExporter commented 9 years ago
It's not possible for the Agent to notice applications that are specifically 
configured *not* to send any 
notifications when they launch.  Another application is free to look for 
plugins and to send a direct message to a 
hidden app to load SIMBL, but this agent will not do that. There is simply no 
efficient means to do so and 
performance issues are more important than cosmetics.

Original comment by ms...@gmail.com on 12 Oct 2009 at 5:53

GoogleCodeExporter commented 9 years ago
The easiest fix is to use AppleScript to open Terminal and inject SIMBL. You 
can save this as an application and 
include it in your startup items.

tell application "Terminal"
    inject SIMBL into Snow Leopard
end tell

Original comment by cwilliam...@gmail.com on 17 Oct 2009 at 5:47

GoogleCodeExporter commented 9 years ago
Brilliant, the above applescript works like a charm. Thanks cwilliams.

Original comment by aaronma...@gmail.com on 18 Oct 2009 at 1:29

GoogleCodeExporter commented 9 years ago
thank you cwilliams for this elegant solution

Original comment by antonin....@gmail.com on 18 Oct 2009 at 11:03

GoogleCodeExporter commented 9 years ago
That works perfectly.  So happy to have this as a solution.  Thank you.

Original comment by Gordon.Fontenot on 19 Oct 2009 at 3:11

GoogleCodeExporter commented 9 years ago
Issue 20 has been merged into this issue.

Original comment by ms...@gmail.com on 3 Nov 2009 at 6:19

GoogleCodeExporter commented 9 years ago
Issue 32 has been merged into this issue.

Original comment by ms...@gmail.com on 18 Mar 2010 at 6:48