TDA Config - User Guide

Overview

TDA Config is a specialized display configuration utility for the ToLiss Display App. It allows you to create and position the aircraft instrument panels (PFD, ND, EWD, SD, MCDU, etc.) across your monitors and control them via keyboard shortcuts or a remote web interface.

The application is designed for flight simulation enthusiasts and virtual airline operators who need flexible, multi-window instrument layouts for the ToLiss Display App.

Key Features


Getting Started

Downloading

Download the application at https://midwestsimulations.com/downloads/tdaconfig-windows.

Windows web browsers may flag this download as unrecognized or “dangerous” — this is a reputation-based warning (Microsoft SmartScreen in Edge/Chrome, Google Safe Browsing in Firefox), not a specific finding of malware. It happens to many small, independently-published applications simply because too few people have downloaded them yet for Microsoft/Google’s reputation services to vouch for the file. TDA Config is checked for viruses/malware before every release — if you’d like to confirm this yourself rather than take our word for it, upload the downloaded file to a free multi-engine scanner such as VirusTotal before running it; dozens of independent antivirus engines will report their findings.

Typical warnings look like this:

Browser What you’ll see
Edge blocks the download Edge: a red “This file is dangerous, so Edge blocked it.” card in the Downloads flyout. Click ···Keep anyway to proceed.
Chrome blocks the download Chrome: the same warning in the download bar at the bottom of the window. Click the dropdown next to it and choose Keep dangerous file.
Firefox usually allows the download Firefox uses a narrower reputation check and typically does not block this download — it usually just completes normally.

The images above are illustrative recreations of each browser’s warning UI (exact wording/layout varies by version), not literal screen captures.

The downloaded program is a single .exe file that can be run as downloaded and does not require installation.

Launch the Application

Click on the downloaded .exe file.

Regardless of which browser you used, Windows performs a second, separate check the first time you actually run the downloaded .exe, and may show this dialog:

Windows SmartScreen dialog

Click Run anyway to continue — this is the same underlying Microsoft Defender SmartScreen mechanism as the Edge/Chrome download warnings above, just triggered at launch time instead of download time.

Command line parameters

You also can start the program from the command line. tdaconfig-windows supports the following command line parameters:

Parameter Description
-h, --help Show the help message and exit
-p, --port PORT Web server port (default: 8080)
-r, --remote Do not open a browser window automatically on startup
-l, --log-file PATH Write logs to the specified file
--log-size BYTES Maximum log file size before rotation (default: 10485760 bytes / 10 MB)
--log-count N Number of rotated log files to keep (default: 3)
--log-level LEVEL Log verbosity — trace, debug, info, warn, error, critical, or off (default: info)
-lc, --log-console Also print logs to the console when file logging is enabled

Examples:

tdaconfig-windows --port 9090
tdaconfig-windows --log-file app.log --log-size 5242880
tdaconfig-windows --log-file app.log --log-console --log-level debug

Showing the User interface

If the Web browser doesn’t open automatically, hit the (Windows) key, open your web browser and navigate to http://localhost:8080. If you have changed the default port with -p or --port on the command line, replace the 8080 with the port you specified.

First Run

On startup, the application:

  1. Shows a red background on all your monitors. This background helps you to define the window size and position, as it remains clearly visible. You can change your vantage point and check if some screen background remains if you look from a different angle.
  2. tdaconfig will start the web server on port 8080 (or the port with -p or --port on the command line)
  3. If you don’t specify the command line parameter -r or --remote, it will open the user interface in a browser window.
  4. On first run, the program will try to download and install a license. See below for Licensing
  5. The app will load the default configuration (if available)
  6. It then will create instrument windows at configured positions

Licensing

TDA Config is licensed per machine. The first time it runs (or whenever no valid license is found), the web interface blocks with a License Required screen until one is installed — everything else in this guide assumes that screen has already been cleared. There are three ways to get past it, covered below.

Under the hood, a license is a small signed text file tied to your machine’s hardware ID. It carries a FEATURE (DEMO or FULL) and, for demo licenses, an EXPIRES date. The web interface’s header always shows the running app version, and — only while a demo license is active — an amber badge showing when it expires:

Badge Meaning
v0.1.0-... Current app version (always shown)
DEMO · expires YYYY-MM-DD Only shown while the active license is a time-limited demo

Option 1: Automatic demo license

If your machine has never had a license before, TDA Config requests a demo automatically — no account needed. The app encrypts a request tied to your hardware ID and sends it to the license server; if nothing is available yet for this machine, a fresh demo comes back with an expiration date (14 days by default).

