Update readme and version (#64)
* Update README and increment version * Add comfortable-swipe version badge * Have macro guard warning for version * Improve README and install script * Expound bug reports statement
This commit is contained in:
parent
810a20f1ed
commit
4852993663
23
README.md
23
README.md
@ -1,4 +1,5 @@
|
|||||||
# Comfortable Swipe (Ubuntu)
|
# Comfortable Swipe (Ubuntu)
|
||||||
|
[](https://github.com/Hikari9/comfortable-swipe/releases)
|
||||||
[](https://www.gnu.org/licenses/gpl-3.0)
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
||||||
|
|
||||||
Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures for Ubuntu 14.04 LTS and beyond. May work for other Linux distros that support `libinput`.
|
Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures for Ubuntu 14.04 LTS and beyond. May work for other Linux distros that support `libinput`.
|
||||||
@ -15,7 +16,7 @@ Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/Hikari9/comfortable-swipe.git --depth 1
|
git clone https://github.com/Hikari9/comfortable-swipe.git --depth 1
|
||||||
cd comfortable-swipe-ubuntu
|
cd comfortable-swipe
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Install
|
3. Install
|
||||||
@ -24,7 +25,7 @@ Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures
|
|||||||
bash install
|
bash install
|
||||||
```
|
```
|
||||||
|
|
||||||
4. You may delete the downloaded `comfortable-swipe-ubuntu` folder after installation.
|
4. You may delete the downloaded `comfortable-swipe` folder after installation.
|
||||||
|
|
||||||
## How to Run
|
## How to Run
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures
|
|||||||
## Configurations
|
## Configurations
|
||||||
Comfortable swipe makes use of keyboard shortcuts for configurations. Edit by running
|
Comfortable swipe makes use of keyboard shortcuts for configurations. Edit by running
|
||||||
```
|
```
|
||||||
nano $(comfortable-swipe config)
|
gedit $(comfortable-swipe config)
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure to run after making changes:
|
Make sure to run after making changes:
|
||||||
@ -126,4 +127,18 @@ Download the `uninstall` script then run `bash uninstall`
|
|||||||
|
|
||||||
|
|
||||||
## Bug Reports
|
## Bug Reports
|
||||||
Create an issue [here](https://github.com/Hikari9/comfortable-swipe-ubuntu/issues/new) to report a bug.
|
Search in [Issues](https://github.com/Hikari9/comfortable-swipe/issues?utf8=%E2%9C%93&q=is%3Aissue) if the problem has already been solved.
|
||||||
|
|
||||||
|
Otherwise, [create a new issue](https://github.com/Hikari9/comfortable-swipe/issues/new) to report your bug.
|
||||||
|
|
||||||
|
Please include the output of the following:
|
||||||
|
|
||||||
|
1. `lsb_release -a`
|
||||||
|
2. `g++ --version`
|
||||||
|
3. `ls -l /dev/input/event*`
|
||||||
|
3. `xinput list | grep touchpad -i`
|
||||||
|
4. `lsmod | grep hid`
|
||||||
|
5. `comfortable-swipe status`
|
||||||
|
6. `comfortable-swipe start` (if you can run it)
|
||||||
|
7. `comfortable-swipe debug` (try swiping if you can see `GESTURE_SWIPE_XXX`)
|
||||||
|
8. `cat $(comfortable-swipe config)`
|
||||||
|
|||||||
@ -1,2 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
g++ $(dirname $0)/comfortable-swipe.cpp -std=c++11 -O2 -lxdo -Wno-unused-result -o $1
|
dir="$(dirname $0)"
|
||||||
|
g++ "$dir/comfortable-swipe.cpp" \
|
||||||
|
-o "$1" \
|
||||||
|
-std=c++11 \
|
||||||
|
-O2 -lxdo -Wno-unused-result \
|
||||||
|
-DCOMFORTABLE_SWIPE_VERSION="\"$(cat $dir/VERSION | tr -d '[:space:]')\""
|
||||||
|
|||||||
77
install
77
install
@ -1,22 +1,25 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# prefer running as root
|
|
||||||
DIR=$(dirname $0)
|
|
||||||
PROGRAM=/usr/local/bin/comfortable-swipe
|
|
||||||
COMPILE=$DIR/comfortable-swipe.compile.sh
|
|
||||||
CONF_PATH=/usr/local/share/comfortable-swipe/comfortable-swipe.conf
|
|
||||||
DCONF_PATH=$DIR/defaults.conf
|
|
||||||
OLD_CONF_PATH=${XDG_CONFIG_HOME:-$HOME/.config}/comfortable-swipe.conf
|
|
||||||
|
|
||||||
if [ -x "$(command -v $PROGRAM)" ]; then
|
function install {
|
||||||
# stop any running comfortable-swipe if it exists
|
# prefer running as root
|
||||||
$PROGRAM stop
|
local dir="$(dirname $0)"
|
||||||
|
local program=comfortable-swipe
|
||||||
|
local program_exe=/usr/local/bin/$program
|
||||||
|
local compile_command="$dir/$program.compile.sh"
|
||||||
|
local conf_path=/usr/local/share/$program/$program.conf
|
||||||
|
local dconf_path="$dir/defaults.conf"
|
||||||
|
local old_conf_path="${XDG_CONFIG_HOME:-$HOME/.config}/$program.conf"
|
||||||
|
|
||||||
|
if [ -x "$(command -v $program_exe)" ]; then
|
||||||
|
# stop any running $program if it exists
|
||||||
|
$program_exe stop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#copy config file
|
#copy config file
|
||||||
abort () {
|
abort () {
|
||||||
exec echo "Installation aborted"
|
exec echo "Installation aborted"
|
||||||
}
|
}
|
||||||
sudo mkdir -p $(dirname $CONF_PATH) || abort
|
sudo mkdir -p "$(dirname $conf_path)" || abort
|
||||||
|
|
||||||
# check if "-y" or "--yes" is passed as an argument
|
# check if "-y" or "--yes" is passed as an argument
|
||||||
YES=false
|
YES=false
|
||||||
@ -31,27 +34,27 @@ do
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
sudo chown $USER $(dirname $CONF_PATH)
|
sudo chown $USER "$(dirname $conf_path)"
|
||||||
if [ ! -f $CONF_PATH ]; then
|
if [ ! -f "$conf_path" ]; then
|
||||||
if [ ! -f $OLD_CONF_PATH ]; then
|
if [ ! -f "$old_conf_path" ]; then
|
||||||
# old config file not found, create from scratch
|
# old config file not found, create from scratch
|
||||||
cat $DCONF_PATH > $CONF_PATH || abort
|
cat "$dconf_path" > "$conf_path" || abort
|
||||||
else
|
else
|
||||||
# old config file found, move to the new path
|
# old config file found, move to the new path
|
||||||
cat $OLD_CONF_PATH > $CONF_PATH || abort
|
cat "$old_conf_path" > "$conf_path" || abort
|
||||||
echo "Configuration copied from $OLD_CONF_PATH to $CONF_PATH"
|
echo "Configuration copied from $old_conf_path to $conf_path"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# config file found, ask user if overwrite
|
# config file found, ask user if overwrite
|
||||||
echo "Old conf file found in $CONF_PATH"
|
echo "Old conf file found in $conf_path"
|
||||||
if [ $YES == false ]; then
|
if [ "$YES" == false ]; then
|
||||||
read -r -p "Keep the old conf file? (default: yes) [Y/n] " response
|
read -r -p "Keep the old conf file? (default: yes) [Y/n] " response
|
||||||
response=${response,,} # tolower
|
response="${response,,}" # tolower
|
||||||
if [[ "$response" =~ ^(no|n)$ ]]; then
|
if [[ "$response" =~ ^(no|n)$ ]]; then
|
||||||
read -r -p "Conf file will be overwritten. Are you sure? [Y/n] " response
|
read -r -p "Conf file will be overwritten. Are you sure? [Y/n] " response
|
||||||
response=${response,,}
|
response="${response,,}"
|
||||||
if [[ "$response" =~ ^(yes|y)$ ]]; then
|
if [[ "$response" =~ ^(yes|y)$ ]]; then
|
||||||
cat $DCONF_PATH > $CONF_PATH || abort
|
cat "$dconf_path" > "$conf_path" || abort
|
||||||
else
|
else
|
||||||
abort
|
abort
|
||||||
fi
|
fi
|
||||||
@ -59,24 +62,32 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Installing..."
|
echo "Installing to $program_exe ..."
|
||||||
|
|
||||||
# remove existing comfortable-swipe
|
# remove existing $program
|
||||||
if [ -x "$(command -v $PROGRAM)" ]; then
|
if [ -x "$(command -v $program_exe)" ]; then
|
||||||
sudo rm -f $(which comfortable-swipe)
|
sudo rm -f "$(which $program)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# compile library
|
# compile library
|
||||||
sudo $COMPILE $PROGRAM || abort
|
sudo "$compile_command" "$program_exe" || abort
|
||||||
|
|
||||||
# add permissions to input group (defer)
|
# add permissions to input group (defer)
|
||||||
# GROUP=$(ls -l /dev/input/event* | awk '{print $4}' | head --line=1) || abort
|
# GROUP=$(ls -l /dev/input/event* | awk '{print $4}' | head --line=1) || abort
|
||||||
|
|
||||||
# toggle autostart twice to refresh any changes
|
# turn on autostart by default
|
||||||
$PROGRAM autostart > /dev/null || abort
|
local autostart_status="$($program_exe autostart)"
|
||||||
$PROGRAM autostart > /dev/null || abort
|
if [[ "$autostart_status" == *off* ]]; then
|
||||||
|
autostart_status="$($program_exe autostart)"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Successfully installed comfortable-swipe."
|
echo "Successfully installed $program $(cat $dir/VERSION | tr -d '[:space:]')"
|
||||||
echo "Configuration file is located at $CONF_PATH"
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Try running 'comfortable-swipe start' to test."
|
echo "$autostart_status"
|
||||||
|
echo "Edit configuration file: gedit \$($program config)"
|
||||||
|
echo ""
|
||||||
|
echo "Try running: $program start"
|
||||||
|
}
|
||||||
|
|
||||||
|
install
|
||||||
|
unset -f install
|
||||||
|
|||||||
@ -28,6 +28,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define __COMFORTABLE_SWIPE__CONFIG__ "/usr/local/share/comfortable-swipe/comfortable-swipe.conf"
|
#define __COMFORTABLE_SWIPE__CONFIG__ "/usr/local/share/comfortable-swipe/comfortable-swipe.conf"
|
||||||
#endif /* __COMFORTABLE_SWIPE__CONFIG__ */
|
#endif /* __COMFORTABLE_SWIPE__CONFIG__ */
|
||||||
|
|
||||||
|
#ifndef COMFORTABLE_SWIPE_VERSION
|
||||||
|
#warning COMFORTABLE_SWIPE_VERSION is not defined
|
||||||
|
#define COMFORTABLE_SWIPE_VERSION "v(UNKNOWN)"
|
||||||
|
#endif /* COMFORTABLE_SWIPE_VERSION */
|
||||||
|
|
||||||
#include <map> // std::map
|
#include <map> // std::map
|
||||||
#include <string> // std::string
|
#include <string> // std::string
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ namespace comfortable_swipe::service
|
|||||||
void help()
|
void help()
|
||||||
{
|
{
|
||||||
using comfortable_swipe::util::conf_filename;
|
using comfortable_swipe::util::conf_filename;
|
||||||
std::puts("comfortable-swipe [start|stop|restart|autostart|buffer|help|config|debug|status]");
|
std::puts("comfortable-swipe " COMFORTABLE_SWIPE_VERSION " [start|stop|restart|autostart|buffer|help|config|debug|status]");
|
||||||
std::puts("");
|
std::puts("");
|
||||||
std::puts("start - starts 3/4-finger gesture service");
|
std::puts("start - starts 3/4-finger gesture service");
|
||||||
std::puts("stop - stops 3/4-finger gesture service");
|
std::puts("stop - stops 3/4-finger gesture service");
|
||||||
|
|||||||
@ -50,19 +50,13 @@ namespace comfortable_swipe::service
|
|||||||
auto autostart_f = comfortable_swipe::util::autostart_filename();
|
auto autostart_f = comfortable_swipe::util::autostart_filename();
|
||||||
bool autostart_on = access(autostart_f, F_OK) != -1;
|
bool autostart_on = access(autostart_f, F_OK) != -1;
|
||||||
|
|
||||||
// print status
|
std::puts(comfortable_swipe::util::conf_filename());
|
||||||
std::printf("program is %s\n", running ? "ON" : "OFF");
|
|
||||||
std::printf("autostart is %s\n", autostart_on ? "ON" : "OFF");
|
|
||||||
std::printf("config file at %s\n", comfortable_swipe::util::conf_filename());
|
|
||||||
|
|
||||||
// check status of configuration file
|
// check status of configuration file
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
auto config = comfortable_swipe::util::read_config_file(comfortable_swipe::util::conf_filename());
|
auto config = comfortable_swipe::util::read_config_file(comfortable_swipe::util::conf_filename());
|
||||||
|
|
||||||
// print keys and values of config file
|
|
||||||
std::printf("\nConfigurations:\n");
|
|
||||||
|
|
||||||
// print threshold
|
// print threshold
|
||||||
if (config.count("threshold") > 0)
|
if (config.count("threshold") > 0)
|
||||||
{
|
{
|
||||||
@ -91,6 +85,10 @@ namespace comfortable_swipe::service
|
|||||||
{
|
{
|
||||||
std::printf("config error: %s\n", e.what());
|
std::printf("config error: %s\n", e.what());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// print status
|
||||||
|
std::printf("autostart is %s\n", autostart_on ? "ON" : "OFF");
|
||||||
|
std::printf("comfortable-swipe program is %s\n", running ? "RUNNING" : "STOPPED");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user