Arnaud's OSX cloning tutorial

Arnaud is a Baghira user from France and wrote this little Tutorial for setting up an OS X like KDE Desktop in English and French

OS Clone - Step by Step

This will be one of the lastest versions of this document. A Spanish translation and maybe some more screenshots will be the last things I'll add to this tutorial, due to lack of time to maintain it.

Or how to transform your traditional KDE desktop into a "Mac OS X" like desktop.
This is not an exhaustive documentation on Baghira, but rather a mini tutorial for starting well.

Published 2005/08/17 ; Updated 2006/11/30

Version 0.3.7

Synopsis


This documentation is avaible in :
  English
  French

Please mail me any suggestions.

top

Outline


Before


After



Interested? Then follow the guide!


top

Prerequesite

You must have KDE 3.4 and X.Org 6.8 (for the transparency). It is also possible to install under KDE 3.3 : consult the translucency section about the procedure. This tutorial is based upon a 0.7 cvs version of Baghira.


top

Step 1 : Installation of Baghira

First, download latest CVS sources

For information, connections via CVS occur into 2 part : initially log in (cvs ... login, then type the password : here it is an anonymous access, therefore simply type Enter), then checkout (cvs ... co modulename).

Choose a directory (your $HOME directory for example) and open a console, then type:

cvs -d:pserver:anonymous@baghira.cvs.sf.net:/cvsroot/baghira logincvs -d:pserver:anonymous@baghira.cvs.sf.net:/cvsroot/baghira co baghira

You obtain a baghira directory with the sources to compile.

Download KDE admin directory

This directory is necessary to be able to compile the sources of Baghira. Unfortunately, it is only accessible by SVN (there is no CVS access anymore). Ensure you have subversion installed on your computer, then type in the console:

svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin

You obtain an admin directory. Move this directory in the $HOME/baghira directory created previously.

Tip : if you don't have SVN, you can get the admin dir from baghira sources. Just download the latest tar.bz2 archive and copy its admin dir.

Install the dependencies

According to your distribution, all the dependencies needed by Baghira may not yet be installed. For my Mandriva Linux 2005, I had to install the libkde-dev rpm

You are now ready to compile Baghira sources.

Compile the sources and install Baghira

Move to baghira's directory and type in a console :

make -f Makefile.cvs ./configure --enable-final make

then switch to root to finish the installation:

su make install

Final step, you're gonna apply the Baghira theme you've installed so easily. Open the KDE Control Center (kcontrol) > LookNFeel and select the Baghira theme in the two following sections :

Here it is, Baghira is installed on your system, we're gonna have fun to configure it.

A problem during installation ? More tips and tricks on the download page and in the forum.

If you can't definitively manage to get the sources to compile or if you're simply just too lazy, I've made .rpms for Mandriva Linux 2006 : you can find 0.7 release and weekly 0.7 cvs releases (be carefull, the releases are sorted from older to newer, so choose preferably the files at the bottom of the list).


top

Step 2: I want a Mac OS X like menubar!

Here we go ! Let's first add a nice topscreen OS X like menubar.

In the KDE Control Center, go to section LookNFeel > Behavior. Check  ... (Mac OS-style)  in the Menu Bar section.

In baghira's configuration dialog (right click the bab icon in the systray), go to section  Special Widgets  : check   Replace menubar extension . This allows to have the name of the application displayed next to it's menu in the top bar.

