nautilus/idl/gnome-desktop.idl
Elliot Lee 7a2e0e0361 Support multiple view types (Nautilus/View, GNOME/Control,
* src/ntl-*.[ch]: Support multiple view types (Nautilus/View, GNOME/Control, GNOME/Embeddable)
* src/ntl-window.[ch]: Add nautilus_window_get_uih()
* idl/*.idl: Reindent.
1999-12-16 20:39:11 +00:00

73 lines
2.2 KiB
Text

// 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
};
// Note that this is not a union; if you change types
// the settings for non-current types are not lost.
struct BackgroundInfo {
BackgroundType type;
// Image settings
ImageType imagetype;
string filename;
// Gradient settings
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
// Solid color settings
// 24-bit RGB packed into an int
int solid_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);
};
};
};