Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

PsykX

macrumors 68030
Sep 16, 2006
2,744
3,919
Doesn't scale properly at the moment but you get the idea:

Image

Very nice, it gives me the hope to bring back the previous dock, which has received so many applauses when Steve Jobs introduced it to replace the old, flat dock from Tiger.
 

PsykX

macrumors 68030
Sep 16, 2006
2,744
3,919
Nope. I'm probably the only one who's done any work on it. Whatever I end up making will come out whenever I feel like it's finished.

Yeah I understand, we all have things to do outside of this Yosemite world.

Anyways, keep us tuned w/ this thread, good work so far ;)
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Wouldn't mind the help of someone with better gfx skills and a sharp eye to make the dock image for me. As I probably won't edit it beyond what I have now (based off a 1280 x 128 scurve.png I found on leoparddocks).

Link > png / xcf

I could also use some help on my Objective C code because something tells me cDock.m could be written a lot cleaner and probably have less than 500 lines. There's also obvious examples of code that's probably not needed but I'm not sure how to change (like reading settings a bunch of times) and bugs that I'm not sure how to fix (like not being able to change the 3D dock to a normal one when moving to the left/right in a concise manner).

Link > cDock.xcodeproj

Okay so here it is : cDock v5.6

Donwload > cDock

Picture >
sbQ7lEQ.png


qtV5zAK.png


Change log >
Code:
5.6

- Updated bug reporter script
- Updated colorfulsidebar to reflect change to 'iCloud Drive' from 'iCloud'
- Updated credits

- Yosemite
	Return of the 3D dock
	Toggle for indicator lights (white/black)
 

3282868

macrumors 603
Jan 8, 2009
5,281
0
As I probably won't edit it beyond what I have now (based off a 1280 x 128 scurve.png I found on leoparddocks)

Love it! The new 3D dock in DP3 works PERFECTLY and looks amazing! Thank you. If I have the time (extremely overloaded right now), I'll try to check out the app and help in any way.

Thank you!
 

Manic Harmonic

macrumors 6502
Dec 4, 2011
299
1
Wouldn't mind the help of someone with better gfx skills and a sharp eye to make the dock image for me. As I probably won't edit it beyond what I have now (based off a 1280 x 128 scurve.png I found on leoparddocks).

Link > png / xcf

I could also use some help on my Objective C code because something tells me cDock.m could be written a lot cleaner and probably have less than 500 lines. There's also obvious examples of code that's probably not needed but I'm not sure how to change (like reading settings a bunch of times) and bugs that I'm not sure how to fix (like not being able to change the 3D dock to a normal one when moving to the left/right in a concise manner).

Link > cDock.xcodeproj

Okay so here it is : cDock v5.6

Donwload > cDock

Picture >
Image

Image

Change log >
Code:
5.6

- Updated bug reporter script
- Updated colorfulsidebar to reflect change to 'iCloud Drive' from 'iCloud'
- Updated credits

- Yosemite
Return of the 3D dock
Toggle for indicator lights (white/black)

Looks great! I wish I could help with the graphics or coding but I have very little knowledge of both. Do you think it's still possible to have dock reflections or is that a no-go since Yosemite doesn't have any at all?
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Looks great! I wish I could help with the graphics or coding but I have very little knowledge of both. Do you think it's still possible to have dock reflections or is that a no-go since Yosemite doesn't have any at all?

No go because AFAIK there is no reflection switch that's just default off in Yosemite and it would be too much work to try to implement. Although if someone knows how to grab and force update the dock icons I'm sure reflection could be done > http://pegolon.wordpress.com/2011/01/20/adding-a-reflection-to-an-nsimage/

Just like I'm sure it's possible to grab and force the indicators to be a custom image I just don't know how and touch and go guessing at things is a freaking pain because I really have almost no clue what's happening if a change I make either does nothing or crashes the dock.

Heck I'm still not exactly 100% sure on how the removal of the dock in cvz's original BlackDock works and it was just sheer luck that I was able to mod the Yosemite dock so easily by saving the Floor layer and then nuking something then editing what I saved and then re-adding it. I mean the entirety of the Yosemite code (sans repositioning and coloring) is just

