From Fedora Project Wiki
Artwork ArtTeamProjects WikiDesign ArtTeamN1.png


Fedora Theming Overview

There is a heckuva lotta stuff you can change the look of in Fedora. Isn't open source software great? :) Even better, you can unify the look of the entire distribution by following a common theme across these customizable screens/widgets/layouts/whatchamacallits.

If you've got great ideas for a design but are not technically-inclined, or want to learn how to code up your own themes but need help - no worries. Pass your mockups along; you can upload them to ThemeConcepts - and be sure to post the link to fedora-art-list so we can all marvel at your handiwork!

Here's an overview of the components that have gone into past Fedora themes so you can get an idea of what you can change the look of and how to test out your artwork.

Artwork seen during installation

This is all artwork users will only see on a limited basis - during and directly after installation. This is not the artwork users will be looking at day in and day out.

Anaconda Prompt Screen

Only seen during installation. Pretty much the *first* thing you see when you boot up with the install CD/DVD.

File:Artwork ThemingOverview 01Syslinux.png
Description: Splash screen used at the boot prompt with syslinux/isolinux. This gets transformed into the syslinux specific format.
File Name + Extension: same image, two locations:
  • /usr/lib/anaconda-runtime/boot/syslinux-splash.png and
  • /usr/share/anaconda/pixmaps/syslinux-splash.png
