Commit graph

270 commits

Author SHA1 Message Date
William Casarin 630e7a016c clipmenu: print selection to stdout
This allows you to use clipmenu in desktop scripts. For example you
could pipe the output of your narrowed selection to another command.

Signed-off-by: William Casarin <jb55@jb55.com>
2020-03-24 18:00:20 -07:00
Chris Down 1368ec7a2a
Merge pull request #121 from markstos/doc-clipmenud-options
document options for clipmenu
2020-03-24 20:33:15 +00:00
Mark Stosberg 64e3c97c0c document options for clipmenu
For privacy considerations, it's important to know about the max
clip option.

Users could also use a hint about how to cleanly override environment
variables with systemd.
2020-03-24 16:26:03 -04:00
Chris Down d0ef9dfccf
Merge pull request #120 from markstos/make-install
Improve manual install experience
2020-03-24 20:04:07 +00:00
Mark Stosberg a3916b8e11 Improve manual install experience
- Add Makefile to install files
   - It even checks for required binaries
 - Document manual install steps
 - Document how to start and enable via systemd
2020-03-24 15:30:40 -04:00
Chris Down bcbe7b1445 Merge branch 'release/6.0.1' 2020-03-24 17:39:33 +00:00
Chris Down d24b57c9db clipmenud: Fix potential misaligned truncation in duplicate detection
If we detect a duplicate for this selection, but another selection has
already been written, we will truncate the wrong length in the line.
2020-03-24 17:36:30 +00:00
Chris Down 5b596aaf46 clipmenu: Tidy chosen_line 2020-03-24 13:52:01 +00:00
Chris Down c0155ab7b6 clipmenu: Remove cache printout, with vacuuming this can't be hit 2020-03-24 13:50:11 +00:00
Chris Down f26813c184 clipmenu: Use last-arg syntax that keeps shellcheck happy 2020-03-24 13:49:44 +00:00
Chris Down 7a00f8cf17 clipmenu: Tersify rofi check 2020-03-24 13:49:38 +00:00
Chris Down 940bd8e963 Merge branch 'release/6.0.0' 2020-03-24 01:17:34 +00:00
Chris Down afb2f7ce2f clipmenud: Remove weird extra line in --help 2020-03-24 01:11:02 +00:00
Chris Down 2ffa909d79 clipmenud: Vacuum every 10 clips
This is much less expensive now, we can do it more often.
2020-03-24 00:52:47 +00:00
Chris Down 4528da5e68 readme: Remove out of date information
CM_SLEEP is gone, and we don't have non-clipnotify behaviour any more.
2020-03-23 18:16:22 +00:00
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