Thứ Hai, 31 tháng 12, 2012

Welcome to MacMatrix

☜ ☆  ☆ ☞
 MacMatrix 
is a tips and tricks blog
for Mac, Google and beyond






MacMatrix is the official tech blog of..
click the logo to visit iSimon




iSimon is Simon Barnett who does web and app development, tech blogging,
 computer
 tech support, 
training, and design / dtp in Cape Town, South Africa

Thứ Bảy, 17 tháng 11, 2012

SideEffects Credits


SideEffects

Credits | Acknowledgements

Thank you, dear user,
for your patience, tech input, words of support
and donations during testing.

Many thanks to
cooViewerZoom (ColorfulfulSidebar)
Norio Nomura
Mike Solomon (SIMBL)
for making their rocket science freely available.



Created using Apple Packagemaker by

Simon Barnett
aka iSimon aka Simbasounds
in Cape Town, South Africa





 



~• Many Thanks •~

Many Thanks to all of you who donated to this project since it started in June 2012.
Thanks to your kind contributions you have allowed SideEffects to continue to improve.

Alan Barbour
andrea corti
Antonio Bernhard
ARIUS Video Productions
Artez'n llc
Barry Thomas
Bayview Resort
Bonnie Wenborg
Brad Robinson
Bruce Bladon
Bruno Ribeiro
Cameron Haase-Pettingell
Carlton Stout
Carol DeLancey
Color Consult AB
Completed
Cozy McFee
David Entermann
David Negvesky
David Robison
Delores Orridge
Dr Jonathan S Berman
Edward Goss
Elana M. Messer
Ellen Slocum
Ezynic, S.L.
F Robert Falbo
Fergus Lalor
Franck SAUTRON
Frank Parth
Georgios Papadoukakis
Giuliano Bonaiuti
Gunnar Reed
Harald Oehmt
Harvey Jeffries
Helle Madsen
Jason Starr
Jill Holmquist
Joe Goddard
Johannes Merkler
John Drake
Justin Winchester
Kathleen Traylor
Katie Anderson
Keith Spann
Kimbakat
Kjetil Berge
Klaus Zander
Larry Lusch
Leo LaPan
Lester Bagley
Lori Griffin
Malama Web Design and Hosting
Mark Edwards
Martin Camacho
Matti Rissanen
Michael Trollope
Mike Schultze
MODELS.com, Inc.
pacefiction.com
Paolo Casagni
Patrick Elma
Patrick Schannong
Philip Beaudet
Raffael Stüken
Rainer Schaaf
Richard Schilling
Ron Cohen
Ronnie Montgomery
Ross Hudgins
scott squire
Simon Carroll
Simon Knight
Sofia Ames
Spiral Ingenuity LLC
Stephen Armand
Stephen Marmon
Ted Robinson Graphic Design
tomasz sikora
Walter Bowen
William Luckie

SideEffects Story


SideEffects

Background Story


One of the non-optional changes in Mac OS X 10.7 Lion and 10.8 Mountain Lion was taking away color icons in the Sidebar of every Finder window.

Although more in line with iOS and arguably less distracting, some more visually-oriented users found this change very distressing.

Modifying the functionality of the Sidebar requires some fairly advanced workarounds. The real heroes here are the developers of the components.





 InsideSideEffects


EasySIMBL by Norio Nomura is an ingenious app / user account-based rewrite of SIMBL - a popular application enhancer. EasySIMBL is more streamlined and protected. It works via your user account, meaning you should install SideEffects again for each user who would like color in their Finder windows.

ColorfulSidebar.bundle by cooViewerZoom is a SIMBL plugin that injects the required code into the Finder to allow colour icons to be displayed in the sidebar.

PowerBoxInjector.app by cooViewerZoom runs automatically to give color to some Open / Save dialog boxes.


When cooViewerZoom published his SIMBL plugin, users were pleased at the option to choose between grey, non-customized icons to color, but found the process of installing the components (ColorfulSidebar and SIMBL) tricky and in some cases it didn't function.

Enter SideEffects. In June 2012 I made a simple app to install the components. EasySIMBL was released about 6 months later, making SIMBL functional in Mountain Lion and with much-improved reliability. Some minor issues have been ironed out by adding several installer scripts to ensure clean installation and reliability across multiple Mac platforms and system versions.

SideEffects 1.8.7 uninstalls the older original version of SIMBL (0.9.9), moves existing SIMBL plugins folder contents to your new plugins folder in your user account, and installs or upgrades components as needed.



Installer Task List


