Skip to content

Commit

Permalink
Merge branch 'release/5.6.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
cdown committed Nov 20, 2018
2 parents f748a2e + ec86549 commit 77aa1c4
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
12 changes: 2 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
language: haskell
language: bash

install:
- cabal install shellcheck

before_script:
- export PATH=$PATH:$HOME/.cabal/bin/
dist: xenial

script:
- shellcheck -s bash clipmenu clipmenud
- tests/test-clipmenu

matrix:
fast_finish: true

# Enable container based Travis CI infrastructure
# http://docs.travis-ci.com/user/migrating-from-legacy/
sudo: false
2 changes: 1 addition & 1 deletion clipdel
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ fi
# https://github.com/koalaman/shellcheck/issues/1141
# shellcheck disable=SC2124
raw_pattern=$1
esc_pattern=${raw_pattern/\#/'\#'}
esc_pattern=${raw_pattern//\#/'\#'}

if ! [[ $raw_pattern ]]; then
printf '%s\n' 'No pattern provided, see --help' >&2
Expand Down
16 changes: 16 additions & 0 deletions clipmenud
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ cache_file_prefix=$cache_dir/line_cache
lock_file=$cache_dir/lock
lock_timeout=2
has_clipnotify=0
has_xdotool=0

# This comes from the environment, so we rely on word splitting.
# shellcheck disable=SC2206
Expand Down Expand Up @@ -93,6 +94,7 @@ Environment variables:
- $CM_ONESHOT: run once immediately, do not loop (default: 0)
- $CM_OWN_CLIPBOARD: take ownership of the clipboard (default: 1)
- $CM_SELECTIONS: space separated list of the selections to manage (default: "clipboard primary")
- $CM_IGNORE_WINDOW: disable recording the clipboard in windows where the windowname matches the given regex (e.g. a password manager), do not ignore any windows if unset or empty (default: unset)
EOF
exit 0
fi
Expand All @@ -113,6 +115,12 @@ if ! (( has_clipnotify )); then
echo "WARN: See https://github.com/cdown/clipnotify." >&2
fi

command -v xdotool >/dev/null 2>&1 && has_xdotool=1

if [[ $CM_IGNORE_WINDOW ]] && ! (( has_xdotool )); then
echo "WARN: CM_IGNORE_WINDOW does not work without xdotool, which is not installed" >&2
fi

exec {lock_fd}> "$lock_file"

sleep_cmd=(sleep "${CM_SLEEP:-0.5}")
Expand All @@ -128,6 +136,14 @@ while true; do
fi
fi

if [[ $CM_IGNORE_WINDOW ]] && (( has_xdotool )); then
windowname="$(xdotool getactivewindow getwindowname)"
if [[ "$windowname" =~ $CM_IGNORE_WINDOW ]]; then
debug "ignoring clipboard because windowname \"$windowname\" matches \"${CM_IGNORE_WINDOW}\""
continue
fi
fi

if ! flock -x -w "$lock_timeout" "$lock_fd"; then
if (( CM_ONESHOT )); then
printf 'ERROR: %s\n' 'Timed out waiting for lock' >&2
Expand Down

0 comments on commit 77aa1c4

Please sign in to comment.