2024-02-20 21:16:07 +01:00
|
|
|
---
|
|
|
|
weight: 9
|
|
|
|
title: Clipboard managers
|
|
|
|
---
|
|
|
|
|
2023-02-10 17:07:46 +01:00
|
|
|
_Starting method:_ manual (`exec-once`)
|
|
|
|
|
2024-11-06 19:34:37 +01:00
|
|
|
Clipboard Managers provide a convenient way to organize and access previously
|
2024-04-21 16:35:48 +02:00
|
|
|
copied content, including both text and images.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-12-21 22:09:53 +01:00
|
|
|
Some common ones used are `copyq`, `clipman`, `cliphist`, `clipse` and `cb`.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
`clipman` - Utilizes Wayland with `wl-clipboard` support and stores text only
|
2024-10-10 17:02:08 +02:00
|
|
|
[GitHub](https://github.com/chmouel/clipman)
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
`cliphist` - Utilizes Wayland with `wl-clipboard` and can store both images and
|
2024-10-10 17:02:08 +02:00
|
|
|
text [GitHub](https://github.com/sentriz/cliphist)
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-11-06 19:34:37 +01:00
|
|
|
`wl-clip-persist` - When copying something on Wayland, the copied data remains
|
|
|
|
in the clipboard until the application that was copied from is closed.
|
|
|
|
After that, the data disappears and can no longer be pasted.
|
|
|
|
To fix this problem, you can use `wl-clip-persist` which will preserve the data
|
2024-04-21 16:35:48 +02:00
|
|
|
in the clipboard after the application is closed.
|
2024-10-10 17:02:08 +02:00
|
|
|
[GitHub](https://github.com/Linus789/wl-clip-persist)
|
2023-04-09 14:56:09 +02:00
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
`clipse` - Utilizes Wayland with `wl-clipboard` support and runs from a single
|
|
|
|
binary. Stores text and images indefinitely, accessible via a nice TUI that can
|
|
|
|
be bound to a floating window in your Hyprland config. Allows custom themes,
|
|
|
|
image/text previews, multi-select, pinned items and more.
|
2024-07-04 09:14:24 +02:00
|
|
|
[GitHub](https://github.com/savedra1/clipse)
|
|
|
|
|
2024-12-21 22:09:53 +01:00
|
|
|
`cb` - Utilizes Wayland and stores text, images and files temporarily or
|
|
|
|
indefinitely. Allows unlimited clipboards and history, JSON output and more.
|
|
|
|
[GitHub](https://github.com/Slackadays/Clipboard)
|
|
|
|
|
|
|
|
{{< callout >}}
|
|
|
|
|
|
|
|
`cb` does not automatically update the clipboard in the background. It is not
|
|
|
|
recommended to enable it either, as that makes the focused window flicker every
|
|
|
|
second.
|
|
|
|
|
|
|
|
{{< /callout >}}
|
|
|
|
|
2024-10-09 12:48:36 +02:00
|
|
|
## cb
|
2024-11-06 19:34:37 +01:00
|
|
|
|
2024-10-09 12:48:36 +02:00
|
|
|
Start by adding the following line to your `~/.config/hypr/hyprland.conf`
|
|
|
|
|
|
|
|
```ini
|
|
|
|
exec-once = cb
|
|
|
|
```
|
|
|
|
|
2024-10-10 17:02:08 +02:00
|
|
|
For more details on `cb`, please refer to its GitHub repo linked at the top
|
2024-10-09 12:48:36 +02:00
|
|
|
of the page.
|
|
|
|
|
2023-05-05 15:41:33 +02:00
|
|
|
## copyq
|
|
|
|
|
|
|
|
Start by adding the following lines to your `~/.config/hypr/hyprland.conf`
|
|
|
|
|
|
|
|
```ini
|
|
|
|
exec-once = copyq --start-server
|
|
|
|
```
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
If the main window of `copyq` cannot close/hide properly, try to enable its
|
2024-07-31 00:00:24 +02:00
|
|
|
"Hide main window" option in the Layout configuration tab in the Preferences
|
|
|
|
dialog.
|
2023-05-05 15:41:33 +02:00
|
|
|
|
2023-02-12 20:22:04 +01:00
|
|
|
## cliphist
|
2023-02-10 17:07:46 +01:00
|
|
|
|
|
|
|
Start by adding the following lines to your `~/.config/hypr/hyprland.conf`
|
|
|
|
|
|
|
|
```ini
|
2024-07-31 00:00:24 +02:00
|
|
|
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
|
2023-02-10 17:07:46 +01:00
|
|
|
```
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
Note that any of the above lines can be disabled based on your needs.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-10-22 22:03:30 +02:00
|
|
|
To bind `cliphist` to a hotkey and display it under `rofi`, `dmenu`, `wofi` or `fuzzel`,
|
2024-07-31 00:00:24 +02:00
|
|
|
you can edit it in `hyprland.conf`.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2023-04-17 01:13:48 +02:00
|
|
|
### For `rofi` users
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-02-10 17:07:46 +01:00
|
|
|
```ini
|
|
|
|
bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
|
|
|
```
|
|
|
|
|
2023-04-17 01:13:48 +02:00
|
|
|
### For `dmenu` users
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-02-10 17:07:46 +01:00
|
|
|
```ini
|
|
|
|
bind = SUPER, V, exec, cliphist list | dmenu | cliphist decode | wl-copy
|
|
|
|
```
|
2023-08-17 16:07:32 +02:00
|
|
|
|
|
|
|
### For `wofi` users
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-08-17 16:07:32 +02:00
|
|
|
```ini
|
|
|
|
bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
|
|
|
```
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2024-10-22 22:03:30 +02:00
|
|
|
### For `fuzzel` users
|
|
|
|
|
|
|
|
```ìni
|
|
|
|
bind = SUPER, V, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
|
|
|
|
```
|
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
The binds above allow `SUPER + V` to be used to access the clipboard history.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
For further info, please refer to the repository mentioned above.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## clipman
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
Start by adding the following line to your `hyprland.conf`
|
2023-02-10 17:07:46 +01:00
|
|
|
|
|
|
|
```ini
|
|
|
|
exec-once = wl-paste -t text --watch clipman store --no-persist
|
|
|
|
```
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
If you wish to use it as a primary clipboard manager, use this instead:
|
2023-02-10 17:07:46 +01:00
|
|
|
|
|
|
|
```ini
|
|
|
|
exec-once = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json"
|
|
|
|
```
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
Ensure that `~/.local/share/clipman-primary.json` is already created.
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
Now you can bind `clipman` like this:
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2023-04-17 01:13:48 +02:00
|
|
|
### For `rofi` users
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-02-10 17:07:46 +01:00
|
|
|
```ini
|
2023-03-10 01:53:17 +01:00
|
|
|
bind = SUPER, V, exec, clipman pick -t rofi
|
2023-02-10 17:07:46 +01:00
|
|
|
```
|
|
|
|
|
2023-04-17 01:13:48 +02:00
|
|
|
### For `dmenu` users
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-02-10 17:07:46 +01:00
|
|
|
```ini
|
2023-03-10 01:53:17 +01:00
|
|
|
bind = SUPER, V, exec, clipman pick -t dmenu
|
2023-02-10 17:07:46 +01:00
|
|
|
```
|
|
|
|
|
2023-08-17 16:07:32 +02:00
|
|
|
### For `wofi` users
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-08-17 16:07:32 +02:00
|
|
|
```ini
|
|
|
|
bind = SUPER, V, exec, clipman pick -t wofi
|
|
|
|
```
|
2023-02-10 17:07:46 +01:00
|
|
|
|
2024-10-22 22:03:30 +02:00
|
|
|
### For `fuzzel` users
|
|
|
|
|
|
|
|
```ìni
|
|
|
|
bind = SUPER, V, exec, clipman pick -t STDOUT | fuzzel --dmenu | wl-copy
|
|
|
|
```
|
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
...and so on. For further information, please refer to the repository
|
|
|
|
mentioned above.
|
2024-07-04 09:14:24 +02:00
|
|
|
|
|
|
|
## clipse
|
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
Start by adding the following line to your `hyprland.conf`
|
2024-07-04 09:14:24 +02:00
|
|
|
|
|
|
|
```ini
|
|
|
|
exec-once = clipse -listen
|
|
|
|
```
|
|
|
|
|
|
|
|
You can bind the TUI to a something nice like this:
|
2024-11-06 19:34:37 +01:00
|
|
|
|
2024-07-04 09:14:24 +02:00
|
|
|
```ini
|
2024-07-31 00:00:24 +02:00
|
|
|
windowrulev2 = float, class:(clipse)
|
|
|
|
windowrulev2 = size 622 652, class:(clipse)
|
2024-07-04 09:14:24 +02:00
|
|
|
|
2024-11-06 19:34:37 +01:00
|
|
|
bind = SUPER, V, exec, alacritty --class clipse -e clipse
|
2024-07-04 09:14:24 +02:00
|
|
|
```
|
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
Replace `alacritty` with the terminal environment you use if necessary. The
|
|
|
|
class is optional, but it's recommended to use a floating window to achieve more
|
|
|
|
GUI-like behavior.
|
2024-07-04 09:14:24 +02:00
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
For more details on `clipse`, please refer to its GitHub repo linked at the top
|
|
|
|
of the page.
|