From 155177579ba9c04eaae833ed2b94b16416e5e769 Mon Sep 17 00:00:00 2001 From: Daniel Napora Date: Wed, 4 Feb 2026 20:45:47 +0100 Subject: [PATCH] upload --- LICENSE | 674 +++++++++++++++++ README.md | 2 + bin/colormenu | 646 +++++++++++++++++ share/applications/colormenu-imagick.desktop | 13 + share/applications/colormenu.desktop | 13 + share/colormenu/help/css/w3.css | 235 ++++++ share/colormenu/help/en.html | 202 ++++++ share/colormenu/help/img/colormenu.png | Bin 0 -> 493 bytes share/colormenu/help/img/colormenu3.png | Bin 0 -> 18746 bytes .../colormenu/help/img/colormenu_settings.png | Bin 0 -> 7357 bytes share/colormenu/help/img/imagick_colors.png | Bin 0 -> 26702 bytes share/colormenu/help/img/picked_colors.png | Bin 0 -> 13269 bytes share/colormenu/help/pl.html | 202 ++++++ share/colormenu/htmlclrs.csv | 161 +++++ share/colormenu/htmlsub.csv | 13 + share/colormenu/imagick.txt | 676 ++++++++++++++++++ share/colormenu/palettes/dracula.clr | 11 + share/colormenu/palettes/flat_character.clr | 44 ++ .../palettes/gruvbox_material_dark.clr | 24 + share/colormenu/palettes/material_design.clr | 19 + share/colormenu/palettes/mint.clr | 11 + share/colormenu/palettes/nord.clr | 16 + .../colormenu/palettes/plasma_KDE_accents.clr | 10 + share/colormenu/palettes/selenized_black.clr | 18 + share/colormenu/palettes/tango.clr | 24 + share/colormenu/palettes/yaru_accents.clr | 8 + .../icons/hicolor/128x128/apps/colormenu.png | Bin 0 -> 720 bytes share/icons/hicolor/16x16/apps/colormenu.png | Bin 0 -> 309 bytes share/icons/hicolor/22x22/apps/colormenu.png | Bin 0 -> 356 bytes share/icons/hicolor/24x24/apps/colormenu.png | Bin 0 -> 268 bytes share/icons/hicolor/32x32/apps/colormenu.png | Bin 0 -> 367 bytes share/icons/hicolor/48x48/apps/colormenu.png | Bin 0 -> 364 bytes share/icons/hicolor/64x64/apps/colormenu.png | Bin 0 -> 493 bytes share/icons/hicolor/96x96/apps/colormenu.png | Bin 0 -> 580 bytes .../icons/hicolor/scalable/apps/colormenu.svg | 92 +++ 35 files changed, 3114 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100755 bin/colormenu create mode 100644 share/applications/colormenu-imagick.desktop create mode 100644 share/applications/colormenu.desktop create mode 100644 share/colormenu/help/css/w3.css create mode 100644 share/colormenu/help/en.html create mode 100644 share/colormenu/help/img/colormenu.png create mode 100644 share/colormenu/help/img/colormenu3.png create mode 100644 share/colormenu/help/img/colormenu_settings.png create mode 100644 share/colormenu/help/img/imagick_colors.png create mode 100644 share/colormenu/help/img/picked_colors.png create mode 100644 share/colormenu/help/pl.html create mode 100644 share/colormenu/htmlclrs.csv create mode 100644 share/colormenu/htmlsub.csv create mode 100644 share/colormenu/imagick.txt create mode 100644 share/colormenu/palettes/dracula.clr create mode 100644 share/colormenu/palettes/flat_character.clr create mode 100644 share/colormenu/palettes/gruvbox_material_dark.clr create mode 100644 share/colormenu/palettes/material_design.clr create mode 100644 share/colormenu/palettes/mint.clr create mode 100644 share/colormenu/palettes/nord.clr create mode 100644 share/colormenu/palettes/plasma_KDE_accents.clr create mode 100644 share/colormenu/palettes/selenized_black.clr create mode 100644 share/colormenu/palettes/tango.clr create mode 100644 share/colormenu/palettes/yaru_accents.clr create mode 100644 share/icons/hicolor/128x128/apps/colormenu.png create mode 100644 share/icons/hicolor/16x16/apps/colormenu.png create mode 100644 share/icons/hicolor/22x22/apps/colormenu.png create mode 100644 share/icons/hicolor/24x24/apps/colormenu.png create mode 100644 share/icons/hicolor/32x32/apps/colormenu.png create mode 100644 share/icons/hicolor/48x48/apps/colormenu.png create mode 100644 share/icons/hicolor/64x64/apps/colormenu.png create mode 100644 share/icons/hicolor/96x96/apps/colormenu.png create mode 100644 share/icons/hicolor/scalable/apps/colormenu.svg diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..62db389 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# colormenu +A menu to quickly pick, paste and organize color palettes diff --git a/bin/colormenu b/bin/colormenu new file mode 100755 index 0000000..af4a613 --- /dev/null +++ b/bin/colormenu @@ -0,0 +1,646 @@ +#!/bin/bash +# Copyright (C) Daniel Napora 2021-25 +# Dependencies: jgmenu, xdotool, gcolor3, gpick, pastel, xdg-utils, xclip, notify-send +# TODO export to .gpl (GIMP,Inkscape) + +VERSION="1.0.4" +TEMP_DIR=/tmp/colormenu +ME=${0##*/} + +DATA_DIR="/usr/share/$ME" +CNF_DIR="$HOME/.config/colormenu" +CNF_FILE="$CNF_DIR/colormenu.cfg" +RECENT="$CNF_DIR/recent.clr" +USED="$CNF_DIR/.used" +LASTPAL="$CNF_DIR/.palette" +[ ! -d "$CNF_DIR/palettes/my" ] && mkdir -p "$CNF_DIR/palettes/my" +if [ ! -f $CNF_FILE ]; then +cat < ${CNF_FILE} +# Paste mode: hex,rgb or rgba +format=hex +#Action when color is clicked: paste (imadietely) or copy (to clipboard) +action=copy +#What thing to expose on top of main menu: recently picked colors, last used colors or last used palette +expose=wallpaper +#Show HTML colors? yes|no +htmlcolors=yes +#Show built in palettes? (slow) +builtin_palettes=yes +# Random wallpaper dir +walldir=/usr/share/backgrounds +#Position on screen: topleft, top, topright, left, center, right, bottomleft, bottom, bottomright +position=left +EOF +fi +source <(grep = $CNF_FILE) + +RANDWALLDIR=${walldir:-/usr/share/backgrounds} + +if [ ! -f $RECENT ]; then +cat < ${RECENT} +#FFFFFF White +#C0C0C0 Silver +#808080 Gray +#000000 Black +EOF +fi + +fgcolor() { + r=$(printf "%d" 0x${1:1:2}) g=$(printf "%d" 0x${1:3:2}) b=$(printf "%d" 0x${1:5:2}) + [ "$((r*299+g*587+b*114))" -gt 149000 ] && echo "#111111" || echo "#EEEEEE" +} +hex2rgb() { + r=$(printf "%d" 0x${1:1:2}) g=$(printf "%d" 0x${1:3:2}) b=$(printf "%d" 0x${1:5:2}) + echo "rgb($r, $g, $b)" +} +hex2rgba() { + r=$(printf "%d" 0x${1:1:2}) g=$(printf "%d" 0x${1:3:2}) b=$(printf "%d" 0x${1:5:2}) + echo "rgba($r, $g, $b, 1.0)" +} +pickcolor() { + picker=${picker:-gpick} + command="gpick -pso 2>/dev/null" + color="$(${command})" + if [ -n "${color}" ]; then + echo "$color " > "$RECENT".tmp + # add on top deduplicate + awk '!x[$0]++' "$RECENT" >> "$RECENT".tmp + awk '!x[$0]++' "$RECENT".tmp > "$RECENT" + [ -n "$1" ] && file="$1" + echo "$color " >> "$file" + setvar expose=picked + fi + colormenu +} + +addcolor() { + color=$(gcolor3 2>/dev/null) + if [ -n "${color}" ]; then + echo "$color " > "$RECENT".tmp + # add on top deduplicate + awk '!x[$0]++' "$RECENT" >> "$RECENT".tmp + awk '!x[$0]++' "$RECENT".tmp > "$RECENT" + [ -n "$1" ] && file="$1" + echo "$color " >> "$file" + setvar expose=picked + fi + $ME +} +getcolorcode() { + if [ $action = "paste" ];then + case "$format" in + rgb) clr=$(hex2rgb $1);xdotool type --delay 0 "$clr";; + rgba) clr=$(hex2rgba $1);xdotool type --delay 0 "$clr";; + *) xdotool type --delay 0 "$1";; + esac + else # copy to clipboard + case "$format" in + rgb) clr=$(hex2rgb $1);echo $clr | tr -d "\n" | xclip -sel c;; + rgba) clr=$(hex2rgba $1);echo $clr | tr -d "\n" | xclip -sel c;; + *) clr="$1";echo "$1" | tr -d "\n" | xclip -sel c;; + esac + mkdir -p $TEMP_DIR + FNAME="$TEMP_DIR/${1:1:6}.png" + convert -size 100x100 xc:"$1" "$FNAME" + notify-send ColorMenu "$clr copied to clipboard" --icon="$FNAME" --expire-time=120000 + fi + echo "$1" > "$USED".tmp + # add on top and deduplicate + awk '!x[$0]++' "$USED" >> "$USED".tmp + awk '!x[$0]++' "$USED".tmp > "$USED" + + [[ $2 ]] && echo "$2" > "$LASTPAL" +} +recent2palette () { + DATE=$(date +"%Y%m%d-%H%M%S") + mkdir -p "$CNF_DIR/palettes/my" + #grep ^# $RECENT |tac > "$CNF_DIR/palettes/my/My_palette_$DATE.clr" + grep ^# $RECENT |awk '{ print $1 }'| pastel sort-by brightness|pastel format hex > "$CNF_DIR/palettes/my/My_palette_$DATE.clr" +} +newpalette() { + DATE=$(date +"%Y%m%d-%H%M%S") + mkdir -p "$CNF_DIR/palettes/my" + touch "$CNF_DIR/palettes/my/My_palette_$DATE.clr" +} +palettes() { + [ -n "$1" ] && pdir="$CNF_DIR/palettes/my/" || pdir="$DATA_DIR/palettes/" + if [[ -n "$1" ]]; then + out2+=("^tag(mypalettes)") + out2+=("^sep($MYPALETTES)") + else + out2+=("^tag(builtpalettes)") + out2+=("^sep($BUILTIN_PAL)") + fi + for file in "$pdir"*.clr ;do + filename=${file##*/} + palette=${filename%.*} + pal=${palette//_/ } + tagname=${palette// /_} + out2+=("${pal^},^checkout($tagname)") + out3+=("^tag($tagname)") + out3+=("^sep(${pal^})") + out3+=("$EXPOSE_IN_ROOTMENU,$ME setvar expose=$filename;$ME") + out3+=("^sep()") + while read -r color name; + do + out3+=("$color ,$ME getcolorcode '$color' '$file',,,#${palette}") + done < "$file" + if [[ -n "$1" ]] ; then + out3+=("^sep()") + out3+=("$PICK_FROM_SCREEN,$ME pickcolor '$file'") + if hash gcolor3 2>/dev/null; then + out3+=("^sep()") + out3+=("$ADD_FROM_SELECTOR,$ME addcolor '$file'") + fi + out3+=("^sep()") + out3+=("$EDIT_PALFILE,xdg-open '$file'") + out3+=("^sep($DANGER_ZONE)") + out3+=("$DELETE_PAL ${palette^},^checkout($tagname-del)") + out4+=("^tag($tagname-del)") + out4+=("^sep($ARE_YOU_SURE)") + out4+=("$YES,rm '$file';$ME") + fi + done + #if [[ $# = 0 ]] ; then + if [[ -n "$1" ]] ; then + out2+=("^sep()") + out2+=("$ADD_NEW_PAL,$ME newpalette;$ME") + out2+=("$OPEN_PALDIR,xdg-open $CNF_DIR/palettes/my/") + fi +} + +position() { + case "$position" in + ipc) POSITION_MODE="ipc";; + pointer) POSITION_MODE="pointer";; + topleft) POSITION_MODE="fixed" MENU_VALIGN="top" MENU_HALIGN="left";; + top) POSITIOM_MODE="fixed" MENU_VALIGN="top" MENU_HALIGN="center";; + topright) POSITION_MODE="fixed" MENU_VALIGN="top" MENU_HALIGN="right";; + left) POSITION_MODE="fixed" MENU_VALIGN="center" MENU_HALIGN="left";; + right) POSITION_MODE="fixed" MENU_VALIGN="center" MENU_HALIGN="right";; + bottomleft) POSITION_MODE="fixed" MENU_VALIGN="bottom" MENU_HALIGN="left";; + bottom) POSITION_MODE="fixed" MENU_VALIGN="bottom" MENU_HALIGN="center";; + bottomright) POSITION_MODE="fixed" MENU_VALIGN="bottom" MENU_HALIGN="right";; + center|*) POSITION_MODE="center" MENU_VALIGN="center" MENU_HALIGN="center";; + esac +} + +main () { +if [[ -f /usr/share/mb-jgtools/pipemenu-standalone.cfg ]];then +. /usr/share/mb-jgtools/pipemenu-standalone.cfg +. $HOME/.config/mabox/mabox.conf +fi +case $LANG in + pl*) + COLORMENU="Menu kolorów" + COPY_COLOR_CODE="Kopiuj kod koloru" + ACTION="Działanie" + COLLECT_COLORS="Dodaj kolory" + PICK_FROM_SCREEN="Pobierz kolor z ekranu..." + ADD_FROM_SELECTOR="Dodaj kolor..." + LASTUSED_PAL="Ostatnio używana paleta" + RECENTLYUSED="Ostatnio użyte kolory" + RECENTLYPICKED="Ostatnio dodane kolory" + CLEAR_ALL="Usuń wszystkie" + CLEAR_ALL2="Usuń wszystkie" + CLEAR_RECUSED="Usuń ostatnio użyte kolory" + NEWPAL_FROMREC="Nowa paleta z ostatnio dodanych" + CLEAR_RECPICKED="Usuń ostatnio dodane" + REMOVEONE="Usuń tylko jeden kolor..." + WALLCOLORS="Kolory z tapety" + RANDWALL="Ustaw losową tapetę" + IMAGICKCOLORS="Kolory Image Magick" + HTMLCOLORS="Kolory HTML" + PALETTE="Paleta:" + COLORPALETTES="Palety kolorów" + MYPALETTES="Moje palety" + ADD_NEW_PAL="Dodaj nową paletę..." + OPEN_PALDIR="Otwórz katalog z paletami" + EDIT_PALFILE="Edytuj plik palety" + DANGER_ZONE="Usuwanie..." + DELETE_PAL="Usuń paletę:" + ARE_YOU_SURE="Jesteś pewien?" + YES="Tak" + BUILTIN_PAL="Wbudowane palety" + EXPOSE_IN_ROOTMENU="Pokaż w menu głównym" + SETTINGS="Ustawienia" + PREFERENCES="Konfiguruj..." + HELP="Pomoc" + ;; + *) + COLORMENU="ColorMenu" + COPY_COLOR_CODE="Copy Color Code" + ACTION="Action" + COLLECT_COLORS="Collect Colors" + PICK_FROM_SCREEN="Pick color from screen..." + ADD_FROM_SELECTOR="Add color from selector..." + LASTUSED_PAL="Last used palette" + RECENTLYUSED="Recently used colors" + RECENTLYPICKED="Recently picked colors" + CLEAR_ALL="Clear All" + CLEAR_ALL2="Clear all" + CLEAR_RECUSED="Clear recently used colors" + NEWPAL_FROMREC="New palette from recently picked" + CLEAR_RECPICKED="Clear recently picked" + REMOVEONE="Just remove one color..." + WALLCOLORS="Wallpaper colors" + RANDWALL="Set random wallpaper" + IMAGICKCOLORS="Image Magick Colors" + HTMLCOLORS="HTML colors" + PALETTE="Palette:" + COLORPALETTES="Color palettes" + MYPALETTES="My palettes" + ADD_NEW_PAL="Add new palette..." + OPEN_PALDIR="Open palette directory" + EDIT_PALFILE="Edit palette file" + DANGER_ZONE="Danger zone..." + DELETE_PAL="Delete palette:" + ARE_YOU_SURE="Are you sure?" + YES="Yes" + BUILTIN_PAL="Built-in palettes" + EXPOSE_IN_ROOTMENU="Expose in rootmenu" + SETTINGS="Settings" + PREFERENCES="Preferences" + HELP="About and Help" + ;; +esac +[ "$1" = "ipc" ] && position="ipc" + +MENU_PADDING_TOP=${jgtools_padding:-0} +JGWIDTH="220" +ITEM_HALIGN="center" +jgmenu_icon_size=0 +menu_margin_x=${submenu_spacing:-0} +[ $(pidof picom) ] && MENU_RADIUS=$jgtools_radius +#jgmenu_font="Noto Sans Medium 10" + +position +mkconfigfile + +trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS}" EXIT +out+=("^sep($COLORMENU)") +out+=("^sep()") +out+=("^sep($COLLECT_COLORS...)") +out+=("$PICK_FROM_SCREEN,$ME pickcolor") +if hash gcolor3 2>/dev/null; then +out+=("^sep()") +out+=("$ADD_FROM_SELECTOR,$ME addcolor") +fi + + +out+=("^sep($ACTION: [$action $format])") +# exposed thing +case "$expose" in + palette) + pal=$(cat "$CNF_DIR/.palette") + filename=${pal##*/} + palette=${filename%.*} + out+=("^sep($LASTUSED_PAL ${palette^})") + while read -r color name;do + out+=("$color ,$ME getcolorcode '$color'") + done < "${pal}" + ;; + used) + mapfile -t < $USED + if (( ${#MAPFILE[@]} > 1 )); then + out+=("^sep($RECENTLYUSED)") + while read -r color name;do + out+=("$color ,$ME getcolorcode '$color'") + done < <(grep ^# $USED) + out+=("^sep()") + out+=("$CLEAR_RECUSED,echo > $USED;$ME") + fi + ;; + picked) + mapfile -t < $RECENT + if (( ${#MAPFILE[@]} > 1 )); then + out+=("^sep($RECENTLYPICKED)") + # for clear/delete + out2+=("^tag(pickeddel)") + out2+=("^sep($CLEAR_ALL)") + out2+=("$CLEAR_ALL2,echo > $RECENT;$ME") + out2+=("^sep($REMOVEONE)") + while read -r color name;do + + out+=("$color ,$ME getcolorcode '$color'") + out2+=("$color ,sed -i '/${color:1:6}/d' $RECENT;$ME") + done < <(grep ^# $RECENT) + + out+=("^sep()") + out+=("$NEWPAL_FROMREC,$ME recent2palette;$ME") + out+=("$CLEAR_RECPICKED,^checkout(pickeddel)") + fi + ;; + wallpaper) + WALLPALDIR="$HOME/.config/colormenu/palettes/wallp" + mkdir -p "$WALLPALDIR" + read WALLPATH<<< $(grep file "$HOME/.config/nitrogen/bg-saved.cfg" |tail -1| cut -d'=' -f2) + NAME=${WALLPATH////_} +if [[ "${NAME}" =~ ^_home_.* ]]; then +n=${#HOME} +((n++)) +NAME=${NAME:${n}} +fi +ext="${WALLPATH##*.}" +#notify-send.sh "Extension" "$ext" + +if [ ! -f "$WALLPALDIR/${NAME}.clr" ]; then + if [ "$ext" == "avif" ];then + magick ${WALLPATH} -resize 25% /tmp/out.jpg + magick /tmp/out.jpg -colors 16 -unique-colors txt:- |grep -v '^#'| awk '{print substr($3,1,7)}' |pastel sort-by brightness |pastel format hex > "$WALLPALDIR/$NAME.clr" + else + magick ${WALLPATH} -resize 25% -colors 16 -unique-colors txt:- |grep -v '^#'| awk '{print substr($3,1,7)}' |pastel sort-by brightness |pastel format hex > "$WALLPALDIR/$NAME.clr" + fi +fi + + while read -r color name;do + out+=("$color ,$ME getcolorcode '$color'") + done < "$WALLPALDIR/$NAME.clr" + out+=("^sep()") + out+=("$RANDWALL,mbwallpaper -o;$ME") + ;; + *) + if [ -f "$DATA_DIR/palettes/$expose" ];then + palfile="$DATA_DIR/palettes/$expose" + elif [ -f "$CNF_DIR/palettes/my/$expose" ];then + palfile="$CNF_DIR/palettes/my/$expose" + fi + if [ $palfile ];then + palette=${expose%.*} + pal=${palette//_/ } + out+=("^sep($PALETTE ${pal^})") + while read -r color name; + do + out+=("$color ,$ME getcolorcode '$color' '$file';$ME setvar expose=palette,,,#${palette}") + done < "$palfile" + fi + ;; + +esac +#if [[ "$CNF_DIR"/palettes/my/*.clr ]]; then +out+=("^sep($COLORPALETTES)") +if [ "$(find "$CNF_DIR"/palettes/my/*.clr -maxdepth 1 -type f -iname \*.clr 2>/dev/null)" ]; then +out+=("$MYPALETTES,^checkout(mypalettes)") +palettes my +fi +if [[ $builtin_palettes == "yes" ]];then +out+=("$BUILTIN_PAL,^checkout(builtpalettes)") +palettes +fi +# WALLPAPER COLORS +if [ "$expose" != "wallpaper" ];then +out+=("$WALLCOLORS,^checkout(wallcolors)") +read WALLPAPER<<< $(grep file "$HOME/.config/nitrogen/bg-saved.cfg | tail -1|cut -d'=' -f2") +WALLPALDIR="$HOME/.config/colormenu/palettes/wallp" +mkdir -p "$WALLPALDIR" +read WALLPATH<<< $(grep file "$HOME/.config/nitrogen/bg-saved.cfg" |tail -1| cut -d'=' -f2) +WALLPAPER=${WALLPATH##*/} +if [ ! -f "$WALLPALDIR/$WALLPAPER.clr" ]; then + convert ${WALLPATH} -resize 25% -colors 16 -unique-colors txt:- |grep -v '^#'| awk '{print substr($3,1,7)}' |pastel sort-by brightness |pastel format hex > "$WALLPALDIR/$WALLPAPER.clr" +fi + #mapfile -t wallcolors < "$WALLPALDIR/$WALLPAPER.clr" +out2+=("^tag(wallcolors)") +out2+=("^sep($WALLCOLORS)") +out2+=("$EXPOSE_IN_ROOTMENU ,$ME setvar expose=wallpaper;$ME") +out2+=("^sep()") +while read -r color name;do + out2+=("$color ,$ME getcolorcode '$color'") +done < "$WALLPALDIR/$WALLPAPER.clr" +out2+=("^sep()") +out2+=("$RANDWALL,mbwallpaper -o;$ME setvar expose=wallpaper;$ME") +fi + +out1+=("$IMAGICKCOLORS,colormenu imagick") + + + +out1+=("^sep($SETTINGS)") +out1+=("$PREFERENCES,^pipe($ME preferences)") + +out1+=("^sep()") +LNG=${LANG:0:2} +if [[ -f "/usr/share/colormenu/help/$LNG.html" ]];then +out1+=("$HELP,yhtml /usr/share/colormenu/help/$LNG.html 'Mabox Help - ColorMenu'") +else +out1+=("$HELP,yhtml /usr/share/colormenu/help/en.html 'Mabox Help - ColorMenu'") +fi + + +if [ $htmlcolors = "yes" ]; then +htmlroot="^sep() +${HTMLCOLORS},^checkout(html) +" +htmlsub="^tag(html) +. ${DATA_DIR}/htmlsub.csv" +htmlclrs=". ${DATA_DIR}/htmlclrs.csv" +else +htmlroot="" htmlsub="" htmlclrs="" +fi + + +cat << EOF > ${MENU_ITEMS} +$(printf '%s\n' "${out[@]}") +${htmlroot} + +$(printf '%s\n' "${out1[@]}") +${htmlsub} +$(printf '%s\n' "${out2[@]}") + +${htmlclrs} +$(printf '%s\n' "${out3[@]}") +$(printf '%s\n' "${out4[@]}") +EOF +jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null +#printf '%s\n' "${out3[@]}" +exit 0 +} + +imagick() { + if [[ -f /usr/share/mb-jgtools/pipemenu-standalone.cfg ]];then +. /usr/share/mb-jgtools/pipemenu-standalone.cfg +. $HOME/.config/mabox/mabox.conf +fi +case $LANG in + pl*) TYPE_TO_SEARCH="pisz aby wyszukać" + IMAGICKCOLORS="Kolory Image Magick" + BACK="Wróć do Menu Kolorów" + ;; + *) TYPE_TO_SEARCH="type to search" + IMAGICKCOLORS="Image Magick Colors" + BACK="Back to ColorMenu" + ;; +esac +#MENU_PADDING_TOP=${jgtools_padding:-24} +MENU_PADDING_TOP=$((jgtools_padding+24)) +JGWIDTH="300" +ITEM_HALIGN="center" +jgmenu_icon_size=0 +menu_margin_x=${submenu_spacing:-0} +[ $(pidof picom) ] && MENU_RADIUS=$jgtools_radius +jgmenu_font="Noto Sans Medium 12" +MENU_HALIGN="center" +MENU_VALIGN="center" +TABS="280" +icons=0 +iconmargin=0 +item_height_factor=240 +MENU_HEIGHT_MAX=480 +mkconfigfile + +trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS}" EXIT + +out+=("^sep($IMAGICKCOLORS)") +out+=("$BACK,colormenu") +out+=("^sep()") + +while read -r color name;do + out+=("$color $name ,$ME getcolorcode '$color'") +done < "$DATA_DIR/imagick.txt" + + cat << EOF > ${MENU_ITEMS} +@search,,$((jgtools_padding + 32)),$((jgtools_padding + 4)),292,20,4,left,top,auto,#262626,""" $TYPE_TO_SEARCH""" +$(printf '%s\n' "${out[@]}") + +EOF +jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null +} +preferences() { +case $LANG in + pl*) + SETTINGS="Ustawienia" + CLICK_ACTION="Akcja po kliknięciu w kolor:" + EXPOSE="Pokaż w menu głównym:" + HTMLCOLORS="Kolory HTML:" + HTML="Pokaż kolory HTML?" + BUILTIN="Wbudowane palety:" + BUILT="Pokaż wbudowane palety?" + PICKER="Pobieranie kolorów z ekranu:" + POSITION="Pozycja:" + RESET="Zresetuj ustawienia" + EDIT_CONF="Edytuj plik konfiguracyjny" + OPEN_DIR="Otwórz katalog z konfiguracją" + OUTFORMAT="Format wyjściowy" + PASTE="paste (wklej natychmiast)" + COPY="copy (kopiuj do schowka)" + SHOW_IN_ROOT="Pokazuj w menu głównym" + PICKED="picked ostatnio dodane kolory" + USED="used ostatnio użyte kolory" + PALETTE="palette ostatnio użyta paleta" + WALLPAPER="wallpaper kolory z tapety" + COLORPICKER="Pobieracz kolorów" + POS="Pozycja na ekranie" + ;; + *) + SETTINGS="Settings" + CLICK_ACTION="Color click action:" + EXPOSE="Expose in rootmenu:" + HTMLCOLORS="HTML colors:" + HTML="Show HTML colors?" + BUILTIN="Built-in palettes:" + BUILT="Show Built-in palettes?" + PICKER="Color picker:" + POSITION="Position:" + RESET="Reset to defaults" + EDIT_CONF="Edit config file" + OPEN_DIR="Open config directory" + OUTFORMAT="Output format" + PASTE="paste (paste color immediately)" + COPY="copy (copy color to clipboard)" + SHOW_IN_ROOT="Show on top of rootmenu" + PICKED="picked recently picked colors" + USED="used recently used colors" + PALETTE="palette recently used palette" + WALLPAPER="wallpaper colors" + COLORPICKER="Color Picker" + POS="Position on screen" + ;; +esac + +out2+=("^sep($SETTINGS)") +out2+=("$(printf "%-20s %20s" "$CLICK_ACTION" "[$action]"),^checkout(action)") +out2+=("$(printf "%-20s %20s" "Format:" "[$format]"),^checkout(format)") +out2+=("^sep()") +out2+=("$(printf "%-20s %20s" "$EXPOSE" "[$expose]"),^checkout(expose)") +out2+=("$(printf "%-20s %20s" "$HTMLCOLORS" "[$htmlcolors]"),^checkout(showhtml)") +out2+=("$(printf "%-20s %20s" "$BUILTIN" "[$builtin_palettes]"),^checkout(builtinpalettes)") +#out2+=("$(printf "%-20s %20s" "$PICKER" "[$picker]"),^checkout(picker)") +out2+=("^sep()") +out2+=("$(printf "%-20s %20s" "$POSITION" "[$position]"),^checkout(position)") +out2+=("^sep()") +out2+=("$RESET,rm $CNF_FILE;$ME") +out2+=("^sep()") +out2+=("$EDIT_CONF,xdg-open $CNF_FILE") +out2+=("$OPEN_DIR,xdg-open $CNF_DIR") + +out2+=("^tag(format)") +out2+=("^sep($OUTFORMAT)") +out2+=("hex #579C8E,$ME setvar format=hex;$ME") +out2+=("rgb rgb(87, 156, 142),$ME setvar format=rgb;$ME") +out2+=("rgba rgba(87, 156, 142, 1.0),$ME setvar format=rgba;$ME") + +out2+=("^tag(action)") +out2+=("^sep($CLICK_ACTION)") +out2+=("$PASTE,$ME setvar action=paste;$ME") +out2+=("$COPY,$ME setvar action=copy;$ME") + +out2+=("^tag(expose)") +out2+=("^sep($SHOW_IN_ROOT)") +out2+=("$PICKED,$ME setvar expose=picked;$ME") +out2+=("$USED,$ME setvar expose=used;$ME") +out2+=("$PALETTE,$ME setvar expose=palette;$ME") +out2+=("$WALLPAPER,$ME setvar expose=wallpaper;$ME") + +out2+=("^tag(showhtml)") +out2+=("^sep($HTML)") +out2+=("yes,$ME setvar htmlcolors=yes;$ME") +out2+=("no,$ME setvar htmlcolors=no;$ME") + +out2+=("^tag(builtinpalettes)") +out2+=("^sep($BUILT)") +out2+=("yes,$ME setvar builtin_palettes=yes;$ME") +out2+=("no,$ME setvar builtin_palettes=no;$ME") + +#out2+=("^tag(picker)") +#out2+=("^sep($COLORPICKER)") +#out2+=("gpick,$ME setvar picker=gpick;$ME") +#out2+=("xcolor,$ME setvar picker=xcolor;$ME") + + +out2+=("^tag(position)") +out2+=("^sep($POS)") +out2+=("center,$ME setvar position=center;$ME") +out2+=("topleft,$ME setvar position=topleft;$ME") +out2+=("top,$ME setvar position=top;$ME") +out2+=("topright,$ME setvar position=topright;$ME") +out2+=("left,$ME setvar position=left;$ME") +out2+=("right,$ME setvar position=right;$ME") +out2+=("bottomleft,$ME setvar position=bottomleft;$ME") +out2+=("bottom,$ME setvar position=bottom;$ME") +out2+=("bottomright,$ME setvar position=bottomright;$ME") +printf '%s\n' "${out2[@]}" +} +setvar() { + search=$(echo $1|cut -d= -f1) + FILE=${CNF_FILE} + if grep -Rq $search $FILE + then #found + sed -i s/^"$search".*$/"$1"/ $FILE + else #not found + echo $1 >> $FILE +fi +} + +case "$1" in + -h|--help|help) usage;; + --pickcolor|pickcolor) pickcolor "$2";; + --addcolor|addcolor) addcolor "$2" ;; + -g|--getcolorcode|getcolorcode) getcolorcode "$2" "$3";; + -p|preferences) preferences;; + -s|setvar) setvar "$2";; + ipc) main "$1";; + recent2palette) recent2palette ;; + newpalette) newpalette;; + imagick) imagick;; + *) main;; +esac +exit 0 diff --git a/share/applications/colormenu-imagick.desktop b/share/applications/colormenu-imagick.desktop new file mode 100644 index 0000000..f7c35a8 --- /dev/null +++ b/share/applications/colormenu-imagick.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=Image Magick colors +Name[pl]=Kolory Image Magick +Comment=Image Magick colors picker +Keywords= +StartupNotify=false +Icon=colormenu +TryExec=colormenu imagick +Exec=colormenu imagick +Categories=Graphics; +#NoDisplay=true diff --git a/share/applications/colormenu.desktop b/share/applications/colormenu.desktop new file mode 100644 index 0000000..ecefb10 --- /dev/null +++ b/share/applications/colormenu.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=ColorMenu +Name[pl]=Menu Kolorów +Comment=Pick, paste and manage colors +Keywords= +StartupNotify=false +Icon=colormenu +TryExec=colormenu +Exec=colormenu +Categories=Graphics; +#NoDisplay=true diff --git a/share/colormenu/help/css/w3.css b/share/colormenu/help/css/w3.css new file mode 100644 index 0000000..fd89e8d --- /dev/null +++ b/share/colormenu/help/css/w3.css @@ -0,0 +1,235 @@ +/* W3.CSS 4.15 December 2020 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent}a:active,a:hover{outline-width:0} +abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000} +small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} +button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0} +button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px} +.w3-serif{font-family:serif}.w3-sans-serif{font-family:sans-serif}.w3-cursive{font-family:cursive}.w3-monospace{font-family:monospace} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} +.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block} +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px} +.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:1205px){.w3-auto{max-width:95%}} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-padding-top-64{padding-top:64px!important}.w3-padding-top-48{padding-top:48px!important} +.w3-padding-top-32{padding-top:32px!important}.w3-padding-top-24{padding-top:24px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* Colors */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} +.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} +.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} \ No newline at end of file diff --git a/share/colormenu/help/en.html b/share/colormenu/help/en.html new file mode 100644 index 0000000..9c53019 --- /dev/null +++ b/share/colormenu/help/en.html @@ -0,0 +1,202 @@ + + +Mabox ColorMenu + + + + + +
+
+ + + + + + + + Launch Color Menu +
+ +
+ +
+ +
+ +

