Add go+x permissions to C++ program
This commit is contained in:
parent
59c7314a84
commit
244549bc0e
@ -134,7 +134,7 @@ void gesture_swipe_xdokey::update() {
|
||||
gesture_swipe::update();
|
||||
// scale threshold to 1/10 when gesture is fresh
|
||||
// acts like our static friction coefficient
|
||||
float scale = get_previous_gesture() == FRESH ? 0.01f : 1.0f;
|
||||
const float scale = get_previous_gesture() == FRESH ? 0.01f : 1.0f;
|
||||
// we are working with floating points which are not exact
|
||||
// make sure we compare with a very small value (1e-6f)
|
||||
// if distance goes out of threshold, perform our swipe
|
||||
|
||||
@ -112,10 +112,14 @@ int main(int argc, char *argv[]) {
|
||||
// get input values
|
||||
string mouse3 = config.count("mouse3") ? config["mouse3"] : config["hold3"];
|
||||
string mouse4 = config.count("mouse4") ? config["mouse4"] : config["hold4"];
|
||||
bool nomouse = mouse3.empty() || mouse4.empty(); // TODO: check if mouse invalid
|
||||
// create our mouse gesture holder
|
||||
gesture_swipe_xdomouse mousehold(mouse3.data(), mouse4.data());
|
||||
// start reading lines from input one by one
|
||||
for (string line; getline(cin, line);) {
|
||||
if (nomouse) {
|
||||
keyswipe.run(line.data());
|
||||
} else {
|
||||
// optimization: if no mouse config is set, just run keyboard
|
||||
if (mousehold.is_swiping() && mousehold.button == MOUSE_NONE) {
|
||||
keyswipe.run(line.data());
|
||||
@ -126,6 +130,7 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
18
install
18
install
@ -98,9 +98,14 @@ function install_configuration_file {
|
||||
function install_main_program {
|
||||
# copy source to target with executable permissions
|
||||
# install to target, with hardcoded version
|
||||
if [[ -f "$TARGET" ]]; then
|
||||
trysudo rm "$TARGET"
|
||||
fi
|
||||
trysudo sed -E "s/^VERSION=.*/VERSION=$VERSION/" "$SOURCE" > "$TARGET"
|
||||
# allow execute permissions
|
||||
# allow execute permissions with group
|
||||
trysudo chmod +x "$TARGET"
|
||||
# make sure non-root user is owner
|
||||
trysudo chown "$USER" "$TARGET"
|
||||
echo "Installed: $TARGET"
|
||||
}
|
||||
|
||||
@ -114,10 +119,17 @@ function install_cpp_program {
|
||||
# compile program to temporary file first
|
||||
TMP_TARGET="$(mktemp)"
|
||||
$COMPILE "$COMPILE_SOURCE" -o "$TMP_TARGET" -DCOMFORTABLE_SWIPE_VERSION="\"$VERSION\"" -DCOMFORTABLE_SWIPE_CONFIG="\"$CONF_TARGET\"" -DCOMFORTABLE_SWIPE_AUTOSTART="\"$AUTOSTART_TARGET\""
|
||||
# compilation ok, now try to install
|
||||
# check permissions maybe if will need sudo
|
||||
# compilation ok, now try to install with sudo
|
||||
trysudo mkdir -p "$(dirname "$COMPILE_TARGET")"
|
||||
# remove existing file for permissions to work
|
||||
if [[ -f "$COMPILE_TARGET" ]]; then
|
||||
sudo rm "$COMPILE_TARGET"
|
||||
fi
|
||||
trysudo mv "$TMP_TARGET" "$COMPILE_TARGET"
|
||||
# bugfix: add with group permissions
|
||||
trysudo chmod go+x "$COMPILE_TARGET"
|
||||
# make sure non-root user is owner
|
||||
trysudo chown "$USER" "$COMPILE_TARGET"
|
||||
echo "Installed: $COMPILE_TARGET"
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user