Squashed 'suckless/clipmenu/' content from commit e0ec3bc6

git-subtree-dir: suckless/clipmenu
git-subtree-split: e0ec3bc6608ecc70ed17e8da76e27bf90b1e8e90
This commit is contained in:
Alejandro Guerrero 2026-09-27 17:52:02 +02:00
commit cb051ead76
32 changed files with 5760 additions and 0 deletions

56
man/clipctl.1 Normal file
View file

@ -0,0 +1,56 @@
.TH CLIPCTL 1
.SH NAME
clipctl \- control the clipmenud daemon
.SH SYNOPSIS
.B clipctl
ACTION
.SH DESCRIPTION
.B clipctl
communicates with the clipmenud daemon to control clipboard collection. It
sends a signal to clipmenud so that clipboard monitoring is enabled, disabled,
or toggled, or it simply displays the current status.
.SH OPTIONS
.TP
.B enable
Instruct clipmenud to enable clipboard collection.
.TP
.B disable
Instruct clipmenud to disable clipboard collection.
.TP
.B toggle
Invert the current state of clipboard collection.
.TP
.B status
Print the current state of clipboard collection.
.TP
.B version
Print the major clipmenu version.
.TP
.B cache-dir
Print the cache directory used by clipmenud.
.TP
clipctl also accepts one dash option:
.B \-h, \--help
Display the help message (invokes the manual page).
.SH CONFIGURATION
See
.BR clipmenu.conf (5).
.SH DEPENDENCIES
clipctl requires a running instance of the
.BR clipmenud
daemon.
.SH SEE ALSO
.BR clipdel (1),
.BR clipmenu (1),
.BR clipmenud (1),
.BR clipmenu.conf (5)
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .

53
man/clipdel.1 Normal file
View file

@ -0,0 +1,53 @@
.TH CLIPDEL 1
.SH NAME
clipdel \- delete entries from the clip store
.SH SYNOPSIS
.B clipdel
[OPTION...] PATTERN
.SH DESCRIPTION
.B clipdel
removes clipboard entries from the clip store managed by clipmenu. By default,
it performs a dry-run and prints any matching entries. With the -d flag,
matching entries are permanently removed.
.SH OPTIONS
.TP
.B \-d
Real deletion mode. Matching clipboard entries will be removed.
.TP
.B \-F
Perform a literal (fixed-string) match instead of interpreting the pattern as a regular expression.
.TP
.B \-N
Interpret PATTERN as the amount of entries to delete starting from the oldest.
E.g
.I "\-N 1"
deletes the oldest entry.
.TP
.B \-n
Same as
.B \-N
but starting from newest.
.TP
.B \-v
Invert the matching condition; entries that do not match the given pattern are selected for deletion.
.TP
.B \-h, \--help
Display the help message (invokes the manual page).
.SH CONFIGURATION
See
.BR clipmenu.conf (5).
.SH DEPENDENCIES
clipdel requires access to the clip store directory as defined in the configuration.
.SH SEE ALSO
.BR clipctl (1),
.BR clipmenu (1),
.BR clipmenud (1),
.BR clipmenu.conf (5)
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .

43
man/clipdelmenu.1 Normal file
View file

@ -0,0 +1,43 @@
.TH CLIPDELMENU 1
.SH NAME
clipdelmenu \- interactive launcher for deleting clipboard entries
.SH SYNOPSIS
.B clipdelmenu
[OPTION...]
.SH DESCRIPTION
.B clipdelmenu
provides an interactive interface for browsing and deleting clipboard entries
stored by clipmenud. It launches a menu using a configured launcher
(e.g., dmenu, rofi, or another custom command) and displays a numbered list of
stored clips. Once a selection is made, the chosen clip(s) are permanently
deleted from the clip store. Multiple clips can be selected at once using the
launcher's multi-select feature (e.g., Ctrl-Enter in dmenu).
.SH OPTIONS
.TP
.B \-h, \--help
Display the help message (invokes the manual page).
Other than that, command-line arguments are passed directly to the underlying
launcher.
.SH CONFIGURATION
See
.BR clipmenu.conf (5).
.SH DEPENDENCIES
clipdelmenu requires a launcher capable of a dmenu-like interface (e.g., rofi or a
custom command). Population of the clipstore requires
.BR clipmenud
to be running.
.SH SEE ALSO
.BR clipctl (1),
.BR clipdel (1),
.BR clipmenu (1),
.BR clipmenud (1),
.BR clipmenu.conf (5)
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .

42
man/clipmenu.1 Normal file
View file

@ -0,0 +1,42 @@
.TH CLIPMENU 1
.SH NAME
clipmenu \- interactive launcher for clipboard entry selection
.SH SYNOPSIS
.B clipmenu
[OPTION...]
.SH DESCRIPTION
.B clipmenu
provides an interactive interface for browsing and selecting clipboard entries
stored by clipmenud. It launches a menu using a configured launcher
(e.g., dmenu, rofi, or another custom command) and displays a numbered list of
stored clips. Once a selection is made, clipmenu calls
.BR clipserve
to set the chosen clip as the current X11 selections (PRIMARY and CLIPBOARD).
.SH OPTIONS
.TP
.B \-h, \--help
Display the help message (invokes the manual page).
Other than that, command-line arguments are passed directly to the underlying
launcher.
.SH CONFIGURATION
See
.BR clipmenu.conf (5).
.SH DEPENDENCIES
clipmenu requires a launcher capable of a dmenu-like interface (e.g., rofi or a
custom command). Population of the clipstore requires
.BR clipmenud
to be running.
.SH SEE ALSO
.BR clipctl (1),
.BR clipdel (1),
.BR clipmenud (1),
.BR clipmenu.conf (5)
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .

124
man/clipmenu.conf.5 Normal file
View file

@ -0,0 +1,124 @@
.TH CLIPMENU.CONF 5
.SH NAME
clipmenu.conf \- configuration file for clipmenu applications
.SH DESCRIPTION
clipmenu.conf defines the runtime settings for clipmenu applications (including
clipmenu itself, clipmenud, clipctl, clipdel, clipdelmenu, and clipserve).
.SH FORMAT
Each non-comment line in clipmenu.conf consists of a key followed by one or
more whitespace-separated values. Blank lines and lines starting with '#' are
ignored.
.PP
For example:
.EX
max_clips 1000
selections clipboard primary
.EE
.SH CONFIGURATION OPTIONS
.TP
.B max_clips
Specifies the maximum number of clipboard entries to retain in the clip store.
Default: 1000.
.TP
.B max_clips_batch
Provides a buffer above max_clips; when the number of entries exceeds
(max_clips + max_clips_batch), the clip store is trimmed back to max_clips
entries. Default: 100.
.TP
.B oneshot
If set to 1, clipmenud processes clipboard selections only once before exiting.
Default: 0.
.TP
.B deduplicate
If set to 1, clipmenud keeps only the newest copy of duplicate clips instead of
storing every duplicate entry. Default: 0.
.TP
.B own_clipboard
Determines whether clipmenud should claim ownership of the X11 clipboard. Works
together with own_selections. Default: 0.
.TP
.B own_selections
Specifies which X11 selections (e.g., "clipboard" or "primary") clipmenud
should actively own when
.B own_clipboard
is enabled. When a clip from one of these selections is stored, clipmenud uses
clipserve to own those selections. This does not affect which selections are
monitored; use
.B selections
for that. Default: "clipboard".
If this is set to an empty value, it is treated as if
.B own_clipboard
was disabled.
.TP
.B selections
Lists the X11 selections to monitor for changes. Valid values include
"clipboard", "primary", and "secondary". Default: "clipboard primary".
.TP
.B ignore_window
Defines a regular expression matching window titles to exclude from clipboard
monitoring. Unset by default.
.TP
.B launcher
Specifies the launcher command to use with clipmenu. Alternative choices
include rofi's dmenu mode or a custom command. Default: "dmenu".
.TP
.B launcher_pass_dmenu_args
When enabled, clipmenu and clipdelmenu add dmenu-compatible defaults (such as
-p and -l) before any user-provided arguments. Default: 1.
.TP
.B touch_on_select
When an entry is selected via
.BR clipmenu (1)
it will also be moved up to the newest slot.
Default: 0.
.TP
.B partial_merge_secs
Specifies the time window in seconds during which consecutive clipboard updates
where the previous entry was a substring of the new one are merged together
instead of being stored separately. This is useful for applications that
incrementally update the clipboard (e.g. progressive text selection in
browsers). Set to 0 to disable partial merging entirely. Default: 2.
.TP
.B cm_dir
Overrides the default base directory for clipmenu runtime data. The clip store
is created at a subdirectory named clipmenu.<version>.<uid> inside this
directory. By default, it uses XDG_RUNTIME_DIR, TMPDIR, or /tmp if neither are
set. The path must be absolute. A leading ~ expands to $HOME.
.SH FILE LOCATION
Typically, clipmenu.conf is located at
.BR ~/.config/clipmenu/clipmenu.conf
.
The file location can be overridden with $CM_CONFIG, which must be an absolute
path. A leading ~ expands to $HOME. If $CM_CONFIG is unset, $XDG_CONFIG_HOME is
used (falling back to ~/.config).
.SH ENVIRONMENT
.TP
.B CM_CONFIG
Absolute path (or a path beginning with ~) to the configuration file. This
takes precedence over $XDG_CONFIG_HOME.
.TP
.B XDG_CONFIG_HOME
Base directory for configuration files. If unset, ~/.config is used.
.TP
.B CM_DEBUG
If set to 1, enable debug logging.
.TP
.B Config environment variables
CM_MAX_CLIPS, CM_MAX_CLIPS_BATCH, CM_ONESHOT, CM_DEDUPLICATE, CM_OWN_CLIPBOARD,
CM_SELECTIONS, CM_OWN_SELECTIONS, CM_IGNORE_WINDOW, CM_LAUNCHER,
CM_LAUNCHER_PASS_DMENU_ARGS, and CM_DIR are environment variable equivalents for
the configuration keys of the same name. These override values from the config
file and are provided for compatibility with versions prior to 7.
.SH SEE ALSO
.BR clipctl (1),
.BR clipdel (1),
.BR clipmenu (1),
.BR clipmenud (1),
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .

32
man/clipmenud.1 Normal file
View file

@ -0,0 +1,32 @@
.TH CLIPMENUD 1
.SH NAME
clipmenud \- daemon for clipboard monitoring and storage
.SH DESCRIPTION
.B clipmenud
runs in the background, monitoring X11 clipboard selections (including PRIMARY,
CLIPBOARD, and SECONDARY). It stores new clipboard entries into a persistent
clip store. clipmenud responds to signals sent by
.BR clipctl
to enable or disable clipboard collection.
.SH OPTIONS
.TP
.B \-h, \--help
Display the help message (invokes the manual page).
.SH CONFIGURATION
See
.BR clipmenu.conf (5).
.SH DEPENDENCIES
clipmenud requires an X11 environment with the XFixes extension and access to the clip store directory as defined in the configuration.
.SH SEE ALSO
.BR clipctl (1),
.BR clipdel (1),
.BR clipmenu (1),
.BR clipmenu.conf (5)
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .

44
man/clipserve.1 Normal file
View file

@ -0,0 +1,44 @@
.TH CLIPSERVE 1
.SH NAME
clipserve \- serve a selected clipboard entry to X11 selections
.SH SYNOPSIS
.B clipserve
[\-s selection]... <hash>
.SH DESCRIPTION
.B clipserve
serves the clipboard content identified by a hash from the clip store on the
configured X11 selections. By default, it serves both PRIMARY and CLIPBOARD.
This program is not usually invoked directly, but is instead called from inside
other clipmenu applications.
.SH OPTIONS
.TP
.B \-h, \--help
Display the help message (invokes the manual page).
.TP
.B \-s, \--selection
Specify a selection to serve. Valid values are "primary", "clipboard", and
"secondary". This option may be repeated. If not provided, PRIMARY and
CLIPBOARD are used.
.TP
clipserve requires a hexadecimal hash of the clipboard entry to be served.
.SH CONFIGURATION
See
.BR clipmenu.conf (5).
.SH DEPENDENCIES
clipserve needs a valid clip store and an operational X11 environment to
function correctly.
.SH SEE ALSO
.BR clipctl (1),
.BR clipdel (1),
.BR clipmenu (1),
.BR clipmenud (1),
.BR clipmenu.conf (5)
.SH AUTHOR
Chris Down
.MT chris@chrisdown.name
.ME
.SH REPORTING BUGS
Please send bug reports to
.UR https://github.com/cdown/clipmenu/issues
.UE .