Code:
       // check if Yosemite
       if (osver.minorVersion >= 10) {
            // code for forcing indicator colors
            orig_CFPreferencesCopyAppValue = dlsym(RTLD_DEFAULT, "CFPreferencesCopyAppValue");
            rebind_symbols((struct rebinding[1]){{"CFPreferencesCopyAppValue", hax_CFPreferencesCopyAppValue}}, 1);
            
            // code for forcing indicator colors
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                CFNotificationCenterPostNotification(CFNotificationCenterGetDistributedCenter(), CFSTR("AppleInterfaceThemeChangedNotification"), (void *)0x1, NULL, YES);
            });
            
            CALayer *floor_backup;
            CALayer *border_backup;

            // make 2 copies of floorLayer and edit background/color
            if (!self.floorLayer) {
                self.floorLayer = [BlackDockFloorLayer layer];
                floor_backup = self.floorLayer;
                self.floorLayer = [BlackDockBorderLayer layer];
                border_backup = self.floorLayer;
            }

            // delete most of dock
            Class dockFloorLayer = NSClassFromString(@"DOCKFloorLayer");
            for (layer in arr)
                if ([layer isKindOfClass:dockFloorLayer])
                    break;
            layer.sublayers = nil;

            // add and transform saved layers
            [layer addSublayer:floor_backup];
            [floor_backup resizeWithOldSuperlayerSize:CGSizeZero];
            [layer addSublayer:border_backup];
            [border_backup resizeWithOldSuperlayerSize:CGSizeZero];
        }
 

PsykX

macrumors 68030
Sep 16, 2006
2,744
3,919
Great work man !

The sides of the dock could be improved, because the round corner has a varying radius in the final rendering of the Dock in Yosemite, while it shouldn't. But honestly, this is awesome work, you're fixing one of my major concerns before the release date of this OS, props !

Wish I could help, but I'm no designer and this code in Objective-C goes beyond my knowledge.
 

Galaxas0

macrumors regular
Mar 2, 2011
132
94
No go because AFAIK there is no reflection switch that's just default off in Yosemite and it would be too much work to try to implement. Although if someone knows how to grab and force update the dock icons I'm sure reflection could be done > http://pegolon.wordpress.com/2011/01/20/adding-a-reflection-to-an-nsimage/

Just like I'm sure it's possible to grab and force the indicators to be a custom image I just don't know how and touch and go guessing at things is a freaking pain because I really have almost no clue what's happening if a change I make either does nothing or crashes the dock.

Heck I'm still not exactly 100% sure on how the removal of the dock in cvz's original BlackDock works and it was just sheer luck that I was able to mod the Yosemite dock so easily by saving the Floor layer and then nuking something then editing what I saved and then re-adding it. I mean the entirety of the Yosemite code (sans repositioning and coloring) is just

Code:
       // check if Yosemite
       if (osver.minorVersion >= 10) {
            // code for forcing indicator colors
            orig_CFPreferencesCopyAppValue = dlsym(RTLD_DEFAULT, "CFPreferencesCopyAppValue");
            rebind_symbols((struct rebinding[1]){{"CFPreferencesCopyAppValue", hax_CFPreferencesCopyAppValue}}, 1);
            
            // code for forcing indicator colors
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                CFNotificationCenterPostNotification(CFNotificationCenterGetDistributedCenter(), CFSTR("AppleInterfaceThemeChangedNotification"), (void *)0x1, NULL, YES);
            });
            
            CALayer *floor_backup;
            CALayer *border_backup;

            // make 2 copies of floorLayer and edit background/color
            if (!self.floorLayer) {
                self.floorLayer = [BlackDockFloorLayer layer];
                floor_backup = self.floorLayer;
                self.floorLayer = [BlackDockBorderLayer layer];
                border_backup = self.floorLayer;
            }

            // delete most of dock
            Class dockFloorLayer = NSClassFromString(@"DOCKFloorLayer");
            for (layer in arr)
                if ([layer isKindOfClass:dockFloorLayer])
                    break;
            layer.sublayers = nil;

            // add and transform saved layers
            [layer addSublayer:floor_backup];
            [floor_backup resizeWithOldSuperlayerSize:CGSizeZero];
            [layer addSublayer:border_backup];
            [border_backup resizeWithOldSuperlayerSize:CGSizeZero];
        }

