diff options
Diffstat (limited to '')
-rw-r--r-- | comm/suite/components/shell/nsIShellService.idl | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/comm/suite/components/shell/nsIShellService.idl b/comm/suite/components/shell/nsIShellService.idl new file mode 100644 index 0000000000..9320fc6afb --- /dev/null +++ b/comm/suite/components/shell/nsIShellService.idl @@ -0,0 +1,98 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +#include "nsISupports.idl" + +interface nsIFile; + +webidl Element; + +[scriptable, uuid(d7a19d24-9c98-4f88-b11e-52fa8c39ceea)] +interface nsIShellService : nsISupports +{ + /** + * app types we can be registered to handle + */ + const unsigned short BROWSER = 0x0001; + const unsigned short MAIL = 0x0002; + const unsigned short NEWS = 0x0004; + const unsigned short RSS = 0x0008; + + /** + * Determines whether or not SeaMonkey is the "Default Client" for the + * passed in app type. + * + * This is simply whether or not SeaMonkey is registered to handle + * the url schemes associated with the app. + * + * @param aStartupCheck true if this is the check being performed + * by the first window at startup, + * false otherwise. + * @param aApps the application types being tested (Browser, Mail, News, RSS) + */ + boolean isDefaultClient(in boolean aStartupCheck, in unsigned short aApps); + + /** + * Registers SeaMonkey as the "Default Client" for the + * passed in app types. + * + * @param aForAllUsers Whether or not SeaMonkey should attempt + * to become the default client for all + * users on a multi-user system. + * @param aClaimAllTypes Register SeaMonkey as the handler for + * additional protocols (ftp, chrome etc) + * and web documents (.html, .xhtml etc). + * @param aApps the application types being tested (Mail, News, Browser, RSS) + */ + void setDefaultClient(in boolean aForAllUsers, in boolean aClaimAllTypes, in unsigned short aApps); + + /** + * 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 + * @param aImageName The image name. Equivalent to the leaf name of the + * location.href. + */ + + void setDesktopBackground(in Element aElement, + in long aPosition, + in ACString aImageName); + + /** + * Flags for positioning/sizing of the Desktop Background image. + */ + const long BACKGROUND_TILE = 1; + const long BACKGROUND_STRETCH = 2; + const long BACKGROUND_CENTER = 3; + const long BACKGROUND_FILL = 4; + const long BACKGROUND_FIT = 5; + + /** + * 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. An RGB value (r << 16 | g << 8 | b) + */ + attribute unsigned long desktopBackgroundColor; + + /** + * 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 nsIFile aApplication, in ACString aURI); + + /** + * The default system handler for web feeds + */ + readonly attribute nsIFile defaultFeedReader; +}; + |