by erebe

erebe / greenclip

Simple clipboard manager to be integrated with rofi - Static binary available

522 Stars 17 Forks Last release: 7 months ago (3.3) Other 115 Commits 11 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:



Recyle your clipboard selections with greenclip and don't waste your time anymore to reselect things over and over.

Purpose: Keeps track of your history of selections to quickly switch between them

Demo: Video Link
Video made by @gotbletu

Features: + Integrated with rofi + Permanently set some selections to added at the end (set

staticHistoryPath = your/file/with/static/entries
in the config file) + Merge X Primary selection with clipboard selection (set
usePrimarySelectionAsInput = True
in the config file) + Blacklist some applications (see
I want to blacklist some applications !
in the FAQ section) + Copy small images


  1. It's a static binary so drop it anywhere in your $PATH env


Alternatively if you are using Archlinux you can install the package from AUR

yay rofi-greenclip

PS: If you want, you can add a permanent list of selections to be added to your current history. Go see the config file


Greenclip is intended to be used with rofi

  1. Spawn the daemon
    greenclip daemon
  2. When ever you need to get your selections history
    rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
  3. The entry that you have selected will be in your clipboard now
  4. Configuration file can be found in

Migrating from 2.x version to 3.x one

  1. Kill all greenclip process already running
  2. Delete your old config file and old cache file (in ~/.cache/greenclip*)
  3. Start the new version of greenclip

Building the project

  1. Get stack for Haskell
  2. stack init && stack install

or you can look at the .travis.yml file


Q. Greenclip does not copy selection !

A. Greenclip cannot run alongside other clipboard manager. If you have already one activated (there is one by default in KDE), you have first to disable it before trying to run greenclip

Q. I cannot paste images !

A. You can only keep in your history small images (~ <500 kb). I disabled the support for bigger images as it will turn your CPU into a heater for winter.

Q. I want to blacklist some applications !

A. There is in your config file a section for blacklisting applications. You can run greenclip daemon in a terminal to find what is the name of the application who has the current selection. Be aware that a lot of application does not name their clipboard process/window, so it will be empty most of the time. Be aware also, that if you use an electron application (like slack i.e) you will get a generic name like "Chromium clipboard"

Q. I want to paste selection directly after selecting them !

A. This is not possible as when you invoke rofi, you lose focus of your current window and there is no way to find it back (from greenclip point of view)

Nonetheless, you can emulate the feature with xdotool

rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' ; sleep 0.5; xdotool type $(xclip -o -selection clipboard)

or look at this issue for a more complete solution

Q. I got a strange behavior when clearing the clipboard - greenclip clear

A. The command is not doing what it is supposed to do, if greenclip's daemon is running. You need to stop it first.

Use this command to clear the history

pkill greenclip && greenclip clear && greenclip daemon &

For more information regarding why, refer to

Q. I need multi-line text in staticHistory


Q. I don't want to use rofi !

A. You can also use greenclip with dmenu or fzf. Example usage:

greenclip print | sed '/^$/d' | dmenu -i -l 10 -p clipboard | xargs -r -d'\n' -I '{}' greenclip print '{}'

greenclip print | sed '/^$/d' | fzf -e | xargs -r -d'\n' -I '{}' greenclip print '{}'

Q. I want to thank you for greenclip !

A. Give a star to this repository

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.