Thinkorswim
- thinkorswim
no package available
- thinkorswim is an electronic trading platform
- Developer:TD Ameritrade
- License:Proprietary
- Website:
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/.