summaryrefslogtreecommitdiff
path: root/idl
diff options
context:
space:
mode:
authorHavoc Pennington <hp@src.gnome.org>1999-12-16 17:42:49 +0000
committerHavoc Pennington <hp@src.gnome.org>1999-12-16 17:42:49 +0000
commit48075f6ff406b8aae39fa61564211dbfa6f69404 (patch)
tree49cc235a2e98aad0152db6a3cd7173b4d7ec4286 /idl
parentc7382d0df35599475255b929382ecae059eda1d6 (diff)
downloadnautilus-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.idl67
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);
+
+
+ };
+
+};
+};