TabDesk – installation (Debian / Kali / Ubuntu)
================================================
Version: 0.3.0

Quickest – all in one (fetches the key, checks it, installs):

  curl -fsSL https://cdn.thern.io/tabdesk/install.sh | sudo bash

To read the script first:

  curl -fsSL https://cdn.thern.io/tabdesk/install.sh -o td.sh
  less td.sh
  sudo bash td.sh

Step by step
------------
The commands below are deliberately written without variables. The lines get
long, but copy the whole line – a half-pasted variable line leaves an empty
[signed-by=] and the error "Malformed entry 1 in list file".

1) Fetch the signing key to a temporary file:

  curl -fsSL https://cdn.thern.io/tabdesk/tabdesk-archive-keyring.gpg -o /tmp/td.gpg

2) Check that it really IS the key – before it is written:

  gpg --show-keys /tmp/td.gpg

   Should show the fingerprint
   B40E D009 54B3 B564 21F5  8C99 B9D4 4CBC 6F2B D93E
   and "TabDesk APT repository <info@thern.io>".
   Anything else: stop here, nothing has been written yet.

3) Put the key in place:

  sudo install -m644 /tmp/td.gpg /usr/share/keyrings/tabdesk.gpg

4) Apt source (a single line):

  echo "deb [signed-by=/usr/share/keyrings/tabdesk.gpg] https://cdn.thern.io/tabdesk stable main" | sudo tee /etc/apt/sources.list.d/tabdesk.list

5) Install:

  sudo apt update && sudo apt install tabdesk

Update:     sudo apt update && sudo apt upgrade tabdesk
Uninstall:  sudo apt remove tabdesk

Direct .deb:
https://cdn.thern.io/tabdesk/pool/main/t/tabdesk/tabdesk_0.3.0_amd64.deb

Tarball (no apt, for non-Debian):
https://cdn.thern.io/tabdesk/tabdesk-0.3.0.tar.gz

  tar xzf tabdesk-0.3.0.tar.gz
  ./tabdesk-0.3.0/tabdesk

The tarball only unpacks and runs – no apt source, so no updates and no
dependencies installed for you. The following must already be on the
machine: xterm, xdotool, python3-gi, libgtk-3-0, libnss3, libxss1,
libxtst6, libsecret-1-0, libnotify4. If the app does not start, run
./tabdesk-0.3.0/tabdesk from a terminal and read the error line – a
missing library shows up there.

If something went wrong
-----------------------
"Malformed entry 1 in list file ... ([option] no value)"
  The source file contains [signed-by=] with no value – step 4 was pasted
  incompletely. Check with:

  cat /etc/apt/sources.list.d/tabdesk.list

  The line must contain the full path to the key. The easiest fix is to
  let the script rewrite the file:

  curl -fsSL https://cdn.thern.io/tabdesk/install.sh | sudo bash

Parse error about the keyring from apt
  Then /usr/share/keyrings/tabdesk.gpg is not a key, but most likely an
  HTML page. See the next section – delete the file and run the script
  above.

NOTE if you got these instructions by email
-------------------------------------------
Do NOT pipe the key straight into the keyring. Mail clients rewrite links
(Gmail turns the URL into www.google.com/url?q=...). Such a link answers 200
with an HTML page, curl accepts it, and the HTML ends up in the keyring. The
only symptom is a parse error from apt that does not point at the cause.
Check the key first, then write it.

If a link above looks like it goes to www.google.com instead of cdn.thern.io –
type the address by hand.

TabDesk is released under the MIT licence; the licence text ships inside the
package. The source repository is not public.