Checking for a demo license The app is requesting a demo license for this machine.
Demo license offered A demo license was issued. Review the expiration date, then click Activate License.
Demo license active The demo is installed. Note the DEMO · expires ... badge in the header — it disappears once you install a full license.

A demo can only be issued once per machine — if your trial has already expired, this path is blocked and you’ll need to purchase a license (Option 2) or install one manually (Option 3).

Option 2: Sign in with a purchased license

If you’ve bought TDA Config at the Midwest Simulations web store, click Sign in to use a purchased license instead on the demo screen (or it appears automatically if no demo is available), then log in with the account you purchased under. The app looks up your order and, if it finds an unused seat for this product, issues a full (non-expiring) license directly to this machine — no manual file handling needed.

Login form Enter the username/password for the account you purchased with.
Full license offered A Full License, registered to your account, was found. Click Activate License.
Full license active The full license is installed — the DEMO badge is gone; only the version badge remains.

Each purchased seat can be activated on one machine at a time — moving it to a new machine requires the license to be reassigned (contact support).

Option 3: Install a license file manually

If you already have a .lic/.ini license file (for example, a permanent license generated for you directly, or one you’re moving from another install), you can upload it without logging in. From the same login screen, scroll to Upload license file, select the file, and it activates immediately — no extra confirmation step.

Manual upload option On the login screen, use Upload license file instead of signing in.
Manual license active The uploaded license is installed immediately on selection.

A manually-installed license must already be signed for this exact machine’s hardware ID — it won’t validate on a different computer.


Basic UI

The web interface is organized into four main areas:

Web interface overview
Header detail

2. Toolbar

Toolbar detail

3. Monitor Topology

Monitor Topology detail

A scaled, drag-and-drop editor representing your physical monitor layout. Each outlined rectangle is one physical monitor (labeled with its resolution); the colored boxes inside are your instrument windows, numbered and color-matched to the Configured Displays table on the right. Click a window to select it, drag to move it, or Shift+drag a corner to resize it.

4. Configured Displays

Configured Displays detail

A table listing every configured instrument window — index, name, position, and size. The selected window’s row is highlighted using the same color as its box in the Monitor Topology view. SD windows additionally show their configured SD page beneath the name.

5. File menu

File menu detail

Click File in the toolbar to open this dropdown, giving access to all file operations:

Embedded Templates

Built-in templates are included for quick setup: - minimal.xml - Single PFD window - demo-dual.xml - Two-monitor layout (PFD + EWD)

6. Add Display

Add Display type list

Click Add Display in the toolbar to choose an instrument type to create. Types that can only exist once and are already in your layout (like Left ND / Right ND above) are grayed out with an explanatory note; everything else is selectable, and the first available type is pre-selected for you.

Some types reveal extra options once selected:

Add Display with the SD page option shown
New window placed at screen center

The new window is placed at the center of your primary monitor and the header switches to Unsaved — move and resize it as desired (see Position Adjustment and Size Adjustment below, or drag it directly in the Monitor Topology view), then save when you’re happy with it.

7. Remove Selected

Select a window first — click its row in the Configured Displays table, click its box in Monitor Topology, or cycle through windows with (Tab) — then click Remove Selected:

Remove Selected confirmation prompt

A confirmation prompt appears, naming the window by index and type. Click Delete to remove it, or Cancel to back out — this action cannot be undone once confirmed.

Window removed from the layout

8. ToLiss Display App settings

Settings controls

These three controls, in the top-right corner of the toolbar, configure how the ToLiss Display App behaves — independent of any single instrument window.

Allow position tuning

When checked, the ToLiss Display App monitors the configuration XML file directly: whenever you save, its existing windows are repositioned and resized live. Windows you added or removed, however, only take effect after the ToLiss Display App is restarted.

No startup texts

Suppresses the ToLiss Display App’s own startup status messages (such as “Waiting for Data”) that would otherwise appear in each instrument window until X-Plane data starts flowing.

UDP port

Hovering or focusing the field shows a popover explaining what it’s for:

UDP port popover explaining the ToLiss ISCS setup

This is not the web interface’s own port (that one is set via -p/--port on the command line — see Command line parameters above). It’s the UDP port X-Plane’s ToLiss ISCS module sends its data to. Configure ISCS in X-Plane with a UDP destination address matching one of:


Window Positioning

Why the Red Background?

