Quickstart
Welcome to the Quickstart Guide for WaveLegacy! Here, you’ll find everything you need to get WaveLegacy installed on your system, set up your environment, and dive into the basics of using WaveLegacy to enhance your command line experience.
Installation
- There are two ways to get WaveLegacy:
- Download WaveLegacy and drag it into your Application folder.
- If using brew, get brew commands to work by adding the shellenv command to your .bashrc or .zshrc, e.g.
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bashrc
- Download the appropriate package for your system.
- Install the package using one of the following methods.
.deb
To install WaveLegacy Debian-based systems (Ubuntu, Debian, etc.), use one of the following commands.
sudo apt install ./WaveLegacy-linux-amd64-<version>.deb
or
sudo dpkg -i WaveLegacy-linux-amd64-<version>.deb
.rpm
On RPM-based Linux distributions (Fedora, CentOS, etc.), WaveLegacy can be installed using the rpm
command (or dnf
in Fedora).
sudo rpm -i WaveLegacy-linux-x86_64-<version>.rpm
or
sudo dnf install WaveLegacy-linux-x86_64-<version>.rpm
.pacman
For Arch Linux and derivatives, WaveLegacy can be installed using the pacman package manager.
sudo pacman -U WaveLegacy-linux-<arch>-<version>.pacman
.AppImage
AppImage allows you to run the WaveLegacy application on any Linux distribution without installing it.
First, make the AppImage file executable
chmod +x WaveLegacy-linux-x86_64-<version>.AppImage
- Next, Run WaveLegacy
./WaveLegacy-linux-x86_64-<version>.AppImage
- Download the
.zip
Linux package for WaveLegacy. - In your terminal, navigate to the location where you want to install WaveLegacy. Then, run the following commands to create a folder and extract the contents of the
.zip
file.
mkdir wavelegacy
unzip WaveLegacy-Linux-*.zip -d wavelegacy
- Run the application:
./WaveLegacy
Optional:
You can create a .desktop
file, allowing you to launch WaveLegacy directly.
After doing the above steps, create a file named WaveLegacy.desktop
, and add the following, modifying the Exec
and Icon
paths to point to your WaveLegacy installation:
[Desktop Entry]
Type=Application
Name=WaveLegacy
Icon= /path/to/WaveLegacy-linux-*/resources/app/public/waveterm.icns
Exec=/path/to/WaveLegacy-linux-*/WaveLegacy
# setting this to true will launch an extra terminal to run the WaveLegacy command
Terminal=false
Run desktop-file-validate WaveLegacy.desktop
to validate that the desktop entry is correct, then run sudo cp WaveLegacy.desktop ~/.local/share/applications/WaveLegacy.desktop
to copy the entry into your application list.
After restarting your desktop environment (or your computer), WaveLegacy should be visible in your desktop application list. You can now launch WaveLegacy directly from your desktop environment.
The .desktop
file scheme is supported by the most commonly used desktop environments such as GNOME, KDE, XFCE, etc. If you encounter issues, you can get help in our Discord or by opening an issue on Github.
WaveLegacy has support for WSL, tested on Ubuntu and Kali distros
- Download the
.zip
Linux package for WaveLegacy.- In the terminal, use
wget <DOWNLOAD_URL>
- In the terminal, use
- Navigate to the location where you want to install WaveLegacy. Then, run the following commands to create a folder and extract the contents of the
.zip
file.
mkdir wavelegacy
unzip WaveLegacy-linux-*.zip -d wavelegacy
- Change to the WaveLegacy directory
cd wavelegacy
- Run the application:
./WaveLegacy
if you run into issues, try running the following 2 commands:
sudo apt install libgtk2.0-0 libatk1.0-0 libatk-bridge2.0-0
libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev
And
export DISPLAY=:0
Get Started
You type commands into the input box at the bottom of the screen like normal, and when you hit [return] the command will be executed. You’ll notice that each command is run in its own block. The block groups the command with its output in the terminal screen. The block will expand to fill the screen as more output is received.
Running Commands
The block headers give information about the command and its status. You’ll see the line “number” (useful for referring to commands from the CLI), a status indicator, and a timestamp. The next line shows what server the command was run against (local means your local machine), the current working directory, and then the command. When you’re in a git directory or a python venv you’ll also get additional status showing the git branch or the environment name.
When a command is running, you can interact with it like normal when the command has focus. When commands are initially run they get focus by default, and when they terminate they give focus back to the input box. You can easily shift focus between your commands or the input box using the mouse or “Cmd-I” to focus the input box, and “Cmd-L” to focus a command line. Note that Cmd-I will work in any context to focus the input box. To shift the focus between commands you can use the mouse or “Cmd-UpArrow” / “Cmd-DownArrow” (or Cmd-PageUp/Cmd-PageDown) will move the focus between commands. When the input box has focus, pressing “return” will always scroll the screen to the bottom.
Workspaces and Tabs
So far we’ve been working in one tab. You can easily create a new tab by clicking the “+” in the tab bar, or by pressing “Cmd-T”. Switching between tabs can be done with the mouse or by using “Cmd-[digit]” to switch to the nth tab. Cmd-LeftArrow and Cmd-RightArrow will also work to change tabs.
WaveLegacy also has the concept of workspaces. A workspace is just a set of tabs. You can see your workspaces listed in the left column of the UI. You start with 1 workspace named “default”. You can easily create a new workspace by clicking on the ”+” left bar next to the label “Workspaces” or by using a “slash-command” (we’ll discuss those later). Each workspace is independent from the others. You can use workspaces to set up custom sets of tabs for different projects, common configurations, or different remote machines. In the future, WaveLegacy will support sharing workspaces with your team or having a joint shared workspace that everyone can view and contribute to.
Workspaces and tabs are persistent. The history and state of each tab is preserved across reboots, network disconnections, remote machine reboots, and time. Any command you’ve ever run in WaveLegacy will be remembered (unless of course you choose to delete it).