TermSize - Release Notes

Copyright 2021-2022 by The Software Samurai.
On the web: http://www.SoftwareSam.us/
Software released under GNU GPL3, and documentation released under FDL1.3
This document describes version 0.0.02 of TermSize.


The ‘TermSize’ application is a GNU/Linux utility built on the NcDialog API (see above) which helps to compensate for the serious design flaw in the GNOME terminal under Wayland which no longer reports the terminal-window size as it is being resized.

In addition, there is a serious bug in the GNOME terminal program which calculates the initial size of the window using a hard-coded 12-point font as the reference. If your terminal is set for a font other than
12-point, you may need to play some tricks to get the dimensions you want.

In addition, the gnome-terminal invocation accepts only a limited range for row/column dimensions juxtaposed with the dimensions of the desktop area. Again, this seems to be a calculation based on a hard-coded 12-point font.
(Wayland may someday be a reliable platform, but today is not that day.)

(Konsole, on the other hand, continues to report resize events correctly.)

To invoke the 'termsize' utility whenever a new terminal window is opened, create a custom “.desktop file” and place it where local desktop files are located on your system. This is usually in the directory:
Consult your system documentation to verify the location for desktop files.

An example desktop file is shown, which can be adapted for your system layout.

[Desktop Entry] Comment=custom geometry for terminal (Note: Wayland ignores positioning parameters.) Terminal=false Name=GnomeTerm_Custom Exec=gnome-terminal --profile='Sam' --geometry=141x37 --working-directory=/home/sam/SoftwareDesign -- /bin/sh -c 'termsize ; clear ; exec bash' Type=Application

Both the application (and its documentation) are quite simple, but we hope you will find it useful.

This application was designed under Fedora Linux and is built using the GNU C compiler,
version 4.8.3 or higher (C++11 support required).
If you are not using GCC, then verify that your compiler fully supports the C++11 standard.

(Note for users of Microsoft Windows(tm), we strongly recommend that you immediately wipe your system and install Ubuntu 20.04.3 LTS.)  http://releases.ubuntu.com/

Building From Source

User Interface and command-line options.

The TermSize application's user interface is simple: It monitors keyboard and mouse input.
When a “terminal resize” signal is received, the display is updated to reflect the new terminal dimensions.
For any other keyboard or mouse event, the application will immediately exit to the command prompt.
Note for novice users: To resize the terminal window, use the mouse to left-click and hold any point along the border of the window, drag the window to the desired size and release. Double-click on the window title bar to switch between full-screen mode and window mode.

Invocation:   termsize [OPTIONS]       (all options are optional)

Notes on the current release of “TermSize”

The files included in this release.
TermSize/ // Source code directory TermSize.cpp // Application source code GlobalDef.hpp // Specifies '#include' files and general definitions Makefile // Build the 'termsize' application tst.pl // Perl test script for debugging ANSI output README // Package description, release notes

Note: The change log is located in the header of “TermSize.cpp”.

  These notes are adapted from the “README” file included with the application archive.
  Thank you, and we hope you enjoy using this application!  — Software Sam