Whenever TDA Config is running with its own windows visible, it fills the entire virtual desktop behind all instrument windows with solid red:

Red background visible in the gaps between and around instrument windows

Red doesn’t appear naturally in any real ToLiss instrument, so any red you can still see is unambiguously not covered by a window — a gap, a misaligned edge, or a monitor you haven’t positioned anything on yet. This is especially useful when checking a physical multi-monitor setup from an angle (e.g. a curved cockpit shell), where a window’s actual rendered boundary might not be exactly where you expect: if you can still see red from your seat, that spot isn’t covered.

Window borders

Every instrument window shows a colored border on each of its four edges, giving live feedback on how close that edge is to the boundary of its monitor:

Window positioned at the top-left corner of a monitor, with a yellow top border, a green left border, and blue right/bottom borders
Color Meaning
Green This edge exactly coincides with the monitor’s edge
Yellow This edge is within 10 pixels of the monitor’s edge
Blue This edge is more than 10 pixels from the monitor’s edge

Each of the four edges is evaluated independently against the matching side of the monitor — in the screenshot above, the window’s left edge sits exactly on the monitor’s left edge (green), its top edge is a few pixels below the monitor’s top edge (yellow), and its right/bottom edges are far from their respective monitor edges (blue). This makes it easy to align a window flush with a monitor edge, or to notice at a glance when it’s about to cross into an adjacent monitor.

Inset Border

The colored border isn’t drawn flush against the window’s actual edges — it’s inset inward by a configurable number of pixels (the <border> tag in the XML, or the Border inset keyboard shortcut), leaving a plain margin between the window’s true boundary and the instrument content drawn inside it:

A window with a large inset border, showing the gap between the outer colored border and the actual instrument content

Use + / - to grow or shrink this margin on the selected window. It’s useful for compensating for physical bezels between adjacent monitors (or panel mullions on a video wall), or simply to add breathing room around an instrument. The margin’s thickness is independent of the colored border’s color — the color still reflects how close the window’s true (uninset) edge is to the monitor boundary, regardless of how large the inset is.

Repositioning with the keyboard

Select the window first (click it, or cycle with (Tab) / (Shift)+ (Tab)), then:

See Keyboard Controls Reference below for the complete table.

Repositioning with the mouse

You can also drag windows directly, either on the actual instrument window itself or in the Monitor Topology view of the web interface:


Typical Workflow

Scenario: Setting Up a Two-Monitor Layout

Step 1: Start TDA Config When you start TDA Config, a red background will be shown on all of your monitors. The last defined configuration is loaded and dummy windows that symbolize typical screen content are displayed at the according positions. The red background helps you to position your windows easily.

Step 2: (optional) Load Configuration

If you have run TDA config before, it will load the last used configuration. But you also can either load an existing TDA_config.xml file via the web interface at http://localhost:8080 or start from scratch with one of the predefined templates.

Step 3: Fine-tune Positioning

Use keyboard shortcuts (see Keyboard Controls section) to adjust window positions and sizes. Position the window so that you can look at your screen from all angles without seeing the red screen background. Windows can have an inset border, which means that there will be a border between the outside window and the content shown within it. The inset is shown with a colored border inside the window.

When you move the window around the screen, this border changes color when the window approaches the edges of your monitor. As long as a window borders does not get close to the monitor border, it will be drawn in blue. If a window border is within 10 pixels of the monitor border, it appears in yellow. And if it perfectly coincides with the monitor border, you’ll see it in drawn in green. This helps you in aligning full screen windows or avoid that windows cross the border to adjacent monitors.

Step 3: Add More Instruments (Optional)

Add additional windows by editing the configuration or using the web interface

Step 4: Save Configuration

Save your layout as TDA_config.xml in the folder that contains the ToLiss Display App. The file name must be exactly this one, otherwise ToLiss Display App won’t recognize the layout. TDA Config remembers the last configuration on exit so that you don’t need to load it next time.

Step 5: Restart the ToLiss Display App You need to restart the ToLiss Display App to load the new configuration.

Scenario: Switching Between Layouts

  1. Launch the application
  2. Use web interface: File > Load… to switch between saved layouts
  3. Select a new layout and it loads into TDA Config
  4. Save the configuration as TDA_config.xml in the ToLiss Display App folder
  5. Restart ToLiss Display App

Keyboard Controls Reference

Window Selection

Shortcut Action
(Tab) Select next window
(Shift) + (Tab) Select previous window

The selected window is highlighted with a green border during positioning.