Color Menu

+ an unusual tool that can help you work with colors + +

Features:

  • collect colors from the screen and manage palettes
  • +
  • copy or paste color codes (hex, rgb or rgba)
  • +
  • autogenarate color palette from current wallpaper
+

+ Launch Color Menu +
+
+
+
    +
  1. Collecting colors - add color from screen or selector
  2. +
  3. Configurable click on color Action: copy (to clipboard) or paste (imadietely in cursor position)
  4. +
  5. Exposed palette - wallpaper colors (default), built-in palette, your own palette or list of recently picked colors
  6. +
  7. More palettes, HTML colors, ImageMagick colors
  8. +
  9. Settings and Help
  10. +
+
+
+
+
Mabox Linux Links:
+ www + forum + manual + donate +
+
+
+ + + + + + + + + + +
+ + + + + diff --git a/share/colormenu/help/img/colormenu.png b/share/colormenu/help/img/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..88ef5aeb7d23ebecc2853286ef0cfadcff6dad8a GIT binary patch literal 493 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 BQ<4Ax literal 0 HcmV?d00001 diff --git a/share/colormenu/help/img/colormenu_settings.png b/share/colormenu/help/img/colormenu_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..3b268ba4f7b367bba59f5311d5783f91ba8090df GIT binary patch literal 7357 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 literal 0 HcmV?d00001 diff --git a/share/colormenu/help/img/picked_colors.png b/share/colormenu/help/img/picked_colors.png new file mode 100644 index 0000000000000000000000000000000000000000..bd597478206f66b9a761d4f72238cc621f494faa GIT binary patch literal 13269 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 literal 0 HcmV?d00001 diff --git a/share/colormenu/help/pl.html b/share/colormenu/help/pl.html new file mode 100644 index 0000000..ae40641 --- /dev/null +++ b/share/colormenu/help/pl.html @@ -0,0 +1,202 @@ + + +Mabox ColorMenu + + + + + + + +
+ +
+ +
+ +

