Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   Commands by Topic
      . . .
      Fixing Mistakes
         Undoing
         Interrupting a Command
      The Screen
         . . .
         Horizontal Scrolling
         Windows
         Customizing the Screen
         Fonts
         Setting Colors
         . . .
      Buffers and Files
         Buffers
         Files
         Internet Support
         . . .
         Buffer List Editing
      . . .

Previous   Up    Next
Resizing Windows  Commands by Topic   Fonts


Epsilon User's Manual and Reference > Commands by Topic > The Screen >

Customizing the Screen

Epsilon displays tabs in a file by moving over to the next tab stop column. Epsilon normally spaces tabs every four or eight columns, depending on the mode. You can change the tab stop spacing by setting the variable tab-size. Another method is to use the set-tab-size command, but this can only set the tab size in the current buffer. To change the default value for new buffers, set the variable using the set-variable command.

Many indenting commands take the tab size into account when they indent using spaces and tabs. See Indenting Commands for information on the indenting commands.

Epsilon can display special characters in four ways. Epsilon normally displays control characters with a ^ prefix indicating a control character (except for the few control characters like ^I that have a special meaning--^I, for example, means <Tab>). It displays other characters, including national characters, with their graphic symbol.

In mode 0, Epsilon displays Meta characters (characters with the 8th bit on) by prefixing to them a "M-", e.g., Meta C appears as "M-C". Epsilon display Control-meta characters by prefixing to them "M-^", e.g., "M-^C". Epsilon displays most control characters by prefixing to them a caret, e.g., Control C appears as "^C".

In mode 1, Epsilon displays graphic symbols for all control characters and meta characters, instead of using a prefix as in ^A (except for the few that have a special meaning, like <Tab> or <Newline>).

In mode 2, Epsilon displays control and meta characters by their hexadecimal ASCII values, with an "x" before them to indicate hex.

In mode 3, which is the default, Epsilon displays control characters as "^C", and uses the graphic symbol for other characters, as described above.

The set-show-graphic command on Ctrl-F6 cycles among these four modes of representation. Providing a numeric argument of 0, 1, 2, or 3 selects the corresponding mode.

The command change-show-spaces on Shift-F6 makes spaces, tabs, and newline characters in the buffer visible, by using special graphic characters for each. Pressing it again makes these characters invisible. The command sets the buffer-specific variable show-spaces.

Epsilon will usually display a message in the echo area for at least one second before replacing it with a new message. You can set this time with the see-delay variable. It contains the number of hundredths of a second that a message must remain visible, before a subsequent message can overwrite it. Whenever you press a key with messages pending, Epsilon skips right to the last message and puts that up. (Epsilon doesn't stop working just because it can't put up a message; it just remembers to put the message up later.)

Under DOS and OS/2, you can set variables to modify the text cursor shape Epsilon displays in different situations. Epsilon gets the cursor shape from one of four variables, depending upon whether or not Epsilon is in overwrite mode, and whether or not the cursor is positioned in virtual space. (See the description of the virtual-space variable in Simple Movement Commands.)

 Variable  In overwrite mode?  In virtual space?
 normal-cursor  No  No
 overwrite-cursor  Yes  No
 virtual-insert-cursor  No  Yes
 virtual-overwrite-cursor  Yes  Yes

Each of these variables contains a code that specifies the top and bottom edges of the cursor, such as 3006, which specifies a cursor that begins on scan line 3 and extends to scan line 6 on a character box. The topmost scan line is scan line 0.

Scan lines above 50 in a cursor shape code are interpreted differently. A scan line number of 99 indicates the highest-numbered valid scan line (just below the character), 98 indicates the line above that, and so forth. For example, a cursor shape like 1098 produces a cursor that extends from scan line 1 to the next-to-last scan line, one scan line smaller at top and bottom than a full block cursor.

The Windows and X versions of Epsilon use a similar set of variables to control the shape of the cursor (or caret, in Windows terminology).

 Variable  In overwrite mode?  In virtual space?
 normal-gui-cursor  No  No
 overwrite-gui-cursor  Yes  No
 virtual-insert-gui-cursor  No  Yes
 virtual-overwrite-gui-cursor  Yes  Yes

Each variable contains a code that specifies the height and width of the caret, as well as a vertical offset, each expressed as a percentage of the character dimensions. Values close to 0 or 100 are absolute pixel counts, so a width of 98 is two pixels smaller than a character. A width of exactly zero means use the default width.

All measurements are from the top left corner of the character. A nonzero vertical offset moves the caret down from its usual starting point at the top left corner.

In EEL programs, you can use the GUI_CURSOR_SHAPE( ) macro to combine the three values into the appropriate code; it simply multiplies the height by 1000 and the offset by 1,000,000, and adds both to the width. So the default Windows caret shape of GUI_CURSOR_SHAPE(100, 2, 0), which specifies a height of 100% of the character size and a width of 2 pixels, is encoded as the value 100,002. The value 100100 provides a block cursor, while 99,002,100 makes a good underline cursor. (It specifies a width of 100%, a height of 2 pixels, and an offset of 99 putting the caret down near the bottom of the character cell.) The CURSOR_SHAPE( ) macro serves a similar purpose for DOS and OS/2 versions of Epsilon.

Epsilon for Windows can draw a rectangle around the current line to increase its visibility and make it easier to find the cursor. Set the draw-focus-rectangle variable nonzero to enable this. Set the draw-column-markers variable if you want Epsilon for Windows to draw a vertical line at a particular column (specified by this variable), to make it easier to edit text that may not go past a certain column. (Also see auto-fill mode described in Formatting Text.)

The set-display-characters command lets you alter the various characters that Epsilon uses to construct its display. These include the line-drawing characters that form window borders, the characters Epsilon uses in some of the display modes set by set-show-graphic, the characters it uses to construct the scroll bar, and the characters Epsilon replaces for the graphical mouse cursor it normally uses in DOS. The command displays a matrix of possible characters, and guides you through the selection process.

Standard bindings:

  Ctrl-F6  set-show-graphic
 Shift-F6  change-show-spaces
   set-tab-size
   set-display-characters
 



Previous   Up    Next
Resizing Windows  Commands by Topic   Fonts


Lugaru Copyright (C) 1984, 2020 by Lugaru Software Ltd. All rights reserved.