@@ -130,7 +132,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
-
rEFInd relies on both built-in and external graphical elements in its user interface, and all of these elements can be replaced by user-specified files. This fact makes rEFInd's "look and feel" highly adjustable even by non-programmers. This page will help you get started in making such changes to each of the major sets of features: banners and backgrounds, icons, and fonts. I conclude this page with pointers to a few themes that users have created for rEFInd.
+
rEFInd relies on both built-in and external graphical elements in its user interface, and all of these elements can be replaced by user-specified files. This fact makes rEFInd's "look and feel" highly adjustable even by non-programmers. This page will help you get started in making such changes to each of the major sets of features: banners and backgrounds, icons, icon selection backgrounds, and fonts. I conclude this page with pointers to a few themes that users have created for rEFInd.
@@ -183,38 +185,63 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
You can create a new background image and logo by placing a PNG or BMP file in rEFInd's main directory and passing its filename to rEFInd with the banner option in refind.conf. If the image is smaller than the screen, the color in the top-left pixel of the image will be used for the rest of the display. This pixel's color is also used as the background color for submenu text, even for full-screen backgrounds. Using a full-screen background image can produce a dramatically different "look" for rEFInd:
+
+
Note that in this example, the text immediately below the icons is white, whereas the hint text at the bottom of the screen is black. The text color is determined by the brightness of the background; rEFInd uses black text against light backgrounds and light text against dark backgrounds. This adjustment is done on a line-by-line basis, so it copes better with horizontal lines than with vertical lines.
If you want to use a full-screen background but also include the rEFInd logo, you can merge the two in a graphics editor by including the refind_banner-alpha.png image from the banners subdirectory of the rEFInd package in your background.
+Beginning with rEFInd 0.7.8, it's possible to stretch or shrink any image to fill the screen. To do so, you should use the banner_scale option in refind.conf: Set it to noscale (the default) to use small banners as such or to crop larger images; or set it to fillscreen to adjust your banner's size to exactly fill the screen. This should be particularly handy for theme developers who want to use a full-screen background image, since you can now do this with just one image file.
+
Icons
+
+
+The core icons in rEFInd 0.9.3 and later come from the AwOken 2.5 icon
+set, with additional icons created by me, and a few others taken from
+other sources. (The details are documented in the README file in
+the icons subdirectory.) These icons have a "flat" appearance, but
+with drop shadows to provide a type of depth. Most of the individual icons
+use just one color, aside from the drop shadow. Of course, the point of
+themes is that you might get bored with, or simply not like, the default
+graphics, so you can change them.
+
As described on various other pages of this document, rEFInd relies on icon files located in its icons subdirectory, and occasionally elsewhere, to define its overall appearance. You can adjust rEFInd's icons in a few ways:
-- You can create new icons, place them in a subdirectory of rEFInd's main directory, and tell the program to use the new icons by setting the icons_dir token in refind.conf. This will affect the appearance of the OS tags, the utility tags, and so on. The names of these icons should match those in the icons subdirectory (although you can substitute PNG for ICNS files, with a suitable filename change), and are fairly self-explanatory. OS tags should be 128x128 pixels, while tags for 2nd-row utilities should be 48x48 pixels. If an icon is missing from the directory specified by icons_dir, rEFInd falls back to the icon from the standard icons subdirectory; thus, you can replace just a subset of the standard icons. rEFInd can use icons in either Apple's icon image (ICNS) or Portable Network Graphics (PNG) format. PNG files are easier to generate on most platforms. You can generate ICNS files in various Apple programs or by using the libicns library (and in particular its png2icns program) in Linux.
+- You can create new icons, place them in a subdirectory of rEFInd's main directory, and tell the program to use the new icons by setting the icons_dir token in refind.conf. This will affect the appearance of the OS tags, the utility tags, and so on. The names of these icons should match those in the icons subdirectory (although you can substitute ICNS for PNG files, with a suitable filename change), and are fairly self-explanatory. The default size for OS tags is 128x128 pixels, tags for 2nd-row utilities are ordinarily 48x48 pixels, and drive-type badges are 32x32 pixels by default. If an icon is missing from the directory specified by icons_dir, rEFInd falls back to the icon from the standard icons subdirectory; thus, you can replace just a subset of the standard icons. rEFInd can use icons in either Apple's icon image (ICNS) or Portable Network Graphics (PNG) format. PNG files are easier to generate on most platforms. You can generate ICNS files in various Apple programs or by using the libicns library (and in particular its png2icns program) in Linux.
-- You can do as above, but place your new icons in the default icons subdirectory. This method is discouraged because using the install.sh script to upgrade rEFInd will replace your customized icons.
+- You can do as above, but place your new icons in the default icons subdirectory. This method is discouraged because using the refind-install script to upgrade rEFInd will replace your customized icons.
- You can customize the appearance of an individual boot loader by placing an ICNS or PNG file in its directory with the same name as the boot loader but with a .icns or .png extension. For instance, if your boot loader program is elilo.efi, you can create a custom icon by naming it elilo.png.
- You can provide an icon for boot loaders stored in the root directory of a filesystem by placing a file called .VolumeIcon.icns or .VolumeIcon.png in that volume's root.
-- You can set a custom badge (the 48x48-pixel icon that identifies the disk type) by creating a file called .VolumeBadge.icns or .VolumeBadge.png in that volume's root. This setting applies to all the boot loaders found on this volume, even if they're in subdirectories.
+- You can set a custom badge (the icon that identifies the disk type) by creating a file called .VolumeBadge.icns or .VolumeBadge.png in that volume's root. This setting applies to all the boot loaders found on this volume, even if they're in subdirectories.
+
+- You can adjust the sizes of icons by using the big_icon_size and small_icon_size tokens in refind.conf. These tokens adjust the size of the first-row OS and second-row tool icons, respectively. The big_icon_size option also indirectly sets the disk-type badge size; badges have sides that 1/4 the size of OS icons. The icons provided with rEFInd are 128x128 for OS icons, 48x48 for tools, and 32x32 for badges. The big_icon_size and small_icon_size tokens cause these icons to be scaled to the desired value; however, for best results you should replace your the default icons with ones generated natively in the desired size. (PNG and ICNS are both bitmap formats, and so will be degraded by scaling operations.) Because ICNS is limited in the sizes it supports, you're better off using PNG if you want to create larger icons.
+As an example of what the combination of icons and backgrounds can do, consider my own Snowy theme, showing the same boot options as the preceding image:
+
+
+
+
Icon Selection Backgrounds
-rEFInd identifies the current selection by displaying a partially-transparent icon "between" the OS or tool icon and the background image. The default icon works reasonably well on both solid and image backgrounds, but if you like, you can customize it by creating new icons in PNG or in Microsoft's BMP format. You should create both 144x144 and 64x64 images and tell rEFInd about them by using the selection_big and selection_small tokens, respectively, in refind.conf. If you omit the large icon, rEFInd will stretch the small icon to fit the larger space; if you omit the small icon, rEFInd will use the default small icon. Because BMP doesn't support transparency (alpha channels), you must use the PNG format if you want your selection background to show the underlying image beneath it. (You can create the illusion of transparency on a solid background by matching the colors, though.)
+rEFInd identifies the current selection by displaying a partially-transparent icon "between" the OS or tool icon and the background image. The default icon works reasonably well on both solid and image backgrounds, but if you like, you can customize it by creating new icons in PNG or in Microsoft's BMP format. You should create both 144x144 and 64x64 images and tell rEFInd about them by using the selection_big and selection_small tokens, respectively, in refind.conf. (If you scale your icons, you may want to adjust the selection tile images appropriately. The big image is 9/8 the size of its matching icons, while the small tile is 4/3 the size of its icons.) If you omit the large icon, rEFInd will stretch the small icon to fit the larger space; if you omit the small icon, rEFInd will use the default small icon. Because BMP doesn't support transparency (alpha channels), you must use the PNG format if you want your selection background to show the underlying image beneath it. (You can create the illusion of transparency on a solid background by matching the colors, though.)
Fonts
@@ -222,7 +249,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
rEFInd's default font is a 14-point (12-point in 0.6.5 and earlier) serif monospaced font. I also include a handful of alternatives in the fonts subdirectory. rEFInd's font support is extremely rudimentary, though; it reads a PNG file that holds the glyphs from ASCII 32 (space) through ASCII 126 (tilde, ~), plus a glyph that's displayed for all characters outside of this range. Thus, rEFInd can't currently display non-ASCII characters or use proportional (variable-width) fonts. You can change the font from one monospaced font to another and change the font size, though.
-If you want to create your own fonts, you can do so. If you're using Linux, the mkfont.sh script in the fonts subdirectory will convert an installed monospace font into a suitable format. You can use it like this:
+If you want to create your own fonts, you can do so. If you're using Linux, the mkfont.sh script in the fonts subdirectory will convert an installed monospace font into a suitable format. (This script works properly for most fonts, but if a font is unusually thin or wide, you will have to adjust the let CellWidth= line near the end of the file.) You can use it like this:
$ ./mkfont.sh Liberation-Mono-Italic 14 -1 liberation-mono-italic-14.png
@@ -264,29 +291,89 @@ to be tedious.
Known Themes
-I used icons from the Oxygen Icons project, both from the Oxygen Refit package and from Gentoo's oxygen-icons package. These icons supplemented or replaced icons that rEFIt used; however, many OS icons (such as those for Windows and Mac OS) are carried over from rEFIt. I've also used a handful of icons for individual Linux distributions from other sources—usually documentation associated with the distribution in question.
-
-In addition to this default icon set, I've received word of three other rEFInd themes:
+In addition to this default icon set, I've received word of a few other rEFInd themes:
-- ecto-plazm's theme
+- Snowy is my own theme. It's built from (mostly) white variants of rEFInd's standard icons and includes a photo of a snowy field as a background image. It's shown earlier on this page.
+
+- ecto-plazm's theme was one of the first independent themes to be created for rEFInd.
-- The Gris Theme (also available as an Arch Linux package.)
+- The Gris Theme (also available as an Arch Linux package) uses a minimalistic white-on-gray design:
+
+
- The Mac theme was created by Wesley Turner-Harris. See Wesley's Web site if you want to contact the creator of this theme.
-- Evan Purkhiser's Minimal theme uses black icons on a gray background of varied brightness.
+- Evan Purkhiser's Minimal theme uses black icons on a gray background of varied brightness, as shown here:
+
+
- Sean Gibbons' rEFInd Next theme is "inspired by both iOS 7 and Windows 8 interfaces." It includes both a background image and a number of OS icons.
+
+
+- Zhu Qunying has created a Slackware-themed banner logo for rEFInd. Although it's not a full theme, I thought I'd mention and show it here:
+
+
+
+- naymlezwun has created an OS X theme for rEFInd.
+
+
+
+- jamaladdeen on deviantART has created another OS X theme that resembles the OS X environment.
+
+
+
+- Brian Lechthaler has created an alternative rEFInd banner:
+
+
+
+
+ - User munlik has created a theme called Regular-theme on Deviantart.
+
+
+
+- Nitrofurano has posted a 1970s-inspired theme on opendesktop.org.
+
+
+
If you've created or discovered another rEFInd theme, please tell me about it so that I can provide a link to it from this page.
-copyright © 2012–2013 by Roderick W. Smith
+copyright © 2012–2015 by Roderick W. Smith
This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.