#!/bin/bash # prefer running as root DIR=$(dirname $0) PROGRAM=/usr/local/bin/comfortable-swipe CONF_PATH=/usr/local/share/comfortable-swipe/comfortable-swipe.conf DCONF_PATH=$DIR/src/defaults.conf OLD_CONF_PATH=${XDG_CONFIG_HOME:-$HOME/.config}/comfortable-swipe.conf if [ -x "$(command -v $PROGRAM)" ]; then # stop any running comfortable-swipe if it exists $PROGRAM stop # remove existing comfortable-swipe rm $(which comfortable-swipe) fi #copy config file abort () { exec echo "Installation aborted" } sudo mkdir -p $(dirname $CONF_PATH) || abort sudo chown $USER $(dirname $CONF_PATH) if [ ! -f $CONF_PATH ]; then if [ ! -f $OLD_CONF_PATH ]; then # old config file not found, create from scratch cat $DCONF_PATH > $CONF_PATH || abort else # old config file found, move to the new path cat $OLD_CONF_PATH > $CONF_PATH || abort echo "Configuration copied from $OLD_CONF_PATH to $CONF_PATH" fi else # config file found, ask user if overwrite echo "Old conf file found in $CONF_PATH" read -r -p "Keep the old conf file? (default: yes) [Y/n] " response response=${response,,} # tolower if [[ "$response" =~ ^(no|n)$ ]]; then read -r -p "Conf file will be overwritten. Are you sure? [Y/n] " response response=${response,,} if [[ "$response" =~ ^(yes|y)$ ]]; then cat $DCONF_PATH > $CONF_PATH || abort else abort fi fi fi echo "Installing..." # mkdir -p ~/.local/bin sudo g++ -std=c++11 -O2 $DIR/src/comfortable-swipe.cpp -lxdo -o $PROGRAM || exec echo "Installation aborted" GROUP=$(ls -l /dev/input/event* | awk '{print $4}' | head --line=1) || abort # toggle autostart twice to refresh any changes $PROGRAM autostart > /dev/null || abort $PROGRAM autostart > /dev/null || abort echo "Successfully installed comfortable-swipe." echo "Configuration file is located at $CONF_PATH"