~~NOTOC~~
{{ :panel-plugins:xfce4-clipman-plugin.png?nolink|}}
====== Clipman - xfce4-clipman-plugin ======
* **[[#Getting Started|Getting Started]]**
* **[[#Search The History|Search The History]]**
* **[[#Settings|Settings]]**
* **[[#Action Settings|Action Settings]]**
* **[[#History Settings|History Settings]]**
* **[[#About Clipman|About Clipman]]**
* **[[#Latest Release|Latest Release]]**
* **[[#Source Code Repository|Source Code Repository]]**
* **[[#Reporting Bugs|Reporting Bugs]]**
----
===== Introduction =====
//**Clipman**// is a clipboard manager for //**Xfce**//. It keeps the clipboard contents around while it is usually lost when you close an application. It is able to handle text and images, and has a feature to execute actions on specific text by matching them against regular expressions.
==== Anatomy of a Clipboard ====
In X11 (all Unix platforms) there are by default two clipboards to exchange any data between the windows. A default clipboard which is modified by manual copies (for instance when you select a file and press the copy button), and there is a primary clipboard which is modified by selections (for instance when you select text in a field).
//**Clipman**// manages both clipboards, either separately or synchronously, and may or may not add selections to its history.
----
===== Getting Started =====
//**Clipman**// is used to keep in history a list of clipboard contents and to restore them. The history is displayed in a menu by clicking on the main icon. Within the menu it is possible to restore a text and to clear the history.
There are two ways to run //**Clipman**//. You can select //**Clipman**// in the applications menu under the category //Utility// or type ''xfce4-clipman'' on the command-line, or you can add it into your panel. To add a new item in the panel right click the panel and select //Add new item…//.
//**Clipman**// provides the command-line tool ''xfce4-popup-clipman''. When called it popups the main menu. The command is practical for the //**Application Shortcuts**// available at {gui>Xfce Menu>Settings>Keyboard}.
----
===== Search The History =====
If you want to search the history of your clipboard, you can click on "Show full history…" in the menu or use the command-line tool ''xfce4-clipman-history'' which
* shows the complete history
* supports (fuzzy) type-ahead search
* supports paste-on-activate (i.e. pastes the selected text directly into the previously active window on hitting "return")
* allows the user to switch from paste-on-activate to regular copying by holding down the Ctrl key
----
===== Settings =====
The settings dialog is available under the "Clipman settings…" item in the right click context menu on the main icon. It allows to tweak the history and to edit actions.
==== Behavior Settings ====
The following table describes the available options in the //Behavior// tab of the //Settings dialog//.
^ Option ^ Description ^
| Sync mouse selections | Sync the primary clipboard with the default clipboard in a way that it is possible to paste what gets selected |
| Persist mouse selections | Make primary clipboard persist until next selection if current selection is lost (e.g. by left-clicking in a text area) |
| QR-Code support | Show the QR-Code of the currently selected clipboard entry |
| Paste instantly | Automatically paste a selected item from the history |
| Position menu at pointer | Only for the xfce4-popup-clipman command |
| Maximum items | Number of menu items |
[[|Back to Top]]
----
==== Action Settings ====
An action is a pair of a name and a regular expression. Each action can have one or more commands. The support of actions is optional and can be enabled or disabled through the {gui>Enable automatic actions} option.
To add an action click the {gui>Add} icon, to edit an action select the action and click the {gui>Edit} icon or double click the action, and to remove an action select an action and click the {gui>Delete} icon. By adding or editing an action a new dialog is opened.
To learn more about actions go to [[#action_dialog|section Action Dialog]].
=== Action Dialog ===
An action has a human readable name that describes the pattern it is going to match. An action must have at least one command which also has a human readable name. The matched text can be reused in the command.
The actions are always matched against text selections unless specified otherwise. When the box {gui>Activate only on manual copy instead of selection} is checked, the action will be matched from the default clipboard (e.g. with {key>Ctrl+C}).
== Regular Expression ==
Basic special characters: "''.?+*(|)[]\''".
* "''.''": represents a single character.
* "''?+*''": respectively means zero or one character, one or more characters, and zero or more characters.
* "''(|)''": used for grouping and substitution, the vertical bar is used as an OR operation.
* "''[^]''": used to match a character from a set of characters and special characters, the circumflex is used at the start as a negation.
* "''\''": escapes a special character.
Basic alphanumeric character class: "''A-Za-z0-9''". Character classes are used within square brackets to represent a set of characters.
Regular expression examples:
* "''bug ?#?[0-9]+''": text "''bug''", zero or one space, zero or one sharp character, and one or more numbers.
* "''(http|ftp).+\.(jpg|png|gif)''": text "''http''" or "''ftp''", one or more character, a point, and the text "''jpg''", "''png''" or "''gif''".
* "''http://.{120}[^ ]+''": text "''http://''", 120 characters, and one or more characters except a space.
External resources:
* [[http://en.wikipedia.org/wiki/Regular_expression|Wikipedia article about regular expressions]].
== Commands ==
A command can reuse one or more substitutions from the regular expression. The substitutions are represented by "''\''" where '''' corresponds to the sub-pattern within parentheses or 0 for the complete text.
For example, from the simple pattern "''bug #(123)''" it is possible to use "''\0''" for the text "''bug #123''" and "''\1''" for the text "''123''". With the command "''exo-open http://host/\1''", the real executed command would be "''exo-open http://host/123''".
[[|Back to Top]]
----
==== History Settings ====
^ Option ^ Description ^
| Remember history | Enable history |
| Remember last copied image | Allows to store one image in the history |
| Reorder history items | Push last copied text to the top of the history |
| Reverse history order | Reverse order of the history shown in the menu |
| Ignore mouse selections | Prevents the primary clipboard from being inserted in the history |
| Size of the history | Sets the number of items to keep in history (different from the number of menu items) |
----
==== Xfconf ====
//**Clipman**// uses [[xfce:xfconf:|Xfconf]] to store its settings. That allows you to change the settings with the tool [[xfce:xfconf:xfconf-query|xfconf-query]] or [[xfce:xfce4-settings:editor|xfce4-settings-editor]]. The channel where //**Clipman**// stores its settings is ''xfce4-panel'' and the base property is ''/plugins/clipman''. The following table lists all the properties with their possible values.
^ Property ^ Type ^ Default ^ Values ^
| /settings/add-primary-clipboard | bool | false | true or false to sync the primary clipboard with the default clipboard |
| /settings/enable-actions | bool | false | true or false to enable actions |
| /settings/history-ignore-primary-clipboard | bool | false | true or false to exclude the primary clipboard from the history |
| /settings/max-images-in-history | uint | 0 | 0-5 number of images in history |
| /settings/max-texts-in-history | uint | 10 | 5-100 number of texts in history |
| /settings/save-on-quit | bool | true | true or false to restore the history at every new session |
| /tweaks/inhibit | bool | false | true or false to disable the collector |
| /tweaks/paste-on-activate | uint | 0 | 0 to disable, 1 to paste with Ctrl+V, or 2 to paste with Shift+Insert as soon as an item is selected from the history |
| /tweaks/popup-at-pointer | bool | false | true or false to popup the Clipman menu at the mouse pointer position, works only when called from the xfce4-popup-clipman command |
| /tweaks/reorder-items | bool | true | true or false to push the last copied text to the top of the history, useful to reorder old items |
| /tweaks/reverse-menu-order | bool | false | true or false to display the history in the reverse order |
| /tweaks/skip-action-on-key-down | bool | false | true or false to skip the actions popup menu when the Control key is hold down at the end of the selection|
To change a setting from a terminal type the following command-line:
xfconf-query -c xfce4-panel -p /plugins/clipman/property -s value
To list all settings type this command (the table above may be out of date):
xfconf-query -c xfce4-panel -lv | grep /plugins/clipman
[[|Back to Top]]
----
===== About Clipman =====
//**Clipman**// was written by Eduard Roccatello and then maintained by Nick Schermer and rewritten by Mike Massonnet. Nowadays it is maintained by the Xfce development team.
This software is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA.
----
===== Latest Release =====
{{rss>https://archive.xfce.org/feeds/project/xfce4-clipman-plugin 1 date 2h}}
[[https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin/-/blob/master/NEWS|Read the CHANGELOG]]
* **[[https://archive.xfce.org/src/panel-plugins/xfce4-clipman-plugin/|Download current release]]** (link also contains older versions)
[[|Back to Top]]
----
===== Source code repository =====
[[https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin]]
----
===== Reporting Bugs =====
* **[[:panel-plugins:xfce4-clipman-plugin:bugs|Reporting Bugs]]** -- Open bug reports and how to report new bugs
[[|Back To Top]]
----
[[ :xfce:xfce4-panel:start:|Return to Main Xfce4-panel page]]