PREFS

The PREFS object contains a list of system-wide properties that control the look and feel of Logo. If you SAVE your workspace, the current settings are stored in the saved file. If you load a workspace that has been saved before, the settings are restored.

APPNAME

Contains the name of your Logo app.

Description

APPNAME contains the name of your Logo app if Logo runs in app mode. If Logo does not run in app mode, APPNAME outputs an empty word.

Example

GPROP "PREFS "APPNAME
Result: 

ARRAYBASE

Controls the lowest array or grid index.

Description

The ARRAYBASE property controls the lowest value that you can use as an array or grid index. You may want to set the value to 1 if you prefer to index arrays and grids with a starting value of 1; actually, any starting value is legal as long as you are comfortable with that value.

Example

GPROP "PREFS "ARRAYBASE
Result: 0

AUTOSAVE

Controls the amount of data that Logo saves and restores automatically.

Description

Logo can be configured to save your workspace, your turtles and everything else in frequent intervals. The AUTOSAVE property can be set to one of four values to tell Logo what to save:

OFF: Nothing will be saved.
WORKSPACE: Logo saves all procedures, names and property lists. This is the default.
TURTLES: As with WORKSPACE, plus all turtles and the contents of the Graphics panel.
ALL: As with TURTLES, plus the Listener, all controls and bitmaps, and all global built-in names.

In the Web version, you can also set the AUTOSAVE property with an addition of an “autosave” argument to the link, as in this example:

https://weblogo.terrapinlogo.com?autosave=ALL

This is especially handy for classroom computers where you have a link for students to click.

If Logo is running a Logo app, the setting of this property is ignored. A Logo app never saves any autosave data.

Example

GPROP "PREFS "AUTOSAVE
Result: WORKSPACE

CASE

Controls the conversion of input to upper case.

Description

CASE controls the way quoted words are converted to upper case. If CASE is TRUE, which is the default, Logo converts lowercase quoted words to upper case as they are input to Logo. If CASE is set to FALSE, the case of quoted words is not changed.

Note that quoted words enclosed in vertical bars, or back-quoted words are not affected.

Example

GPROP "PREFS "CASE
Result: TRUE

COLORED.TURTLES

Displays turtles with their pen color.

Description

Setting the COLORED.TURTLES property to TRUE causes turtles to draw themselves using the current pen color if it is anything else but black.

Example

SETPC "RED
; turtle 0 displays in red

DEBUGGER

Controls the use of the Logo debugger.

Description

THe DEBUGGER property controls whether the Logo debugger should be activated in case of a runtime error. If this property is set to TRUE (which is the default), the debugger activates so you can debug the problem. If set to FALSE, Logo prints the runtime error along with a stack trace and returns to topllevel.

FONT

Controls the Listener font.

Description

The FONT property gets or sets the font that the Listener panel uses for output. For the font format, please see the SETFONT command.

Example

GPROP "PREFS "FONT
Result: [MONOSPACE 12 0]

CONTROLS.FONT

Controls the font used when creating a control.

Description

The CONTROLS.FONT property gets or sets the font that Logo uses when creating a control. Set this property before creating a control so Logo can pick it up. For the font format, please see the SETFONT command.

Example

GPROP "PREFS "CONTROLS.FONT
Result: [HELVETICA 12 0]

TURTLE.FONT

Controls the font used when creating a control.

Description

The TURTLE.FONT property gets or sets the font that turtles use when drawing text. For the font format, please see the SETFONT command.

Example

GPROP "PREFS "TURTLE.FONT
Result: [HELVETICA 12 0]

LISTENER.LINES

Controls the maximum number of lines in the Listener panel.

Description

LISTENER.LINES controls the number of lines that the Listener panel's output field will display. If Logo displays more than the given value, the oldest lines will be lost.

Example

GPROP "PREFS "LISTENER.LINES
Result: 100

LISTENER.READONLY

Controls whether all output in the Listener panel is readonly.

Description

