# Global Settings

The following settings can be used in the GLOBAL section of the configuration file. Some of the options are platform specific (to be fixed).

## DefaultModeName

Default mode name for loading/editing files. If not set or invalid, first mode in the configuration file will be used instead. By default set to 'PLAIN'.

## CompletionFilter

Files matching this regexp are ignored when doing filename completion.

## CompileRx

Defines regular expressions and thers subpattern indices to match when searching for errors and warnings in compilation output. First number is an index of the subpattern that matches filename. The second must match the line number, the third parameter is the regular expression to match to each line of the compiler output.

## OpenAfterClose

If set to 1, editor will prompt for another file when all files are closed.

## SysClipboard

When set to 1, editor will use external (PM, X11) clipboard instead of internal one.

## ScreenSizeX

Number of columns visible on screen or window

## ScreenSizeY

Number of lines visible on screen or window

## CursorInsertStart

Starting percentage of cursor size (from top) when in insert mode.

## CursorInsertEnd

Ending percentage of cursor size when in insert mode.

## CursorOverStart

Starting percentage of cursor size when in overstrike mode

## CursorOverEnd

Ending percentage of cursor size when in overstrike mode.

## SelectPathname

If set to 1, pathname will be selected by default when prompting for a file in FileOpen function. If set to 0, pathname will not be selected, this allows you to quickly type a new filename, without erasing an entire entryfield.

## ShowMenuBar

If set to 1, main menu bar will be visible.

## ShowVScroll

If set to 1, scroll bar will be visible.

## ShowHScroll

If set to 1, scroll bar will be visible.

## KeepHistory

If set to 1, last file position and imput prompt history will be loaded on startup and saved on exit. Can be overriden with command line option '-h'.

## LoadDesktopOnEntry

If set to 1, all files listed in FTE.DSK in current directory or FTE.EXE directory will be loaded into FTE. The desktop file can be overriden with command line option '-d'.

If set to 2, desktop is only loaded (and saved) if there are no files specified on the command line.

## SaveDesktopOnExit

If set to 1, desktop will be automatically saved when ExitEditor command is issued.

## KeepMessages

If set to 1, compiler messages will be kept until deleted by user.

## ScrollBorderX

Horizontal offset to the border before window starts scrolling.

## ScrollBorderY

Vertical offset to the border before window starts scrolling.

## ScrollJumpX

Scroll window by this many columns when cursor reaches scrolling border.

## ScrollJumpY

Scroll window by this many lines when cursor reaches scrolling border.

## C_*

Define the C mode smart indentation parameters

See section on configuring C mode indentation.

## REXX_Indent

Defines the REXX basic indentation level

# CMode Smart Indentation

Settings for CMode smart indentation

C_Indent
  Basic C indentation level
C_BraceOfs
  Brace '{' offset
C_CaseOfs
  Offset of case and default statements
C_CaseDelta
  Offsets of statements following case/default.
C_ClassOfs
  Offset of public, private and protected
C_ClassDelta
  Offset of statements following public, private, protected
C_ColonOfs
  Offset of labels
C_CommentOfs
  Offset of comments
C_CommentDelta
  Offset of second line of comments
C_FirstLevelWidth
  Width of the first indentation level (indent of '{' in the function start).
C_FirstLevelIndent
  Indentation of statements in the first indentation level.
C_ParenDelta
  When >= 0, offset of continued text after '('. When set to -1, the offset is equal to position of '(' plus one.

Example 1:

    class line {
    public:                   // C_ClassOfs = 0
        line();               // C_ClassDelta = 4
        ~line();
    };

    int main() {
        int x = 1;

        /*                    // C_CommentOfs = 0
         * check value        // C_CommentDelta = 1
         */

        puts("main");         // C_Indent = 4
        if (x)
        {                     // C_BraceOfs = 0
            switch (x) {
            case 1:           // C_CaseOfs = 0
                puts("ok");   // C_CaseDelta = 4
                break;
            }
        }
    end:
        return 0;
    }

Example 2:

    class line {
      public:                     // C_ClassOfs = 2
        line();                   // C_ClassDelta = 2
        ~line();
    };

    int main() {
        int x = 1;

          /*                      // C_CommentOfs = 2
          ** check value          // C_CommentDelta = 0
          */

        puts("main");             // C_Indent = 4
        if (x)
        {                         // C_BraceOfs = 0
            switch (x) {
                case 1:           // C_CaseOfs = 4
                    puts("ok");   // C_CaseDelta = 4
                    break;
            }
        }
    end:
        return 0;
    }