I think you want this: https://developer.apple.com/library/ios/samplecode/Reflection/Listings/ReadMe_txt.html
 

PsykX

macrumors 68030
Sep 16, 2006
2,744
3,919

I joined a screenshot. It's as if the rounded corner of the Dock is getting stretched at a certain point, the radius varies. Or maybe it's designed to be like this ?
 

Attachments

  • Capture d’écran 2014-07-14 à 22.39.20.png
    Capture d’écran 2014-07-14 à 22.39.20.png
    175.3 KB · Views: 148

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
I joined a screenshot. It's as if the rounded corner of the Dock is getting stretched at a certain point, the radius varies. Or maybe it's designed to be like this ?

Edit. ~/Library/Application Support/cDock/3D.png if you don't like the look.
 

usego

macrumors newbie
Aug 18, 2014
2
0
Great Software Thanks a lot

is it also possible to t^change dock Indikator ligth ? The Old SW docker Run under 10.10 but it cant give me back the Arrow (in Color)
any Help ? Certenly i like more the 10.9 Dock ! The 10.10 is so bad !!

Thanks
usego
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Is it also possible to change the dock Indicator light ?

Nope in Yosemite the indicators are software drawn so only a plugin like cDock would be able to change them and I doubt I'll be adding this.
 

AppleFan22

macrumors 6502
Jan 3, 2014
282
31
I found the Dock icon ages ago (pre Yosemite), and I can't remember where it is, and I can't find it in the search in Finder, nor in a Spotlight Search. Can someone give me the Dock's enclosing folder address please?
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
I found the Dock icon ages ago (pre Yosemite), and I can't remember where it is, and I can't find it in the search in Finder, nor in a Spotlight Search. Can someone give me the Dock's enclosing folder address please?

/System/Library/CoreServices/Dock.app/Contents/Resources/Finder.png
/System/Library/CoreServices/Dock.app/Contents/Resources/Finder@2x.png
 

AppleFan22

macrumors 6502
Jan 3, 2014
282
31
/System/Library/CoreServices/Dock.app/Contents/Resources/Finder.png
/System/Library/CoreServices/Dock.app/Contents/Resources/Finder@2x.png

Awesome, thanks!

----------

Okay, I got to finding out the location of the Dock folder and all of that, but it won't let me do what I'm trying to do. I want to have the Menu Bar using the dark theme, but the dock using the normal theme. Anyone know how I can do this?
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Awesome, thanks!

----------

Okay, I got to finding out the location of the Dock folder and all of that, but it won't let me do what I'm trying to do. I want to have the Menu Bar using the dark theme, but the dock using the normal theme. Anyone know how I can do this?

Requires code injection.

See: https://github.com/b3ll/DarkDock

But that just makes the Dock always dark mode.

I forked it and added a setting file (DarkDock.bundle/Contents/Resources/mode.txt) like a month back: see attached file.

cDock also has this implemented to toggle the indicator colors.
 

Attachments

  • DarkDock.bundle.zip
    6.8 KB · Views: 117

AppleFan22

macrumors 6502
Jan 3, 2014
282
31
Requires code injection.

See: https://github.com/b3ll/DarkDock

But that just makes the Dock always dark mode.

I forked it and added a setting file (DarkDock.bundle/Contents/Resources/mode.txt) like a month back: see attached file.

cDock also has this implemented to toggle the indicator colors.

No, all I want is the Menu Bar always in dark mode, and the Dock in light/normal mode. Any ideas on how I can do this?
 

Lynchx6c4

macrumors newbie
Oct 22, 2014
3
0
i love it thanks a lot! i am just trying to change the dock to the old mavericks or lion dock, so i tried changing the picture in Macintosh HD ▸ Users ▸ Richard ▸ Downloads ▸ cDock ▸ Contents ▸ Resources ▸ app_support ▸ themes ... and renaming with the same name, but the dock didn't change, any idea on how can i change it?

thanks a lot!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.