Commit graph

205 commits

Author SHA1 Message Date
Chris Down a95b727d3b clipmenud: Remove not very useful vacuuming debug message 2020-03-23 17:57:22 +00:00
Chris Down 7aed22e1a7 clipmenud: $cache_file must exist by vacuum time 2020-03-23 17:55:06 +00:00
Chris Down be7dcfb4db clipmenu: Since we don't reuse line content, don't store it 2020-03-23 17:52:57 +00:00
Chris Down f9ab57522d clipmenud: Remove timeout_cmd, we already rely on coreutils for truncate 2020-03-23 17:50:43 +00:00
Chris Down da1ccb7c70 get_first_line: Simplify END logic 2020-03-23 17:45:48 +00:00
Chris Down a9fb4c9823 Remove CM_ONESHOT debug message, it has never been useful 2020-03-23 17:41:50 +00:00
Chris Down a090177497 get_first_line: We never set line_length_limit, just make it static 2020-03-23 17:40:13 +00:00
Chris Down b4d001149c clipmenud: Remove some debug messages which have never been useful 2020-03-23 17:23:36 +00:00
Chris Down f8658b0d00 clipmenud: Colocate related variables and comments 2020-03-23 17:20:30 +00:00
Chris Down 4770e52cf3 clipmenud: Update comment for CM_OWN_CLIPBOARD, we don't use element_in 2020-03-23 17:15:52 +00:00
Chris Down 2aae4989af clipmenud: Colocate similar functions 2020-03-23 17:14:01 +00:00
Chris Down 80b697edd2 clipmenud: Don't mkdir cache_dir again
If someone deletes the dir, they must restart clipmenud.
2020-03-23 17:11:04 +00:00
Chris Down 228fcbdd0d clipmenud: Tidy up some old, too-verbose comments 2020-03-23 17:10:43 +00:00
Chris Down 9e672cf0a5 Make clipnotify mandatory
The old sleep method is basically untested and unmaintained. Make it
official.
2020-03-23 17:05:59 +00:00
Chris Down 8de3d7a9c5 Check clipboard selection for ownership explicitly
We no longer need to do the element_in checks, just do it for this
selection when it runs.
2020-03-23 17:02:59 +00:00
Chris Down 099aeb3e22 Print out number of vacuumed files 2020-03-23 16:25:00 +00:00
Chris Down ea3ccea514 clipmenud: Mention selection used for possible partials 2020-03-23 16:01:11 +00:00
Chris Down 879854975e Run CM_MAX_CLIPS handling/vacuuming out of selection loop 2020-03-23 15:59:42 +00:00
Chris Down bbf495c147 Add async vacuum support
This makes sure that, for all cases, we don't end up ever dereferencing
a still referenced clip.
2020-03-23 13:00:14 +00:00
Chris Down f22fce7f04 Use a single line cache file
In c7c894a0, a per-selection line-cache was introduced in order to
overcome some of the limitations of clipmenu at the time (for example,
missing duplicate detection). However, now we have all the features we
need to have a single line cache again, and having multiple line caches
has caused more trouble than it is worth.

