Skip to content

Latest commit

History

History
176 lines (122 loc) 路 7.34 KB

installing.md

File metadata and controls

176 lines (122 loc) 路 7.34 KB

Installing Kando

You have two options to install Kando. You can either download a pre-built package from the releases page or compile Kando yourself.

a) Downloading a Release

This is the easiest way to get Kando. Just head over to the releases page and download the latest version for your platform. You can either download a portable zip archive or an installer.

If you choose the portable version, you can just extract the archive and run the kando executable. If you choose the installer, you will find Kando in your start menu after the installation.

Tip

After downloading, make sure to read the platform-spedific notes below!

Running Kando from the Command Line

If you installed Kando with an installer, you can just run it from the start menu. However, sometimes it is useful to run Kando from the command line in order to see the output of the application. Depending on your platform, the kando executable will be located in different directories:

  • Windows: %localappdata%\Kando\app-<version number>\Kando.exe
  • macOS: /Applications/Kando.app/Contents/MacOS/Kando
  • Linux: /usr/bin/kando

b) Manual Installation

If you want to test the latest development version of the prototype, you will have to install node and npm. You will also need cmake for building the native backends. Additionally, you will need a C++ toolchain.


Windows Dependencies

On Windows, you can install either Visual Studio or run this to get the build tools:

npm install -g windows-build-tools

To get node and npm, you can follow the official instructions.


macOS Dependencies

On macOS, you will need the Xcode Commandline Tools and CMake. The latter can easily be installed with Homebrew:

brew install cmake

To get node and npm, you can use nvm.


Linux Dependencies

On Linux, gcc should already be installed. However, some additional packages may be required for the native backend modules. On Debian-based distributions you can install them with:

sudo apt install nodejs cmake libx11-dev libxtst-dev libwayland-dev libxkbcommon-dev

On Arch-based distributions you can install them with:

sudo pacman -S nodejs npm cmake libx11 libxtst wayland libxkbcommon

On RPM-based distributions you can install them with:

sudo dnf install nodejs cmake libX11-devel libXtst-devel wayland-devel libxkbcommon-devel

馃殌 Running the Prototype

Tip

Make sure to also read the platform-spedific notes below!

Once these dependencies are installed, navigate into the Kando directory, then only these two commands are required:

npm install
npm start

Once this is running, you can press Ctrl+Space to open the test window.

馃摝 Creating a Release Executable

To create an executable compiled in release mode, run this:

npm install
npm run package

This will create a directory in the out/ directory containing the kando executable.

馃殺 Creating a Distributable Package

To create a distributable archive, just run this:

npm install
npm run make

This will create several packages in the out/ directory.

  • On Windows, it will create a Squirrel installer and a portable zip archive.
  • On Linux, it will create Debian, an RPM and a portable zip archive.
  • On macOS, it will create a DMG file and a portable zip archive. If the environment variables KANDO_OSX_SIGN and KANDO_OSX_NOTARIZE are set to true, the build process will try to sign and notarize the application.

Platform-Specific Notes

macOS

  • On macOS, you will have to grant Kando Accessibility and Screen Recording permissions in the system settings. Accessibility permissions are required to simulate key presses and move the mouse cursor. Screen Recording permissions are required to get the name of the currently focused window.

Linux

  • On GNOME / Wayland you will also need to install the adapter extension.
  • On KDE / Wayland and Hyprland you cannot directly bind global shortcuts. Instead, you specify a shortcut ID in the editor and bind a key combination in the desktop environment settings. On KDE you find your given shortcut ID under the KWin section in the global shortcuts settings. On Hyprland you can bind the shortcut using bind = CTRL, Space, global, kando:<trigger-id> for instance.
  • Per default, Kando runs under XWayland on Wayland compositors. If you want to run it natively, you can set the environment variable ELECTRON_OZONE_PLATFORM_HINT=wayland before starting Kando. This is not yet fully tested but should work on most distributions.
  • On Hyprland, you will need some window rules for Kando:
    windowrule = noblur, kando 
    windowrule = size 100% 100%, kando
    windowrule = noborder, kando
    windowrule = noanim, kando
    windowrule = float, kando
    windowrule = pin, kando
    
  • During compilation, a pre-install script hook is used to remove the productName from the package.json file. This is the only reliable way I have found to make Electron use a lower-case config directory on Linux (~/.config/kando) and an upper-case application name ("Kando") on Windows and macOS. As a consequence, the package.json file will always contain changes after the build process. This is not a problem, but it may be confusing.
  • On some distributions, you may encounter the error The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now during build, you can fix it by running these commands:
    sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
    sudo chown root node_modules/electron/dist/chrome-sandbox

Contribution Guidelines Index Configuring Kando