Do you run KDE 4 on Unity? Do you have nightmares about how it looks?
Well, then you should keep reading.
The Branding Package
Definition of Branding Package: A Package that contains Artwork and Configuration files that are specific or can be made specifically (customized) to better the look and feel of a branch.
To make it really easy, all the configuration files, scripts and images have been placed into a single source package, kdebase4-Unity. You can find this package in SVN
Placing the configuration files, script and images into a separate package makes it rather simple to change the branding at your hearts desire, but there's still some things to understand about the source package that has all the important files.
Here's a little knowledge about the Unity KDE 4 Branding Packages. After the Package is built it generates 7 Packages:
task-branding-unity - Pulls in all the packages listed below
kdelibs4-branding-unity - Pulls in configuration and artwork needed for kdelibs
kdm-branding-unity - Pulls in configuration and artwork needed for kdm
kdebase4-runtime-branding-unity - Pulls in configuration and artwork needed for kdebase-runtime
kdebase4-konsole-branding-unity - Pulls in configuration and artwork needed for konsole
kdebase4-workspace-branding-unity - Pulls in configuration and artwork needed for kdebase-workspace
kdebase4-Unity - Pulls in core configuration files
The source file is named branding.tar.xz it's been given a generic name for a reason. This is so it can be changed and the same rpm spec file can be used. The source package when uncompressed has two main categories.
All configuration files and scripts that are not related to theming but affects the default behavior of the Desktop
Here's an Example of items you will find the in "configs" folder
Configuration Example: ktiprc (configs/etc/kde4/share/config/ktiprc) - allows the option to show the "Tip Of The Day" or not.
Configuration Example: kdmrc (configs/usr/share/config/kdm/kdmrc) - The kdm master configuration file
All artwork and theme specific configuration files.
Here's an Example of items you will find the in "themes" folder
Artwork Example: "start-here-branding.svg" (themes/usr/share/icons/oxygen/scalable/places/start-here-branding.svg) - Start Button Graphic
Artwork Configuration Example: KDM Theme Configuration file (themes/usr/share/apps/kdm/themes/Symply-Unity/Symply-Unity.xml) - The Configuration file for the KDM theme "Symply-Unity"
Now that we have taken a look at the source package let's take a look at the spec file for the rpm. There's only a few things to change to make this package your own. Here's the first few lines of the spec:
the "name" variable, in this case "kdebase4-Name" is the name of the core package.
the "version" variable is the version you want your branding package to be at.
the "distro" variable is used to name your package ex.task-branding-name normally your branch or distribution name.
the "cdistro" is the capitalized name of your distribution or branch this variable is used in the Summary section of the generated packages.
If you're copying and editing the file from SVN make sure you also reset the %mkrel variable back to 1
Release: %mkrel 1
Also clear the changelog area and use splog to update it, or edit your changelog manually ex.
- Tue Dec 07 2010 JMiahMan <JMiahMan at name-linux dot org> 2010-1-name2010
- Initial creation of name branding package for KDE 4
Generating the Branding Source Package
You can easily take the existing branding.tar.xz and change files within it, there's another option though. A script has been written that will generate the source package. This script extracts a majority of the theming elements for KDE 4 and compresses them. The script will copy Wallpapers, color schemes, plasma desktop themes, kdm themes, changes to dolphin, Konqueror etc.. from the current running user that the script is ran as. So if you run the script as a user name foo, it will take all of foo's current configuration or most of it and create a source package. This source package can be used as a replacement to the source package in SVN and used with the spec file that has/will be modified. Few modifications may need to be done to the spec file depending on your setup, but not many.
So how does it work.
- Look through the script learning what is copied and looking for any errors or variables you want to change.
- Create a new user on a system, doesn't matter if it's 64 or 32bit, fast or slow or named Beavis
- Download the Script
- Setup a new user (on any system running Unity KDE 4) with the settings and themes you think would be great for your branch or distribution. The only thing system wide that may need to be edited would be the KDM theme.
- (Check out and) Run the attach script as the new user account with your changes
- Place the branding.tar.xz package in your own package building configuration and build the package.
- Nothing other than theme and configuration files are copied, there's no personal data in any files copied, check the tar.xz before you send it.
Let the theming begin!
Skel is not used for kde 4. Skel should be reserved for actual system config files that aren't de specific otherwise you end up with a bunch of config files for multiple applications and DEs that never get used.
So kde has it's own default config file folder that gets removed if kde is removed.
It's located in /etc/kde4/config
There's also a kde first run scritp located in /usr/share/kde4/env/
and even a first run script for Plasma Desktop defaults in /usr/share/apps/plasma-desktop/init/
both of these scripts can be found in the configs folder in the branding.tar.xz source package