1. Uninstall SIMBL (if it exists)

2. Install EasySIMBL.app to
/Applications

3. Launch EasySIMBL to activate it and create it's Plugins folder in
~/Library/Application Support/SIMBL/Plugins

4. Install ColorfulSidebar.bundle to /private/temp

5. Move ColorfulSidebar.bundle to
User/$USER/Library/Application Support/SIMBL/Plugins

6. Move any existing SIMBL plugins from
/Library/Application Support/SIMBL/Plugins
to
User/$USER/Library/Application Support/SIMBL/Plugins

7. Relaunch the Finder

8. Install PowerBoxInjector.app to Login Items and
/Applications

9. Quit EasySIMBL.app

The Apple Look

Ever been asked by a client to make their brochure or website have "The Apple Look"?
Clean, white, elegant, white, minimalist, white?

It's not all white, but each element must fit in with that cleaner-than-ivory look, so here's an analysis taken by sampling screenshots using the Macs default color profile.

Web colors and relevant HSB values are given.

Global
Drop Shadow: #cdcdcd (B:80%)
Grey Lines: #cccccc (B:80%)


Links Bar


Top Buttons Gradient - off:
Darkest: #5e5e5e (B:37%)
Lightest: #8b8b8b (B:55%)

Top Buttons Gradient - on:
Darkest: #090909 (B:4%)
Lightest: #424242 (B:26%)


Headings



Headings Gradient:
Darkest: #424242 (B:26%)
Lightest: #898989 (B:54%)




Product Shelf Ribbon:
#f8f8f8 (B:97%)



Navigation Panel background
Top: #596167
Bottom: #efefef (B:94%)

SideEffects Troubleshooting



SideEffects

Side Effects

No issues reported with latest version 1.8.7

Techies may still find this page interesting reading.

So why is it so complicated to make some simple icons color?

(icons, that is, which used to be color in MacOS X 10.6 Snow Leopard)
Scroll down for a technical explanation of
what it takes to perform this seemingly simple tweak.


As for the reasoning

it could be one, or a combination of two things:

1

Apple are making a clear design point:
This is their new style and we must all adapt.

That is what Apple do, and usually we're grateful.. somewhere down the line.
Some prefer the grey icons. Myself and 100 000 SideEffects users disagree here.
When I'm building SideEffects my system goes back to grey, and it isn't growing on me.

But why did Apple go to the lengths they have,
making it impossible to change the icons to color without advanced code-injection?

2

It's possible that in the slow convergence of their mobile and desktop lines Apple directly transplanted some iOS code, completely replacing the old Sidebar with something designed for the iPad. That would explain why it requires some advanced code tweaking.


So are you having issues getting color to appear?

In the previous version: 1.8.6, some users reported no change / grey icons.
This version (1.8.6.1) hopefully fixes this with a new permissions script.

Just in case, I have not removed my repair instructions for the last version:

Issues? Still Grey?

If it doesn't seem to work first time, then type
⌘ - option (alt) - esc
Choose Finder, then click Relaunch.
Type  ⌘n to open a new Finder window
Color in the Sidebar
Yes? No?
|
 Menu - Log out and then in again
|
Yes? No?
|
 Menu - Restart
|
Yes? No?
|
Uninstall and re-install SideEffects
|
Yes? No?
|
Open Spotlight by holding ⌘ and tapping the spacebar.
Start typing easysimbl, then hit enter to launch it.
Check "Use SIMBL" if it ain't.
Close EasySIMBL and relaunch the Finder.

|
Yes? No?
|

EasySIMBL may still require some coaxing before it kicks in:
relaunch the Finder, log out and in again, restart the Mac.

|
Yes? No?
|

Go to Lagente, get BatCHmod (free / donation) and open it:

⌘⇧G in Finder, go to
~/Library/Application Support/SIMBL/Plugins

Drop colorfulsidebar.bundle onto BatCHmod's window
Change owner to your username, apply to enclosed
Relaunch the Finder..
(alt-right-click in the Dock
or
type ⌘-alt-esc and choose Finder)

|
Yes? No?
|

Try previous version


Sticky "Use SIMBL" button?

In other words: Problem - Easy SIMBL resets itself every time you restart.
Sidebar is grey again until you open EasySIMBL and check "Use SIMBL".


Note: This fix has been incorporated into SideEffects 1.8.7

First try installing SideEffects again and / or logging out and in again.



⌘⇧G in Finder, paste in:
/private/var/db/launchd.db/com.apple.launchd.peruser.501/

 Right-click, open the file "overrides.plist" with Text Edit
