Thinkorswim

Jump to: navigation, search
Thinkorswim-screenshot.png
  • Thinkorswim-icon.png thinkorswim
    no package available
  • thinkorswim is an electronic trading platform
  • Developer:
    TD Ameritrade
  • License:
    Proprietary

Installation

Installing Zulu OpenJDK 17

thinkorswim is supposed to be run under Zulu OpenJDK 17. On Linux in contrast to Windows and macOS, you are to install and update it on your own as it is not bundled with the application.

Adding Zulu Yum repository

# rpm --import https://www.azul.com/files/0xB1998361219BD9C9.txt
# zypper in https://cdn.azul.com/zulu/bin/zulu-repo-1.0.0-1.noarch.rpm

If you have the /etc/yum.repos.d/ directory then copy/move the zulu-openjdk.repo file from there to the /etc/zypp/repos.d/ directory.

# test -d /etc/yum.repos.d && cp /etc/yum.repos.d/zulu-openjdk.repo /etc/zypp/repos.d/

Installing Zulu OpenJDK 17 RPMs

# zypper refresh
# zypper in zulu17

Setting Zulu OpenJDK 17 as default

# update-alternatives --config java

Installing thinkorswim

Downloading the installer

The installer can be download from https://www.schwab.com/trading/thinkorswim/download or using the following command in terminal:

$ curl -O https://mediaserver.thinkorswim.com/installer/InstFiles/thinkorswim_installer.sh

Running the installer

$ sh thinkorswim_installer.sh

Deleting the installer

$ rm thinkorswim_installer.sh

Installing VLC

If you want to watch CNBC and Reuters videos (the Tools -> Videos tab) then you are to install VLC on your own as VLC libraries are bundled only on Windows and macOS.

Further reading: VLC

Configuration

Scaling for HiDPI displays

Add the following two lines to thinkorswim.vmoptions in the thinkorswim directory to get the desired scaling:

-Dsun.java2d.uiScale.enabled=true
-Dsun.java2d.uiScale=200%

Enabling OpenGL-based pipeline

Printing to PDF

Firstly, you need to install cups-pdf:

# zypper in cups-pdf

Now you can choose the "CUPS-PDF" printer and find the printed files in /var/spool/cups-pdf/<user>.

Getting started

Troubleshooting

Fixing invisible main window under GNOME (Wayland)

To get the main window visible you can hold down the Super key and then press and to maximize and restore window size.

To fix the issue for good, please run the following command:

$ gsettings set org.gnome.mutter auto-maximize false

Fixing desktop application file location

Copy thinkorswim.desktop to a more appropriate location to make it visible by different desktop environments.

 $ cp ~/Desktop/thinkorswim.desktop ~/.local/share/applications/

Fixing duplicate launchers

Adding the following line to thinkorswim.desktop will help desktop environments like GNOME understand that the launcher and the application are the same thing:

StartupWMClass=java-lang-Thread
$ grep -q StartupWMClass ~/.local/share/applications/thinkorswim.desktop || echo "StartupWMClass=java-lang-Thread" >> ~/.local/share/applications/thinkorswim.desktop

Please note, that some other Java applications can use the "java-lang-Thread" class, so they will also be bound to the launcher.

Fixing application icon

To use greenish icon instead of blueish one you can download it from this wiki and replace the default one:

$ curl -O https://en.opensuse.org/images/5/57/Thinkorswim-icon.png
$ mv Thinkorswim-icon.png $(sed -n 's/^Icon=\(.*\)$/\1/p' ~/.local/share/applications/thinkorswim.desktop)

Registering tossc protocol

To make shared items on https://tos.mx open in thinkorswim just by clicking the "View in thinkorswim" link in your browser, one should create the following two files:

1. thinkorswim-tossc-handler in the thinkorswim installation directory

#/bin/bash

uri="$1"
id=${uri#*:}
lock_file="$(find ~/.thinkorswim -name '*.lock')"
if [[ -n "$lock_file" ]]; then
  touch ~/.thinkorswim/"$id"."$(basename $lock_file .lock)".link
else
  sh -c "$(sed -n 's/^Exec=\(.*\)$/\1/p' ~/.local/share/applications/thinkorswim.desktop) SharedConfigurationLink $id"
fi

2. thinkorswim-tossc-handler.desktop in the ~/.local/share/applications directory

[Desktop Entry]
Type=Application
Name=thinkorswim
Exec="/data/Applications/thinkorswim/thinkorswim-tossc-handler" %u
MimeType=x-scheme-handler/tossc;
Terminal=false
NoDisplay=true

The final step is to register the new tossc protocol by updating desktop database:

$ update-desktop-database ~/.local/share/applications/

Known issues

Trader TV gadget

The Trader TV gadget is not available on Linux, so you cannot watch live TV streams in the application such as CNBC.

Learning Center tab

The Education -> Learning Center tab is not available on Linux. While you cannot browse the documentation in the application, you can do it using your browser by going to https://toslc.thinkorswim.com/.

External links