[move-config] Move configuration file to /usr/local/share/comfortable-swipe/comfortable-swipe.conf

This commit is contained in:
Rico Tiongson 2017-11-15 11:00:06 +08:00
parent 44661a8125
commit 6890ec4696
3 changed files with 38 additions and 48 deletions

View File

@ -28,43 +28,27 @@ Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures
## How to Run ## How to Run
1. Make sure `~/.local/bin/` is added to your PATH. 1. You'll need some group permissions to read touchpad input data. Run
2. Run ```bash
sudo gpasswd -a $USER $(ls -l /dev/input/event* | awk '{print $4}' | head --line=1)
```
2. ***Important***: After inputing your `sudo` password, log out then log back in
3. Run
``` ```
comfortable-swipe start comfortable-swipe start
``` ```
4. Optional: Automatically run on startup
3. Optional: Automatically run on startup
``` ```
comfortable-swipe autostart comfortable-swipe autostart
``` ```
5. Optional: Change keyboard configurations (refer [below](#configurations)).
### Permissions Then restart after making changes with
Sometimes, you'll need some permissions to read touchpad input data.
1. Find out your permission group with `ls -l /dev/input/event*`
```bash
$ ls -l /dev/input/event*
crw-rw---- 1 root input 13, 64 Oct 23 23:09 /dev/input/event0
crw-rw---- 1 root input 13, 65 Oct 23 23:09 /dev/input/event1
crw-rw---- 1 root input 13, 66 Oct 23 23:09 /dev/input/event2
crw-rw---- 1 root input 13, 67 Oct 23 23:09 /dev/input/event3
``` ```
comfortable-swipe restart
2. Check the fourth column (e.g. `input`) then run:
```bash
sudo gpasswd -a $USER input
``` ```
> Note: Don't forget to input your `sudo` password!
3. ***Important***: Log out / Log back in
## Configurations ## Configurations
The configuration file is located at `~/.config/comfortable-swipe.conf`. Comfortable swipe makes use of keyboard shortcuts for configurations. The configuration file is located at `/usr/share/comfortable-swipe/comfortable-swipe.conf`. Make sure to run `comfortable-swipe restart` after making changes.
Make sure to run `comfortable-swipe restart` after making changes.
Property | Description | Default Value | Default Behavior Property | Description | Default Value | Default Behavior
--------- | ----------- | -------------- | ----- --------- | ----------- | -------------- | -----

35
install
View File

@ -1,6 +1,10 @@
#!/bin/bash #!/bin/bash
# prefer running as root
DIR=$(dirname $0) DIR=$(dirname $0)
PROGRAM=/usr/local/bin/comfortable-swipe 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 if [ -x "$(command -v $PROGRAM)" ]; then
# stop any running comfortable-swipe if it exists # stop any running comfortable-swipe if it exists
@ -10,11 +14,19 @@ if [ -x "$(command -v $PROGRAM)" ]; then
fi fi
#copy config file #copy config file
mkdir -p ~/.config abort () {
DCONF_PATH=$DIR/src/defaults.conf exec echo "Installation aborted"
CONF_PATH=${XDG_CONFIG_HOME:-$HOME/.config}/comfortable-swipe.conf }
mkdir -p $(dirname $CONF_PATH) || abort
if [ ! -f $CONF_PATH ]; then if [ ! -f $CONF_PATH ]; then
cat $DCONF_PATH > $CONF_PATH 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 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"
@ -24,9 +36,9 @@ else
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 cat $DCONF_PATH > $CONF_PATH || abort
else else
exec echo "Installation aborted." abort
fi fi
fi fi
fi fi
@ -34,8 +46,11 @@ echo "Installing..."
# mkdir -p ~/.local/bin # mkdir -p ~/.local/bin
g++ -std=c++11 -O2 $DIR/src/comfortable-swipe.cpp -lxdo -o $PROGRAM || exec echo "Installation aborted" g++ -std=c++11 -O2 $DIR/src/comfortable-swipe.cpp -lxdo -o $PROGRAM || exec echo "Installation aborted"
# toggle autostart twice to refresh any changes GROUP=$(ls -l /dev/input/event* | awk '{print $4}' | head --line=1) || abort
$PROGRAM autostart > /dev/null || exec echo "Installation aborted"
$PROGRAM autostart > /dev/null || exec echo "Installation aborted"
echo "Successfully installed. You may now run 'comfortable-swipe start'." # 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"

View File

@ -32,6 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <unistd.h> #include <unistd.h>
#define cstr const string& #define cstr const string&
#define PROGRAM "/usr/local/bin/comfortable-swipe" #define PROGRAM "/usr/local/bin/comfortable-swipe"
#define CONFIG "/usr/local/share/comfortable-swipe/comfortable-swipe.conf"
using namespace std; using namespace std;
extern "C" { extern "C" {
@ -185,17 +186,7 @@ struct swipe_gesture_impl : swipe_gesture {
namespace service { namespace service {
// get the full path of the .conf file // get the full path of the .conf file
string conf_filename() { string conf_filename() {
static string *filename = NULL; return CONFIG;
if (filename == NULL) {
const char* xdg_config = getenv("XDG_CONFIG_HOME");
string config(
xdg_config == NULL
? string(getenv("HOME")) + "/.config"
: xdg_config
);
filename = new string(config + "/comfortable-swipe.conf");
}
return *filename;
} }
// get the full path of the .desktop file associated // get the full path of the .desktop file associated
// with the autostart feature // with the autostart feature