Designing Skins

Designing Advanced GetRight® Skins.

GetRight 4.3 and higher includes support for a much more advanced and free-form style of skin design. These are more difficult to design, but can also be much more creative and rewarding:

If you have never designed any skins before, it would probably be wise to do a couple standard skins first to get a feel for how things work.

GRS Files:

    Getright Skins are stored as GRS files. These are regular ZIP files with the extension renamed to GRS. To view the contents of a GRS file, rename the file to ZIP and then view the zip file.

    The GRS (ZIP) file can contain the following files:

  1. skin2.bmp
  2. skin2.ini
  3. click.wav

    (In addition to the standard Skin files.)

  4. skin.bmp
  5. skin.ini


    The skin2.bmp (unlike the standard skin bitmap) can be ANY size or shape.

    Full size

    As seen above, the skin2.bmp contains all the graphics used in the skin.

    • The circle in the upper left is the main background for the skin.
    • The matching circle blow with the gray outline is the "unfocused" version of the skin. Normally this is the blue bar at the top of a window that turns gray when another window is active. Most skins would not need the inactive window to contain the entire skin, but in this case, it does.
    • The various blocks of buttons to the right of the main windows contain the different states for all the buttons: Up (normally in place on the window), Mouseover, and Down. Also the main "Control" button needs to have variations for Pause, Resume, Stop, and View.
    • The colorized GR logo is the complete progress bar. In this case, the same graphic is used for both Segmented and unsegmented.

    NOTE: Unlike the standard skins, there is no text placed on the buttons by GetRight in advanced skins. The designer (you) must label the buttons with appropriate text or images directly in the graphic.

    TIP: If your graphics program (Photoshop, etc) has a 'Grid' option, use this for placing the different buttons. In fact, this will be your best friend when doing the INI file. It's much nicer if buttons are spaced at easy 50 or 100 pixel intervals (or whatever nice round number is appropriate for your design).

    NOTE: 24bit "true-color" bitmaps will not work. The SKIN.BMP file must be 8 bit (256 color) or less. (24bit might work on Win2000/ME, but not on 95/98.)


      Here's where the work is... The INI file now sets locations and sizes of ALL the buttons, progress bars, animation, etc. on the skin!

      The INI file for the circle skin is here (renamed as a TXT file to view easier from the web). It's probably easiest to look through that to figure out the settings.

      Most elements (be they buttons, progress bars, animations) are assigned an X and Y coordinate on the main download window to set the upper left corner of the element. They are also given a height and width value (H,W) to set the size. Other frames of the same element (pressed buttons, animation frames, etc) located elsewhere in the graphic only need an X and Y value.

      Can set default text colors and font. Then can just do exceptions later. If no font is set, the default Windows font is used.
      FontAngle can be used to rotate text.
      FontSizeX and FontSizeY can set the number of pixels per letter.

      Sets the size and location of the main window, inactive title bar area, Transparent color, and Banner Location.
      Window X and WindowY (the main window) should remain at 0,0.
      If the banner Coordinates are set to 0,0 then no banner will be shown and the skin will not be available to shareware users.

      TIP ON BANNER ADS: If you design a skin for the registered version of GetRight, but don't want to exclude Shareware users, you can 'float' the ad to the side or below the main window. A registered user will not see any banner (or empty space), and a shareware user will see the ad below (or beside) the window. You cannot set the banner's coordinates to negative numbers, however.

      The areas used for the Minimize to Tray Icon, Minimize and Close buttons normally found in the titlebar (tho can be located anywhere.) Include Down and Mouse Over (if applicable) states for the buttons.

      The areas used for the GetRight Options, pause/resume/stop/view (Control), and Cancel buttons Include Down and Mouse Over (if applicable) states for the buttons. The Control button states are set in the [ControlButton] INI section

      The control button (usually referred to as the pause/resume button) is the button that shows either pause, resume, stop, or view. The skin needs to provide an up, down, and mouseover state for each of these options. All the states of the control button must be the same size. Since no text is written on the buttons (as in the 'simple' skins) many buttons are required here.

      Sets location and direction(s) of the progress bars.
      It is possible to re-use graphics for several options. For example, the segmenting background or filled can be the same as the unsegmented.

      Graph is Optional. Shows a speed graph similar to that on the bottom right of the Download Status. Shows the speed for the current download. Colors for the background, foreground, and grid lines are also set here.

      An animation block can contain up to 20 frames, on either a continuous or random timer.
      Loopdelay is an extra delay when one loop of animation is finished.
      If Either of the Random settings are set to 1, then the Animation will change on a random number betwen 1 and the set framedelay (or loopdelay). Animation will only play when a download is progressing. Not when paused.

      This sets location and size for the various text fields on the download window. If you don't want to include a particular text field, set it's values to 0,0,0,0.
      You may also set overrides for font sizes, faces, colors and anything else that was assigned in the [Defaults] section.
      Text can be Justified to Left, Right, or Center (L,R,C) by setting ToJustify=C, UrlJustify=R, etc.

      Give yourself Credit.
      SKIN_NAME will set the default name used when someone downloads the skin.


      If you include a WAV file named click.wav file in the skin, that will play whenever a button is clicked.
      There is no INI setting required, just include the file to enable it.