For example, maintaining CM_MAX_CLIPS globally is extremely cumbersome,
so we don't do it, and CM_MAX_CLIPS is actually acted on per-selection.
We also have had bugs where we perform actions on cache files without
properly consulting other line caches, and while those can be fixed, the
simplest thing to do now is just to go back to having a single line
cache.
2020-03-23 13:00:14 +00:00
Chris Down 773a140b7a Add clipfsck debug utility 2020-03-13 12:53:08 +00:00
Chris Down 25c7503c6a Default CM_OWN_CLIPBOARD to 0
See #113, #102, and (probably) #119. This seems to cause more trouble
than it's really worth.
2020-03-11 14:58:42 +00:00
Chris Down e89f4843bb truncation: Avoid harmless reporting of multi-removals on a single file 2020-03-11 00:46:23 +00:00
Chris Down 7a9299cc18 clipmenud: Better document new CM_MAX_CLIPS batching 2020-03-07 12:34:46 +00:00
Chris Down a495bcc7a4 clipmenud: Batch truncations in groups of 100 for performance 2019-07-09 22:37:25 +01:00
Chris Down 85aaec1626 clipmenud: Avoid deleting still-referenced files in the case of dupes 2019-07-09 22:31:20 +01:00
Chris Down 7cb215c3f9 clipmenud: Add INFO logging for removals 2019-07-09 22:28:16 +01:00
Chris Down d5f1edb969 Merge branch 'session_lock' into develop 2019-05-01 11:29:30 -04:00
Chris Down 4a39610896 clipmenud: Make session file error message more clear 2019-05-01 11:27:24 -04:00
Chris Down ad47f8e2db clipmenud: Create die and error functions 2019-05-01 11:26:01 -04:00
Chris Down 1cb46143f3 clipmenud: Add a sessionwide lock 2019-05-01 11:22:48 -04:00
Jordan Galby dc20b9c5ba Fix clipdel cutting timestamps from line cache files (#94)
Clipdel `cut`ed the timestamp column from the line cache files.

For the end-user, it fixes clipdel apparently re-ordering clipmenu
entries.
2019-04-28 09:18:59 +02:00
Chris Down 640e8a1fcf systemd: Use 500ms RestartSec
See #101.
2019-02-13 16:34:32 +00:00
Chris Down 77aa1c4ae0 Merge branch 'release/5.6.0' 2018-11-20 09:07:55 +00:00
Jordan Galby ec86549ee7 Fix clipdel escaped only first '#' (#95)
Now escapes all occurrences of '#' in clipdel pattern.
2018-11-12 13:22:28 +00:00
Sohalt 71f4394b42 use travis ci xenial build environment (#93)
Travis CI ships shellcheck with the xenial build environment. Using this avoids manually installing shellcheck every time and should speed things up.
2018-11-08 17:38:03 +00:00
Sohalt 7de9c9e809 Add support to ignore the clipboard in certain windows (#89)
The clipboard does not get recorded when the title of the currently active
window matches the regular expression in CM_IGNORE_WINDOW. This allows copying
passwords from a password manager without the passwords ending up in clipmenu.

The matching is not 100% exact however, as there is a race condition between the
time the clipboard is populated, clipmenu queries the clipboard, and the active
window gets queried. This race condition can be especially problematic when
using polling with large intervals instead of clipnotify.
2018-11-08 16:39:18 +00:00
Chris Down f748a2e5a6 Make timeout optional 2018-11-01 00:35:38 +00:00
Chris Down a80efc202e Merge branch 'master' into develop 2018-10-31 08:31:46 +00:00
Chris Down 7c3bd5060a Do $PATH lookup for bash 2018-10-31 08:12:09 +00:00
Chris Down 61c8429074 readme: Add installation section 2018-08-21 15:45:44 -04:00
Chris Down 50ba3d4b8f Merge branch 'release/5.5.0' 2018-08-21 15:42:04 -04:00
Chris Down d76b716d9f Sort environment variables in --help 2018-08-21 15:39:17 -04:00
Chris Down e7ec60cd9c Add documentation for CM_HISTLENGTH 2018-08-21 15:39:07 -04:00
Thore Bödecker 13ad6835a2 make history length configurable through env var
Signed-off-by: Thore Bödecker <me@foxxx0.de>
2018-08-21 09:09:59 -04:00
Chris Down 48dce54b75 Merge branch 'release/5.4.0' 2018-05-10 17:16:28 +01:00
Chris Down 4a3862666f Always send xsel logfile to /dev/null
We don't want this logging to disk, but /dev/stderr doesn't always work
(see #81). Let's just stop all logging to avoid more shenanigans.
2018-05-10 17:13:46 +01:00
Chris Down f3badd8f35 Merge branch 'release/5.3.1' 2018-05-09 13:05:08 +01:00
Chris Down 44545be18e Canonicalise missing elements in readlink
Fixes #81.
2018-05-09 13:02:54 +01:00
Chris Down 83289bb94d test-perf: Now that we check CM_LAUNCHER, change from aliases to functions 2018-04-27 02:13:06 +01:00