Skip to content

Windowing Extension #510

@davidrg

Description

@davidrg

Fully implement the Windowing Extension.

At least some work towards this is already done:

  • Paging is now supported along with DECPCCM, DECRQDE and DECSNLS
  • K95 has supported horzontal scrolling for a long time to work around bugs in the Windows 95 conagent. The support in the GUI version is not fully implemented and/or disabled, but probably not hard to do.

So the main things to finish it off would appear to be:

  • Get DECVCCM and DECHCCM implemented
  • Support a taller page than the window
  • SU/SD should move the top of the window
    • The documentation says this shouldn't affect the data within the logical display. I don't think this is how other terminal emulators (eg, XTERM) implement this.
    • Should check on the VT520 to see how it mixes SU/SD with scrollback:
      • It works as described by the manual: it would be equivalent to operating the scrollbar, except they wouldn't allow scrolling into scrollback.
  • Get page scrolling working in K95G.
    • Make SET TERM VIDEO-CHANGE DISABLED actually do something in K95G to allow the window and page sizes to differ
    • Get the horizontal scrollbar working
      • Turns out its working more than I thought it was: on the command screen! If you make the command screen wide, output a bunch of stuff, shrink it, then view the scrollback a horizontal scrollbar appears! And it even works too! So I guess there can't be that much stopping it from working on the terminal screen.
    • With vertical scrolling it would probably be valuable to have a marker (perhaps just draw a line?) to show where the current page ends and scrollback begins.

Questions

  • How should this interact with K95Gs Resize Modes:
    • Changes font size: probably would work exactly as it does now
    • Changes Dimensions: Would this just change the dimensions of the window leaving the page size alone? Window size would be entirely decoupled from page size?

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureterminal-emulationUpdates to existing emulations, or addition of new ones

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions