File setup - WIN

Folder/file structure
/boot                             boot file
/win.ini optional - system startup
/startup.cmd optional - LOS batch file run when cmd app starts
/license.txt licensing info
/win.log errors are logged here
/apis contains apis
/apps contains applications
/progs contains console programs
/win contains system files
/win/devices folder containing device info
/win/devices/desktops.lua table defining desktops
/win/devices/printers list of printer channel names /win/devices/term desktop folder for terminal
/win/devices/term/desktop.ini menu entries for this desktop
/win/devices/term/startup.ini optional - startup of this desktop
/win/devices/term/theme.ini optional - theme for this desktop /tmp stores temporary files

win.ini
This is a key=value text file, with each entry on a new line. Any blank lines or lines starting with a semi-colon are ignored. No extra spaces should be used. The following keys are recognized:

password=password
Specifies the system's password. This password needs to be entered correctly on the Lock screen when invoked on the running system. If no password is specified the Lock screen will not invoke. If a password is set the system starts with each desktop that does not specify nolock=true initially on lock screen.

pre=path
Files to run before starting the system. Run before APIs are loaded. There may be multiple pre entries, and they are run in order.

api=path
The path of any APIs to automatically load at start up. The path is passed to win.load_api () and remain permanently loaded. There may be multiple api entries, and are loaded in order. Note that the api /apis/html is installed with the system.

comm=name
nametime=count
This entry defines a comm connection, of which there may be more than one. These connections are established at start up and remain connected. The first name entry is required, and the 'time is optional. The comm entry specifies the name of the connection. The 'time entry starts with the connection's name and is appended with time, and specifies the count of os.clock () an operation will wait/attempt until a failure is accepted. The default is 5.
For example, to create a connection called "system":
comm=system
systemtime=5

Desktops
To create a desktop place a sub-folder for the device to create under the /win/devices directory with at least the desktop.ini file in it, and make an entry in the /win/devices/desktops.lua file. The desktops.lua file contains a table specifying the desktops to create on startup. The sub-folder name for the desktop must be the same as given in the desktops.lua table.

desktop.lua table keys
type="type"
The type of desktop device, "term" or "monitor". At most one "term" entry should be made, and this is the only key used. The desktop folder term is assumed. While a desktop is not required on the terminal, the terminal will be useless on a running system.

dir="dir"
The name of the desktop folder under /win/devices.

channels=channels
For multi-monitor devices this must be a list of digilines channels for each monitor in order left to right, top to bottom facing the monitor. For single monitor devices this can be a string or list of one string with the digilines channel name of the monitor.

width=width
The monitor width for multi-monitor devices. If this is a single monitor this value should be 1.

For example, to set up the terminal, and one 2x2 multi-monitor desktop named "monitor_1" and one single monitor desktop named "monitor_2":

/win/devices/desktop.lua
return
{
    {
        type = "term",
    },
    {
       type = "monitor",
        dir = "monitor_1",
        channels = { "mon1_1", "mon1_2", "mon1_3", "mon1_4" },
        width = 2,
    },
    {
        type = "monitor",
        dir = "monitor_2",
        channels = "mon2",
        width = 1,
    },
}
Desktop files:
/win/devices/term/desktop.ini
/win/devices/monitor_1/desktop.ini
/win/devices/monitor_2/desktop.ini
Each desktop can optional have a startup.ini file (and usually does), and a theme.ini file. For any desktop that does not have a theme.ini file one is created on startup with the default settings.

desktop.ini file
The desktop.ini file contains the menu entries for the desktop's Home page. Each entry contains five lines, placed successively in the file exactly, in order of appearance.
Line 1
The program title - displayed in the Home page list.
Line 2
Full path to the application file.
Line 3
Arguments for the program - optional, leave blank for none. The list is white space delimited.
Line 4
Blank line.
Line 5
Blank line.
If this file is altered the changes take effect the next time the Home page is displayed.

startup.ini
This is a key=value text file, with each entry on a new line. Any blank lines or lines starting with a semi-colon are ignored. No extra spaces should be used. If this file is altered the system must be rebooted for the changes to take effect. The following keys are recognized:

run=path [arguments]
The full path and optional arguments of an application to run automatically on the desktop at start up. There may be multiple run entries.

home=title
The title to display on the Home page. If not specified defaults to the computer's label or "Home" if none.

fullscreen=boolean
If true this desktop starts in full screen mode (with the task bar initially hidden).

nolock=boolean
If true the lock screen will not display on this desktop.

theme.ini
This is a serialized lua table, and is easier to edit it through the manager application. Two settings will be customized frequently for monitor desktops, text_scale and keyboard_height The text_scale settings is the initial text scale for the monitor. The keyboard_height setting is the number of lines from the bottom of the monitor to the top of the on screen keyboard overlay. This defaults to 5, and is the minimum trimmed by the system. It is easiest to use the on screen keyboard when it is mid center straight forward view (not around your feet). This setting allows the keyboard to be displayed a the most comfortable position. If this file is altered the system must be rebooted for the changes to take effect.


See also WIN.