Skip to content


Repository files navigation

Gpick - advanced color picker and palette editor.

Gpick logo

Build Status Nightly packages

Gpick is an application that allows you to sample any color from anywhere on the desktop, and use it to create palettes (i.e. collections of colors) for use in graphic design applications. Gpick also has other features that help in the creation of color palettes, such as:

  • The ability to create a palette from an imported image
  • Automatic naming of colors
  • Color scheme generator
  • Import and export from various file formats

Gpick screenshot

Building from source


C++17 support is required. Compilation is currently only tested on following compilers:

  • GCC 9.3 and 10.2.
  • Clang 11.0.

Build dependencies

CMake 3.12 or newer: build process management application (

SCons 3.0 or newer: a software construction tool (

Either CMake or SCons can be used. Package maintainers should use CMake, because SCons support is deprecated and will be removed at some point in the future.

Ragel 6.9 or newer: state machine compiler (


GTK+ 3.0 (

GTK+ 2.24 (

Either GTK+ 3.x or GTK+ 2.x can be used.

Lua 5.4, 5.3 or 5.2 (

Expat (

Boost 1.71 or newer ( Used libraries:

  • Interprocess.
  • Test (only when building/running tests).

Optional dependencies

gettext ( Required if ENABLE_NLS is enabled. Required by default.


Using CMake:

mkdir build && cd build to create out-of-source build directory.

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local to prepare build files for installation to /usr/local.

make to compile all files.

make install to install executable and resources to DESTDIR. Default DESTDIR value is set by CMAKE_INSTALL_PREFIX variable.

Using SCons:

scons to compile all files and place executable file in build/.

scons install to install executable and resources to DESTDIR. By default DESTDIR is /usr/local.

Build options

ENABLE_NLS - compile with gettext support. Enabled by default.

USE_GTK3 - use GTK3 instead of GTK2. Enabled by default.

PREFER_VERSION_FILE - read version information from file instead of using GIT. Disabled by default. This option enables unconditional .version file usage. .version file is included in release source archives and is a simple text file containing the following information in four lines: major/minor version, revision, commit hash and commit date.

LUA_TYPE - select used Lua library type. Default is patched-C++. Can be set to one of the following values:

  • C++ - compiled with C++ compiler and API function symbols are mangled.
  • patched-C++ - compiled with C++ compiler, but API functions are defined as extern "C" and symbols are not mangled.
  • C - compiled with C compiler (this is the default Lua library build type).