LISTENER.READONLY controls whether all output in the Listener panel is read only or not. If output is read only, it cannot be erased; only user input can be edited or erased. Since this is a good setting for students, the property is set to TRUE for all classroom logins with a student password.

Example

GPROP "PREFS "LISTENER.READONLY
Result: TRUE

LOCALE

Alters Logo's language.

Description

This property contains the current language that Logo uses to talk to you as a three or five-letter ISO code. The actual setting depends on your browser and system settings. For U.S. computers, the value is, for example, EN. Logo speaks a few different languages; you can see if Logo speaks a specific language by setting the appropriate language code. If Logo does not speak that language, it falls back to U.S. English.

Please note that currently only messages are changed. We are working on providing translations for all of Logo including dialogs, menus, and more.

Example

GPROP "PREFS "LOCALE
Result: EN

PICTURE.FORMAT

Controls the file extension used for images if none was supplied.

Description

This is the default file extension for graphics images. Logo uses this extension if you access an image file without a specific extension.

Example

GPROP "PREFS "PICTURE.FORMAT
Result: PNG

PRECISION

Controls the number of decimals that Logo prints.

Description

PRECISION controls the number of decimal points that Logo outputs when printing a number. The value can be anything between 0 and 15; the value -1 instructs Logo to always print an appropriate number of decimals depending on the value.

Example

GPROP "PREFS "PRECISION
Result: 2

RELAXED.SYNTAX

Relaxes the syntax requirements of Logo.

Description

If set to TRUE, you do not need to use the colon to read the value of a name (as in :VALUE). Logo first checks if a name is a procedure; if not, and RELAXED.SYNTAX is set to true, Logo checks if a name has a value.

Example

GPROP "PREFS "RELAXED.SYNTAX
Result: FALSE

STACKSIZE

Controls the maximum number of nested procedure calls.

Description

STACKSIZE controls the maximum number of nested procedure calls. If an executing Logo program calls more than this number of nested procedures, the program terminates with a runtime error.

Example

GPROP "PREFS "STACKSIZE
Result: 1000

TAB

Controls the tab stop size used in the Listener's output field.

Description

TAB controls the tab stop size used in the Listener's output field. This is the approximate number of spaces that Logo would use when printing the Tab character (which is CHAR 9); see also the PRINT command for a list of special printing characters.

Example

GPROP "PREFS "TAB
Result: 4

USERNAME

Reports the user's name.

Description

This is the name that your Logo licenses is registered under; if you use the trial version of Logo, the user name is “Guest User”.

Example

GPROP "PREFS "USERNAME
Result: Guest User

LOGO.ENV

This variable contains a property list of global program and system settings. All of its properties are read-only.

BROWSER

Reports the browser name.

Description

BROWSER contains the name of the browser that Logo is executing in. For the desktop version, BROWSER reports the word DESKTOP.

Example

GPROP "LOGO.ENV "BROWSER
Result: CHROME

ENVIRONMENT

Reports the device that Logo is executing upon.

Description

ENVIRONMENT contains a word describing the browser environment; currently one of ANDROID, IOS, SILK, MOBILE or DESKTOP.

Example

GPROP "LOGO.ENV "ENVIRONMENT
Result: DESKTOP

FULLSCREEN

Controls whether to have Terrapin Logo occupy the entire screen or display in normal size.

Description

FULLSCREEN sets Terrapin Logo to fullscreen if its value is set to TRUE, or to normal size if its value is set to FALSE. It reports the current fullscreen setting.

Not all browsers allow a program to occupy the entire screen. In that case, setting the FULLSCREEN property to TRUE does not have any effect.

Example

GPROP "LOGO.ENV "FULLSCREEN
Result: FALSE

SCREENSIZE

Reports the size of the browser window (Web) or the desktop (Desktop version).

Description

SCREENSIZE reports the size of the browser window (Web) or the desktop (Desktop version) in pixels.

Example

GPROP "LOGO.ENV "SCREENSIZE
Result: [1400 700]

VERSION

Reports the Logo version number.

Description

VERSION reports the Logo version number as a numeric value.

Example

GPROP "LOGO.ENV "VERSION
Result: 5