7de804e66d docs(README): update install docs 📜
2b84896b17 feat(deps): link clipnotify as a submodule. update docs 📋
06a7b4b154 feat(style): remove alt launchers and update output logic 💾
9735907061 Remove travis infrastructure
87e1641b50 Handle syncing clipboard to primary
920c23b3cb Only back off if _CM_TRAP is not set
607a2f1127 Back off if clipnotify fails
b30c01dbe3 clipmenud: Touch cache file at startup
04b71fb7a9 rofi: Pass -p in dmenu mode
bc35b6f44a clipmenud: Fix killing background jobs when there are multiple
775adccfb4 clipmenud: print message when disabling but already disabled
5c53e5f1cd clipmenud: prevent another clipnotify job when trapping a signal
74c479fa2f clipdel: allow ".*" to print the cache directory to be deleted
a3f0897aee Create status file after cache directory
333ebc513d clipctl: Fix tests
17823bacea Added commands to clipctl to check the status, toggle, get version and directory (#152)
25219b787c Use default value instead of testing for empty value
e278d9d3d4 Only set $launcher_exit if not running rofi-script
8c864ac5df Preserve exit code from launcher
a882cf9732 Sync primary to clipboard immediately
9d0da2f7d4 clipmenu: Don't mask -h
764984c982 clipmenu: Explicitly handle no $cache_file case
8538e01e5c readme: Add information about $DISPLAY
7c34ace1fb Merge branch 'release/6.2.0' into master
9c7f1b9bf3 clipmenud: Don't assume that we're the process group leader
53215efd83 init: Add TimeoutStopSec
f3f7af50a0 Merge pull request #135 from Mic92/makefile
443b58583e Makefile: install into PREFIX
64661dffbf clipdel: Recreate cache_dir
358f796d4c init: Don't set $DISPLAY
ee11a09fb0 Add $DISPLAY check
0011a2c3b9 Merge branch 'release/6.1.0'
2677932c56 clipmenud: Check cache file existence before vacuuming
e7e8425c3b clipmenud: Replace empty values for CM_DIR/CM_MAX_CLIPS/CM_SELECTIONS
618327d545 Merge pull request #91 from ferki/pipe_to_clipdel
fdf156ef2f clipdel: Support getting pattern from standard input
6612ade8b0 clipdel: Remove legacy comments
03c5e9441a tests: Set EXIT trap to show temp contents
11c48727d3 clipmenu: Preserve ordering of arguments for rofi -dmenu
e3e3289c9a readme: List supported launchers
5110fed19c clipmenu: Add support for CM_LAUNCHER=fzf
9c16837227 clipctl: Make pgrep regex less taxing
fc7f47f81f clipmenud: Store the last data on reenabling
058515d8ef makefile: Install clipctl
c4a9071b3e readme: Tersify and use British English
84fd3614ab clipmenud: Allow disable with USR1 and enable with USR2
5379860679 Merge pull request #108 from jb55/print-selection
630e7a016c clipmenu: print selection to stdout
1368ec7a2a Merge pull request #121 from markstos/doc-clipmenud-options
64e3c97c0c document options for clipmenu
d0ef9dfccf Merge pull request #120 from markstos/make-install
a3916b8e11 Improve manual install experience
bcbe7b1445 Merge branch 'release/6.0.1'
d24b57c9db clipmenud: Fix potential misaligned truncation in duplicate detection
5b596aaf46 clipmenu: Tidy chosen_line
c0155ab7b6 clipmenu: Remove cache printout, with vacuuming this can't be hit
f26813c184 clipmenu: Use last-arg syntax that keeps shellcheck happy
7a00f8cf17 clipmenu: Tersify rofi check
940bd8e963 Merge branch 'release/6.0.0'
afb2f7ce2f clipmenud: Remove weird extra line in --help
2ffa909d79 clipmenud: Vacuum every 10 clips
4528da5e68 readme: Remove out of date information
a95b727d3b clipmenud: Remove not very useful vacuuming debug message
7aed22e1a7 clipmenud: $cache_file must exist by vacuum time
be7dcfb4db clipmenu: Since we don't reuse line content, don't store it
f9ab57522d clipmenud: Remove timeout_cmd, we already rely on coreutils for truncate
da1ccb7c70 get_first_line: Simplify END logic
a9fb4c9823 Remove CM_ONESHOT debug message, it has never been useful
a090177497 get_first_line: We never set line_length_limit, just make it static
b4d001149c clipmenud: Remove some debug messages which have never been useful
f8658b0d00 clipmenud: Colocate related variables and comments
4770e52cf3 clipmenud: Update comment for CM_OWN_CLIPBOARD, we don't use element_in
2aae4989af clipmenud: Colocate similar functions
80b697edd2 clipmenud: Don't mkdir cache_dir again
228fcbdd0d clipmenud: Tidy up some old, too-verbose comments
9e672cf0a5 Make clipnotify mandatory
8de3d7a9c5 Check clipboard selection for ownership explicitly
099aeb3e22 Print out number of vacuumed files
ea3ccea514 clipmenud: Mention selection used for possible partials
879854975e Run CM_MAX_CLIPS handling/vacuuming out of selection loop
bbf495c147 Add async vacuum support
f22fce7f04 Use a single line cache file
773a140b7a Add clipfsck debug utility
25c7503c6a Default CM_OWN_CLIPBOARD to 0
e89f4843bb truncation: Avoid harmless reporting of multi-removals on a single file
7a9299cc18 clipmenud: Better document new CM_MAX_CLIPS batching
a495bcc7a4 clipmenud: Batch truncations in groups of 100 for performance
85aaec1626 clipmenud: Avoid deleting still-referenced files in the case of dupes
7cb215c3f9 clipmenud: Add INFO logging for removals
d5f1edb969 Merge branch 'session_lock' into develop
4a39610896 clipmenud: Make session file error message more clear
ad47f8e2db clipmenud: Create die and error functions
1cb46143f3 clipmenud: Add a sessionwide lock
dc20b9c5ba Fix clipdel cutting timestamps from line cache files (#94)
640e8a1fcf systemd: Use 500ms RestartSec
77aa1c4ae0 Merge branch 'release/5.6.0'
ec86549ee7 Fix clipdel escaped only first '#' (#95)
71f4394b42 use travis ci xenial build environment (#93)
7de9c9e809 Add support to ignore the clipboard in certain windows (#89)
f748a2e5a6 Make timeout optional
a80efc202e Merge branch 'master' into develop
7c3bd5060a Do $PATH lookup for bash
61c8429074 readme: Add installation section
50ba3d4b8f Merge branch 'release/5.5.0'
d76b716d9f Sort environment variables in --help
e7ec60cd9c Add documentation for CM_HISTLENGTH
13ad6835a2 make history length configurable through env var
48dce54b75 Merge branch 'release/5.4.0'
4a3862666f Always send xsel logfile to /dev/null
f3badd8f35 Merge branch 'release/5.3.1'
44545be18e Canonicalise missing elements in readlink
83289bb94d test-perf: Now that we check CM_LAUNCHER, change from aliases to functions
21cefad646 Merge branch 'release/5.3.0'
a77c2731ba clipdel: Don't take "-d" as the pattern if only "-d" was passed
7f06b56775 clipdel: Give more helpful message if we didn't provide a pattern
8388a00ab3 Merge branch 'release/5.2.0'
95cf774b0d Fix wrong file deleted after partial selection (#76)
d82337d226 Add more debugging information when cache entry is missing
0b003d4ad2 Fix errant handling of specific-file deletion
aae0e6e816 Add note about clipdel to README
486dbe31fa Recover without restarting if we deleted the entire clip directory
72760da7a4 Add clipdel utility
b73e742c50 Allow use as a rofi script (#68)
09e654731e Merge branch 'release/5.1.0'
fa9d01a752 Don't populate ${last_data[any]}
da2e4dcf0f Merge branch 'release/5.0.1'
4347465b78 Force LC_ALL=C for clip sort
a93cc27b65 Add nanosecond resolution to cache file output
9b7183b940 Add rofi instructions
6dbee02783 readme: Add Travis link
44c0fb3ad2 Merge branch 'release/5.0.0'
44d7baa27a Have CM_MAX_CLIPS understand new version 5 format
ee0a6f6d31 Add shellcheck disable for CM_SELECTIONS
1a145d298f Fix tests to use version 5 format
4e969bd67d Truncate cache file on duplicate
1896ceaccc Act on possible partials in both directions
0b885650fe Revert "Remove partial clip dedupe support"
8896df9011 Use -o/-i, not -k
c7c894a023 Use separate line cache for each selection
a010dee360 Merge branch 'backout_async' into develop
7b4267868e Revert "Remove last_data checks"
52b144d970 Revert "Take clipboard ownership prior to clipnotify"
9c436084f2 Revert "Use xsel -o/-i instead of -k"
9a52f7ddba Revert "Make sure we don't break #34 in new pre-ownership"
6825c302dc Revert "Remove CM_ONESHOT-specific logic in flock failure checks"
a85f8998b4 Revert "Make main work block async"
caab3f6a62 Add $CM_SELECTIONS to limit which selections we copy
728d242d3c Remove CM_ONESHOT-specific logic in flock failure checks
8906e1d96c Merge branch 'async' into develop
fe69861101 Make sure we don't break #34 in new pre-ownership
47eb3d182c Use xsel -o/-i instead of -k
11304d3a60 Make main work block async
eb7d2b9481 Take clipboard ownership prior to clipnotify
55407ba3f6 Remove last_data checks
b5e8543b3e Use `xsel -k`, instead of `-o` -> `-i`
3704ce3427 Fall back to polling if clipnotify fails
fd665a298a Merge branch 'release/4.1.0'
b33d74cae5 Add messages when clipnotify is not detected
935c498dec Add note in readme about new non-polling mode
2b04a1eafe Add optional support for clipnotify to avoid polling
f576a116fd Don't attempt to write to sockets represented as files
35a3cb2e8a Use /proc/self/fd/2 instead of /dev/stderr where possible
ef3102c5e9 Merge branch 'release/4.0.0'
f34bd68797 Bump major_version to 4
48b1ebf9fb If CM_MAX_CLIPS is 0, don't truncate
6855d24e3a Prefer $XDG_RUNTIME_DIR for storage
4a0bd8f1f4 Only keep $CM_MAX_CLIPS newest clips
e6c312b639 Avoid double writing if both selections are the same
8bb4ff3999 Gate new clipboard entry output on CM_DEBUG
2cd2287612 Add more documentation on -h/--help for clipmenu{,d}
60611584ec Remove unused last_filename
f0d09c7692 Use $TMPDIR as base for cache directory
e5508e84c5 systemd service: Don't restrict to only /tmp
caa009b222 Remove partial clip dedupe support
f184c37994 Add a note about using CM_ONESHOT, per #47
e7a15a5d50 Do not sleep initially in oneshot mode
3ab7a6e2e7 Merge branch 'release/3.2.0'
33b0e13404 Test CM_LAUNCHER
7d9c46a370 Pass args in dmenu/rofi shims
92d584e4b3 Use a function insted of an alias for dmenu shim
1b4fcd5b8d Add demo GIF
e315d8262c Forcibly add -dmenu if using rofi as $CM_LAUNCHER
497ba9c95c Mention rofi in readme
abe461461b Add clipmenu --help
e65b51b33c Use CM_* env vars
117385015b Add $CM_LAUNCHER env variable
eecc031718 Use stderr for xsel logging when detached
19569a81bc Log new clipboard entries without $DEBUG
99a49211d9 Merge branch 'release/3.1.0'
28d8db8860 clipmenud: Time out all calls to xsel after 1 second
d8dbb1d5af Use wrapper for xsel to avoid having to pass --logfile again and again
6facea933b Add `--logfile /dev/null` to the xsel command
db05c51942 Add oneshot mode support
b839f80779 Add locking support
0b58a886a6 Merge branch 'release/3.0.1'
7367a8fc4b Do not filter syscalls in systemd init
d938354148 Merge branch 'release/3.0.0'
9a5174123e Remove old version file, we now use versioned dirs
00e221559e Set -x in test-clipmenu
2acece7dce Put $major_version in cache_dir to avoid upgrade incompatibility
683f57484f Remove xclip support
662e31d618 Add systemd unit
e85c7691e2 tests: Add clipmenu test
e8b4d83e2e readme: Escape colour codes
f7b0ea1c18 Add version to $cache_dir
8c1054ca73 Put vars above functions
533cdc871e Fix parens in README
8b4a047768 Use awk instead of uniq to only keep latest, even if not adjacent
9d5a241f1d Document behaviour in README
09c32b025e Merge branch 'release/2.0.0'
7c713d5673 Merge branch 'perf' into develop
fe8ca2e3ca Don't mention non-existing clipmenu-fsck
1daaeda6f3 Remove print_debug_info, this was never very useful
8885306970 perf: Don't use date, use CRC instead
6edf3c437b perf: Add naive but performant path
f0fe96955a perf: Don't use printf with ordered_selections
e8ba60e432 Have clipmenud cache first lines
7987dd1757 Add test-perf script
892fe73110 Add `--logfile /dev/null` to xsel commands
2ab5b5b502 Only take ownership of clipboard if we would not skip this clip
9efd96b405 blank check: Use [:space:], not [:blank:]
c5f101d996 Use -o when running xsel
3e50f9460a Uniquify adjacent identical selection items
6e6c4ed430 Fix blank check
e8ebe8b27d Add tons of debug logging
05431fe645 replaced md5 logic by using current time with nanoseconds (refs #20)
1fcc55a48d Silence shellcheck warning about mkdir -pm
f9a7291472 License as public domain
45ac24d625 Remove partial clips
4dfbfed9e2 Tidy up clipboard ownership code to be 80 characters wide
a613aa6b2e Don't take ownership of PRIMARY, comment about this behavior
065e91a5fc Take over the clipboard to persist it after the owner quits
7c87f80234 Add comments to clipmenu where it could be helpful for future devs
20e9303def Do not deduplicate lines before sending to dmenu
72e15005e9 Reduce default poll time down to 0.5 seconds
54981486f2 Use chrisdown.name as URL in LICENSE
66301f4f5f Remove ability to override default dmenu lines with CLIPMENU_LINES
58a8d7f288 Add ISC license
b851c04d3e Set nullglob to avoid "bad array subscript" when no files exist
92807e1053 Merge branch 'feature/travis' into develop
1eb1e21857 Add Travis CI configuration
190722f909 Revert "Remove CLIPMENU_LINES support"
95b8cd5698 Limit number of characters displayed in "first line" dmenu selector to 500
98b959e0d9 Merge branch 'master' into develop
0717e72a03 Merge tag '1.0.0'
d1bdebf03f xsel: Pass `-i` flag to fix mysterious issue with i3-msg
10f0ffe6cb Remove CLIPMENU_LINES support
d4390324f5 Document why we add/remove an "x" when grabbing the clipboard data
d246b63f27 Set perms to 0700 when creating cache dir
0418bf2e6d Sort selections by recency
5b2754868b Make clipmenu cache directory user-specific
35521af0ec Make sure that the clipboard data is not just whitespace before copying
d5a9449171 Note how argument handling works when passing to dmenu
bbd9b65a00 Allow overriding dmenu_lines using CLIPMENU_LINES
33fc9dd33e Show first non-empty line in dmenu
2cbfb4ef88 Add xclip support
c40456caa0 Do not write to file if last selection data is the same
3a4a76dcb9 Pass arguments through to dmenu
fecfede140 Do not add newline when copying clipboard data to file
fd8b6bfe37 Check that there really is some data before storing it
2f9998bb30 readme: Replace all references about xclip with xsel
4ab52c5747 Use xsel when copying to clipboard, not xclip
dd9a041846 Copy from both clipboard and primary selections
65f0b277ec Add readme
700a6b27dc Copy chosen line's content to the clipboard
e46b37c793 Add script to run dmenu with selections
4a85fd767c Add clipmenu daemon