Package: fedora-logos / redhat-logos
Size: 640x300 pixels
Colors: 16-color palette (should be an indexed .png with #000000, #ffffff, #cdcfd5, #5b6c93, and #c90000 in your palette).
Testing Notes: The final file format of this graphic is 'lss'. To test it out there are programs available such as ppmtolss that will let you convert this image to lss to try it out (of course to use that you'd have to convert to ppm first. :) ) Once you have converted it to lss, create an installation CD, putting your newly-created lss file in the /isolinux directory, naming it 'splash.lss'. --[MairinDuffy]

Anaconda Screen - Splash

Only seen during installation. There is a 'splash' component to the wizard as well as a customizable banner. Appears after the first screen above.

File:Artwork ThemingOverview 02AnacondaSplash.png
Description: This is the the "splash" component to the Installation Wizard. It is comprised of two pieces of artwork...the header [1] and the center image [2] .
File Name + Extension: usr/share/anaconda/pixmaps/anaconda_header.png
Package: fedora-logos / redhat-logos
Size: 800x88 pixels
Colors: No color limitations.
File Name + Extension: usr/share/anaconda/pixmaps/splash.png
Package: fedora-logos / redhat-logos
Size: The current graphic is 507x388 pixels. This image has some flexibility to vary in size.
Colors: No color limitations.
NOTE: Image01 should include the following Copyright text: Copyright (C) 2003 - 2024 Red Hat, Inc. and others. All rights reserved.

Anaconda Screen - Progress

Only seen during installation. This is the 'countdown' screen after you've already picked all your preferences and let the installer do its magic. :)


File:Artwork ThemingOverview 03AnacondaProgress.png
Description: This is the the "progress" component to the Installation Wizard. It is comprised of two pieces of artwork. the header (same as Anaconda Prompt Screen - Splash) and the center image.
Graphic 1
Same as graphic [1] from Anaconda Prompt Screen - Splash
Graphic 2b
File Name + Extension: usr/share/anaconda/pixmaps/progress_first.png
Package: fedora-logos / redhat-logos
Size: 500x325 pixels
Colors: No color limitations.
Graphic 2c
File Name + Extension: usr/share/anaconda/pixmaps/progress_first-lowres.png
Package: fedora-logos / redhat-logos
Size: 350/225 pixels
Colors: No color limitations.
NOTE: Both 2b/c should include the following Copyright text: Copyright (C) 2003 - 2006 Red Hat, Inc. and others. All rights reserved.

First Boot

Users only see this the very first time they boot their system after installing it. It walks the user through additional configuration of their system post-installation (keyboard layout, language, time zone, etc.) There is a splash (shown in screenshot below) as well as a banner along the left side.

File:Artwork ThemingOverview 06Firstboot.png
Description: Walks user through additional configuration of their system post-installation. It is comprised of two pieces of artwork...the banner along the left side [1] and a splash image [2] .
Graphic 1
File Name + Extension: /usr/share/firstboot/pixmaps/firstboot-left.png
Package: fedora-logos / redhat-logos
Size: 160x600 pixels
Colors: No color limitations.
Graphic 2
File Name + Extension: /usr/share/firstboot/pixmaps/splash-small.png
Package: fedora-logos / redhat-logos
Size: 560x320 pixels
Colors: No color limitations.
NOTE: On large screens, firstboot will not resize to fill the window. Instead, the background color02 chosen for RHGB will be the background color.
NOTE: Additional artwork for firstboot is located in the /usr/share/firstboot/pixmaps directory/. --[MairinDuffy]
Testing Notes: Copy all of your artwork to /usr/share/firstboot/pixmaps, making sure to backup the originals if you care about them. :) Now, run (as root), /usr/sbin/firstboot --debug. This will spew a bunch of stuff out to your terminal - let it finish - and eventually you'll see a firstboot item appear in your tasklist/window list. Firstboot likes to pop under you see :) So you'll need to click the 'show desktop' icon in the lower left corner of your screen to hide all of your open windows, then click on the firstboot item in the tasklist/window list to see firstboot running with your artwork. You should be able to click through the screens. --[MairinDuffy]

Artwork seen during bootup

Below is artwork users will see every time they boot their system.

GRUB (Grand Unified Bootloader)

This is seen *every time the computer boots*, and is used to select the kernel to run as well as other boot-time options. Note that for FC5, some people complained that this screen was too bright and hurt their eyes - people are used to a dark screen for this.

File:Artwork ThemingOverview 04Grub.png
Description: Seen every time the computer boots, this screen is where the selection of which kernel to run and other boot-time options, are made.
File Name + Extension: /boot/grub/splash.xpm.gz
Package: fedora-logos / redhat-logos
Size: 640x480 pixels
Colors: 16 color palette (should be an indexed .xpm, compressed with gzip with #000000 and #ffffff in your palette).
NOTE: The selection bar is black and so the image created should take care to allow for the selection bar to be visible.

Plymouth

Plymouth is a replacement to RHGB which starts even earlier (before / is mounted) but reather than using Xorg it uses the frame buffer device to show graphics while the system is booting. Different boot splash screens are available though numerous plugins, which in fedora are distributed separately from the base (plymouth-plugin-*). If the kernel console mode is set to a graphical vga mode (add vga=0x318 to the kernel line), the default graphical plugin is used. If the system starts in text mode or the graphical plugin failed to initialise, the text mode plugin is used. The text mode plugin could allow ansi art to be shown on the page with the bottom line holding the progress bar. There are two graphical plugins already present. The "fade-in" plugin uses fades the distribution logo in and out in the centre of the screen, and the "spinfinity" plugin shows the logo with a swirling animation composed of a series of png images (screencast is available).

Because plymouth is run before / is mounted, it needs all files it will be using to be included in the initial ram-disk (initrd). This includes the executable files, images and any libraries used. The system currently links against just one library, libpng, which allows the reading of PNG images. The system can boot using one of many vga resolutions and including a PNG image for each possible resolution will mean the ramdisk not to becomes rather big (which is a bad thing for boot times). Although library

Essentially any animation is possible with the restrictions of space on the ram disk and CPU usage during the boot. The user may be staring at this for a while depending on how slow startup is, so make this pretty. :)

GDM (Gnome Display Manager)

Basically, the login screen. Fedora 9 changed the way it looks and works, for example it is themed from GTK+, unlike the previous versions. The intention is to use it also for the unlock screen dialog. Still work-in-progress.

GNOME Splash Screen

NOTE: Please don't focus on this graphic piece as it's turned off by default in both upstream and Fedora's GNOME. It's basically a little graphic that shows GNOME's startup, but GNOME starts up quick enough these days that it's not really necessary anymore.

File:Artwork ThemingOverview 08ExtensionSplash.png
Description: Splash screen after a user successfully authenticated on login screen. (Currently off by default.)
Image01
File Name + Extension: /usr/share/pixmaps/splash/gnome-splash.png
Package: fedora-logos / redhat-logos
Size: The current image is 503x420, though the dialog will adapt to slightly different sizes.
Colors: No color limitations.
Color01
File Name + Extension: splash-widget.c
Package: gnome-session
Specs: Provide HEX numbers for color01. The color of the GNOME splash screen is hardcoded in splash-widget.c.
NOTE: The position of the icons and text is hardcoded in splash-widget.c in gnome-session and may need tweaking for a different image.

Image01 should include the following Copyright text: Copyright (C) 2003 - 2006 Red Hat, Inc. and others. All rights reserved.

High-Visibility Artwork

This is artwork users are going to see all the time - so let's get it right. :)

Background/Wallpaper

File:Artwork ThemingOverview 09Background.png
Description: Background for desktop.
File Name + Extension: usr/share/backgrounds/images/default.png
Package: fedora-logos / redhat-logos
Size: Currently supporting five (5) popular sizes. Their names and corresponding sizes are as follows:
  • default.jpg (2048x1536)
  • default-5_4.jpg (1280 x 1024)
  • default-dual.jpg (2560x1240)
  • default-dual-wide.jpg (2560 x 960)
  • default-wide.jpg (1680 x 1050)
Colors: No color limitations.
NOTE: Create variations for the five sizes listed above. Some colors might appear brighter or darker depending on the monitor, please test the image on a variety of monitors for optimal use.

GNOME Screensaver Lock Dialog

NOTE: Please don't focus on this graphic piece as it's turned off by default in both upstream and Fedora's GNOME.


File:Artwork ThemingOverview 10LockDialog.png
Description: Login dialog which appears when the user returns after screensaver is running. Currently off by default.
File Name + Extension: user/share/gnome/screensaver/lock-dialog-system.png + lock-dialog-system.gtkrc
Package: fedora-logos / redhat-logos
Size: 400x314 pixels
Colors: No color limitations.
NOTE: Design with space for text to shrink and grow to accommodate prompts, translated text, as well as long usernames.

KDE Artwork

Let's not forget the KDE fans. :)

KDE Splash

Description: KDE ksplash is a part of redhat-logos. The theme should be installed in /usr/share/kde4/apps/ksplash/Themes/X (X is the name of the Theme). There is one (1) preview image, one (1) resource file, and sprites in PNG format.
Preview Screenshot
File Name + Extension: /usr/share/kde4/apps/ksplash/Themes/X/Preview.png
Package: fedora-logos / redhat-logos
Size: No size limitations.
Colors: No color limitations.
Resource File
File Name + Extension: /usr/share/kde4/apps/ksplash/Themes/X/Theme.rc
Package: fedora-logos / redhat-logos
PNG sprites
File Name + Extension: /usr/share/kde4/apps/ksplash/Themes/X/1600x1200/*.png
Package: fedora-logos / redhat-logos
Size: No size limitations.
Colors: No color limitations.
Note: KDE4.0 KSplash engine can do alpha blending of sprites, start and stop animations on events (to show progress bar consisting of animated icons usually), but can't do alpha blending with desktop background (no rounded corners!)

KDE Login

Description: KDE Login is comprised of one (1) preview image, one (1) resource file, and PNG/SVG sprites.
Preview Image
File Name + Extension: screenshot.png
Package: fedora-logos / redhat-logos
Size: No size limitations.
Colors: No color limitations.
Resource File
File Name + Extension: X.xml
Package: fedora-logos / redhat-logos
NOTE: Layouting engine allows to scale and position sprites using pixel and percentage values, it also has parameters like max/min height/width to stretch user list. Theme must have user list (default user icon themeable with PNG icon), session select and shutdown menu buttons (PNG/SVG sprites and/or localized text).
PNG/SVG Sprites
File Name + Extension: *.png
Package: fedora-logos / redhat-logos
Size: No size limitations.
Colors: No color limitations.
NOTE: SVG engine used in KDM is very basic and doesn't support advanced features of inkscape like blurring.

Non-Release Dependent Artwork

There's other types of artwork we can change but don't necessarily have to change with each release. A pretty exhaustive list is available on Marketing's Fedora Branding Page . A small sample follows below.

Metacity (Window manager)

The main visual component of metacity themes is the titlebar of windows, but there are other things you can do with it too.

Designing Metacity Themes

GTK (Gimp Tool Kit)

This refers to the basic look of windows... their color, the appearance of their widgets, etc. The default GTK+ engine we use in Fedora is Clearlooks.

The Widget Factory is a great program for testing the look of your themes. It also has a great screenshot of the program, displaying all of the different widgets that can be styled for GTK2. Users can get the widget factory on Fedora repository with the following command

yum install thewidgetfactory

GnomeArt GTK2 Theme Creation Tutorial