File: install-url-handler.sh

package info (click to toggle)
audacity 3.7.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 125,252 kB
  • sloc: cpp: 358,238; ansic: 75,458; lisp: 7,761; sh: 3,410; python: 1,503; xml: 1,385; perl: 854; makefile: 122
file content (37 lines) | stat: -rw-r--r-- 1,230 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#! /usr/bin/env bash

# If anything happens
# notify the user that cloud functions may be restricted
# but do not prevent from launching the app
error_handler() {
    local exit_code=$?
    local line_number=$1
    local command="$2"
    echo "Error: Command '${command}' failed with exit code ${exit_code} at line ${line_number}."
    echo "You may not be able to use some cloud functions"
    echo "Please create an issue at https://github.com/audacity/audacity/issues"
    exit 0
}

install_url_handler() {
    trap 'error_handler ${LINENO} "$BASH_COMMAND"' ERR
    # we are deliberately overwriting any existing file
    DESKTOP_FILENAME="audacity-url-handler.desktop"
    SOURCE_FILE="$(dirname "$0")/share/applications/${DESKTOP_FILENAME}"

    XDG_APP_PATH="${HOME}/.local/share/applications"
    DESTINATION="${XDG_APP_PATH}/${DESKTOP_FILENAME}"

    cp "${SOURCE_FILE}" "${DESTINATION}"

    # we need to fix up the path to the AppImage
    sed -i "s|^Exec=.*|Exec=${APPIMAGE} -u %u|" "${DESTINATION}"

    update-desktop-database "${XDG_APP_PATH}"
}

# APPIMAGE is an environment variable set by the runtime
# defining the absolute path to the .AppImage file
if [ -n "${APPIMAGE}" ]; then
    ( install_url_handler )
fi