[scriptable, uuid(bb477da4-dddf-4106-a562-f06c85c7f9a8)]
interface nsIShellService : nsISupports


 Flags for positioning/sizing of the Desktop Background image.
const long BACKGROUND_TILE = 1


const long BACKGROUND_CENTER = 3

const long BACKGROUND_FILL = 4
 Constants identifying applications that can be opened with
const long APPLICATION_MAIL = 0

const long APPLICATION_NEWS = 1


 The default system handler for web feeds
readonly attribute nsILocalFile defaultFeedReader
 The desktop background color, visible when no background image is 
 used, or if the background image is centered and does not fill the 
 entire screen. A rgb value, where (r << 16 | g << 8 | b)
attribute unsigned long desktopBackgroundColor
 Used to determine whether or not to show a "Set Default Browser"
 query dialog. This attribute is true if the application is starting
 up and "browser.shell.checkDefaultBrowser" is true, otherwise it
 is false.
attribute boolean shouldCheckDefaultBrowser


 Determines whether or not Firefox is the "Default Browser."
 This is simply whether or not Firefox is registered to handle 
 http links. 
 @param aStartupCheck true if this is the check being performed
                      by the first browser window at startup, 
                      false otherwise. 
boolean isDefaultBrowser(in boolean aStartupCheck)
 Opens the application specified. If more than one application of the
 given type is available on the system, the default or "preferred"
 application is used. 
void openApplication(in long aApplication)
 Opens an application with a specific URI to load.
 @param   application
          The application file (or bundle directory, on OS X)
 @param   uri
          The uri to be loaded by the application
void openApplicationWithURI(in nsILocalFile aApplication, in ACString aURI)
 Registers Firefox as the "Default Browser."

 @param aClaimAllTypes Register Firefox as the handler for 
                       additional protocols (ftp, chrome etc)
                       and web documents (.html, .xhtml etc).
 @param aForAllUsers   Whether or not Firefox should attempt
                       to become the default browser for all
                       users on a multi-user system. 
void setDefaultBrowser(in boolean aClaimAllTypes, in boolean aForAllUsers)
 Sets the desktop background image using either the HTML <IMG> 
 element supplied or the background image of the element supplied.

 @param aImageElement Either a HTML <IMG> element or an element with
                      a background image from which to source the
                      background image. 
 @param aPosition     How to place the image on the desktop
void setDesktopBackground(in nsIDOMElement aElement, in long aPosition)