Tip: be carefull, maximum width of the menubar replacement applet is set to a really small value by default (8px on my system), so you'll have problems to have correct menus (you'll get a scrolling menu with a <|>> item). To solve this problem, set maximum width to something correct for your screen resolution on the Special Widgets tab (for example, on my system I put 800px for a screen resolution of 1280x1024, which does not seem to make any problems). Then restart kicker from a console (very important or you'll get positionning bugs till next system reboot) :

dcop kicker default restart

Then, right click the menubar and  Add -> Applet -> Baghira starter . Put it on the left and right click on it to change the icons (you'll find Mac icons in baghira sources, sub-directory  starter/Themes . Make your choice!). Also set the panel size to avoid having a half panel displayed instead of the full sized one : put your custom values in "popup options" (400x600 seems a good choice).

Tip : launch an instance of konqueror after icon replacement, so the icons resize correctly. If you installed baghira from rpm, download the tar.bz2 source and just copy the interesting folders.

You can customize the starter by creating shortcuts to program groups,...

Baghira has a session manager applet (it is the  arnaud  item in the menu bar in the snapshot below). Also remind to add other usefull applets (clock, ...) to the menubar. Time and date format can be set in kcontrol > Accessibility > Country. For date format, try  SHORTWEEKDAY dD  and for short date format  DD MONTH .

Once your modifications finished, go in the panel config dialog (see above), Appearance section and click on  Advanced options  : check the  Hide  Applet handles options.

Here's what you should obtain:

Note: on my Mandriva 2005 I had problems with KDE 3.4 to keep my menubar configuration after reboot. I had to readd each applet after restart. The problem comes from the ~/.kde/share/config/kicker_menubarpanelrc file. To avoid this, two solutions: uncheck the  Mac OS-like  option, erase this file, then chech again the  Mac OS-like  option and rebuild your menubar. If it doesn't work, second solution : keep the file read only after you've build the menubar that fits you.


top

Step3 : Configure Baghira

Now, let's dive into baghira's configuration options. We're gonna put your desktop in Jaguar style. Follow these steps, then if you want to try another style, the base configuration section will be anyway unchanged. Other styles examples are avaible in section More Configs ... (you'll find Panther/Brushed/Tiger/Milk styles there).

Launch the  bab  tool from a console to easily configure baghira. As long as you don't explicitly close the program, it will start again at each KDE start (don't close the console the first time you launch bab, you'll close it next restart):

bab

An icon in leg of panther appears in the systray. If you click with the left button, you can change the style of baghira, if you click with the right button you reach the configuration dialog of baghira.

Base configuration

These basic settings will be common to most of the configurations. Options that are not mentionned here will be set further for each style.

General design - key points:

Special widgets - key points:

Decoration - key points:

Mac OS X 10.2 (Jaguar) style


Let's now make some changes to these basic settings to get a nice Jaguar style. The main challenge here is to reproduce the scanlines of first OS X style.

First, change color of window background in kcontrol > Look And Feel > Colors : clic on the window background (1) and enter a light color (#FCFCFC or #ECECEC seems to give the best results). Also change the active (2) and inactive (3) title colors to black.

Then open bab's configuration menu, "General Design" tab :

The kicker and the windows should look fine now.

Finally, we've got to change the menus look. Go to "Menus" tab, and set the values to :

Here's what you should get :

Next problem : the windows are not clearly delimited if you don't use transparency and Composites.
Go to "Decorations" tab and :

See the difference (before / after) :

We're almost done. Next step is to put a nice icon on baghira's Starter applet. I've made an icon set you can find in the sources under /starter/Themes/Apple Panther. Right click on Starter applet to popup the configuration menu and select the icons for each state (base/hover/down).

Button positions

In the KDE Control Center, go to section LookNFeel > Window decorations. In the Buttons tab, check  Use custom titlebar button positions  and configure as follows:

Hey, that looks prettier now !

For those who don't want to spend time with manual configuration, here are the config files. Just download them where you want in your $HOME and :

Jaguar baghirarc       Jaguar colorscheme


top

Step 4: And my icons?

We're on the right way to Mac OS X style, but we have to find smart icons. Luckily, you can find a wonderfull set on kde-look named OS-L.

Download the file in the ~/.kde/share/icons/ directory (~ is your home). Unzip it, you get an OS-L-IconSet-Buildkit/ folder. Enter this folder and launch the buildset script from a console (type F4 from konqueror to open a console in the current directory):

./buildset

Enter the name of the icon you want for K Menu (avaible icons are visible in the 128x128/apps/ folder). Building of the set can take a long time (several minutes on my centrino 1,6 Ghz). When finished, you get a full set in a tar.bz container (OS-L.tar.bz2, in the OS-L-IconSet-Buildkit/ folder).

You can in theory select this set from kcontrol if you let it in this folder, but it failed on a Mandriva Linux 2005 (several icons are not taken in account and, worst, the folder icon is an awfull enlargement of a 22x22 size !). Therefore, the best is to move the set in the kde tree, which make it also avaible for all users. Take the tar.bz and copy it to /usr/share/icons/. Unzip it to get the full set in the /usr/share/icons/OS-L/ folder. Erase the directory ~/.kde/share/icons/ cause it can confuse you when choosing the set from kcontrol (you would get two entries for the OS-L Theme).

Now open kcontrol and go to section LookNFeel > Icons : the OS-L Theme appears in the list. Select it. Hey, hey, pretty nice, isn't it ?

The set isn't all perfect. You'll have to make changes by hand to make it fit exactly your system. Here is what I had to do to make my Mandriva find all its icons. You have to do it for each icon size (xx beeing the size):

Here is a little script to do this automatically (many thanks to Wim Vander Schelden for this script) :

res=`ls -d ??x?? 128x128` for i in $res do cp $i'/devices/Computer_PowerBook.png' $i'/devices/system.png' mv $i'/devices/Network.png' $i'/devices/network.png' cp $i'/filesystems/Personal 2.png' $i'/devices/folder_locked.png' done

We're almost done with the icons, but I recommend you another nice set (for systray icons in particular) : zammi's icon pack (that's for example the juk icon in the systray snapshot of step 2 here above). Just unzip the pack in /usr/share/icons/OS-L/ and restart kde to make changes taken in account (simply logout / login).


top

Step 5: The fonts

The osx-e website holds a nice Mac fonts set. Use mainly Lucida Grande in 10 (Mac base font) and Lucida MAC in 10 (for menus or title bars for example). You just have to download the set and unzip it in /usr/share/fonts/ttf/. Then open kcontrol, section LookNFeel > Fonts, and select your fonts for the various options.

To get icon text shadow (I really like this tip taken from Zammi's config), add following to ~/.kde/share/config/kdesktoprc under FMSETTINGS :
ShadowParameters=0, 1, 16.0, 192.0, 2, 4, 0
Then logout/login to get the changes taken in account. Here's what you get :


There's an issue with the font size and icons don't fitting in the menubar :

Try setting "Menu" font size (in kcontrol) to "Lucida Mac 10". The menubar seems to adapts itself to the font size to display the whole text, but there is visibly no adaptation for icon size. Don't know why ...


top

Step 6: A pretty Finder

Baghira has a pretty sidebar for konqueror. Open konqueror and select the top most tab in the sidebar. Right click on it then Configure > New > Add Baghira Sidebar . A new tab appears on top of the sidebar, select it. Nice, isn't it?

Now open the file ~/.kde/share/config/konqsidebartng.rc and put HideTabs=true in the sections you wish ([filemanagement] mainly). The tabs of the sidebar disappear. You can easily customize the lower part of baghira's sidebar by drag'n drop.

Customize also the toolbar to make it more Mac like (right clic on the beginning of one toolbar to popup a config menu). Here are my settings, respectivly for Main Bar and Location Bar (which are the only toolbars I show) :

I had problems to make the location bar stand on the same line as the main bar. To do it I had to do the following : Settings > Load View Profile (choose another profile, say "KDE Development") then switch back to profile "File Management", the location bar should now be on the same line. Drag the window edges to fit your desired size and save the profile with "save window size in profile" option.

Finaly, to be able to have Finder displayed in the title bar when you open konqueror, create a script (see Baghira website for more information on that). A really simple script to go on:

konqueror --profile filemanagement --caption Finder
to save as finder where you want (in /usr/bin/ for example). You then just have to make a link to an application on your desktop with the right command line ( /usr/bin/finder ) and give it a nice icon.

Here's what you should get (notice that I set the style to Brushed - this is a complex story to know where use Brushed or not, see the related style section here under):


top

Step 7: A touch of translucency

For translucency, you need:

Finally, restart KDE and ... that's it! You get nice translucent windows :

On my laptop, it's far too slow to be usefull for daily use (I don't have a NVidia board). So I deactivated it (maybe in a future KDE version it will be more powerfull).

And, it's still experimental, that means lot of bugs. More infos on that on the site.


top

Step 8: Replace the docker

You need a real dock to make all that really look like Mac OS X. You can find several; personnaly, I use kxdocker, quite buggy but still one of the best. To install it, download the sources of the two packages : kxdocker and resources. This one must absolutly be installed before kxdocker (with latest kxdocker releases, resources package isn't mandatory anymore - although it provides usefull themes and icons).

Let's take a look at the installation:

You should finally get something like that:

Note: there's a problem when activating the translucency with kxdocker. You get a shadow for the whole expanded kxdocker, which is rather awfull. To solve this problem, try this simple script .


top

Step 9: Did you say Exposé ?

Another OS X great feature is Exposé. It is a fullscreen task manager, letting you see all your opened windows on one single view. Fortunately, you can find a KDE application called Komposé that does the same.
It's not too hard to install (just ./configure, make, make install). Then you can configure Komposé (show all your applications by virtual desktop or in one single view, way screenshots are taken, ...).
Here it is in action :

There is another Exposé-like application, called Skippy. It offers a nice Exposé feature which is grouping windows by application (say for example GIMP which opens at least as 2 or 3 windows) and recover the whole group at the same time. Unfortunately, it doesn't seem to be maintained anymore (last version goes back to May 2004).


top

Step 10 : Non-Qt apps

Non-Qt applications (The Gimp, Firefox, Thunderbird, ...) do not take the deco and style in account. There isn't any common way to solve this problem, but for the ones that can be themed, there's a hope a OS X theme is avaible.
An exemple of skinnable app is the mozilla suite. I use these themes : Brushed for Firefox and CrossOver for Thunderbird.

What about the gtk-qt engine ? Indeed, you could (should) use the gtk-qt engine to provide a global answer to this problem. But ... it seems to be extremly buggy when used with Baghira : lots of gtk application just crash right after opening. At least, this is how it behaves on my system and on a lot of other users system, according to recurrent posts on the help forum. Anyway, some users seem to get it to work without any major problem, as long as they don't use qt fonts (put some Monotype font instead in the gtk-qt engine configuration tab of kcontrol > Look And Feel section). Thanks to Angel for this tip.


top

Finished!

At last, put a nice wallpaper and... come on, stop gazing at the screen, that's real, you did it ;)


top

More Configs ...

Here are some other suggestions for configuration.

For those who don't want to spend time with manual configuration, you'll find the config files at the end of each section. Just download them where you want in your $HOME and :

Mac OS X 10.3 (Panther) style


Baghira configuration

Be sure to have completed the basic settings. Then apply all the steps of the Jaguar style, as the Panther style is almost the same. Now we can apply minor changes to Jaguar style to transform it in Panther (an article here about Panther's new look and differences with Jaguar).

First, switch the default style to Panther :

Then we can start the changes. The pinstripes in the menu and topscreen menubar backgrounds are nearly invisible in Panther, so put scanlines contrast to min in baghira's "General Design" config tab. Then go to "Menus" tab and change background 1 and background 2 colors to : Second change : the scanlines have been eliminated entirely from window title bars. Fortunately, this is already set in baghira's Panther style. See "Decoration", Panther style tab: the Title bar effects should be "Gradient" (keep the default values, that's fine). Also put a 6px border size (for the same reasons as for Jaguar style).

Third change : the "Chooser" widget. Here is the explanation Thomas gives in the Help section : with Panther, Apple introduced a new Widget, the "Chooser" that is basically a Tab, but looks like a button. In baghira's "Special Widgets" config tab, you can choose separately for Aqua and Brushed Metal designed Applications, if you wish the Tabs to appear as "Tab"s, as "Chooser"s or let baghira decide what to use by selecting "Clever" (in the latter case, Tabs on Dialog will appear as Choosers and as Tabs elsewise).
So put the options to :

The application switcher

In Panther, Apple introduced a new application switcher (see this article). I haven't yet found anything to reproduce it, but to stay in the style, you can change kxdocker theme to a full rounded corner docker : I've made a theme starting from the default theme, you can find it here. Just copy the theme in kxdocker theme directory (usually /usr/share/apps/kxdocker/themes/) and select it from the Themes tab in kxdocker config panel. Here is the result :

Here it is, we've got a fine Panther looking desktop !
The config files are here under.

Panther baghirarc       Panther colorscheme (same as Jaguar actually)

Mac OS X 10.4 (Tiger) style

... Section not finished ...
Be sure to have completed the basic settings.
(an article here about Tiger's new look and differences with Panther)

Milk style


This style is inspired of the original Milk theme developped by Max Rudberg. This variation needs a special font : HandelGotD. Unfortunately, this one is not freeware. You can find it in proprietary softwares (CorelDraw, ...) or you can manage to get free fakes from internet, or even get it in some themes (I don't know if it is the proprietary version, but looks like, so this is barely legal). Thanks to Zammi for his configuration file and colorscheme that helped me reproduce his desktop.

Baghira configuration

First, be sure to have completed the basic settings.

Then, switch general design to Milk :

On Special Widgets Tab :

On Decorations Tab :

Colorscheme

Open kcontrol > Look and Feel > Colors and change the following colors :

Fonts

Put HandelGotD font to everything except monospace font. According to your screen resolution, 11 to 14px should be OK. I've put for example 14px for the menubars and 12px for desktop/filemanagement.
Don't forget to change date and time fonts of the clock applet.

Icons and wallpaper

You need brighter icons for this theme, mostly white should be good. See the screenshots and take the icons that fit you best.
Change the wallpaper to someting nice also (the one on the screenshots comes from deviantArt).

Finally, here it is. A smooth theme, highly loved in the Mac community.
The config files are here under.

Milk baghirarc       Milk colorscheme

I've found a nice alternative config from Vicko which gives an olive Milk. Nice. Here are the config files : Olive Milk baghirarc and Olive Milk colorscheme.

Brushed Metal style


The Brushed Metal style is a particular style in OS X story. It's a style that has always be present on OS X, but that is not intended to be applied to all windows. Apple's ever-changing guidelines for when and where to use the brushed metal look can be found on Apple's site. Simply said, you should use brushed style if the application :

You should not use a brushed metal window if the application:

OK, that's Apple point of view but if you like the style, why not put brushed metal everywhere ;) ? I've myself worked a long time with a fully brushed metal skinned desktop, just because I had never seen such an amazing style on my penguin !

Baghira configuration

So here we go. Be sure to have completed the basic settings.
Then change the "Menus" config tab :

Menus - key points:

On Decorations Tab :

Changing the menubar

You can also customize the menubar itself to have a better appearance: right click on the bar,  Configure panel  then choose a background image from baghira's Themes directory (starter/Themes) and you can even check  Colorize to match the desktop color scheme 

At last, why not change the Starter applet icon to something more in the style ?! Take the icons in starter/Themes/Apple Aqua.

Finally, you get a brand new style, quite fine to my opinion !
The config files are here under.

Brushed baghirarc       Brushed colorscheme (same as Jaguar actually)


top

Thanks:

To Thomas who does a great job developping this theme and is furthermore very present on the forums to help users.

To Zammi who provides beautifull sreenshots - that make me discover the theme and helped me configure it great (lots of tips in this tutorial are taken from Zammi's config). You can find two of his desktops here and here (milk). I can't manage to choose which style I prefer ;-).


top

Appendices:

Baghira's website: http://baghira.sourceforge.net/
KDE-look: http://www.kde-look.org/
OS-L icons: http://www.kde-look.org/content/show.php?content=16564
OSX-E website: http://www.osx-e.com/
Mac fonts: http://www.osx-e.com/downloads/misc/macfonts.html
X-Org 6.8: http://xorg.freedesktop.org/wiki/
Subversion: http://subversion.tigris.org/project_packages.html
Jaguar baghirarc: http://baghira.sourceforge.net/Jaguar_baghirarc
Jaguar colorscheme: http://baghira.sourceforge.net/BaghiraJaguar.kcsrc
kxdocker: http://www.xiaprojects.com/www/prodotti/kxdocker/main.php
shadow script for kxdocker: http://www.kde-apps.org/content/show.php?content=27241
Mac OS X Exposé: http://www.apple.com/macosx/features/expose/
Komposé: http://kompose.berlios.de/
Skippy: http://thegraveyard.org/skippy.php
Brushed theme for Firefox: https://addons.mozilla.org/themes/moreinfo.php?id=548&application=firefox
CrossOver theme for Thunderbird: https://addons.mozilla.org/themes/moreinfo.php?id=665&application=thunderbird
gtk-qt engine: http://www.freedesktop.org/Software/gtk-qt
Panther's new look on arstechnica.com: http://arstechnica.com/reviews/os/macosx-10.3.ars/4
Panther's new application switcher: http://www.ninisworld.com/thecorner/tutorials/osxappswitch.html
KxDocker panther theme: http://baghira.sourceforge.net/panther_style.tar.bz2
Panther baghirarc: http://baghira.sourceforge.net/Panther_baghirarc
Tiger's new look on arstechnica.com: http://arstechnica.com/reviews/os/macosx-10.4.ars/3
Max Rudberg's Milk theme: http://www.maxthemes.com/themes/?theme=Milk
HandelGotD font : http://www.deviantart.com/deviation/11860673/
DeviantArt Fruity Milk Wallpaper: http://www.deviantart.com/deviation/15718919/
Milk baghirarc: http://baghira.sourceforge.net/Milk_baghirarc
Milk colorscheme: http://baghira.sourceforge.net/BaghiraMilk.kcsrc
Olive Milk from Vicko on kde-look.org: http://kde-look.org/content/show.php?content=25711
Olive Milk baghirarc: ...
Olive Milk colorscheme: ...
Apple's guidelines for Brushed style: http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGWindows/chapter_17_section_3.html#//apple_ref/doc/uid/20000961-CHDHHBGJ
Brushed baghirarc: http://baghira.sourceforge.net/Brushed_baghirarc
Zammi's icon pack: http://www.kde-look.org/content/show.php?content=23535
Zammi's milky desktop: http://www.kde-look.org/content/show.php?content=30919





Copyright (c) 2005-2006 Arnaud MAGOUS.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License" or can be found here.
eM@il : arn34@club-internet.fr