diff options
author | Havoc Pennington <hp@src.gnome.org> | 1999-12-16 17:42:49 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 1999-12-16 17:42:49 +0000 |
commit | 48075f6ff406b8aae39fa61564211dbfa6f69404 (patch) | |
tree | 49cc235a2e98aad0152db6a3cd7173b4d7ec4286 /idl | |
parent | c7382d0df35599475255b929382ecae059eda1d6 (diff) | |
download | nautilus-48075f6ff406b8aae39fa61564211dbfa6f69404.tar.gz |
IDL for desktop (this is an external API that apps can use)
Diffstat (limited to 'idl')
-rw-r--r-- | idl/gnome-desktop.idl | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/idl/gnome-desktop.idl b/idl/gnome-desktop.idl new file mode 100644 index 000000000..4517c4f04 --- /dev/null +++ b/idl/gnome-desktop.idl @@ -0,0 +1,67 @@ +// module Net is for IDL "standardized" among multiple projects + +module Net { +// module Desktop contains interfaces for the desktop environment itself - not +// desktop applications + +module Desktop { + + // This is a simple-to-implement least-common-denominator that + // we might expect any desktop environment to implement. + // Specific environments may provide more powerful interfaces. + + interface Desktop { + enum BackgroundType { + ImageBackground, + GradientBackground, + SolidBackground + }; + + enum ImageType { + TiledImage, + CenteredImage, + ScaledAspectImage, + ScaledImage + }; + + enum GradientType { + VerticalGradient, + HorizontalGradient + }; + + union BackgroundInfo switch (BackgroundType) { + case ImageBackground: + string filename; + ImageType imagetype; + case GradientBackground: + GradientType gradienttype; + // colors are 24-bit RGB packed into an int + int northwest_color; // top or left color + int southeast_color; // bottom or right color + case SolidBackground: + // 24-bit RGB packed into an int + int color; + }; + + void get_background_info (out BackgroundInfo info); + + void set_background_info (in BackgroundInfo info); + }; +}; +}; + +module GNOME { +module Desktop { + + // We subclass Net::Desktop and add our GNOME-specific features + + interface Desktop : Net::Desktop { + // Add an icon on the desktop for this URI + // The URI can be anything gnome-vfs understands + void add_link (in string uri); + + + }; + +}; +}; |