This book describes how to integrate your application into the Indigo Magic Desktop environment. It assumes that your application already runs on Silicon Graphics workstations. This is strictly a how-to guide—refer to the Indigo Magic User Interface Guidelines for style guidelines.
This introduction contains these sections:
“About the Indigo Magic Desktop Environment” presents a brief overview of the Indigo Magic Desktop and explains why it's important to integrate your application into the Desktop environment.
“Implementation Strategies and Toolkits” provides a checklist to help developers focus on the items that most benefit their users.
“Integrating an Application” offers a brief, general list of the basic steps for integration.
The Indigo Magic Desktop environment provides a graphical user interface (GUI) to the IRIX filesystem and operating system. This interface allows users to interact with the workstation using a point-and-click interface, based on icons and windows. The Desktop provides tools and services for the users' convenience, many of which are accessible directly from the Desktop's toolchests.
Integrating your application into the Desktop environment is an important step in creating your product. Since users are already familiar with the Desktop, they have certain expectations about how applications should look and behave in the Desktop environment. By integrating your application into the Desktop, you insure that these expectations are met—thus helping your users get the most out of your application.
Figure i shows an example of the Indigo Magic Desktop, with the following tools running:
The Toolchest. The Toolchest serves as the primary access point for desktop user interfaces. For example, users can access interfaces for everyday tasks such as customizing their desktop, accessing applications and Web tools, backing up and restoring their files, and finding information (help) on a variety of desktop topics.
The Desks Overview window. With the Desks Overview window, users can switch from one “desk,” or group of applications, to another. When your application appears in a desk other than the one currently in use, it's in a state similar to the minimized state. You need to be careful about what processes your application runs while in a minimized state.
The Window Settings window. From the Window Settings window, users can change aspects of window and session management. You need to set up your application so that it works as users expect when they change these settings.
The Desktop Settings window. From this window, users can scale Desktop icons and select a default text editor. You need to design your icons so that they look reasonable in the maximum and minimum sizes, and set up your application to use the user's chosen default utilities where appropriate. The utilities are set on the new dtUtilities or from the Desktop Utilities panel. Users can choose a default text editor, Web browser, image viewer, email reader, book viewer, and PostScript viewer.
The Icon Catalog. Users can access icons from the different pages in the Icon Catalog. Some of the pages are: Applications, Demos, Desktop Tools, Media Tools, and Web Tools. Since the Icon Catalog is one of the first places users look when they need to find an application, you should add your product's icons to this catalog.
These are just a few examples of the kinds of things you'll need to consider to integrate your application into the Desktop Environment. This book provides complete and detailed instructions for integration, while the Indigo Magic User Interface Guidelines gives you style guidelines. For the best results, use both books together.
This section presents strategies for implementing your application and suggests some toolkits that will make the implementation easier. Topics include:
Table i provides a checklist to help you focus your resources on the items that most benefit your users. The checklist lists tasks in order of importance. Try to adhere to the user interface guidelines in the order presented in the checklist.
For a summary of user interface guidelines that includes a complete checklist, see, “Summary of Guidelines” in Indigo Magic User Interface Guidelines.
Table 1. Checklist of Implementation Tasks and References
| Indigo Magic User Interface Guidelines |
|
|---|---|---|
Icons and File Typing Rules (FTRs) | Chapter 2 | Desktop Integration Guide, Chapters 11-15 |
Indigo Magic Look* | Chapter 3 | Desktop Integration Guide, Chapters 2-3 |
Menus and Accelerators* | Chapter 3 | OSF/Motif Programmer's Guide, Chapter 6 |
Copy and Paste* | Chapter 5 | Desktop Integration Guide, Chapter 7 |
Window Management | Chapter 3 | Desktop Integration Guide, Chapters 5-6 |
Software Installation | Chapter 4 | S/W Packager User's Guide |
Session Management | Chapter 3 | Desktop Integration Guide, Chapter 5 |
Online Help | Chapter 4 | Desktop Integration Guide, Chapter 9 |
Selection, Focus* | Chapter 7 | OSF/Motif Programmer's Guide, Chapter 13 |
Feedback | Chapter 11 | OSF Motif Programmer's Guide |
Internationalization | Chapter 4 | Topics in IRIX Programming, Chapter 4 |
* Items requiring use of the Motif toolkit.
It's also useful to know which changes you can make without modifying the application's source code and which items require the use of the IRIS IM (OSF/Motif™) toolkit. The Silicon Graphics style is based on Motif™, so using the Motif toolkit makes compliance much easier. Table ii lists which tasks require application code changes and which require Motif.
Table 2. Tasks Requiring Application Changes and/or Motif
Task | Application Code Changes | Requires Motif |
|---|---|---|
Icons and FTRs |
|
|
Indigo Magic Look |
| yes |
Menus/Accelerators |
| yes |
Copy & Paste | yes | yes (Xt) |
Window Management |
|
|
Software Installation |
|
|
Session Management | yes |
|
Online Help | yes | yes |
Selection, Focus |
| yes |
Feedback | yes |
|
Internationalization | yes |
|
Besides using Motif, other toolkits and tools can make integrating your application easier. These include:
IRIS ViewKit™ is a C++ based, user-interface toolkit based on OSF/Motif. ViewKit also runs on Dec, HP, IBM, SCO, SunOS™, and Sun Solaris®.
Table iii lists integration tasks that you can achieve by using ViewKit.
Table 3. Integration and ViewKit
Task | ViewKit |
|---|---|
Icons and FTRs |
|
Indigo Magic Look | Color schemes set by default |
Menus and Accelerators |
|
Copy and Paste | VkCutPaste Class |
Window Management |
|
Software Installation |
|
Session Management | Initial session management set |
Online Help | Help menu entry and context sensitive help |
Selection, Focus |
|
Feedback | Busy state and cursor are easily set
|
Internationalization |
|
Your application can provide World Wide Web access by using VkWebViewerBase, which provides basic Web functionality. For more information, see the IRIS ViewKit Programmer's Guide .
![]() | Note: IRIS ViewKit isn't part of the IRIS Developer's Option; it's bundled with the C++ Development Option. In the United States and Canada, call SGI Direct at 800-800-SGI1 (7441) for more information about how to order the C++ Development Option; outside the United States and Canada, please contact your local sales office or distributor. |
Developer Magic RapidApp™ is an interactive tool for creating applications. It integrates with other Developer Magic tools, including cvd, cvstatic, cvbuild, and others, to provide an environment for developing object-oriented applications as quickly as possible. RapidApp generates C++ code, with interface classes based on the IRIS ViewKit toolkit. In addition to the conveniences provided by IRIS ViewKit, you can use RapidApp to help create your application (see Table iv).
Table 4. Integration and RapidApp
Task | RapidApp |
|---|---|
Icons and FTRs | Generates an FTR rule and sample icon |
Indigo Magic Look | sgiMode & schemes set by default |
Menus and Accelerators | Standard & Common menu entries |
Copy and Paste |
|
Window Management |
|
Software Installation | Automatically builds an inst image |
Session Management | Initial session management set |
Online Help |
|
Selection, Focus |
|
Feedback |
|
Internationalization |
|
For more information, see the Developer Magic: RapidApp User's Guide.
![]() | Note: RapidApp isn't part of the IRIS Developer's Option. In the United States and Canada, call SGI Direct at 800-800-SGI1 (7441) for more information about how to order RapidApp; outside the United States and Canada, please contact your local sales office or distributor. |
This section lists the basic steps for integrating an existing application into the Indigo Magic Desktop environment. The steps are listed in a very general way, to give you a brief overview of the process.
If you're writing a new application, here are a few tips:
If possible, use IRIS ViewKit. Refer to the IRIS ViewKit Programmer's Guide for instructions.
Don't use IRIS GL™. Use OpenGL™ or Open Inventor™ instead.
![]() | Note: Open Inventor isn't part of the IRIS Developer's Option, it is a separate option. In the United States and Canada, call SGI Direct at 800–800-SGI1 (7441) for more information about how to order the Open Inventor Option; outside the United States and Canada, please contact your local sales office or distributor. |
To integrate your application into the Indigo Magic Desktop, follow these steps:
If your application uses IRIS GL, port to OpenGL if possible. If it's impractical for you to port to OpenGL at this time, at least switch to mixed-model IRIS GL programming, if you haven't already done so. (Mixed-model programs use Xt for event and window management).
For information on porting from IRIS GL to OpenGL and for switching your program to mixed-model, refer to the OpenGL Porting Guide. This manual is included online in the IRIS Developer's Option (IDO). View it using the IRIS InSight Viewer.
Set up your application to comply with the Indigo Magic look and feel:
use the Enhanced IRIS IM look
use Schemes
use the new and enhanced IRIS IM widgets where appropriate
set up your application for correct window, session, and desks management
customize the minimize window image for your application (optional)
use the extensions provided in the Selection Library and the File Alteration Monitor (optional)
These topics, as well as information on fonts, are covered in Part 1 of this guide.
Create Desktop icons for your application and add them to the Icon Catalog. You'll need an icon for the application itself as well as icons for any unusual data formats. See Part 2 of this manual for instructions.
Use swpkg to package your application so that your users can install it easily. See the Software Packager User's Guide for information for instructions on using swpkg.