4.0 Launching CodeBuilder

4.1 The CodeBuilder Login Console
4.2 CodeBuilder Windows
4.2.1 The Apple Menu
4.2.2 The File Menu
4.2.3 The Edit Menu
4.2.4 The Window Menu The Positions Sub-Menu The Size Sub-Menu The Order Sub-Menu
4.2.5 The Fonts Menu

4.0 Launching CodeBuilder

CodeBuilder consists of a Macintosh application, called CodeBuilder, and a collection of shared libraries that contains the bulk of the CodeBuilder system software - the UNIX kernel. When the system is installed, these files are stored in a top-level CodeBuilder folder and a set of Tenon Libraries folders are installed in the active Extensions folder.

Figure 10: CodeBuilder Application Folder

When you double-click on the CodeBuilder icon, CodeBuilder launches as a standard Macintosh application.

In the time between the click on the CodeBuilder application until the login prompt appears, CodeBuilder initialization takes place (Figure 11.). The UNIX boot process is controlled by parameterized scripts which work in conjunction with three UNIX database files (CodeBuilder Prefs, CodeBuilder Conf and Install.conf) built by the CodeBuilder Control Panel.

The CodeBuilder application's function is to load the CodeBuilder libraries into memory and begin executing as a UNIX kernel. The UNIX kernel reads CodeBuilder Prefs and configures some internal data tables accordingly. The kernel then starts the first UNIX process, init(8).

Init establishes a default environment for all subsequent processes. It sets certain environment variables and takes care of Macintosh time to GMT mappings. Once the default environment is set up, init starts a program which reads the /etc/rc database and executes the commands in it (See Table 2). If successful in completing all of the commands in /etc/rc, a login console is displayed.

The daemons are described in detail in section 8 of the UNIX man pages. In CodeBuilder, the startup data files (See Table 3) may be configured from within CodeBuilder after CodeBuilder is started, or via the CodeBuilder Control Panel. Tenon recommends using the CodeBuilder Control Panel whenever possible. CodeBuilder data files are described in detail in section 5 of the man pages.

Figure 11: CodeBuilder Initialization

Table 2: CodeBuilder Daemons

Main configuration file controlling startup and customization of UNIX. Reads rc.conf file created via CodeBuilder Control Panel and starts specified daemons.
Controls starting of services or system tasks. Configured via /usr/lib/crontab database.
Controls printing. Configured via /etc/printcap database.
Senses removable disk insertion (floppy, CD, etc.) and automatically mounts the volume.
Logs system activities or errors. Configured via syslog.conf database.
Controls the CodeBuilder windows environment after log in.

Table 3: CodeBuilder Data Files

Controls logins on the UNIX system terminals.
Message of the day. Built by /etc/rc process and used by login process each time user logs in.
Invoked by /etc/rc process. Should be used to configure site-specific daemons.
Invoked by /etc/rc process. Reads Install.conf database built by CodeBuilder Control Panel and configures several system databases accordingly.
Controls the time zone mappings to GMT.
Used by rc. Reflects parameters from the General Configuration Screen of the CodeBuilder Control Panel.
Database of file systems. Used by mount(1).
Host name-to-internet-address mapping.

4.1 The CodeBuilder Login Console

When CodeBuilder is first started it displays a command windowÝ and asks users to identify themselves with a user name and password. At this point, the desktop looks like a conventional Berkeley 4.4BSD UNIX system. (See Figure 12.)
Ý: Customizing the size and location of the console window may be achieved by editing (using ResEdit) the WIND resource, ID 128, in the CodeBuilder Application.

In the example in Figure 11, "CodeBuilder" is the "host name" that was entered into the Control Panel when CodeBuilder was installed. Log in as cbuser (by typing "cbuser" followed by a carriage return) and observe what happens. Be careful to use lowercase. Unlike the Macintosh, CodeBuilder is case sensitive. If you make a mistake you can use the Delete key to correct your error. When cbuser logs in, the console window is automatically closed and a CodeBuilder "terminal window" is opened. (See Figure 13.)

To use the alternative CodeBuilder AfterStep desktop, log in as cbnext (by typing "cbnext" followed by a carriage return). For a complete description of the controls available in this desktop environment, see 9.1 The X Desktop.

After logging in as cbuser, you enter a windows environment controlled by the wind(8) program. CodeBuilder windows let you create multiple windows, each representing a UNIX shell (the UNIX command interpreter). When you type commands in a CodeBuilder "terminal window", you are communicating with the shell. CodeBuilder provides many shells, including:
"CodeBuilder Windows" are described in detail in the next section.

To do some tasks, you will need to login as root. The root password is "CodeBuilder".

Figure 12: CodeBuilder Login Console

Figure 13: CodeBuilder Terminal Window

At this point you may wish to set up a user account for yourself. Refer to section "5.6.6 Setting Up User Accounts".

Once the system recognizes a user, it sets the current working directory, executes a series of commands to perform any automatic startup processing and prints a prompt ($)Ý indicating that the system is waiting for input. To establish a new password, use the passwd(1) command. This is done by typing the following as root:
# passwd <username>
New Password: <new password>
Retype new password: <new password>
Ý: The '$' prompt is the default prompt for sh(1) users; for csh(1), the default prompt string includes your user name, host name, and the '%' character in the form username@host%.