Position Adjustment (Selected Window Only)

Shortcut Action
Move up by 10 pixels
Move down by 10 pixels
Move left by 10 pixels
Move right by 10 pixels
Ctrl + Move up by 1 pixel (fine adjustment)
Ctrl + Move down by 1 pixel (fine adjustment)
Ctrl + Move left by 1 pixel (fine adjustment)
Ctrl + Move right by 1 pixel (fine adjustment)

Size Adjustment (Selected Window Only)

Shortcut Action
(Shift) + Decrease height by 10 pixels
(Shift) + Increase height by 10 pixels
(Shift) + Decrease width by 10 pixels
(Shift) + Increase width by 10 pixels
Ctrl + (Shift) + Decrease height by 1 pixel (fine adjustment)
Ctrl + (Shift) + Increase height by 1 pixel (fine adjustment)
Ctrl + (Shift) + Decrease width by 1 pixel (fine adjustment)
Ctrl + (Shift) + Increase width by 1 pixel (fine adjustment)

Inset Border Adjustment (Selected Window Only)

Shortcut Action
+ Increase inset border by 1 pixel
- Decrease inset border by 1 pixel

XML Configuration Tag Reference

Screen (Instrument) Types - Index Values

Index Screen Type Multiple Instances Supports SD Page
0 Left PFD [Yes] [No]
1 Left ND [Single only] [No]
2 Right PFD [Yes] [No]
3 Right ND [Single only] [No]
4 EWD [Yes] [No]
5 SD (Systems Display) [Yes] [Yes]
6 MCDU 1 [Yes] [No]
7 MCDU 2 [Yes] [No]
8 MCDU 3 [Yes] [No]
9 ISI [Yes] [No]
10 DCDU 1 [Yes] [No]
11 DCDU 2 [Yes] [No]
12 DRAIMS 1 [Yes] [No]
13 DRAIMS 2 [Yes] [No]
14 DRAIMS 3 [Yes] [No]
15 ISCS [Yes] [No]
16 Captain side EFB [Yes] [No]
17 Copilot side EFB [Yes] [No]

SD Page Values (Only for index=5)

Value System Value System
-1 As in X-Plane (default) 8 Door / Oxygen
0 Engine 9 Wheel
1 Bleed 10 Flight Controls
2 Pressurization 11 Cruise
3 Electrical (AC) 12 Status
4 Hydraulic 14 Electrical (DC)
5 Fuel 15 Circuit Breakers
6 APU - -
7 Air Conditioning - -

Configuration XML Options

Tag Use Example
<network><port> WebSocket server port <port>8080</port>
<position_tuning/> Show position tuning overlay (empty flag)
<no_startup_texts/> Suppress startup messages (empty flag)
<screen> Define one instrument Container with child tags
<index> Instrument type (0-17) <index>5</index>
<left> X position in pixels <left>100</left>
<top> Y position in pixels <top>50</top>
<width> Window width in pixels <width>800</width>
<height> Window height in pixels <height>600</height>
<border> Border thickness in pixels <border>10</border>
<sdpage> SD variant (only index=5) <sdpage>0</sdpage>
<screenonly/> Hide UI (only MCDU 6-8) (empty flag)
<borderless/> Remove window border (empty flag)

Troubleshooting

Web interface doesn’t open automatically

Issue: TDA Config has started — every monitor shows the plain red background (and, on a fresh install, no instrument windows yet) — but no browser window with the configuration UI appeared.

Solutions:

Web Interface Not Accessible

Issue: Cannot connect to http://localhost:8080

Solutions:

Instruments Not Appearing

Issue: Windows don’t appear after launching

Solutions:

Port Already in Use

Issue: “Address already in use” error on startup

Solutions:

Window Positioning Issues on Multi-Monitor

Issue: Windows appear on wrong monitor or outside visible area

Solutions:

Performance Issues

Issue: Sluggish response or lag when moving windows


Contact & Support

Please contact us at support@midwestsimulations.com for any question

Reporting Issues

When reporting a bug, please include:

  1. Operating system and version
  2. SDL driver in use (check startup log)
  3. Display configuration (monitor count and resolution)
  4. Configuration file content (if not private)
  5. Program log output
  6. Steps to reproduce the issue

Contributing

Contributions are welcome! Areas of interest:

License

TDA Config is licensed under the License File - See LICENSE.md file for details.


Tips & Best Practices

Layout Design

Performance Optimization

Multi-Monitor Setup