{"id":18560769,"url":"https://github.com/eepp/delicolour","last_synced_at":"2025-10-24T15:39:00.342Z","repository":{"id":13981094,"uuid":"16681942","full_name":"eepp/delicolour","owner":"eepp","description":"find your own delicious colour","archived":false,"fork":false,"pushed_at":"2021-08-22T17:51:13.000Z","size":121,"stargazers_count":12,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-29T12:33:07.911Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eepp.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-10T02:23:19.000Z","updated_at":"2023-03-15T19:53:21.000Z","dependencies_parsed_at":"2022-07-31T17:19:03.248Z","dependency_job_id":null,"html_url":"https://github.com/eepp/delicolour","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/eepp/delicolour","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fdelicolour","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fdelicolour/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fdelicolour/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fdelicolour/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eepp","download_url":"https://codeload.github.com/eepp/delicolour/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fdelicolour/sbom","scorecard":{"id":367967,"data":{"date":"2025-08-11","repo":{"name":"github.com/eepp/delicolour","commit":"9e98f4d3145d0f28901d88b1bb510d2eac3682aa"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-18T12:18:58.886Z","repository_id":13981094,"created_at":"2025-08-18T12:18:58.886Z","updated_at":"2025-08-18T12:18:58.886Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280821733,"owners_count":26397423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T22:04:33.765Z","updated_at":"2025-10-24T15:39:00.324Z","avatar_url":"https://github.com/eepp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"// Render with Asciidoctor\n\n= delicolour\nPhilippe Proulx \u003chttps://eepp.ca\u003e\n\nimage:https://img.shields.io/pypi/v/delicolour.svg?label=Latest%20version[link=\"https://pypi.python.org/pypi/delicolour\"]\n\n**_delicolour_** is a lightweight _colour finder_.\n\nIt has only been tested on Linux.\n\nimage::http://ss.0x3b.org/refixing219.png[delicolour screenshot]\n\nThe goal of delicolour is to have a straightforward user experience for\nthe task of choosing a colour (mainly for web design), not as advanced\nas http://www.gpick.org/[Gpick], yet still useful and responsive. The\ncore principle is: no tabs or other windows, few clicks, everything\ninstantaneously accessible from the main window.\n\n\n== Notable features\n\n* Instant updates (moving one slider or modifying one field updates\n  the other controls).\n* \u003c\u003cbig-colour,Big colour rectangle\u003e\u003e showing your two current colours\n  (called _left_ and _right_).\n* Up to four rows of 16 \u003c\u003cfavorite-colours,favorite colours\u003e\u003e at the top\n  (number of rows and colours per rows is configurable with command-line\n  options).\n* \u003c\u003crgb,RGB values\u003e\u003e (0 to 255).\n* \u003c\u003chsv,HSV values\u003e\u003e (0 to 359 for hue and 0 to 100 for saturation and\n  value).\n* Scrollable sliders and entries (hue slider wraps).\n* \u003c\u003cfine-tuning,Fine colour adjustment buttons\u003e\u003e (increase/decrease\n  saturation and lightness) with adjustable increment value.\n* \u003c\u003ccss-hex,CSS hex\u003e\u003e and \u003c\u003ccss-rgb,RGB\u003e\u003e strings.\n* Intelligent copy/paste (paste `\\#rrggbb` or `rrggbb` into the hex\n  text box and decide if you want to prepend the `#` character when\n  copying).\n* Useful \u003c\u003ckeyboard-shortcuts,keyboard shortcuts\u003e\u003e.\n\n\n== Install\n\nMake sure you have the dependencies:\n\n* Python 3\n* https://pypi.org/project/colormath/[colormath] 3\n* GTK 3\n* https://wiki.gnome.org/action/show/Projects/PyGObject[PyGObject] 3\n* pip for Python 3\n\nThe package on PyPI is\nhttps://pypi.org/project/delicolour/[`delicolour`].\n\n\n=== Ubuntu\n\n----\n$ sudo apt-get install python3-pip python3-gi python3-gi-cairo\n$ sudo pip3 install delicolour\n----\n\n\n=== Debian\n\n----\n$ sudo apt-get install python3-pip gtk+3.0 python3-gi python3-gi-cairo\n$ sudo pip3 install delicolour\n----\n\n\n=== Fedora ≥ 20\n\n----\n$ sudo yum install python3-pip gtk3 python3-gobject\n$ sudo pip3 install delicolour\n----\n\n=== Arch Linux\n\n----\n$ yay -Sy delicolour\n----\n\n\n== Usage\n\nLaunch delicolour:\n\n----\ndelicolour\n----\n\nSee `delicolour --help` for a list of command-line options.\n\n\n=== Interface\n\n==== Window title\n\n----\ndelicolour: #bba6de [#184c99]\n----\n\nThe window title indicates the two current colours. The one being\ncurrently edited is between `[` and `]`.\n\n\n[[favorite-colours]]\n==== Favorite colours\n\nimage::http://ss.0x3b.org/impercipience71.png[]\n\nFavorite colours are little squares at the top of the window.\n\nYou can set a favorite colour from the current colour by right-clicking\nit or with the \u003c\u003ckeyboard-shortcuts,keyboard shortcuts\u003e\u003e\n**Ctrl**pass:[+]**1** to **Ctrl**pass:[+]**9**.\n\nYou can set the current colour from a favorite colour by left-clicking\nit or with the keyboard shortcuts *1* to *9*.\n\nThe `-f`/`--fav-colours-count` and `-F`/`--fav-colours-rows-count`\ncommand-line options control the number of available favorite colours.\nUse `--fav-colours-rows-count=0` to disable favorite colours.\n\ndelicolour does not remember favorite colours once you quit it.\n\n\n[[big-colour]]\n==== The big rectangle\n\nimage::http://ss.0x3b.org/poikilothermal774.png[]\n\nThe big rectangle below \u003c\u003cfavorite-colours,favorite colours\u003e\u003e shows the\ntwo current colours.\n\nA little dot located at the top left or top right corner of the\nbig rectangle indicates which of the two colours is the one currently\nbeing edited. You can switch to one or the other by clicking the\nleft or right side of the big rectangle.\n\nYou can set the initial left and right colours when you launch\ndelicolour with one of:\n\n* The first positional argument, for example `delicolour fd487e`. This\n  sets both the left and right colours at the same time.\n\n* The `-l`/`--left-colour` and `-r`/`--right-colour` command-line\n  options.\n\n\n[[fine-tuning]]\n==== Fine-tuning controls\n\nimage::http://ss.0x3b.org/unuprightly55.png[]\n\nWith fine-tuning controls, you can modify the current colour using\nbuttons to finely increment/decrement parameters.\n\nThe control on the left side is the _increment value_. When you press\none of the buttons on the right side, you add/subtract this value\nto/from the button's parameter's current value.\n\nThe parameters (buttons), from left to right, are:\n\n* Decrease saturation (_S_ in HSV)\n* Increase saturation\n* Decrease lightness (_L_ in HSL)\n* Increase lightness\n\nThe increment value also controls the incrementation/decrementation\namount of the sliders when you scroll them with the mouse wheel.\n\nThe `-i`/`--increment` command-line option controls the initial\nfine-tuning increment value.\n\n\n[[rgb]]\n==== RGB\n\nimage::http://ss.0x3b.org/stockjobbery593.png[]\n\nThe RGB sliders control the amount of red, green, and blue in the\ncurrent colour.\n\nYou can scroll the sliders and text boxes with the mouse wheel.\n\n\n[[hsv]]\n==== HSV\n\nimage::http://ss.0x3b.org/fuzees835.png[]\n\nThe HSV sliders control the hue, saturation, and value or the current\ncolour.\n\nYou can scroll the sliders and text boxes with the mouse wheel. The hue\nslider wraps when you scroll its text box.\n\n\n[[css-hex]]\n==== CSS hex\n\nimage::http://ss.0x3b.org/overglide667.png[]\n\nThe CSS hex text box shows and controls the CSS hexadecimal value of the\ncurrent colour.\n\nYou can copy the CSS hex value to the clipboard by clicking the text box\nand pressing **Ctrl**pass:[+]**C** (no need to select the whole text).\nIf the _Copy \\#_ option is checked, delicolour preprends a `#` character\nto the copied value.\n\nYou can paste a CSS hex value, with or without a `#` prefix, by clicking\nthe text box and pressing **Ctrl**pass:[+]**V** (no need to select the\nwhole text).\n\nIf the _Lowercase_ option is checked, delicolour prints the CSS hex\nvalue in lowercase when updating.\n\n\n[[css-rgb]]\n==== CSS RGB\n\nimage::http://ss.0x3b.org/nuzzer45.png[]\n\nThe CSS RGB text box shows and controls the CSS RGB value of the current\ncolour.\n\nYou can copy the CSS RGB value to the clipboard by clicking the text box\nand pressing **Ctrl**pass:[+]**C** (no need to select the whole text).\n\nYou can paste a CSS RGB value, with or without a `#` prefix, by clicking\nthe text box and pressing **Ctrl**pass:[+]**V** (no need to select the\nwhole text).\n\n\n[[keyboard-shortcuts]]\n=== Keyboard shortcuts\n\n==== Global shortcuts\n\nYou can always use the following keyboard shortcuts:\n\n[cols=2*,options=\"header\"]\n|===\n|Key\n|Action\n\n|*z*\n|Set current colour to black\n\n|*x*\n|Set current colour to white\n\n|*#*\n|Toggle current colour being edited\n\n|*1* to *9*\n|Set current colour from \u003c\u003cfavorite-colours,favorite colour\u003e\u003e 1 to 9\n(first row)\n\n|**Ctrl**pass:[+]**1** to **Ctrl**pass:[+]**9**\n|Set \u003c\u003cfavorite-colours,favorite colour\u003e\u003e 1 to 9 (first row) from\ncurrent colour\n\n|*q*\n|Decrease saturation\n\n|*w*\n|Increase saturation\n\n|*-*\n|Decrease lightness\n\n|*=* or *+*\n|Increase lightness\n|===\n\n\n==== RGB shortcuts\n\nYou can use the following keyboard shortcuts when the focus is on one of\nthe R, G, and B text boxes:\n\n[cols=2*,options=\"header\"]\n|===\n|Key\n|Action\n\n|*r*\n| Copy current component value to the R text box\n\n|*g*\n| Copy current component value to the G text box\n\n|*b*\n| Copy current component value to the B text box\n|===\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feepp%2Fdelicolour","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feepp%2Fdelicolour","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feepp%2Fdelicolour/lists"}