hyprland-wiki/pages/Useful Utilities/Clipboard-Managers.md

4.6 KiB

weight title
9 Clipboard managers

Starting method: manual (exec-once)

Clipboard Managers provide a convenient way to organize and access previously copied content, including both text and images.

Some common ones used are copyq, clipman, cliphist, clipse and cb.

clipman - Utilizes Wayland with wl-clipboard support and stores text only GitHub

cliphist - Utilizes Wayland with wl-clipboard and can store both images and text GitHub

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 in the clipboard after the application is closed. GitHub

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. GitHub

cb - Utilizes Wayland and stores text, images and files temporarily or indefinitely. Allows unlimited clipboards and history, JSON output and more. GitHub

{{< 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 >}}

cb

Start by adding the following line to your ~/.config/hypr/hyprland.conf

exec-once = cb

For more details on cb, please refer to its GitHub repo linked at the top of the page.

copyq

Start by adding the following lines to your ~/.config/hypr/hyprland.conf

exec-once = copyq --start-server

If the main window of copyq cannot close/hide properly, try to enable its "Hide main window" option in the Layout configuration tab in the Preferences dialog.

cliphist

Start by adding the following lines to your ~/.config/hypr/hyprland.conf

exec-once = wl-paste --type text --watch cliphist store # Stores only text data

exec-once = wl-paste --type image --watch cliphist store # Stores only image data

Note that any of the above lines can be disabled based on your needs.

To bind cliphist to a hotkey and display it under rofi, dmenu, wofi or fuzzel, you can edit it in hyprland.conf.

For rofi users

bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy

For dmenu users

bind = SUPER, V, exec, cliphist list | dmenu | cliphist decode | wl-copy

For wofi users

bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy

For fuzzel users

bind = SUPER, V, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy

The binds above allow SUPER + V to be used to access the clipboard history.

For further info, please refer to the repository mentioned above.

clipman

Start by adding the following line to your hyprland.conf

exec-once = wl-paste -t text --watch clipman store --no-persist

If you wish to use it as a primary clipboard manager, use this instead:

exec-once = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json"

Ensure that ~/.local/share/clipman-primary.json is already created.

Now you can bind clipman like this:

For rofi users

bind = SUPER, V, exec, clipman pick -t rofi

For dmenu users

bind = SUPER, V, exec, clipman pick -t dmenu

For wofi users

bind = SUPER, V, exec, clipman pick -t wofi

For fuzzel users

bind = SUPER, V, exec, clipman pick -t STDOUT | fuzzel --dmenu | wl-copy

...and so on. For further information, please refer to the repository mentioned above.

clipse

Start by adding the following line to your hyprland.conf

exec-once = clipse -listen

You can bind the TUI to a something nice like this:

windowrulev2 = float, class:(clipse)
windowrulev2 = size 622 652, class:(clipse)

bind = SUPER, V, exec, alacritty --class clipse -e clipse

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.

For more details on clipse, please refer to its GitHub repo linked at the top of the page.