Simple clipboard management using dmenu
git clone
Log | Files | Refs | README | LICENSE | sfeed.txt

DateCommit messageAuthorFiles+-
2023-04-04 07:11Remove travis infrastructureChris Down2+0-12
2022-05-05 17:05Handle syncing clipboard to primaryRob Pilling1+5-0
2022-04-14 16:29Only back off if _CM_TRAP is not setChris Down1+1-1
2022-04-14 15:17Back off if clipnotify failsNavneet Aman1+5-1
2022-03-15 18:50clipmenud: Touch cache file at startupChris Down1+4-0
2021-12-19 01:37rofi: Pass -p in dmenu modeChris Down2+4-3
2021-11-17 22:27clipmenud: Fix killing background jobs when there are multipleMatthew White1+3-3
2021-11-18 01:47clipmenud: print message when disabling but already disabledMatthew White1+6-1
2021-11-18 00:54clipmenud: prevent another clipnotify job when trapping a signalMatthew White1+11-10
2021-11-18 00:19clipdel: allow ".*" to print the cache directory to be deletedMatthew White1+16-14
2021-02-11 14:23Create status file after cache directoryAxel Dahlberg1+1-1
2021-01-29 01:16clipctl: Fix testsChris Down2+4-3
2021-01-21 15:15Added commands to clipctl to check the status, toggle, get version and directory (#152)Axel Dahlberg7+44-34
2020-12-19 16:22Use default value instead of testing for empty valueSami Kankaristo1+1-1
2020-12-18 14:38Only set $launcher_exit if not running rofi-scriptSami Kankaristo1+2-3
2020-12-17 21:03Preserve exit code from launcherSami Kankaristo1+4-0
2017-10-19 14:25Sync primary to clipboard immediatelyFerenc Erki1+10-0
2020-10-19 00:54clipmenu: Don't mask -hChris Down1+2-1
2020-10-16 23:58clipmenu: Explicitly handle no $cache_file caseChris Down1+4-0
2020-10-16 23:47readme: Add information about $DISPLAYChris Down1+11-0
2020-10-14 13:13Merge branch 'release/6.2.0' into masterChris Down4+22-9
2020-10-14 11:54clipmenud: Don't assume that we're the process group leaderChris Down1+13-3
2020-10-14 11:51init: Add TimeoutStopSecChris Down1+4-0
2020-08-03 10:40Merge pull request #135 from Mic92/makefileChris Down1+3-5
2020-07-31 05:38Makefile: install into PREFIXJörg Thalheim1+3-5
2020-07-11 11:57clipdel: Recreate cache_dirChris Down1+1-0
2020-06-09 14:20init: Don't set $DISPLAYChris Down1+0-1
2020-06-09 13:19Add $DISPLAY checkChris Down1+1-0
2020-06-03 21:09Merge branch 'release/6.1.0'Chris Down8+157-26
2020-04-03 11:27clipmenud: Check cache file existence before vacuumingChris Down1+2-1
2020-04-03 11:27clipmenud: Replace empty values for CM_DIR/CM_MAX_CLIPS/CM_SELECTIONSChris Down1+3-3
2020-04-01 09:36Merge pull request #91 from ferki/pipe_to_clipdelChris Down1+8-4
2018-10-27 20:07clipdel: Support getting pattern from standard inputFerenc Erki1+8-2
2020-03-30 18:17tests: Set EXIT trap to show temp contentsChris Down1+2-0
2020-03-30 18:15clipmenu: Preserve ordering of arguments for rofi -dmenuChris Down1+4-3
2020-03-30 18:13readme: List supported launchersChris Down1+11-0
2020-03-30 16:18clipmenu: Add support for CM_LAUNCHER=fzfChris Down1+7-1
2018-10-28 08:33clipdel: Remove legacy commentsFerenc Erki1+0-2
2020-03-28 14:12clipctl: Make pgrep regex less taxingChris Down1+1-1
2020-03-26 00:35clipmenud: Store the last data on reenablingChris Down1+8-0
2020-03-25 19:22makefile: Install clipctlChris Down1+1-0
2020-03-25 19:10readme: Tersify and use British EnglishChris Down1+26-51
2020-03-25 15:49clipmenud: Allow disable with USR1 and enable with USR2Chris Down4+69-3
2020-03-25 01:02Merge pull request #108 from jb55/print-selectionChris Down1+5-0
2019-05-30 20:17clipmenu: print selection to stdoutWilliam Casarin1+5-0
2020-03-24 20:33Merge pull request #121 from markstos/doc-clipmenud-optionsChris Down1+28-0
2020-03-13 15:03document options for clipmenuMark Stosberg1+28-0
2020-03-24 20:04Merge pull request #120 from markstos/make-installChris Down2+29-6
2020-03-12 21:14Improve manual install experienceMark Stosberg2+29-6
2020-03-24 17:39Merge branch 'release/6.0.1'Chris Down2+17-33
2020-03-24 17:34clipmenud: Fix potential misaligned truncation in duplicate detectionChris Down1+10-10
2020-03-24 13:52clipmenu: Tidy chosen_lineChris Down1+1-3
2020-03-24 13:50clipmenu: Remove cache printout, with vacuuming this can't be hitChris Down1+1-11
2020-03-24 13:49clipmenu: Use last-arg syntax that keeps shellcheck happyChris Down1+3-5
2020-03-24 13:49clipmenu: Tersify rofi checkChris Down1+2-4
2020-03-24 01:17Merge branch 'release/6.0.0'Chris Down9+148-183
2020-03-24 01:10clipmenud: Remove weird extra line in --helpChris Down1+1-2
2020-03-24 00:52clipmenud: Vacuum every 10 clipsChris Down1+3-3
2020-03-23 18:16readme: Remove out of date informationChris Down1+15-12
2020-03-23 17:57clipmenud: Remove not very useful vacuuming debug messageChris Down1+0-1
2020-03-23 17:55clipmenud: $cache_file must exist by vacuum timeChris Down1+1-2
2020-03-23 17:52clipmenu: Since we don't reuse line content, don't store itChris Down1+1-2
2020-03-23 17:50clipmenud: Remove timeout_cmd, we already rely on coreutils for truncateChris Down1+1-8
2020-03-23 17:45get_first_line: Simplify END logicChris Down1+3-7
2020-03-23 17:41Remove CM_ONESHOT debug message, it has never been usefulChris Down1+1-6
2020-03-23 17:40get_first_line: We never set line_length_limit, just make it staticChris Down1+1-2
2020-03-23 17:23clipmenud: Remove some debug messages which have never been usefulChris Down1+3-10
2020-03-23 17:20clipmenud: Colocate related variables and commentsChris Down1+6-15
2020-03-23 17:15clipmenud: Update comment for CM_OWN_CLIPBOARD, we don't use element_inChris Down1+1-11
2020-03-23 17:14clipmenud: Colocate similar functionsChris Down1+7-29
2020-03-23 17:11clipmenud: Don't mkdir cache_dir againChris Down1+0-5
2020-03-23 17:10clipmenud: Tidy up some old, too-verbose commentsChris Down1+2-23
2020-03-23 17:05Make clipnotify mandatoryChris Down1+2-18
2020-03-23 17:02Check clipboard selection for ownership explicitlyChris Down1+1-14
2020-03-23 16:25Print out number of vacuumed filesChris Down1+6-1
2020-03-23 16:01clipmenud: Mention selection used for possible partialsChris Down1+2-2
2020-03-23 15:59Run CM_MAX_CLIPS handling/vacuuming out of selection loopChris Down1+28-28
2020-03-23 12:57Add async vacuum supportChris Down1+26-37
2020-03-23 12:28Use a single line cache fileChris Down7+29-34
2020-03-13 12:53Add clipfsck debug utilityChris Down1+32-0
2020-03-11 14:57Default CM_OWN_CLIPBOARD to 0Chris Down1+2-2
2020-03-11 00:46truncation: Avoid harmless reporting of multi-removals on a single fileChris Down1+13-1
2020-03-07 12:34clipmenud: Better document new CM_MAX_CLIPS batchingChris Down1+1-1
2019-07-09 21:37clipmenud: Batch truncations in groups of 100 for performanceChris Down1+10-1
2019-07-09 21:28clipmenud: Avoid deleting still-referenced files in the case of dupesChris Down1+11-2
2019-07-09 21:28clipmenud: Add INFO logging for removalsChris Down1+12-2
2019-05-01 15:29Merge branch 'session_lock' into developChris Down1+21-4
2019-05-01 15:27clipmenud: Make session file error message more clearChris Down1+2-1
2019-05-01 15:26clipmenud: Create die and error functionsChris Down1+12-8
2019-05-01 15:22clipmenud: Add a sessionwide lockChris Down1+12-0
2019-04-28 07:18Fix clipdel cutting timestamps from line cache files (#94)Jordan Galby1+11-3
2019-02-13 16:34systemd: Use 500ms RestartSecChris Down1+1-1
2018-11-20 09:07Merge branch 'release/5.6.0'Chris Down3+19-11
2018-11-12 13:22Fix clipdel escaped only first '#' (#95)Jordan Galby1+1-1
2018-11-08 17:38use travis ci xenial build environment (#93)Sohalt1+2-10
2018-11-08 16:39Add support to ignore the clipboard in certain windows (#89)Sohalt1+16-0
2018-11-01 00:35Make timeout optionalChris Down1+8-1
2018-10-31 08:31Merge branch 'master' into developChris Down5+7-7
2018-10-31 08:12Do $PATH lookup for bashChris Down5+7-7
2018-08-21 19:45readme: Add installation sectionChris Down1+8-0
2018-08-21 19:42Merge branch 'release/5.5.0'Chris Down2+7-9
2018-08-21 19:39Sort environment variables in --helpChris Down2+4-4
2018-08-21 19:36Add documentation for CM_HISTLENGTHChris Down1+1-0
2018-08-21 13:09make history length configurable through env varThore Bödecker1+2-5
2018-05-10 16:16Merge branch 'release/5.4.0'Chris Down3+4-15
2018-05-10 16:13Always send xsel logfile to /dev/nullChris Down3+4-15
2018-05-09 12:05Merge branch 'release/5.3.1'Chris Down2+3-5
2018-05-09 12:02Canonicalise missing elements in readlinkChris Down1+1-1
2018-04-27 01:13test-perf: Now that we check CM_LAUNCHER, change from aliases to functionsChris Down1+2-4
2018-04-22 09:19Merge branch 'release/5.3.0'Chris Down1+10-2
2018-04-22 09:19clipdel: Don't take "-d" as the pattern if only "-d" was passedChris Down1+5-2
2018-04-22 09:17clipdel: Give more helpful message if we didn't provide a patternChris Down1+5-0
2018-04-22 09:10Merge branch 'release/5.2.0'Chris Down4+117-12
2018-04-19 10:00Fix wrong file deleted after partial selection (#76)Gravemind1+3-3
2018-04-10 10:07Add more debugging information when cache entry is missingChris Down1+5-1
2018-03-12 00:24Fix errant handling of specific-file deletionChris Down1+1-5
2018-03-12 00:21Add note about clipdel to READMEChris Down1+2-0
2018-03-11 23:58Recover without restarting if we deleted the entire clip directoryChris Down1+6-0
2018-03-11 23:56Add clipdel utilityChris Down1+83-0
2018-03-09 20:50Allow use as a rofi script (#68)Chris Hobbs1+22-8
2018-03-09 06:49Merge branch 'release/5.1.0'Chris Down1+5-10
2018-03-09 06:32Don't populate ${last_data[any]}Chris Down1+5-10
2018-02-21 17:37Merge branch 'release/5.0.1'Chris Down3+7-5
2018-02-21 17:32Force LC_ALL=C for clip sortChris Down1+2-2
2018-02-21 17:23Add nanosecond resolution to cache file outputChris Down1+1-1
2018-02-20 12:00Add rofi instructionsChris Down1+2-2
2018-02-20 11:48readme: Add Travis linkChris Down1+2-0
2018-02-20 11:38Merge branch 'release/5.0.0'Chris Down4+70-22
2018-02-20 11:36Have CM_MAX_CLIPS understand new version 5 formatChris Down1+1-1
2018-02-20 11:31Add shellcheck disable for CM_SELECTIONSChris Down1+3-0
2018-02-20 11:30Fix tests to use version 5 formatChris Down2+7-8
2018-02-20 11:03Truncate cache file on duplicateChris Down1+13-4
2018-02-20 10:39Act on possible partials in both directionsChris Down1+2-1
2018-02-20 10:38Revert "Remove partial clip dedupe support"Chris Down1+9-0
2018-02-20 10:30Use -o/-i, not -kChris Down1+1-1
2018-02-20 10:29Use separate line cache for each selectionChris Down2+12-7
2018-02-20 10:10Merge branch 'backout_async' into developChris Down1+44-23
2018-02-20 10:09Revert "Remove last_data checks"Chris Down1+20-5
2018-02-20 10:09Revert "Take clipboard ownership prior to clipnotify"Chris Down1+16-13
2018-02-20 10:08Revert "Use xsel -o/-i instead of -k"Chris Down1+1-1
2018-02-20 10:08Revert "Make sure we don't break #34 in new pre-ownership"Chris Down1+1-4
2018-02-20 10:07Revert "Remove CM_ONESHOT-specific logic in flock failure checks"Chris Down1+8-2
2018-02-20 09:29Revert "Make main work block async"Chris Down1+1-4
2018-02-19 18:21Add $CM_SELECTIONS to limit which selections we copyChris Down1+20-2
2018-02-19 15:41Remove CM_ONESHOT-specific logic in flock failure checksChris Down1+2-8
2018-02-19 15:12Merge branch 'async' into developChris Down1+25-36
2018-02-19 15:11Make sure we don't break #34 in new pre-ownershipChris Down1+4-1
2018-02-19 15:07Use xsel -o/-i instead of -kChris Down1+1-1
2018-02-19 15:04Make main work block asyncChris Down1+4-1
2018-02-19 15:01Take clipboard ownership prior to clipnotifyChris Down1+13-15
2018-02-19 14:51Remove last_data checksChris Down1+5-20
2018-02-19 14:43Use `xsel -k`, instead of `-o` -> `-i`Chris Down1+1-1
2018-02-08 01:04Fall back to polling if clipnotify failsChris Down1+5-2
2018-02-08 00:58Merge branch 'release/4.1.0'Chris Down2+26-9
2018-02-08 00:55Add messages when clipnotify is not detectedChris Down1+5-0
2018-02-05 23:52Add note in readme about new non-polling modeChris Down1+8-8
2018-02-05 23:49Add optional support for clipnotify to avoid pollingChris Down1+13-1
2017-10-29 10:40Don't attempt to write to sockets represented as filesChris Down1+4-1
2017-10-29 02:04Use /proc/self/fd/2 instead of /dev/stderr where possibleChris Down1+8-1
2017-10-25 00:58Merge branch 'release/4.0.0'Chris Down6+80-44
2017-10-25 00:57Bump major_version to 4Chris Down4+4-4
2017-10-24 20:53If CM_MAX_CLIPS is 0, don't truncateChris Down1+13-11
2017-10-24 17:14Prefer $XDG_RUNTIME_DIR for storageChris Down4+12-8
2017-10-24 15:14Only keep $CM_MAX_CLIPS newest clipsChris Down1+15-0
2017-10-24 15:30Avoid double writing if both selections are the sameChris Down1+11-5
2017-10-24 15:03Gate new clipboard entry output on CM_DEBUGChris Down1+1-2
2017-05-31 19:01Add more documentation on -h/--help for clipmenu{,d}Chris Down2+25-9
2017-05-30 08:06Remove unused last_filenameChris Down1+0-2
2017-05-30 08:03Use $TMPDIR as base for cache directoryChris Down2+10-7
2017-05-30 08:02systemd service: Don't restrict to only /tmpChris Down1+0-3
2017-05-30 07:58Remove partial clip dedupe supportChris Down1+0-9
2017-05-30 07:55Add a note about using CM_ONESHOT, per #47Chris Down1+5-0
2017-05-10 09:05Do not sleep initially in oneshot modeChris Down1+1-1
2017-03-19 10:06Merge branch 'release/3.2.0'Chris Down4+63-17
2017-03-19 09:54Test CM_LAUNCHERChris Down1+8-5
2017-03-19 09:54Pass args in dmenu/rofi shimsChris Down1+5-1
2017-03-19 09:48Use a function insted of an alias for dmenu shimChris Down1+5-1
2017-03-19 09:43Add demo GIFChris Down1+4-0
2017-03-19 08:00Forcibly add -dmenu if using rofi as $CM_LAUNCHERChris Down1+5-0
2017-03-19 07:55Mention rofi in readmeChris Down1+3-1
2017-03-19 07:52Add clipmenu --helpChris Down1+14-0
2017-03-19 07:45Use CM_* env varsChris Down3+12-8
2017-03-19 07:40Add $CM_LAUNCHER env variableChris Down1+3-1
2017-03-19 07:31Use stderr for xsel logging when detachedChris Down2+2-2
2017-03-19 07:29Log new clipboard entries without $DEBUGChris Down1+4-0
2017-03-17 01:20Merge branch 'release/3.1.0'Chris Down1+28-2
2017-03-17 01:18clipmenud: Time out all calls to xsel after 1 secondChris Down1+1-1
2017-03-17 01:14Use wrapper for xsel to avoid having to pass --logfile again and againChris Down1+6-2
2017-03-08 03:37Add `--logfile /dev/null` to the xsel commanddrake-on-mandrake1+1-1
2017-02-18 01:45Add oneshot mode supportChris Down1+13-3
2017-02-18 01:39Add locking supportChris Down1+12-0
2017-02-17 19:06Merge branch 'release/3.0.1'Chris Down1+0-10
2017-02-17 19:05Do not filter syscalls in systemd initChris Down1+0-10
2017-02-17 17:07Merge branch 'release/3.0.0'Chris Down8+245-116
2017-02-17 17:06Remove old version file, we now use versioned dirsChris Down1+0-6
2017-02-17 17:02Set -x in test-clipmenuChris Down1+3-0
2017-02-17 16:55Put $major_version in cache_dir to avoid upgrade incompatibilityChris Down4+19-12
2017-02-17 16:50Remove xclip supportChris Down3+3-18
2017-02-17 16:45Add systemd unitChris Down2+34-0
2017-01-15 09:48tests: Add clipmenu testChris Down3+77-0
2017-01-12 08:34readme: Escape colour codesChris Down1+1-1
2017-01-11 11:35Add version to $cache_dirChris Down1+6-1
2017-01-11 11:33Put vars above functionsChris Down1+3-3
2017-01-11 11:28Fix parens in READMEChris Down1+1-1
2017-01-07 14:30Use awk instead of uniq to only keep latest, even if not adjacentChris Down1+1-1
2017-01-06 17:50Document behaviour in READMEChris Down1+27-3
2017-01-06 17:36Merge branch 'release/2.0.0'Chris Down3+140-71
2017-01-06 17:34Merge branch 'perf' into developChris Down3+138-69
2017-01-06 17:28Don't mention non-existing clipmenu-fsckChris Down1+1-1
2017-01-06 16:46Remove print_debug_info, this was never very usefulChris Down2+0-36
2017-01-06 14:53perf: Don't use date, use CRC insteadChris Down3+14-29
2017-01-06 14:02perf: Add naive but performant pathChris Down1+25-10
2017-01-06 12:52perf: Don't use printf with ordered_selectionsChris Down1+1-3
2017-01-06 12:03Have clipmenud cache first linesChris Down2+41-24
2017-01-06 10:48Add test-perf scriptChris Down1+90-0
2016-11-29 23:25Add `--logfile /dev/null` to xsel commandskesha-on-disc2+3-3
2016-11-09 11:38Only take ownership of clipboard if we would not skip this clipChris Down1+19-15
2016-11-07 08:45blank check: Use [:space:], not [:blank:]Chris Down1+1-1
2016-11-05 18:05Use -o when running xselChris Down1+2-2
2016-11-04 02:36Uniquify adjacent identical selection itemsChris Down1+1-1
2016-11-02 22:55Fix blank checkChris Down1+1-1
2016-11-02 14:49Add tons of debug loggingChris Down1+58-2
2016-06-21 21:05replaced md5 logic by using current time with nanoseconds (refs #20)GSI20161+1-3
2016-06-22 15:50Silence shellcheck warning about mkdir -pmChris Down1+3-0
2015-10-26 11:10License as public domainChris Down1+4-12
2015-10-07 18:03Remove partial clipsChris Down1+13-2
2015-09-14 12:40Tidy up clipboard ownership code to be 80 characters wideChris Down1+15-7
2015-09-14 12:01Don't take ownership of PRIMARY, comment about this behaviorStreetwalrus Einstein1+7-2
2015-09-11 20:29Take over the clipboard to persist it after the owner quitsStreetwalrus Einstein1+2-0
2015-09-06 12:59Add comments to clipmenu where it could be helpful for future devsChris Down1+15-6
2015-09-06 12:58Do not deduplicate lines before sending to dmenuChris Down1+1-1
2015-09-06 00:43Reduce default poll time down to 0.5 secondsChris Down1+1-1
2015-08-22 22:13Use as URL in LICENSEChris Down1+1-1
2015-08-22 22:08Remove ability to override default dmenu lines with CLIPMENU_LINESChris Down1+1-3
2015-08-22 22:02Add ISC licenseChris Down1+13-0
2015-08-22 18:40Set nullglob to avoid "bad array subscript" when no files existChris Down1+2-0
2015-08-22 18:37Merge branch 'feature/travis' into developChris Down1+17-0
2015-08-22 18:29Add Travis CI configurationChris Down1+17-0
2015-08-22 18:28Revert "Remove CLIPMENU_LINES support"Chris Down1+3-1
2015-08-22 12:13Limit number of characters displayed in "first line" dmenu selector to 500Chris Down1+4-1
2015-08-07 18:15Merge branch 'master' into developChris Down0+0-0
2015-08-07 18:15Merge tag '1.0.0'Chris Down2+20-6
2015-08-07 18:13xsel: Pass `-i` flag to fix mysterious issue with i3-msgChris Down1+1-1
2015-08-07 17:29Remove CLIPMENU_LINES supportChris Down1+1-4
2015-07-28 03:19Document why we add/remove an "x" when grabbing the clipboard dataChris Down1+3-0
2015-07-28 03:16Set perms to 0700 when creating cache dirChris Down1+1-1
2015-04-12 17:51Sort selections by recencyChris Down2+14-3
2015-07-28 03:01Make clipmenu cache directory user-specificChris Down2+2-2
2015-07-28 02:58Make sure that the clipboard data is not just whitespace before copyingChris Down1+1-1
2015-07-09 08:53Note how argument handling works when passing to dmenuChris Down1+4-0
2015-02-08 17:45Allow overriding dmenu_lines using CLIPMENU_LINESChris Down1+1-1
2015-02-08 17:42Show first non-empty line in dmenuChris Down1+1-1
2015-02-08 17:36Add xclip supportChris Down2+11-2
2014-02-05 10:51Do not write to file if last selection data is the sameChris Down1+5-0
2014-02-05 10:24Pass arguments through to dmenuChris Down1+1-1
2014-02-05 10:06Do not add newline when copying clipboard data to fileChris Down1+1-1
2014-02-05 10:02Check that there really is some data before storing itChris Down1+3-0
2014-02-05 09:48readme: Replace all references about xclip with xselChris Down1+2-2
2014-02-05 09:48Use xsel when copying to clipboard, not xclipChris Down1+3-1
2014-02-05 09:45Copy from both clipboard and primary selectionsChris Down1+8-8
2014-02-05 09:42Add readmeChris Down1+7-0
2014-02-05 09:16Copy chosen line's content to the clipboardChris Down1+5-1
2014-02-05 09:12Add script to run dmenu with selectionsChris Down1+20-0
2014-02-05 08:57Add clipmenu daemonChris Down1+15-0