Skip to content

Terminals

Tavis Ormandy edited this page Sep 22, 2022 · 16 revisions

It can be tricky to get some terminals working with WordPerfect, this page contains configuration tips and troubleshooting steps.

Features

Supported Feature Matrix.

Terminal πŸ–₯️ πŸ–¨οΈ πŸ–ΌοΈ πŸ–±οΈ ⌨️ 🌎
XTerm βœ… βœ… βœ… βœ… βœ… βœ…
Konsole βœ… βœ… βœ… πŸ‘· βœ… βœ…
Urxvt βœ… βœ… ❌ βœ… βœ… βœ…
Gnome Terminal βœ… βœ… ❌ βœ… βœ… βœ…
Windows Terminal ⚠️ βœ… ❌ πŸ‘· βœ… βœ…
GNU Screen βœ… βœ… ❌ ❌ βœ… βœ…

Graphics

There are only three features that can use graphics, View Document Shift+F7,6 the Equation Editor Alt+F9,6,1,9, and the Graphics Editor Alt+F9,1,9. In all cases, if graphics are not available they support a basic text fallback mode.

Supported Terminals

Not all terminals support graphics, and even those that do might not understand any of the graphics formats supported by WordPerfect.

The recommended graphics format is sixels, and the optimal driver is vt340hi_sixel.

Enabling Graphics

In WordPerfect, navigate to File > Setup > Display and select Graphics Screen Type.

From the list, choose vt340hi_sixel

graphics

Testing Sixels

Here is how to check if sixels are working and enabled in your terminal. First, install ImageMagick.

Distribution Command
Debian / Ubuntu apt install imagemagick
RedHat / Fedora yum install ImageMagick

Now type convert -resize 320 rose: sixel:-.

If you see a picture of a rose, your terminal does support sixels and is ready to enable graphics.

If you don't see a rose, then sixels are not enabled and will not work in WordPerfect. Try the settings listed in Terminal Configuration for your terminal below.

Terminal Configuration

XTerm

XTerm has very good sixel support, but it's not enabled by default.

Add the following line to your ~/.Xresources file, and then execute xrdb -merge ~/.Xresources to apply your changes.

XTerm.vt100.decTerminalID: vt340

You will need to open a new XTerm window, and then verify sixels work using the rose test.

Advanced XTerm Options

The vt340hi_sixel driver is hardcoded to generate an 800x270 resolution image.

This was a good choice on a DEC VT340 Hardware Terminal, but may look a bit squished on a modern high resolution XTerm!

It is possible to increase the resolution by modifying the graphic driver settings.

Note: This currently requires some hacking, but in future we hope to automate this procedure.

Warning: Not all aspect ratios or sizes are supported by WordPerfect, and some combinations can crash. You may need to experiment to find the optimal setting for your XTerm configuration.

In order to scale images to the full size of your terminal, you need to tell WordPerfect how many pixels to draw.

Run the following command:

$ xwininfo -size -id $WINDOWID

xwininfo: Window id: 0x400377 "Terminal"

  Normal window size hints:
      Program supplied size: 1331 by 858
      Program supplied minimum size: 31 by 78
      Program supplied base size: 18 by 52
      Program supplied x resize increment: 13
      Program supplied y resize increment: 26
      Program supplied size in resize increments:  102 by 33
      Program supplied minimum size in resize increments: 2 by 3
      Program supplied base size in resize increments:  1 by 2
      Program supplied window gravity: NorthWestGravity
  No zoom window size hints defined


The resize increment figures are necessary to figure out how many pixels in a character cell, in this case you can see it's 13x26.

Now enter this command:

$ printf "%ux%u\n" $((COLUMNS * 13)) $((LINES * 26))
1300x780

Replace the 13 with your x resize increment and the 26 with your y resize increment, then use this setting for your maxGraphicSize in ~/.Xresources

XTerm*maxGraphicSize:           1300x780

Note: Remember to use xrdb to apply your settings!

Graphics Resolution

WordPerfect stores the graphics settings in .GRS files, the default is /opt/wp80/shlib10/wpc.grs.

There is an experimental tool called grsutil to edit some of the known values in this file.

Horizontal Resolution

To adjust the horizontal resolution, do this as root:

# /opt/wp80/shbin10/grsutil -d vt340hi_sixel -f 13 -s <new resolution> /opt/wp80/shlib10/wpc.grs

A good safe value to start is the horizontal resolution from the maxGraphicSize above.

Start WordPerfect and press Shift+F7,V. If the image is not correct, or WordPerfect crashes, reduce the resolution and try again.

Examples

Here are some examples of what you might see:

When the image is correct, move on to adjusting the vertical resolution.

Vertical Resolution.

To adjust the vertical resolution, the command is the same but a different field number.

# /opt/wp80/shbin10/grsutil -d vt340hi_sixel -f 14 -s <new resolution> /opt/wp80/shlib10/wpc.grs

Repeat the same procedure as above until the image looks correct.

A good value to start with is one vertical increment less than your vertical maxGraphicsSize.

This is because WordPerfect reserves one line for a menu.

Examples

Here are some examples of what you might see.

Other Settings

These settings have been found to improve results for some users:

XTerm*privateColorRegisters:    false