A modern, elegant color picker application built with Qt for Linux.
- π¨ Screen Color Picker: Pick colors from anywhere on your screen using native portal integration
- π¨ HSV Color Plane: Interactive 2D color plane for precise color selection
- π Brightness Slider: Adjust color brightness with dedicated slider control
- π² Random Color Generator: Generate random colors for inspiration
- π RGBA Support: Full support for alpha channel transparency
- π Format Conversion: Convert between HEX, RGB, and RGBA color formats
- π Clipboard Support: Copy color values with one click
- π Linear & Radial Gradients: Create beautiful linear and radial gradients
- π¨ Multi-Stop Gradients: Add, remove, and adjust unlimited gradient stops
- π Gradient Rotation: Control gradient angle (0-360Β°)
- π² Random Gradients: Generate random gradient combinations
- π€ CSS Export: Copy gradient as CSS code for web development
- π SVG Export: Copy or export gradients as SVG files
- πΌοΈ Image Export: Export gradients as PNG images with custom dimensions
- ποΈ Fullscreen Preview: View gradients in fullscreen mode
- π¨ Color Palettes: Create and manage multiple color palettes
- β Quick Add: Add current color to palette with one click
- πΌοΈ Image Color Extraction: Generate palettes from images using K-means clustering
- πΎ Import/Export: Import and export palettes in JSON format
- βοΈ Palette Operations: Create, rename, delete, and clear palettes
- π Named Colors: Add optional names to palette colors
- π Multiple Palettes: Switch between different palettes easily
- ποΈ Precision Controls: Adjust RGB values using sliders and spin boxes
- β¨οΈ Keyboard Shortcuts: Comprehensive keyboard navigation and shortcuts
- πΎ Settings Persistence: Remembers your last used color and window geometry
- π¨ Intuitive Design: Clean, modern Qt-based interface
| Main Window | Gradient Generator |
|---|---|
![]() |
![]() |
| Radial Gradient | About Dialog |
|---|---|
![]() |
![]() |
- CMake 3.16 or later
- Qt 6.x (Core, Gui, Widgets, DBus)
- C++17 compatible compiler (GCC, Clang)
# Clone the repository
git clone https://github.com/keshavbhatt/colorsmith.git
cd colorsmith
# Create build directory
mkdir build && cd build
# Configure with CMake
cmake ..
# Build
make
# Install (optional)
sudo make install# Build with custom install prefix
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
# Build in Debug mode
cmake -DCMAKE_BUILD_TYPE=Debug ..
# Build with tests
cmake -DBUILD_TESTING=ON ..| Platform | Installation |
|---|---|
| Snap Store | sudo snap install colorsmith |
| Flathub | flatpak install flathub com.ktechpit.colorsmith |
After building, install with:
cd build
sudo make installLaunch the application from your application menu or run:
colorsmithCtrl+C: Copy current color to clipboardCtrl+P: Pick color from screen
When the cursor is inside any R / G / B / A field:
| Shortcut | Behavior |
|---|---|
β / β |
Β±1 |
Shift + β / β |
Β±10 |
Alt + β / β |
Β±5 |
PageUp / PageDown |
Β±25 |
Home / End |
Min (0) / Max (255) |
This project follows standard Qt/C++ coding conventions:
- Use camelCase for methods and variables
- Use PascalCase for class names
- Use
m_prefix for member variables - Keep headers in
include/directory - Keep implementations in
src/directory
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 or later. See the LICENSE file for details.
- Report bugs: https://github.com/keshavbhatt/colorsmith/issues
If you find ColorSmith useful, consider supporting its development!
| Donate via PayPal | Or scan the QR code |
|---|---|
![]() |
![]() |
Your support helps maintain and improve ColorSmith. Thank you! π