Color Menu

+ nietypowe narzędzie do pracy z kolorami + +

Możliwości:

  • pobieranie kolorów z ekranu oraz zarządzanie paletami
  • +
  • kopiuj lub wklejaj kody kolorów (hex, rgb lub rgba)
  • +
  • automatyczne generowanie palety kolorów z obecnie ustawionej tapety
+

+ Uruchom ColorMenu +
+
+
+
    +
  1. Dodaj kolory - dodaj kolory z ekranu lub selektora GTK
  2. +
  3. Konfigurowalna Akcja: copy (kopiuj do schowka) lub paste (natychmiast wklej w pozycji kursora)
  4. +
  5. Paleta w menu głównym - kolory z tapety (domyślnie), wbudowana paleta, własna paleta lub lista ostatnio dodanych kolorów
  6. +
  7. Więcej palet, kolory HTML, kolory ImageMagick
  8. +
  9. Ustawienia oraz Pomoc
  10. +
+
+
+
+
Mabox Linux linki:
+ www + forum + manual + donate +
+
+
+ + + + + + + + + + +
+ + + + + diff --git a/share/colormenu/htmlclrs.csv b/share/colormenu/htmlclrs.csv new file mode 100644 index 0000000..0d7a7ee --- /dev/null +++ b/share/colormenu/htmlclrs.csv @@ -0,0 +1,161 @@ +^tag(white) +^sep(White colors) + #FFFFFF white ,colormenu getcolorcode '#FFFFFF',,,#white + #FFFAFA snow ,colormenu getcolorcode '#FFFAFA',,,#white + #F0FFF0 honeydew ,colormenu getcolorcode '#F0FFF0',,,#white + #F5FFFA mintcream ,colormenu getcolorcode '#F5FFFA',,,#white + #F0FFFF azure ,colormenu getcolorcode '#F0FFFF',,,#white + #F0F8FF aliceblue ,colormenu getcolorcode '#F0F8FF',,,#white + #F8F8FF ghostwhite ,colormenu getcolorcode '#F8F8FF',,,#white + #F5F5F5 whitesmoke ,colormenu getcolorcode '#F5F5F5',,,#white + #FFF5EE seashell ,colormenu getcolorcode '#FFF5EE',,,#white + #F5F5DC beige ,colormenu getcolorcode '#F5F5DC',,,#white + #FDF5E6 oldlace ,colormenu getcolorcode '#FDF5E6',,,#white + #FFFAF0 floralwhite ,colormenu getcolorcode '#FFFAF0',,,#white + #FFFFF0 ivory ,colormenu getcolorcode '#FFFFF0',,,#white + #FAEBD7 antiquewhite ,colormenu getcolorcode '#FAEBD7',,,#white + #FAF0E6 linen ,colormenu getcolorcode '#FAF0E6',,,#white + #FFF0F5 lavenderblush ,colormenu getcolorcode '#FFF0F5',,,#white + #FFE4E1 mistyrose ,colormenu getcolorcode '#FFE4E1',,,#white +^tag(yellow) +^sep(Yellow colors) + #FFFFE0 lightyellow ,colormenu getcolorcode '#FFFFE0',,,#yellow + #FFFACD lemonchiffon ,colormenu getcolorcode '#FFFACD',,,#yellow + #FAFAD2 lightgoldenrodyellow ,colormenu getcolorcode '#FAFAD2',,,#yellow + #FFEFD5 papayawhip ,colormenu getcolorcode '#FFEFD5',,,#yellow + #FFE4B5 moccasin ,colormenu getcolorcode '#FFE4B5',,,#yellow + #FFDAB9 peachpuff ,colormenu getcolorcode '#FFDAB9',,,#yellow + #EEE8AA palegoldenrod ,colormenu getcolorcode '#EEE8AA',,,#yellow + #F0E68C khaki ,colormenu getcolorcode '#F0E68C',,,#yellow + #BDB76B darkkhaki ,colormenu getcolorcode '#BDB76B',,,#yellow + #FFFF00 yellow ,colormenu getcolorcode '#FFFF00',,,#yellow +^tag(orange) +^sep(Orange colors) + #FF7F50 coral ,colormenu getcolorcode '#FF7F50',,,#orange + #FF6347 tomato ,colormenu getcolorcode '#FF6347',,,#orange + #FF4500 orangered ,colormenu getcolorcode '#FF4500',,,#orange + #FFD700 gold ,colormenu getcolorcode '#FFD700',,,#orange + #FFA500 orange ,colormenu getcolorcode '#FFA500',,,#orange + #FF8C00 darkorange ,colormenu getcolorcode '#FF8C00',,,#orange +^tag(pink) +^sep(Pink colors) + #FFC0CB pink ,colormenu getcolorcode '#FFC0CB',,,#pink + #FFB6C1 lightpink ,colormenu getcolorcode '#FFB6C1',,,#pink + #FF69B4 hotpink ,colormenu getcolorcode '#FF69B4',,,#pink + #FF1493 deeppink ,colormenu getcolorcode '#FF1493',,,#pink + #DB7093 palevioletred ,colormenu getcolorcode '#DB7093',,,#pink + #C71585 mediumvioletred ,colormenu getcolorcode '#C71585',,,#pink +^tag(red) +^sep(Red colors) + #FFA07A lightsalmon ,colormenu getcolorcode '#FFA07A',,,#red + #FA8072 salmon ,colormenu getcolorcode '#FA8072',,,#red + #E9967A darksalmon ,colormenu getcolorcode '#E9967A',,,#red + #F08080 lightcoral ,colormenu getcolorcode '#F08080',,,#red + #CD5C5C indianred ,colormenu getcolorcode '#CD5C5C',,,#red + #DC143C crimson ,colormenu getcolorcode '#DC143C',,,#red + #B22222 firebrick ,colormenu getcolorcode '#B22222',,,#red + #FF0000 red ,colormenu getcolorcode '#FF0000',,,#red + #8B0000 darkreds ,colormenu getcolorcode '#8B0000',,,#red +^tag(brown) +^sep(Brown colors) + #FFF8DC cornsilk ,colormenu getcolorcode '#FFF8DC',,,#brown + #FFEBCD blanchedalmond ,colormenu getcolorcode '#FFEBCD',,,#brown + #FFE4C4 bisque ,colormenu getcolorcode '#FFE4C4',,,#brown + #FFDEAD navajowhite ,colormenu getcolorcode '#FFDEAD',,,#brown + #F5DEB3 wheat ,colormenu getcolorcode '#F5DEB3',,,#brown + #DEB887 burlywood ,colormenu getcolorcode '#DEB887',,,#brown + #D2B48C tan ,colormenu getcolorcode '#D2B48C',,,#brown + #BC8F8F rosybrown ,colormenu getcolorcode '#BC8F8F',,,#brown + #F4A460 sandybrown ,colormenu getcolorcode '#F4A460',,,#brown + #DAA520 goldenrod ,colormenu getcolorcode '#DAA520',,,#brown + #CD853F peru ,colormenu getcolorcode '#CD853F',,,#brown + #D2691E chocolate ,colormenu getcolorcode '#D2691E',,,#brown + #8B4513 saddlebrown ,colormenu getcolorcode '#8B4513',,,#brown + #A0522D sienna ,colormenu getcolorcode '#A0522D',,,#brown + #A52A2A brown ,colormenu getcolorcode '#A52A2A',,,#brown + #800000 maroon ,colormenu getcolorcode '#800000',,,#brown +^tag(green) +^sep(Green colors) + #7CFC00 lawngreen ,colormenu getcolorcode '#7CFC00',,,#green + #7FFF00 chartreuse ,colormenu getcolorcode '#7FFF00',,,#green + #32CD32 limegreen ,colormenu getcolorcode '#32CD32',,,#green + #00FF00 lime ,colormenu getcolorcode '#00FF00',,,#green + #228B22 forestgreen ,colormenu getcolorcode '#228B22',,,#green + #008000 green ,colormenu getcolorcode '#008000',,,#green + #006400 darkgreen ,colormenu getcolorcode '#006400',,,#green + #ADFF2F greenyellow ,colormenu getcolorcode '#ADFF2F',,,#green + #9ACD32 yellowgreen ,colormenu getcolorcode '#9ACD32',,,#green + #00FF7F springgreen ,colormenu getcolorcode '#00FF7F',,,#green + #00FA9A mediumspringgreen ,colormenu getcolorcode '#00FA9A',,,#green + #90EE90 lightgreen ,colormenu getcolorcode '#90EE90',,,#green + #98FB98 palegreen ,colormenu getcolorcode '#98FB98',,,#green + #8FBC8F darkseagreen ,colormenu getcolorcode '#8FBC8F',,,#green + #3CB371 mediumseagreen ,colormenu getcolorcode '#3CB371',,,#green + #2E8B57 seagreen ,colormenu getcolorcode '#2E8B57',,,#green + #808000 olive ,colormenu getcolorcode '#808000',,,#green + #556B2F darkolivegreen ,colormenu getcolorcode '#556B2F',,,#green + #6B8E23 olivedrab ,colormenu getcolorcode '#6B8E23',,,#green +^tag(cyan) +^sep(Cyan colors) + #E0FFFF lightcyan ,colormenu getcolorcode '#E0FFFF',,,#cyan + #00FFFF cyan ,colormenu getcolorcode '#00FFFF',,,#cyan + #00FFFF aqua ,colormenu getcolorcode '#00FFFF',,,#cyan + #7FFFD4 aquamarine ,colormenu getcolorcode '#7FFFD4',,,#cyan + #66CDAA mediumaquamarine ,colormenu getcolorcode '#66CDAA',,,#cyan + #AFEEEE paleturquoise ,colormenu getcolorcode '#AFEEEE',,,#cyan + #40E0D0 turquoise ,colormenu getcolorcode '#40E0D0',,,#cyan + #48D1CC mediumturquoise ,colormenu getcolorcode '#48D1CC',,,#cyan + #00CED1 darkturquoise ,colormenu getcolorcode '#00CED1',,,#cyan + #20B2AA lightseagreen ,colormenu getcolorcode '#20B2AA',,,#cyan + #5F9EA0 cadetblue ,colormenu getcolorcode '#5F9EA0',,,#cyan + #008B8B darkcyan ,colormenu getcolorcode '#008B8B',,,#cyan + #008080 teal ,colormenu getcolorcode '#008080',,,#cyan +^tag(blue) +^sep(Blue colors) + #B0E0E6 powderblue ,colormenu getcolorcode '#B0E0E6',,,#blue + #ADD8E6 lightblue ,colormenu getcolorcode '#ADD8E6',,,#blue + #87CEFA lightskyblue ,colormenu getcolorcode '#87CEFA',,,#blue + #87CEEB skyblue ,colormenu getcolorcode '#87CEEB',,,#blue + #00BFFF deepskyblue ,colormenu getcolorcode '#00BFFF',,,#blue + #B0C4DE lightsteelblue ,colormenu getcolorcode '#B0C4DE',,,#blue + #1E90FF dodgerblue ,colormenu getcolorcode '#1E90FF',,,#blue + #6495ED cornflowerblue ,colormenu getcolorcode '#6495ED',,,#blue + #4682B4 steelblue ,colormenu getcolorcode '#4682B4',,,#blue + #4169E1 royalblue ,colormenu getcolorcode '#4169E1',,,#blue + #0000FF blue ,colormenu getcolorcode '#0000FF',,,#blue + #0000CD mediumblue ,colormenu getcolorcode '#0000CD',,,#blue + #00008B darkblue ,colormenu getcolorcode '#00008B',,,#blue + #000080 navy ,colormenu getcolorcode '#000080',,,#blue + #191970 midnightblue ,colormenu getcolorcode '#191970',,,#blue + #7B68EE mediumslateblue ,colormenu getcolorcode '#7B68EE',,,#blue + #6A5ACD slateblue ,colormenu getcolorcode '#6A5ACD',,,#blue + #483D8B darkslateblue ,colormenu getcolorcode '#483D8B',,,#blue +^tag(purple) +^sep(Purple colors) + #E6E6FA lavender ,colormenu getcolorcode '#E6E6FA',,,#purple + #D8BFD8 thistle ,colormenu getcolorcode '#D8BFD8',,,#purple + #DDA0DD plum ,colormenu getcolorcode '#DDA0DD',,,#purple + #EE82EE violet ,colormenu getcolorcode '#EE82EE',,,#purple + #DA70D6 orchid ,colormenu getcolorcode '#DA70D6',,,#purple + #FF00FF fuchsia ,colormenu getcolorcode '#FF00FF',,,#purple + #FF00FF magenta ,colormenu getcolorcode '#FF00FF',,,#purple + #BA55D3 mediumorchid ,colormenu getcolorcode '#BA55D3',,,#purple + #9370DB mediumpurple ,colormenu getcolorcode '#9370DB',,,#purple + #8A2BE2 blueviolet ,colormenu getcolorcode '#8A2BE2',,,#purple + #9400D3 darkviolet ,colormenu getcolorcode '#9400D3',,,#purple + #9932CC darkorchid ,colormenu getcolorcode '#9932CC',,,#purple + #8B008B darkmagenta ,colormenu getcolorcode '#8B008B',,,#purple + #800080 purple ,colormenu getcolorcode '#800080',,,#purple + #4B0082 indigo ,colormenu getcolorcode '#4B0082',,,#purple +^tag(gray) +^sep(Gray colors) + #DCDCDC gainsboro ,colormenu getcolorcode '#DCDCDC',,,#gray + #D3D3D3 lightgray ,colormenu getcolorcode '#D3D3D3',,,#gray + #C0C0C0 silver ,colormenu getcolorcode '#C0C0C0',,,#gray + #A9A9A9 darkgray ,colormenu getcolorcode '#A9A9A9',,,#gray + #808080 gray ,colormenu getcolorcode '#808080',,,#gray + #696969 dimgray ,colormenu getcolorcode '#696969',,,#gray + #778899 lightslategray ,colormenu getcolorcode '#778899',,,#gray + #708090 slategray ,colormenu getcolorcode '#708090',,,#gray + #2F4F4F darkslategray ,colormenu getcolorcode '#2F4F4F',,,#gray + #000000 black ,colormenu getcolorcode '#000000',,,#gray diff --git a/share/colormenu/htmlsub.csv b/share/colormenu/htmlsub.csv new file mode 100644 index 0000000..b4907c6 --- /dev/null +++ b/share/colormenu/htmlsub.csv @@ -0,0 +1,13 @@ +#^tag(html) +^sep(HTML colors) + White ...,^checkout(white) + Yellow ...,^checkout(yellow) + Orange ...,^checkout(orange) + Pink ...,^checkout(pink) + Red ...,^checkout(red) + Brown ...,^checkout(brown) + Green ...,^checkout(green) + Cyan ...,^checkout(cyan) + Blue ...,^checkout(blue) + Purple ...,^checkout(purple) + Gray ...,^checkout(gray) diff --git a/share/colormenu/imagick.txt b/share/colormenu/imagick.txt new file mode 100644 index 0000000..dd9bb40 --- /dev/null +++ b/share/colormenu/imagick.txt @@ -0,0 +1,676 @@ +#000000 black +#ff0000 red +#ff00ff magenta +#008000 green +#00ffff cyan +#0000ff blue +#ffff00 yellow +#ffffff white +#f0f8ff AliceBlue +#faebd7 AntiqueWhite +#ffefdb AntiqueWhite1 +#eedfcc AntiqueWhite2 +#cdc0b0 AntiqueWhite3 +#8b8378 AntiqueWhite4 +#00ffff aqua +#7fffd4 aquamarine +#7fffd4 aquamarine1 +#76eec6 aquamarine2 +#66cdaa aquamarine3 +#458b74 aquamarine4 +#f0ffff azure +#f0ffff azure1 +#e0eeee azure2 +#c1cdcd azure3 +#838b8b azure4 +#f5f5dc beige +#ffe4c4 bisque +#ffe4c4 bisque1 +#eed5b7 bisque2 +#cdb79e bisque3 +#8b7d6b bisque4 +#ffebcd BlanchedAlmond +#0000ff blue1 +#0000ee blue2 +#0000cd blue3 +#00008b blue4 +#8a2be2 BlueViolet +#a52a2a brown +#ff4040 brown1 +#ee3b3b brown2 +#cd3333 brown3 +#8b2323 brown4 +#deb887 burlywood +#ffd39b burlywood1 +#eec591 burlywood2 +#cdaa7d burlywood3 +#8b7355 burlywood4 +#5f9ea0 CadetBlue +#98f5ff CadetBlue1 +#8ee5ee CadetBlue2 +#7ac5cd CadetBlue3 +#53868b CadetBlue4 +#7fff00 chartreuse +#7fff00 chartreuse1 +#76ee00 chartreuse2 +#66cd00 chartreuse3 +#458b00 chartreuse4 +#d2691e chocolate +#ff7f24 chocolate1 +#ee7621 chocolate2 +#cd661d chocolate3 +#8b4513 chocolate4 +#ff7f50 coral +#ff7256 coral1 +#ee6a50 coral2 +#cd5b45 coral3 +#8b3e2f coral4 +#6495ed CornflowerBlue +#fff8dc cornsilk +#fff8dc cornsilk1 +#eee8cd cornsilk2 +#cdc8b1 cornsilk3 +#8b8878 cornsilk4 +#dc143c crimson +#00ffff cyan1 +#00eeee cyan2 +#00cdcd cyan3 +#008b8b cyan4 +#00008b DarkBlue +#008b8b DarkCyan +#b8860b DarkGoldenrod +#ffb90f DarkGoldenrod1 +#eead0e DarkGoldenrod2 +#cd950c DarkGoldenrod3 +#8b6508 DarkGoldenrod4 +#a9a9a9 DarkGray +#006400 DarkGreen +#a9a9a9 DarkGrey +#bdb76b DarkKhaki +#8b008b DarkMagenta +#556b2f DarkOliveGreen +#caff70 DarkOliveGreen1 +#bcee68 DarkOliveGreen2 +#a2cd5a DarkOliveGreen3 +#6e8b3d DarkOliveGreen4 +#ff8c00 DarkOrange +#ff7f00 DarkOrange1 +#ee7600 DarkOrange2 +#cd6600 DarkOrange3 +#8b4500 DarkOrange4 +#9932cc DarkOrchid +#bf3eff DarkOrchid1 +#b23aee DarkOrchid2 +#9a32cd DarkOrchid3 +#68228b DarkOrchid4 +#8b0000 DarkRed +#e9967a DarkSalmon +#8fbc8f DarkSeaGreen +#c1ffc1 DarkSeaGreen1 +#b4eeb4 DarkSeaGreen2 +#9bcd9b DarkSeaGreen3 +#698b69 DarkSeaGreen4 +#483d8b DarkSlateBlue +#2f4f4f DarkSlateGray +#97ffff DarkSlateGray1 +#8deeee DarkSlateGray2 +#79cdcd DarkSlateGray3 +#528b8b DarkSlateGray4 +#2f4f4f DarkSlateGrey +#00ced1 DarkTurquoise +#9400d3 DarkViolet +#ff1493 DeepPink +#ff1493 DeepPink1 +#ee1289 DeepPink2 +#cd1076 DeepPink3 +#8b0a50 DeepPink4 +#00bfff DeepSkyBlue +#00bfff DeepSkyBlue1 +#00b2ee DeepSkyBlue2 +#009acd DeepSkyBlue3 +#00688b DeepSkyBlue4 +#696969 DimGray +#696969 DimGrey +#1e90ff DodgerBlue +#1e90ff DodgerBlue1 +#1c86ee DodgerBlue2 +#1874cd DodgerBlue3 +#104e8b DodgerBlue4 +#b22222 firebrick +#ff3030 firebrick1 +#ee2c2c firebrick2 +#cd2626 firebrick3 +#8b1a1a firebrick4 +#fffaf0 FloralWhite +#228b22 ForestGreen +#808080 fractal +#000000 freeze +#ff00ff fuchsia +#dcdcdc gainsboro +#f8f8ff GhostWhite +#ffd700 gold +#ffd700 gold1 +#eec900 gold2 +#cdad00 gold3 +#8b7500 gold4 +#daa520 goldenrod +#ffc125 goldenrod1 +#eeb422 goldenrod2 +#cd9b1d goldenrod3 +#8b6914 goldenrod4 +#7e7e7e gray +#bebebe gray +#000000 gray0 +#030303 gray1 +#1a1a1a gray10 +#ffffff gray100 +#ffffff gray100 +#1c1c1c gray11 +#1f1f1f gray12 +#212121 gray13 +#242424 gray14 +#262626 gray15 +#292929 gray16 +#2b2b2b gray17 +#2e2e2e gray18 +#303030 gray19 +#050505 gray2 +#333333 gray20 +#363636 gray21 +#383838 gray22 +#3b3b3b gray23 +#3d3d3d gray24 +#404040 gray25 +#424242 gray26 +#454545 gray27 +#474747 gray28 +#4a4a4a gray29 +#080808 gray3 +#4d4d4d gray30 +#4f4f4f gray31 +#525252 gray32 +#545454 gray33 +#575757 gray34 +#595959 gray35 +#5c5c5c gray36 +#5e5e5e gray37 +#616161 gray38 +#636363 gray39 +#0a0a0a gray4 +#666666 gray40 +#696969 gray41 +#6b6b6b gray42 +#6e6e6e gray43 +#707070 gray44 +#737373 gray45 +#757575 gray46 +#787878 gray47 +#7a7a7a gray48 +#7d7d7d gray49 +#0d0d0d gray5 +#7f7f7f gray50 +#828282 gray51 +#858585 gray52 +#878787 gray53 +#8a8a8a gray54 +#8c8c8c gray55 +#8f8f8f gray56 +#919191 gray57 +#949494 gray58 +#969696 gray59 +#0f0f0f gray6 +#999999 gray60 +#9c9c9c gray61 +#9e9e9e gray62 +#a1a1a1 gray63 +#a3a3a3 gray64 +#a6a6a6 gray65 +#a8a8a8 gray66 +#ababab gray67 +#adadad gray68 +#b0b0b0 gray69 +#121212 gray7 +#b3b3b3 gray70 +#b5b5b5 gray71 +#b8b8b8 gray72 +#bababa gray73 +#bdbdbd gray74 +#bfbfbf gray75 +#c2c2c2 gray76 +#c4c4c4 gray77 +#c7c7c7 gray78 +#c9c9c9 gray79 +#141414 gray8 +#cccccc gray80 +#cfcfcf gray81 +#d1d1d1 gray82 +#d4d4d4 gray83 +#d6d6d6 gray84 +#d9d9d9 gray85 +#dbdbdb gray86 +#dedede gray87 +#e0e0e0 gray88 +#e3e3e3 gray89 +#171717 gray9 +#e5e5e5 gray90 +#e8e8e8 gray91 +#ebebeb gray92 +#ededed gray93 +#f0f0f0 gray94 +#f2f2f2 gray95 +#f5f5f5 gray96 +#f7f7f7 gray97 +#fafafa gray98 +#fcfcfc gray99 +#00ff00 green +#00ff00 green1 +#00ee00 green2 +#00cd00 green3 +#008b00 green4 +#adff2f GreenYellow +#bebebe grey +#000000 grey0 +#030303 grey1 +#1a1a1a grey10 +#ffffff grey100 +#1c1c1c grey11 +#1f1f1f grey12 +#212121 grey13 +#242424 grey14 +#262626 grey15 +#292929 grey16 +#2b2b2b grey17 +#2e2e2e grey18 +#303030 grey19 +#050505 grey2 +#333333 grey20 +#363636 grey21 +#383838 grey22 +#3b3b3b grey23 +#3d3d3d grey24 +#404040 grey25 +#424242 grey26 +#454545 grey27 +#474747 grey28 +#4a4a4a grey29 +#080808 grey3 +#4d4d4d grey30 +#4f4f4f grey31 +#525252 grey32 +#545454 grey33 +#575757 grey34 +#595959 grey35 +#5c5c5c grey36 +#5e5e5e grey37 +#616161 grey38 +#636363 grey39 +#0a0a0a grey4 +#666666 grey40 +#696969 grey41 +#6b6b6b grey42 +#6e6e6e grey43 +#707070 grey44 +#737373 grey45 +#757575 grey46 +#787878 grey47 +#7a7a7a grey48 +#7d7d7d grey49 +#0d0d0d grey5 +#7f7f7f grey50 +#828282 grey51 +#858585 grey52 +#878787 grey53 +#8a8a8a grey54 +#8c8c8c grey55 +#8f8f8f grey56 +#919191 grey57 +#949494 grey58 +#969696 grey59 +#0f0f0f grey6 +#999999 grey60 +#9c9c9c grey61 +#9e9e9e grey62 +#a1a1a1 grey63 +#a3a3a3 grey64 +#a6a6a6 grey65 +#a8a8a8 grey66 +#ababab grey67 +#adadad grey68 +#b0b0b0 grey69 +#121212 grey7 +#b3b3b3 grey70 +#b5b5b5 grey71 +#b8b8b8 grey72 +#bababa grey73 +#bdbdbd grey74 +#bfbfbf grey75 +#c2c2c2 grey76 +#c4c4c4 grey77 +#c7c7c7 grey78 +#c9c9c9 grey79 +#141414 grey8 +#cccccc grey80 +#cfcfcf grey81 +#d1d1d1 grey82 +#d4d4d4 grey83 +#d6d6d6 grey84 +#d9d9d9 grey85 +#dbdbdb grey86 +#dedede grey87 +#e0e0e0 grey88 +#e3e3e3 grey89 +#171717 grey9 +#e5e5e5 grey90 +#e8e8e8 grey91 +#ebebeb grey92 +#ededed grey93 +#f0f0f0 grey94 +#f2f2f2 grey95 +#f5f5f5 grey96 +#f7f7f7 grey97 +#fafafa grey98 +#fcfcfc grey99 +#f0fff0 honeydew +#f0fff0 honeydew1 +#e0eee0 honeydew2 +#c1cdc1 honeydew3 +#838b83 honeydew4 +#ff69b4 HotPink +#ff6eb4 HotPink1 +#ee6aa7 HotPink2 +#cd6090 HotPink3 +#8b3a62 HotPink4 +#cd5c5c IndianRed +#ff6a6a IndianRed1 +#ee6363 IndianRed2 +#cd5555 IndianRed3 +#8b3a3a IndianRed4 +#4b0082 indigo +#fffff0 ivory +#fffff0 ivory1 +#eeeee0 ivory2 +#cdcdc1 ivory3 +#8b8b83 ivory4 +#f0e68c khaki +#fff68f khaki1 +#eee685 khaki2 +#cdc673 khaki3 +#8b864e khaki4 +#e6e6fa lavender +#fff0f5 LavenderBlush +#fff0f5 LavenderBlush1 +#eee0e5 LavenderBlush2 +#cdc1c5 LavenderBlush3 +#8b8386 LavenderBlush4 +#7cfc00 LawnGreen +#fffacd LemonChiffon +#fffacd LemonChiffon1 +#eee9bf LemonChiffon2 +#cdc9a5 LemonChiffon3 +#8b8970 LemonChiffon4 +#add8e6 LightBlue +#bfefff LightBlue1 +#b2dfee LightBlue2 +#9ac0cd LightBlue3 +#68838b LightBlue4 +#f08080 LightCoral +#e0ffff LightCyan +#e0ffff LightCyan1 +#d1eeee LightCyan2 +#b4cdcd LightCyan3 +#7a8b8b LightCyan4 +#eedd82 LightGoldenrod +#ffec8b LightGoldenrod1 +#eedc82 LightGoldenrod2 +#cdbe70 LightGoldenrod3 +#8b814c LightGoldenrod4 +#fafad2 LightGoldenrodYellow +#d3d3d3 LightGray +#90ee90 LightGreen +#d3d3d3 LightGrey +#ffb6c1 LightPink +#ffaeb9 LightPink1 +#eea2ad LightPink2 +#cd8c95 LightPink3 +#8b5f65 LightPink4 +#ffa07a LightSalmon +#ffa07a LightSalmon1 +#ee9572 LightSalmon2 +#cd8162 LightSalmon3 +#8b5742 LightSalmon4 +#20b2aa LightSeaGreen +#87cefa LightSkyBlue +#b0e2ff LightSkyBlue1 +#a4d3ee LightSkyBlue2 +#8db6cd LightSkyBlue3 +#607b8b LightSkyBlue4 +#8470ff LightSlateBlue +#778899 LightSlateGray +#778899 LightSlateGrey +#b0c4de LightSteelBlue +#cae1ff LightSteelBlue1 +#bcd2ee LightSteelBlue2 +#a2b5cd LightSteelBlue3 +#6e7b8b LightSteelBlue4 +#ffffe0 LightYellow +#ffffe0 LightYellow1 +#eeeed1 LightYellow2 +#cdcdb4 LightYellow3 +#8b8b7a LightYellow4 +#00ff00 lime +#32cd32 LimeGreen +#faf0e6 linen +#ff00ff magenta1 +#ee00ee magenta2 +#cd00cd magenta3 +#8b008b magenta4 +#800000 maroon +#b03060 maroon +#ff34b3 maroon1 +#ee30a7 maroon2 +#cd2990 maroon3 +#8b1c62 maroon4 +#66cdaa MediumAquamarine +#0000cd MediumBlue +#32814b MediumForestGreen +#d1c166 MediumGoldenRod +#ba55d3 MediumOrchid +#e066ff MediumOrchid1 +#d15fee MediumOrchid2 +#b452cd MediumOrchid3 +#7a378b MediumOrchid4 +#9370db MediumPurple +#ab82ff MediumPurple1 +#9f79ee MediumPurple2 +#8968cd MediumPurple3 +#5d478b MediumPurple4 +#3cb371 MediumSeaGreen +#7b68ee MediumSlateBlue +#00fa9a MediumSpringGreen +#48d1cc MediumTurquoise +#c71585 MediumVioletRed +#191970 MidnightBlue +#f5fffa MintCream +#ffe4e1 MistyRose +#ffe4e1 MistyRose1 +#eed5d2 MistyRose2 +#cdb7b5 MistyRose3 +#8b7d7b MistyRose4 +#ffe4b5 moccasin +#ffdead NavajoWhite +#ffdead NavajoWhite1 +#eecfa1 NavajoWhite2 +#cdb38b NavajoWhite3 +#8b795e NavajoWhite4 +#000080 navy +#000080 NavyBlue +#000000 matte +#fdf5e6 OldLace +#808000 olive +#6b8e23 OliveDrab +#c0ff3e OliveDrab1 +#b3ee3a OliveDrab2 +#9acd32 OliveDrab3 +#698b22 OliveDrab4 +#000000 opaque +#ffa500 orange +#ffa500 orange1 +#ee9a00 orange2 +#cd8500 orange3 +#8b5a00 orange4 +#ff4500 OrangeRed +#ff4500 OrangeRed1 +#ee4000 OrangeRed2 +#cd3700 OrangeRed3 +#8b2500 OrangeRed4 +#da70d6 orchid +#ff83fa orchid1 +#ee7ae9 orchid2 +#cd69c9 orchid3 +#8b4789 orchid4 +#eee8aa PaleGoldenrod +#98fb98 PaleGreen +#9aff9a PaleGreen1 +#90ee90 PaleGreen2 +#7ccd7c PaleGreen3 +#548b54 PaleGreen4 +#afeeee PaleTurquoise +#bbffff PaleTurquoise1 +#aeeeee PaleTurquoise2 +#96cdcd PaleTurquoise3 +#668b8b PaleTurquoise4 +#db7093 PaleVioletRed +#ff82ab PaleVioletRed1 +#ee799f PaleVioletRed2 +#cd6889 PaleVioletRed3 +#8b475d PaleVioletRed4 +#ffefd5 PapayaWhip +#ffdab9 PeachPuff +#ffdab9 PeachPuff1 +#eecbad PeachPuff2 +#cdaf95 PeachPuff3 +#8b7765 PeachPuff4 +#cd853f peru +#ffc0cb pink +#ffb5c5 pink1 +#eea9b8 pink2 +#cd919e pink3 +#8b636c pink4 +#dda0dd plum +#ffbbff plum1 +#eeaeee plum2 +#cd96cd plum3 +#8b668b plum4 +#b0e0e6 PowderBlue +#800080 purple +#a020f0 purple +#9b30ff purple1 +#912cee purple2 +#7d26cd purple3 +#551a8b purple4 +#ff0000 red1 +#ee0000 red2 +#cd0000 red3 +#8b0000 red4 +#bc8f8f RosyBrown +#ffc1c1 RosyBrown1 +#eeb4b4 RosyBrown2 +#cd9b9b RosyBrown3 +#8b6969 RosyBrown4 +#4169e1 RoyalBlue +#4876ff RoyalBlue1 +#436eee RoyalBlue2 +#3a5fcd RoyalBlue3 +#27408b RoyalBlue4 +#8b4513 SaddleBrown +#fa8072 salmon +#ff8c69 salmon1 +#ee8262 salmon2 +#cd7054 salmon3 +#8b4c39 salmon4 +#f4a460 SandyBrown +#2e8b57 SeaGreen +#54ff9f SeaGreen1 +#4eee94 SeaGreen2 +#43cd80 SeaGreen3 +#2e8b57 SeaGreen4 +#fff5ee seashell +#fff5ee seashell1 +#eee5de seashell2 +#cdc5bf seashell3 +#8b8682 seashell4 +#a0522d sienna +#ff8247 sienna1 +#ee7942 sienna2 +#cd6839 sienna3 +#8b4726 sienna4 +#c0c0c0 silver +#87ceeb SkyBlue +#87ceff SkyBlue1 +#7ec0ee SkyBlue2 +#6ca6cd SkyBlue3 +#4a708b SkyBlue4 +#6a5acd SlateBlue +#836fff SlateBlue1 +#7a67ee SlateBlue2 +#6959cd SlateBlue3 +#473c8b SlateBlue4 +#708090 SlateGray +#c6e2ff SlateGray1 +#b9d3ee SlateGray2 +#9fb6cd SlateGray3 +#6c7b8b SlateGray4 +#708090 SlateGrey +#fffafa snow +#fffafa snow1 +#eee9e9 snow2 +#cdc9c9 snow3 +#8b8989 snow4 +#00ff7f SpringGreen +#00ff7f SpringGreen1 +#00ee76 SpringGreen2 +#00cd66 SpringGreen3 +#008b45 SpringGreen4 +#4682b4 SteelBlue +#63b8ff SteelBlue1 +#5cacee SteelBlue2 +#4f94cd SteelBlue3 +#36648b SteelBlue4 +#d2b48c tan +#ffa54f tan1 +#ee9a49 tan2 +#cd853f tan3 +#8b5a2b tan4 +#008080 teal +#d8bfd8 thistle +#ffe1ff thistle1 +#eed2ee thistle2 +#cdb5cd thistle3 +#8b7b8b thistle4 +#ff6347 tomato +#ff6347 tomato1 +#ee5c42 tomato2 +#cd4f39 tomato3 +#8b3626 tomato4 +#40e0d0 turquoise +#00f5ff turquoise1 +#00e5ee turquoise2 +#00c5cd turquoise3 +#00868b turquoise4 +#ee82ee violet +#d02090 VioletRed +#ff3e96 VioletRed1 +#ee3a8c VioletRed2 +#cd3278 VioletRed3 +#8b2252 VioletRed4 +#f5deb3 wheat +#ffe7ba wheat1 +#eed8ae wheat2 +#cdba96 wheat3 +#8b7e66 wheat4 +#f5f5f5 WhiteSmoke +#ffff00 yellow1 +#eeee00 yellow2 +#cdcd00 yellow3 +#8b8b00 yellow4 +#9acd32 YellowGreen diff --git a/share/colormenu/palettes/dracula.clr b/share/colormenu/palettes/dracula.clr new file mode 100644 index 0000000..766a57a --- /dev/null +++ b/share/colormenu/palettes/dracula.clr @@ -0,0 +1,11 @@ +#282a36 +#44475a +#f8f8f2 +#6272a4 +#8be9fd +#50fa7b +#ffb86c +#ff79c6 +#bd93f9 +#ff5555 +#f1fa8c diff --git a/share/colormenu/palettes/flat_character.clr b/share/colormenu/palettes/flat_character.clr new file mode 100644 index 0000000..bd435d1 --- /dev/null +++ b/share/colormenu/palettes/flat_character.clr @@ -0,0 +1,44 @@ +#FFFFFF +#F5F6E8 +#F8C09D +#EF937E +#EA676C +#FFF79C +#FED883 +#FEBE40 +#EC7523 +#E3482C +#DC1C4B +#B31E48 +#EE8EB4 +#DD527C +#DC166D +#9B1D5A +#6F1E49 +#DD94C1 +#B557A1 +#612D82 +#432355 +#5E79BC +#87D1EE +#2BB3CD +#2276BC +#1D5C87 +#7ECDCA +#30B1AD +#1F8B95 +#50B86B +#C9DB53 +#8FC23F +#D0AD9A +#9A605C +#66342D +#311A12 +#D0E2EE +#AABFD0 +#7D8E9E +#5B6571 +#3A4D5C +#143441 +#0F2437 +#000000 diff --git a/share/colormenu/palettes/gruvbox_material_dark.clr b/share/colormenu/palettes/gruvbox_material_dark.clr new file mode 100644 index 0000000..8c17d49 --- /dev/null +++ b/share/colormenu/palettes/gruvbox_material_dark.clr @@ -0,0 +1,24 @@ +#1d2021 +#282828 +#3c3836 +#504945 +#32361a +#333e34 +#3c1f1e +#442e2d +#0d3138 +#2e3b3b +#473c29 +#32302f +#d4be98 +#ddc7a1 +#ea6962 +#e78a4e +#d8a657 +#a9b665 +#89b482 +#7daea3 +#d3869b +#7c6f64 +#928374 +#a89984 diff --git a/share/colormenu/palettes/material_design.clr b/share/colormenu/palettes/material_design.clr new file mode 100644 index 0000000..a10ccdf --- /dev/null +++ b/share/colormenu/palettes/material_design.clr @@ -0,0 +1,19 @@ +#F44336 red +#E91E63 pink +#9C27B0 purple +#673AB7 deep purple +#3F51B5 indigo +#2196F3 blue +#03A9F4 light blue +#00BCD4 cyan +#009688 teal +#4CAF50 green +#8BC34A light green +#CDDC39 lime +#FFEB3B yellow +#FFC107 amber +#FF9800 orange +#FF5722 deep orange +#795548 brown +#9E9E9E grey +#607D8B blue grey diff --git a/share/colormenu/palettes/mint.clr b/share/colormenu/palettes/mint.clr new file mode 100644 index 0000000..5335029 --- /dev/null +++ b/share/colormenu/palettes/mint.clr @@ -0,0 +1,11 @@ +#94b273 +#6cabcd +#5b73c4 +#aa876a +#9d9d9d +#db9d61 +#c76199 +#8c6ec9 +#c15b58 +#c8ac69 +#5aaa9a diff --git a/share/colormenu/palettes/nord.clr b/share/colormenu/palettes/nord.clr new file mode 100644 index 0000000..fa1c845 --- /dev/null +++ b/share/colormenu/palettes/nord.clr @@ -0,0 +1,16 @@ +#2e3440 +#3b4252 +#434c5e +#4c566a +#d8dee9 +#e5e9f0 +#eceff4 +#8fbcbb +#88c0d0 +#81a1c1 +#5e81ac +#bf616a +#d08770 +#ebcb8b +#a3be8c +#b48ead diff --git a/share/colormenu/palettes/plasma_KDE_accents.clr b/share/colormenu/palettes/plasma_KDE_accents.clr new file mode 100644 index 0000000..db8705a --- /dev/null +++ b/share/colormenu/palettes/plasma_KDE_accents.clr @@ -0,0 +1,10 @@ +#e93a9a +#e93d58 +#e9643a +#e8cb2d +#3dd425 +#00d3b8 +#3daee9 +#b875dc +#926ee4 +#686b6f diff --git a/share/colormenu/palettes/selenized_black.clr b/share/colormenu/palettes/selenized_black.clr new file mode 100644 index 0000000..9140874 --- /dev/null +++ b/share/colormenu/palettes/selenized_black.clr @@ -0,0 +1,18 @@ +#252525 +#ed4a46 +#70b433 +#dbb32d +#368aeb +#eb6eb7 +#3fc5b7 +#777777 +#3b3b3b +#ff5e56 +#83c746 +#efc541 +#4f9cfe +#ff81ca +#56d8c9 +#dedede +#181818 +#b9b9b9 diff --git a/share/colormenu/palettes/tango.clr b/share/colormenu/palettes/tango.clr new file mode 100644 index 0000000..4c957f0 --- /dev/null +++ b/share/colormenu/palettes/tango.clr @@ -0,0 +1,24 @@ +#fce94f +#edd400 Butter +#c4a000 +#fcaf3e +#f57900 Orange +#ce5c00 +#e9b96e +#c17d11 Chocolate +#8f5902 +#8ae232 +#73d216 Chameleon +#4e9a06 +#729fcf +#3465a4 Sky +#204a87 +#ad7fa8 +#75507b Plum +#5c3566 +#ef2920 +#cc0000 Scarlet +#a40000 +#eeeeec +#d3d7cf Aluminium +#babdb6 diff --git a/share/colormenu/palettes/yaru_accents.clr b/share/colormenu/palettes/yaru_accents.clr new file mode 100644 index 0000000..ea3e8a5 --- /dev/null +++ b/share/colormenu/palettes/yaru_accents.clr @@ -0,0 +1,8 @@ +#E95420 +#18b0b0 +#3584e4 +#0e8420 +#c748ba +#77216f +#c7162b +#f4a100 diff --git a/share/icons/hicolor/128x128/apps/colormenu.png b/share/icons/hicolor/128x128/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..f272b916ae831757636d46f50ec0b9ba5cc48ae8 GIT binary patch literal 720 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&aTa()7BevL?+0PV`5TOu0|g~Z zTq8^?}s`%>=0dsXr6!*A3DORv+XK z6u$~m1`@mq74+-54l(c_P%+pdkU20mP$N(Q!~}>e*r;Hj0;n3WImlAaJf3&~eeGKk zp=0BP zzxjt{Cp^ez)Zq8+*~lQgp4-Ctv{oeITl7mC>h}==X zd;BJ10WW?xa{pxrH-ac{s7r|Y+c5b%Gd~-X6URpP!Z~S=>K>#q-k!Th-s0~+DYw?= zbq7?782&<(GZ+{ih_+vStL{PQuXpT^rhfBZz3Y_(#Q24O{yJncX8--&xOyl5hq?x9 pMTnjUvIl-Q2K=jgaMHnH*(ClmrAFPQs(cSXlAf-9F6*2UngF@aQO*DW literal 0 HcmV?d00001 diff --git a/share/icons/hicolor/16x16/apps/colormenu.png b/share/icons/hicolor/16x16/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5e7a09e8e0043028c0c4348813a358e697a25c GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9FL-$9sBZkOgCprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+cgq$a}~@p!H$- zIafawZq0zDN$mzKO^gxjX(uG6|7kDgBr zGT(O1%&8;$5Tiu$HYL?R^4^-(&+lk1{OTH*Q78Xy!Np_G6&+^sS{QHRY++$;()-QI z^USHt|_b@6te1FQs7FINUx8W@XhabCsy^_EG(@*Ny#)GXu-!OQ(`njxgN@xNA Dd{=k9 literal 0 HcmV?d00001 diff --git a/share/icons/hicolor/22x22/apps/colormenu.png b/share/icons/hicolor/22x22/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..c7fb39b14e788534392af4ad18fb11b06423243a GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4foCO|{#S9EgTR@nxzUQS4P*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprVhSE{-7U+L`HSxMWv>A^PfQ`#rFGnTQWY9Fh#Ir;00 z;rhP2{1xvU-+bos<^Ol9KBw_kbN2F=242c-0k_`BmAqq|(iTv4YoCrv@$Z&-&!)R( z8Z!UXIIH0GczMbBRSad@=F6n+)c8B^72gBtiWa-qPBHJ*fu3jZboFyt=akR{0HuGC Ag8%>k literal 0 HcmV?d00001 diff --git a/share/icons/hicolor/24x24/apps/colormenu.png b/share/icons/hicolor/24x24/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..34c1249cf1ba1dcd16692dbb6586ef44abc2c630 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9EgpFx=M(n~HaprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt(e>T^vI^I+GI?7$&47BqY3e z`_}gOfddI1shgjRh>I^ba97AXX_HI0Xm?9UzMS2)B0lfW zfBQ8-6XVaDuA1)pUsB>(j^4#Zv06#L{?~UbUsT_-MdSVk28Qe&HQ9-7pPYe?WbkzL Kb6Mw<&;$UK7iGu* literal 0 HcmV?d00001 diff --git a/share/icons/hicolor/32x32/apps/colormenu.png b/share/icons/hicolor/32x32/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..eb2cd3010f8a8b7c70d344e84f11a24cfa858677 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?50_aMyp-2RIQP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprSvXE{-7)t#7Ao%sm_+;4IJI zwAm{`U!j6AG_%Pe+vOUI=B2F0H4j)#99Ho>Fbq1~@OP$DR`9b$PCDxq3y=T*@Nm9r zL!w01ZFNsC!>MWuUjP2LJ1VVriP>S917_Ro8_u6F`s*9rz_nnCk=L#CX#tm14`=@s zI`I4HPQC9Io=fI1RPGYKd;6hH@qs?Ji&jTvH>@~vtg)13hINDcn%XqZ{2ZAXstome zWxRicKACeMsVlq0N>4`PA)ApU!y7ZcH7X9Q0)ok!PYpM>#N4!C(9y1!(%X85bJD() zid(I_i|c1tDqLx}{j>4kULK#+#|ONa&d6${ZrO5P=b`hO7G`_DvY1y4vVFi%V_@)f L^>bP0l+XkKE+3PQ literal 0 HcmV?d00001 diff --git a/share/icons/hicolor/48x48/apps/colormenu.png b/share/icons/hicolor/48x48/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..96145f4acf1c8e3ac7e8d34dc3e3ff886eefff9e GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?4*=OE0uvvrDUl@ojw(sQN-=yD5%%uUDnPP?boHTGVOX*d}_2_+OBx!4t+oV z!v$w)1fR z%(;8o1x_BF!W3 zrB^pRyjeU$x>s>Y+wN{Lqs{L7XTICi>sh|ACWA5mb!0<|p>7E4-BuU1Vs2aB`?d{A z@0>bUT9$pS6tMhy=Fc26#UHx3v IIVCg!0B(+wp8x;= literal 0 HcmV?d00001 diff --git a/share/icons/hicolor/64x64/apps/colormenu.png b/share/icons/hicolor/64x64/apps/colormenu.png new file mode 100644 index 0000000000000000000000000000000000000000..88ef5aeb7d23ebecc2853286ef0cfadcff6dad8a GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!I14-?iy0W$?}ISoc~{R?prB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt71V#N^;%GWfB*k;e*Z6o`t@9ExfayZ)ARpakZ<4hrc0rHeSQB=h5GhhZ@d!R z+uQr+bg+NV)#j_AKsA3(2l@40ZM+%+5jTI=T9N+@VYI7Z!X^UDn{-P`>y;*s>eV!E&$l1Fp_#SZP(4`EXu6{1-oD!Mr?SSLCF%= zh?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`))iiVg($gt!7}--a^{XMAVQoaxqm zu^R|3#{NGM?c05$`C=%L_y1(5cmJ)1OTqp9{r^t~`}baLz8cco+w0eJwdrzjUtizf zvq67>;yu@!u7-lRXF_~?t~Ff&srh>*$QP*WN@!0{&%e{ben9c7AwV@C#uX6b-YN=k7B=a1IE51HnHasM7pl2sCG}r;B4q#=W;!U4;%gh_pOpXmltjZ`!@v z + + + + + + + + + + + + + + + + +