..unless you have a dedicated editor for .plist files,
you'll need to dig it out of Applications.

 Look for:
<key> com.github.norio-nomura.SIMBL-Agent </key>
<dict>
<key> Disabled </key>
<true/>
</dict>

 Change <true/> to <false/>

 Save and Close

Open EasySIMBL - should be fine now..



Slow Finder Solved ✓

I was experiencing long delays in the Finder with SideEffects installed - usually about 5 seconds, but sometimes longer - especially when switching from other applications to the Finder.

Do you have Folders in your sidebar which reside on remote servers (online or offline) and external disks? They're the reason.. remove them from the SideBar.

I haven't finished testing, but it may be ok to add them again after SideEffects is installed.
Otherwise a workaround would be try making an alias of the folder and adding that..
Or else making a folder of aliases, and adding the folder  - not as direct, but it won't cause ColorfulSidebar / EasySIMBL to get into a data logjam, which is what was happening.

Will update my findings here as I work it all out..




Notes on SIMBL / EasySIMBL / ColorfulSidebar

SIMBL is an application enhancer developed originally by Mike Solomon, recently updated to EasySIMBL for Lion/ML by Norio Nomura.

SIMBL / EasySIMBL is a framework which allows code to be injected into parts of the system not usually accessed by applications. It's a framework for other developers to plug into.

ColorfulSidebar by cooViewerZoom is one such plugin.

When developers write apps they are given a kit of resources to work with. The Mac Finder is an app which uses special core resources located deeper within the system to give it enhanced efficiency.

To change the Sidebar icon colors, the ColorfulSideBar.bundle plugs into and uses the enhancement framework, EasySIMBL to get the old color icons from a bundle in the system.

You can look inside this bundle if you like. In the Finder type ⌘⇧G, copy and paste:
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources
..then hit Enter.

CoreTypes.bundle/Contents/Resources - look, but don't touch.

Be careful in here - I don't advise changing anything.
And yes.. I did originally try changing the grey icons in here to color ones and it doesn't work - just makes grey silhouettes in the Sidebar.

Once ColorfulSideBar.bundle has the code for the icons, then every time Sidebar icons need to be displayed it injects that code back into the Finder. This behavior is outside of the "normal" functionality of the system (so it could be described as a "hack", although I use that word with caution seeing as it has acquired negative connotations and is sometimes associated with Viruses and Trojans).

In the case of SIMBL or EasySIMBL the most serious type of problem I've personally heard of as a result of having it on the system is a conflict with another app. If you experience any issues use the uninstaller provided.

Performance

EasySIMBL has to act additionally to the system so it adds to activity, but not to a significant degree. Although EasySIMBL logs errors, it's calls are very quick - they don't significantly impact performance to a noticeable degree, except in the particular scenario outlined earlier on this page: "Slow Finder Solved". With that particular issue seen-to, performance is excellent. I use my Mac for graphics and music production and I'm very happy with it's performance with SideEffects / EasySIMBL / ColorfulSidebar.

Error reports

Looking at the console log for SIMBL might make you nervous - all sorts of errors like:

2012/11/21 11:32:35,310 PM SIMBL Agent[1095]: -[NSProcessInfo enableSuddenTermination] has been invoked more times than necessary to balance invocations of -[NSProcessInfo disableSuddenTermination]. Ignoring.

2012/11/21 11:32:34,682 PM SIMBL Agent[1095]: warning: failed to get scripting definition from /Applications/Utilities/Console.app; it may not be scriptable.

Class SIMBL is implemented in both..


Much of the way a computer functions is by calling if/then statements. It's possible that because EasySIMBL must get in "under the hood" ie. outside of the normal resources given to apps it has to act in an unorthodox manner and therefore publishes more error messages. So instead of checking a standard resource variable with an if/then statement it has to steer it's behavior using other methods. These methods aren't any more resource-hungry than the "normal" methods, but they get logged by the system.

For example the message "Class SIMBL is implemented in both ..." may be logged because SIMBL needs to be in a different place to handle sandboxed apps. Just because a check was performed which is classified as an error by the system and therefore was logged doesn't necessarily equate to being a performance-hog.

If you have any questions relating to ColorfulSidebar you might want to try contacting cooViewerZoom at cvz_cooviewerzoom@yahoo.co.jp.

 EasySIMBL is developed by Norio Nomura at norio.nomura@gmail.com.

I'm the guy who makes the installer: simon@simonbarnett.co.za