4.2 CodeBuilder Windows

The CodeBuilder windows environment is a menu-oriented system enabling the user to create and control multiple command interpreter windows. It is created after you log in on the Login Console and is controlled by wind(8), the CodeBuilder window daemon. The windows environment closely follows the Macintosh user interface standard. The windows of each Macintosh program are logically grouped together. All UNIX-style terminal windows are grouped together as CodeBuilder windows. Each window is a Macintosh "zoom window" with a title bar, scroll bar, zoom box, size box, and close box. The title bar of the active terminal window will be highlighted (see Figure 14.).

Figure 14: CodeBuilder Windows

CodeBuilder menus are located at the top of the screen and operate like traditional Macintosh menus.

4.2.1 The Apple Menu

The Apple menu gives you access to About CodeBuilder and whatever desk accessories are installed on your Macintosh.

About CodeBuilder
Information on how to contact Tenon.

4.2.2 The File Menu

The File menu lets you create CodeBuilder windows and manipulate your window environment.

Create Window
Create a new terminal window.
Close Window
Close the active terminal window.
Quit windows and return to the Login Console.
Quit CodeBuilder

4.2.3 The Edit Menu

The Edit menu gives you access to the Macintosh Clipboard. Text can be selected by moving the mouse cursor to the start/end of a selection and holding the button down while moving forward/backward to the end point of your selection, and then releasing the button. Selected text is displayed as white letters on a black background. Double-clicking the mouse selects the word where the mouse cursor is; triple-clicking selects the entire line.

Undo is provided only to support desk accessories and is not active under CodeBuilder.
Cut is provided only to support desk accessories. The concept of "cutting" from a UNIX "history" screen is not meaningful. Moreover, specific applications need built-in "cut" support. In CodeBuilder, traditional "cut-and-paste" functions become "copy-and-paste".
Put a copy of the selection on the Clipboard
Put a copy of the contents of the Clipboard into the active window. The same item may be pasted many times until the next Copy command.

Clear is provided only to support desk accessories and is not active under CodeBuilder.
Select All
Command-A Select all the text in the active window.
[Copy], Paste, <cr>
Command-G Copy current selection to the Clipboard. The Clipboard is then provided as input to the active window, followed by a carriage return. This lets you select something from the screen and turn it into (the tail end of) a UNIX command.
Save Selection

Save the selected text to a file.

4.2.4 The Window Menu

The Window menu begins with three hierarchical menu items. To access these menus, slide the mouse cursor over the item and to the right. This will make their sub-menus visible. The other items in the Window menu are the names of existing terminal windows. The item with a check mark is the current console window. The active window is displayed in outline font. The keyboard shortcut for these windows is <command>-#, where # is the number of the terminal window. The Positions Sub-Menu

Position all the windows so that they are all visible on the screen, creating a windowpane effect.
Horizontal Panes

Windowpane effect with each window as wide as the complete screen.
Vertical Panes

Windowpane effect with each window as tall as the complete screen.
Original Positions

Undo the windowpane effect. The Size Sub-Menu

Original Size
Return the active window to the size it was when it was opened.
Full Height
Make the active window as tall as will fit on the screen.
Zoom Window
Make the active window as big as will fit on the screen. This is a toggle command ­p; if the active window is full size, it will return it to its previous size. The results of the command are identical to clicking in the zoom box of the active window. The Order Sub-Menu

Hide Terminal #
Make the active window invisible. A hidden window can be made visible using the Show All command (described below), or by selecting that window.
Hide All
Make all windows invisible.
Show All
Make all windows visible.
Last Window
Make the previously active window the current active window.
Rotate Windows
Make the current rear window (furthest from the front on the desktop) the front active window, and make the active window the second window.
Save Scrolled Lines/Don't Save Scrolled Lines

If "Save Scrolled Lines" is selected for a given window, the lines scrolled off the top of the window will be saved and the scroll bar will be activated. The window will stay in this state until "Don't Save Scrolled Lines" is selected. These two commands share one line in the Window menu; when "Save Scrolled" is enabled, the menu save "Don't Save", and vice versa.
Remove Scrolled Lines

If "Save Scrolled" is enabled, this will throw away any saved lines.
Save Window Environment

Save a description of the size and locations of the current CodeBuilder windows environment to a named file. Font types and sizes are also saved. This file is suitable to become the CodeBuilder window environment startup file.
Send Window Size
Provide the string
stty rows n columns m
as input to the current active window, where "n" is the number of rows that will fit in that window using the current font type and size, and "m" is the number of columns.

4.2.5 The Fonts Menu

The Fonts menu is created at startup time and contains all fixed-width fonts found in the current system, with point size choices of 9, 10, 12, 14, 18, 24, and 36. The current font size of the active window is checked, and the font sizes of "real" fonts are displayed in outline font. Real fonts are non-scaled and tend to look nicer for standard UNIX command interactions. Some commonly found fixed-width fonts are Courier and Monaco.

Font sizes can be changed to the next larger/smaller size by typing <command><up arrow> and <command>-<down arrow>.

NOTE: Variable width fonts in the system will not appear in the CodeBuilder Fonts Menu.

[ Top of Page ][ 5.0 CodeBuilder Administration ][ Table of Contents ]