commit cb90996fea0d8a02960f3d35f35541743b9374a9 Author: adi1090x Date: Thu Oct 5 15:39:04 2023 +0530 Released Openbox 5.0 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af24f00 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/src +/pkg +*.pkg.tar.zst +cleanup.sh +push.sh 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/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..6b47223 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,93 @@ +# Maintainer: Aditya Shakya + +pkgname=archcraft-openbox +pkgver=5.0 +pkgrel=0 +pkgdesc="Openbox Configurations for Archcraft" +arch=('any') +url="https://github.com/archcraft-os/archcraft-openbox" +license=('GPL3') +depends=('openbox' 'obconf' 'obmenu-generator' 'perl-linux-desktopfiles' + 'pulsemixer' 'light' 'polybar' 'tint2' 'rofi' 'dunst' 'nitrogen' + 'pastel' 'python-pywal' 'xfce4-settings' 'xmlstarlet' 'python-lxml' +) +optdepends=('alacritty: default terminal emulator' + 'thunar: default file manager' + 'geany: default text editor' + 'firefox: default web browser' + 'viewnior: default image viewer' + 'betterlockscreen: default lockscreen' + 'ksuperkey: allows you to open the application launcher using the Super key' + 'networkmanager-dmenu-git: control NetworkManager via rofi' + 'mpd: server-side application for playing music, used in statusbars and scripts' + 'mpc: minimalist command line interface to MPD' + 'ffmpeg: complete solution to record, convert and stream audio and video, used in screenrecord scripts' + 'maim: utility to take a screenshot, used in screenshot scripts' + 'xclip: command line interface to the X11 clipboard' + 'xcolor: lightweight color picker for X11' + 'xfce4-power-manager: power manager' + 'xfce4-terminal: alternate terminal if alacritty does not work for you' + 'xorg-xsetroot: fix cursor theming, set root background' + 'yad: display graphical dialogs from shell scripts' +) +conflicts=('archcraft-openbox-premium') +options=(!strip !emptydirs) +install="${pkgname}.install" + +prepare() { + cp -af ../files/. "$srcdir" +} + +package() { + local _sharedir="$pkgdir"/usr/share/archcraft/openbox + local _configdir="$pkgdir"/etc/skel/.config + local _obdir="$_configdir"/openbox + + mkdir -p "$_sharedir" && mkdir -p "$_configdir" && mkdir -p "$_obdir" + + # Copy shared files & set permissions + cp -r "$srcdir"/icons "$_sharedir" + cp -r "$srcdir"/menulib "$_sharedir" + cp -r "$srcdir"/ob-random "$_sharedir" + cp -r "$srcdir"/pipemenus "$_sharedir" + chmod +x "$_sharedir"/pipemenus/* + + # Copy openbox specific configs + cp -r "$srcdir"/alacritty "$_configdir" + cp -r "$srcdir"/networkmanager-dmenu "$_configdir" + cp -r "$srcdir"/nitrogen "$_configdir" + cp -r "$srcdir"/obmenu-generator "$_configdir" + cp -r "$srcdir"/plank "$_configdir" + + # Copy window manager configs + install -Dm 755 autostart "$_obdir"/autostart + install -Dm 644 environment "$_obdir"/environment + install -Dm 644 menu-glyphs.xml "$_obdir"/menu-glyphs.xml + install -Dm 644 menu-icons.xml "$_obdir"/menu-icons.xml + install -Dm 644 menu-minimal.xml "$_obdir"/menu-minimal.xml + install -Dm 644 menu-simple.xml "$_obdir"/menu-simple.xml + install -Dm 644 rc.xml "$_obdir"/rc.xml + + # Copy openbox scripts + cp -r "$srcdir"/scripts "$_obdir" + chmod +x "$_obdir"/scripts/* + + # Copy openbox themes + cp -r "$srcdir"/themes "$_obdir" + chmod +x "$_obdir"/themes/{launch-bar,polybar,tint2}.sh + + apply_files=(`find ${_obdir}/themes -type f | grep apply.sh`) + for _afile in "${apply_files[@]}"; do + chmod +x ${_afile} + done + + launch_files=(`find ${_obdir}/themes -type f | grep launch.sh`) + for _lfile in "${launch_files[@]}"; do + chmod +x ${_lfile} + done + + scripts_dir=(`find ${_obdir}/themes -type d | grep scripts`) + for _script in "${scripts_dir[@]}"; do + chmod +x ${_script}/* + done +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..ed0dcc5 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# archcraft-openbox + // Configuration : Openbox diff --git a/archcraft-openbox.install b/archcraft-openbox.install new file mode 100644 index 0000000..bdb08ad --- /dev/null +++ b/archcraft-openbox.install @@ -0,0 +1,88 @@ +## Colors ---------------------------- + +# Text Reset +Color_Off='\033[0m' + +# Regular +Black='\033[0;30m' Red='\033[0;31m' Green='\033[0;32m' Yellow='\033[0;33m' +Blue='\033[0;34m' Purple='\033[0;35m' Cyan='\033[0;36m' White='\033[0;37m' + +# Bold +BBlack='\033[1;30m' BRed='\033[1;31m' BGreen='\033[1;32m' BYellow='\033[1;33m' +BBlue='\033[1;34m' BPurple='\033[1;35m' BCyan='\033[1;36m' BWhite='\033[1;37m' + +## ----------------------------------- + +## User info +user_name=`echo ${SUDO_USER:-$(whoami)}` +group_id=`echo ${SUDO_GID}` +user_group=`cat /etc/group | grep $group_id | cut -d: -f1 | head -1` + +## Packages specific +config_dir="/home/${user_name}/.config" +skel_dir='/etc/skel/.config' +wm_config='openbox' +wm_name='Openbox' +current_config="$config_dir/$wm_config" +updated_config="$config_dir/${wm_config}_pacnew_`date +%d-%m-%y`" + +## ----------------------------------- + +## Install Config files +install_wm_config() { + echo -e ${Blue}"\n[*] Copying ${BBlue}${wm_name}${Blue} config files into ${BBlue}${config_dir}" ${Color_Off} + mkdir -p "$current_config" + cp -rf "$skel_dir/$wm_config"/* "$current_config"/ + chown -R ${user_name}:${user_group} "$current_config" + + if [[ -d "$current_config" ]]; then + echo -e ${Green}"[*] Configuration files installed successfully!\n" ${Color_Off} + else + echo -e ${Red}"[!] Failed to install configuration files!\n" ${Color_Off} + fi +} + +## Update Config files +update_wm_config() { + echo -e ${Blue}"\n[*] Copying latest ${BBlue}${wm_name}${Blue} config files into ${BBlue}${config_dir}" ${Color_Off} + mkdir -p "$updated_config" + cp -rf "$skel_dir/$wm_config"/* "$updated_config"/ + chown -R ${user_name}:${user_group} "$updated_config" + + if [[ -d "$updated_config" ]]; then + echo -e ${Green}"[*] Latest configuration files installed successfully!" ${Color_Off} + echo -e ${Yellow}"[+] Latest config files are stored in : ${BYellow}${updated_config}${Yellow}" ${Color_Off} + echo -e ${Purple}"[*] To use latest config files, rename ${BPurple}${updated_config}${Purple} to ${BPurple}${current_config}${Purple}\n" ${Color_Off} + else + echo -e ${Red}"[!] Failed to install latest configuration files!\n" ${Color_Off} + fi +} + +## ----------------------------------- + +## Main +run_main() { + if [[ "$user_group" == 'liveuser' ]]; then + exit + else + if [[ ! -d "$current_config" ]]; then + install_wm_config + else + update_wm_config + fi + fi +} + +post_install() { + run_main +} + +post_upgrade() { + run_main +} + +post_remove() { + if [[ -d "$current_config" ]]; then + echo -e ${Red}"\n[*] Config files for ${BYellow}${wm_name}${Red} are still available in : ${BGreen}${current_config}${Red} directory. If you want to remove them, Do it manually.\n" ${Color_Off} + fi +} diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..1cec6ed --- /dev/null +++ b/build.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya + +## Script Termination +exit_on_signal_SIGINT () { + { printf "\n\n%s\n" "Script interrupted." 2>&1; echo; } + exit 0 +} + +exit_on_signal_SIGTERM () { + { printf "\n\n%s\n" "Script terminated." 2>&1; echo; } + exit 0 +} + +trap exit_on_signal_SIGINT SIGINT +trap exit_on_signal_SIGTERM SIGTERM + +## Build packages +build_pkg () { + echo -e "\nBuilding Package - \n" + makepkg -sc + + RDIR='../../pkgs/x86_64' + if [[ -d "$RDIR" ]]; then + mv -f *.pkg.tar.zst "$RDIR" + echo -e "\nPackage moved to Repository.\n[!] Don't forget to update the database.\n" + fi +} + +## Execute +build_pkg diff --git a/files/alacritty/alacritty.yml b/files/alacritty/alacritty.yml new file mode 100644 index 0000000..8296a06 --- /dev/null +++ b/files/alacritty/alacritty.yml @@ -0,0 +1,53 @@ +## Copyright (C) 2020-2023 Aditya Shakya + +## Configuration for Alacritty, the GPU enhanced terminal emulator. +## It's a very basic and simple config file, for full configuration... +## See, /usr/share/doc/alacritty/example/alacritty.yml + +## Import files (Colors, Fonts, Etc) +import: + - ~/.config/alacritty/colors.yml + - ~/.config/alacritty/fonts.yml + +## Set environment variables +env: + TERM: alacritty + WINIT_X11_SCALE_FACTOR: '1.0' + +## Terminal window settings +window: + dimensions: + columns: 82 + lines: 24 + + padding: + x: 12 + y: 12 + + decorations: full + startup_mode: Windowed + dynamic_title: true + +## scrolling + history: 10000 + multiplier: 3 + +## Background opacity + opacity: 1.0 + +## Cursor +cursor: + style: + shape: Block + blinking: On + + unfocused_hollow: false + +## Live config reload +live_config_reload: true + +## Shell +#shell: +# program: /bin/zsh +# args: +# - --login diff --git a/files/alacritty/colors.yml b/files/alacritty/colors.yml new file mode 100644 index 0000000..a2e1149 --- /dev/null +++ b/files/alacritty/colors.yml @@ -0,0 +1,30 @@ +## Copyright (C) 2020-2023 Aditya Shakya + +## Colors configuration +colors: + # Default colors + primary: + background: '#1E2128' + foreground: '#ABB2BF' + + # Normal colors + normal: + black: '#32363D' + red: '#E06B74' + green: '#98C379' + yellow: '#E5C07A' + blue: '#62AEEF' + magenta: '#C778DD' + cyan: '#55B6C2' + white: '#ABB2BF' + + # Bright colors + bright: + black: '#50545B' + red: '#EA757E' + green: '#A2CD83' + yellow: '#EFCA84' + blue: '#6CB8F9' + magenta: '#D282E7' + cyan: '#5FC0CC' + white: '#B5BCC9' diff --git a/files/alacritty/colorschemes/Afterglow.yaml b/files/alacritty/colorschemes/Afterglow.yaml new file mode 100644 index 0000000..44a97d8 --- /dev/null +++ b/files/alacritty/colorschemes/Afterglow.yaml @@ -0,0 +1,48 @@ +colors: + # Default colors + primary: + background: '0x2c2c2c' + foreground: '0xd6d6d6' + + dim_foreground: '0xdbdbdb' + bright_foreground: '0xd9d9d9' + dim_background: '0x202020' # not sure + bright_background: '0x3a3a3a' # not sure + + # Cursor colors + cursor: + text: '0x2c2c2c' + cursor: '0xd9d9d9' + + # Normal colors + normal: + black: '0x1c1c1c' + red: '0xbc5653' + green: '0x909d63' + yellow: '0xebc17a' + blue: '0x7eaac7' + magenta: '0xaa6292' + cyan: '0x86d3ce' + white: '0xcacaca' + + # Bright colors + bright: + black: '0x636363' + red: '0xbc5653' + green: '0x909d63' + yellow: '0xebc17a' + blue: '0x7eaac7' + magenta: '0xaa6292' + cyan: '0x86d3ce' + white: '0xf7f7f7' + + # Dim colors + dim: + black: '0x232323' + red: '0x74423f' + green: '0x5e6547' + yellow: '0x8b7653' + blue: '0x556b79' + magenta: '0x6e4962' + cyan: '0x5c8482' + white: '0x828282' diff --git a/files/alacritty/colorschemes/Argonaut.yaml b/files/alacritty/colorschemes/Argonaut.yaml new file mode 100644 index 0000000..db7678b --- /dev/null +++ b/files/alacritty/colorschemes/Argonaut.yaml @@ -0,0 +1,32 @@ +colors: + # Default colors + primary: + background: '0x292C3E' + foreground: '0xEBEBEB' + + # Cursor colors + cursor: + text: '0xFF261E' + cursor: '0xFF261E' + + # Normal colors + normal: + black: '0x0d0d0d' + red: '0xFF301B' + green: '0xA0E521' + yellow: '0xFFC620' + blue: '0x1BA6FA' + magenta: '0x8763B8' + cyan: '0x21DEEF' + white: '0xEBEBEB' + + # Bright colors + bright: + black: '0x6D7070' + red: '0xFF4352' + green: '0xB8E466' + yellow: '0xFFD750' + blue: '0x1BA6FA' + magenta: '0xA578EA' + cyan: '0x73FBF1' + white: '0xFEFEF8' diff --git a/files/alacritty/colorschemes/Ayu_dark.yaml b/files/alacritty/colorschemes/Ayu_dark.yaml new file mode 100644 index 0000000..c0fa142 --- /dev/null +++ b/files/alacritty/colorschemes/Ayu_dark.yaml @@ -0,0 +1,28 @@ +# Colors (Ayu Dark) +colors: + # Default colors + primary: + background: '0x0A0E14' + foreground: '0xB3B1AD' + + # Normal colors + normal: + black: '0x01060E' + red: '0xEA6C73' + green: '0x91B362' + yellow: '0xF9AF4F' + blue: '0x53BDFA' + magenta: '0xFAE994' + cyan: '0x90E1C6' + white: '0xC7C7C7' + + # Bright colors + bright: + black: '0x686868' + red: '0xF07178' + green: '0xC2D94C' + yellow: '0xFFB454' + blue: '0x59C2FF' + magenta: '0xFFEE99' + cyan: '0x95E6CB' + white: '0xFFFFFF' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Base16_default_dark.yaml b/files/alacritty/colorschemes/Base16_default_dark.yaml new file mode 100644 index 0000000..28aa143 --- /dev/null +++ b/files/alacritty/colorschemes/Base16_default_dark.yaml @@ -0,0 +1,33 @@ +# Colors (Base16 Default Dark) +colors: + # Default colors + primary: + background: '0x181818' + foreground: '0xd8d8d8' + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0xd8d8d8' + cursor: '0xd8d8d8' + + # Normal colors + normal: + black: '0x181818' + red: '0xab4642' + green: '0xa1b56c' + yellow: '0xf7ca88' + blue: '0x7cafc2' + magenta: '0xba8baf' + cyan: '0x86c1b9' + white: '0xd8d8d8' + + # Bright colors + bright: + black: '0x585858' + red: '0xab4642' + green: '0xa1b56c' + yellow: '0xf7ca88' + blue: '0x7cafc2' + magenta: '0xba8baf' + cyan: '0x86c1b9' + white: '0xf8f8f8' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Blood_moon.yaml b/files/alacritty/colorschemes/Blood_moon.yaml new file mode 100644 index 0000000..9ae3be1 --- /dev/null +++ b/files/alacritty/colorschemes/Blood_moon.yaml @@ -0,0 +1,28 @@ +# Colors (Blood Moon) +colors: + # Default colors + primary: + background: '0x10100E' + foreground: '0xC6C6C4' + + # Normal colors + normal: + black: '0x10100E' + red: '0xC40233' + green: '0x009F6B' + yellow: '0xFFD700' + blue: '0x0087BD' + magenta: '0x9A4EAE' + cyan: '0x20B2AA' + white: '0xC6C6C4' + + # Bright colors + bright: + black: '0x696969' + red: '0xFF2400' + green: '0x03C03C' + yellow: '0xFDFF00' + blue: '0x007FFF' + magenta: '0xFF1493' + cyan: '0x00CCCC' + white: '0xFFFAFA' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Breeze.yaml b/files/alacritty/colorschemes/Breeze.yaml new file mode 100644 index 0000000..62bad22 --- /dev/null +++ b/files/alacritty/colorschemes/Breeze.yaml @@ -0,0 +1,44 @@ +# KDE Breeze (Ported from Konsole) +colors: + # Default colors + primary: + background: '0x232627' + foreground: '0xfcfcfc' + + dim_foreground: '0xeff0f1' + bright_foreground: '0xffffff' + dim_background: '0x31363b' + bright_background: '0x000000' + + # Normal colors + normal: + black: '0x232627' + red: '0xed1515' + green: '0x11d116' + yellow: '0xf67400' + blue: '0x1d99f3' + magenta: '0x9b59b6' + cyan: '0x1abc9c' + white: '0xfcfcfc' + + # Bright colors + bright: + black: '0x7f8c8d' + red: '0xc0392b' + green: '0x1cdc9a' + yellow: '0xfdbc4b' + blue: '0x3daee9' + magenta: '0x8e44ad' + cyan: '0x16a085' + white: '0xffffff' + + # Dim colors + dim: + black: '0x31363b' + red: '0x783228' + green: '0x17a262' + yellow: '0xb65619' + blue: '0x1b668f' + magenta: '0x614a73' + cyan: '0x186c60' + white: '0x63686d' diff --git a/files/alacritty/colorschemes/Bright.yml b/files/alacritty/colorschemes/Bright.yml new file mode 100644 index 0000000..6c2c0d2 --- /dev/null +++ b/files/alacritty/colorschemes/Bright.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0xf3f3f3' + foreground: '0x707070' + + # Normal colors + normal: + black: '0xd3d3d3' + red: '0xef6b7b' + green: '0xa1d569' + yellow: '0xf59335' + blue: '0x4ec2e8' + magenta: '0xfec7cd' + cyan: '0x95c1c0' + white: '0x707070' + + # Bright colors + bright: + black: '0xb3b3b3' + red: '0xed5466' + green: '0xafdb80' + yellow: '0xf59335' + blue: '0x5dc7ea' + magenta: '0xd2a4b4' + cyan: '0x75a1a0' + white: '0x909090' diff --git a/files/alacritty/colorschemes/Campbell.yaml b/files/alacritty/colorschemes/Campbell.yaml new file mode 100644 index 0000000..95dba05 --- /dev/null +++ b/files/alacritty/colorschemes/Campbell.yaml @@ -0,0 +1,28 @@ +# Campbell (Windows 10 default) +colors: + # Default colors + primary: + background: '0x0c0c0c' + foreground: '0xcccccc' + + # Normal colors + normal: + black: '0x0c0c0c' + red: '0xc50f1f' + green: '0x13a10e' + yellow: '0xc19c00' + blue: '0x0037da' + magenta: '0x881798' + cyan: '0x3a96dd' + white: '0xcccccc' + + # Bright colors + bright: + black: '0x767676' + red: '0xe74856' + green: '0x16c60c' + yellow: '0xf9f1a5' + blue: '0x3b78ff' + magenta: '0xb4009e' + cyan: '0x61d6d6' + white: '0xf2f2f2' diff --git a/files/alacritty/colorschemes/Challenger_deep.yaml b/files/alacritty/colorschemes/Challenger_deep.yaml new file mode 100644 index 0000000..4030163 --- /dev/null +++ b/files/alacritty/colorschemes/Challenger_deep.yaml @@ -0,0 +1,31 @@ +# Colors (Challenger Deep) +colors: + # Default colors + primary: + background: '0x1e1c31' + foreground: '0xcbe1e7' + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0xff271d' + cursor: '0xfbfcfc' + # Normal colors + normal: + black: '0x141228' + red: '0xff5458' + green: '0x62d196' + yellow: '0xffb378' + blue: '0x65b2ff' + magenta: '0x906cff' + cyan: '0x63f2f1' + white: '0xa6b3cc' + # Bright colors + bright: + black: '0x565575' + red: '0xff8080' + green: '0x95ffa4' + yellow: '0xffe9aa' + blue: '0x91ddff' + magenta: '0xc991e1' + cyan: '0xaaffe4' + white: '0xcbe3e7' + diff --git a/files/alacritty/colorschemes/Cobalt2.yaml b/files/alacritty/colorschemes/Cobalt2.yaml new file mode 100644 index 0000000..576a502 --- /dev/null +++ b/files/alacritty/colorschemes/Cobalt2.yaml @@ -0,0 +1,34 @@ +# From the famous Cobalt2 sublime theme +# Source : https://github.com/wesbos/cobalt2/tree/master/Cobalt2 +colors: + # Default colors + primary: + background: '0x122637' + foreground: '0xffffff' + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0x122637' + cursor: '0xf0cb09' + + # Normal colors + normal: + black: '0x000000' + red: '0xff0000' + green: '0x37dd21' + yellow: '0xfee409' + blue: '0x1460d2' + magenta: '0xff005d' + cyan: '0x00bbbb' + white: '0xbbbbbb' + + # Bright colors + bright: + black: '0x545454' + red: '0xf40d17' + green: '0x3bcf1d' + yellow: '0xecc809' + blue: '0x5555ff' + magenta: '0xff55ff' + cyan: '0x6ae3f9' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Cyber_punk_neon.yaml b/files/alacritty/colorschemes/Cyber_punk_neon.yaml new file mode 100644 index 0000000..5292ddd --- /dev/null +++ b/files/alacritty/colorschemes/Cyber_punk_neon.yaml @@ -0,0 +1,34 @@ +# Cyber Punk Neon +# Source: https://github.com/Roboron3042/Cyberpunk-Neon +colors: + # Default colors + primary: + background: "0x000b1e" + foreground: "0x0abdc6" + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: "0x000b1e" + cursor: "0x0abdc6" + + # Normal colors + normal: + black: "0x123e7c" + red: "0xff0000" + green: "0xd300c4" + yellow: "0xf57800" + blue: "0x123e7c" + magenta: "0x711c91" + cyan: "0x0abdc6" + white: "0xd7d7d5" + + # Bright colors + bright: + black: "0x1c61c2" + red: "0xff0000" + green: "0xd300c4" + yellow: "0xf57800" + blue: "0x00ff00" + magenta: "0x711c91" + cyan: "0x0abdc6" + white: "0xd7d7d5" diff --git a/files/alacritty/colorschemes/Dark_pastels.yaml b/files/alacritty/colorschemes/Dark_pastels.yaml new file mode 100644 index 0000000..97eb7f9 --- /dev/null +++ b/files/alacritty/colorschemes/Dark_pastels.yaml @@ -0,0 +1,29 @@ + +# Colors (Konsole's Dark Pastels) +colors: + # Default colors + primary: + background: '0x2C2C2C' + foreground: '0xDCDCCC' + + # Normal colors + normal: + black: '0x3F3F3F' + red: '0x705050' + green: '0x60B48A' + yellow: '0xDFAF8F' + blue: '0x9AB8D7' + magenta: '0xDC8CC3' + cyan: '0x8CD0D3' + white: '0xDCDCCC' + + # Bright colors + bright: + black: '0x709080' + red: '0xDCA3A3' + green: '0x72D5A3' + yellow: '0xF0DFAF' + blue: '0x94BFF3' + magenta: '0xEC93D3' + cyan: '0x93E0E3' + white: '0xFFFFFF' diff --git a/files/alacritty/colorschemes/Dawn.yml b/files/alacritty/colorschemes/Dawn.yml new file mode 100644 index 0000000..d6dab0a --- /dev/null +++ b/files/alacritty/colorschemes/Dawn.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x181b20' + foreground: '0x9b9081' + + # Normal colors + normal: + black: '0x353535' + red: '0x744b40' + green: '0x6d6137' + yellow: '0x765636' + blue: '0x61564b' + magenta: '0x6b4a49' + cyan: '0x435861' + white: '0xb3b3b3' + + # Bright colors + bright: + black: '0x5f5f5f' + red: '0x785850' + green: '0x6f6749' + yellow: '0x776049' + blue: '0x696057' + magenta: '0x6f5a59' + cyan: '0x525f66' + white: '0xcdcdcd' diff --git a/files/alacritty/colorschemes/Doom_one.yml b/files/alacritty/colorschemes/Doom_one.yml new file mode 100644 index 0000000..cdbdaf4 --- /dev/null +++ b/files/alacritty/colorschemes/Doom_one.yml @@ -0,0 +1,17 @@ +# Colors (Doom One) +colors: + # Default colors + primary: + background: '0x282c34' + foreground: '0xbbc2cf' + + # Normal colors + normal: + black: '0x282c34' + red: '0xff6c6b' + green: '0x98be65' + yellow: '0xecbe7b' + blue: '0x51afef' + magenta: '0xc678dd' + cyan: '0x46d9ff' + white: '0xbbc2cf' diff --git a/files/alacritty/colorschemes/Dracula.yaml b/files/alacritty/colorschemes/Dracula.yaml new file mode 100644 index 0000000..f5026c1 --- /dev/null +++ b/files/alacritty/colorschemes/Dracula.yaml @@ -0,0 +1,28 @@ +# Colors (Dracula) +colors: + # Default colors + primary: + background: '0x282a36' + foreground: '0xf8f8f2' + + # Normal colors + normal: + black: '0x000000' + red: '0xff5555' + green: '0x50fa7b' + yellow: '0xf1fa8c' + blue: '0xbd93f9' + magenta: '0xff79c6' + cyan: '0x8be9fd' + white: '0xbbbbbb' + + # Bright colors + bright: + black: '0x555555' + red: '0xff5555' + green: '0x50fa7b' + yellow: '0xf1fa8c' + blue: '0xcaa9fa' + magenta: '0xff79c6' + cyan: '0x8be9fd' + white: '0xffffff' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Erosion.yml b/files/alacritty/colorschemes/Erosion.yml new file mode 100644 index 0000000..133fc4c --- /dev/null +++ b/files/alacritty/colorschemes/Erosion.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x181512' + foreground: '0xbea492' + + # Normal colors + normal: + black: '0x332d29' + red: '0x8c644c' + green: '0x746c48' + yellow: '0x908a66' + blue: '0x646a6d' + magenta: '0x605655' + cyan: '0x4b5c5e' + white: '0x504339' + + # Bright colors + bright: + black: '0x817267' + red: '0x9f7155' + green: '0x857b52' + yellow: '0x9c956e' + blue: '0x71777a' + magenta: '0x656565' + cyan: '0x556d70' + white: '0x9a875f' diff --git a/files/alacritty/colorschemes/Falcon.yaml b/files/alacritty/colorschemes/Falcon.yaml new file mode 100644 index 0000000..33c267b --- /dev/null +++ b/files/alacritty/colorschemes/Falcon.yaml @@ -0,0 +1,34 @@ +# falcon colorscheme for alacritty +# by fenetikm, https://github.com/fenetikm/falcon +colors: + # Default colors + primary: + background: '0x020221' + foreground: '0xb4b4b9' + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0x020221' + cursor: '0xffe8c0' + + # Normal colors + normal: + black: '0x000004' + red: '0xff3600' + green: '0x718e3f' + yellow: '0xffc552' + blue: '0x635196' + magenta: '0xff761a' + cyan: '0x34bfa4' + white: '0xb4b4b9' + + # Bright colors + bright: + black: '0x020221' + red: '0xff8e78' + green: '0xb1bf75' + yellow: '0xffd392' + blue: '0x99a4bc' + magenta: '0xffb07b' + cyan: '0x8bccbf' + white: '0xf8f8ff' diff --git a/files/alacritty/colorschemes/Flat_remix.yml b/files/alacritty/colorschemes/Flat_remix.yml new file mode 100644 index 0000000..5105553 --- /dev/null +++ b/files/alacritty/colorschemes/Flat_remix.yml @@ -0,0 +1,25 @@ +colors: + primary: + background: '0x272a34' + foreground: '0xFFFFFF' + + normal: + black: '0x1F2229' + red: '0xEC0101' + green: '0x47D4B9' + yellow: '0xFF8A18' + blue: '0x277FFF' + magenta: '0xD71655' + cyan: '0x05A1F7' + white: '0xFFFFFF' + + + bright: + black: '0x1F2229' + red: '0xD41919' + green: '0x5EBDAB' + yellow: '0xFEA44C' + blue: '0x367bf0' + magenta: '0xBF2E5D' + cyan: '0x49AEE6' + white: '0xFFFFFF' diff --git a/files/alacritty/colorschemes/Gotham.yaml b/files/alacritty/colorschemes/Gotham.yaml new file mode 100644 index 0000000..f58f9a3 --- /dev/null +++ b/files/alacritty/colorschemes/Gotham.yaml @@ -0,0 +1,28 @@ +# Colors (Gotham) +colors: + # Default colors + primary: + background: '0x0a0f14' + foreground: '0x98d1ce' + + # Normal colors + normal: + black: '0x0a0f14' + red: '0xc33027' + green: '0x26a98b' + yellow: '0xedb54b' + blue: '0x195465' + magenta: '0x4e5165' + cyan: '0x33859d' + white: '0x98d1ce' + + # Bright colors + bright: + black: '0x10151b' + red: '0xd26939' + green: '0x081f2d' + yellow: '0x245361' + blue: '0x093748' + magenta: '0x888ba5' + cyan: '0x599caa' + white: '0xd3ebe9' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Gruvbox_dark.yaml b/files/alacritty/colorschemes/Gruvbox_dark.yaml new file mode 100644 index 0000000..d9c604f --- /dev/null +++ b/files/alacritty/colorschemes/Gruvbox_dark.yaml @@ -0,0 +1,30 @@ +# Colors (Gruvbox dark) +colors: + # Default colors + primary: + # hard contrast: background = '0x1d2021' + background: '0x282828' + # soft contrast: background = '0x32302f' + foreground: '0xebdbb2' + + # Normal colors + normal: + black: '0x282828' + red: '0xcc241d' + green: '0x98971a' + yellow: '0xd79921' + blue: '0x458588' + magenta: '0xb16286' + cyan: '0x689d6a' + white: '0xa89984' + + # Bright colors + bright: + black: '0x928374' + red: '0xfb4934' + green: '0xb8bb26' + yellow: '0xfabd2f' + blue: '0x83a598' + magenta: '0xd3869b' + cyan: '0x8ec07c' + white: '0xebdbb2' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Gruvbox_light.yaml b/files/alacritty/colorschemes/Gruvbox_light.yaml new file mode 100644 index 0000000..d679c3c --- /dev/null +++ b/files/alacritty/colorschemes/Gruvbox_light.yaml @@ -0,0 +1,30 @@ +# Colors (Gruvbox light) +colors: + # Default colors + primary: + # hard contrast: background = '0xf9f5d7' + background: '0xfbf1c7' + # soft contrast: background = '0xf2e5bc' + foreground: '0x3c3836' + + # Normal colors + normal: + black: '0xfbf1c7' + red: '0xcc241d' + green: '0x98971a' + yellow: '0xd79921' + blue: '0x458588' + magenta: '0xb16286' + cyan: '0x689d6a' + white: '0x7c6f64' + + # Bright colors + bright: + black: '0x928374' + red: '0x9d0006' + green: '0x79740e' + yellow: '0xb57614' + blue: '0x076678' + magenta: '0x8f3f71' + cyan: '0x427b58' + white: '0x3c3836' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Gruvbox_material.yml b/files/alacritty/colorschemes/Gruvbox_material.yml new file mode 100644 index 0000000..397b03f --- /dev/null +++ b/files/alacritty/colorschemes/Gruvbox_material.yml @@ -0,0 +1,26 @@ +# Colors (Gruvbox Material Dark Medium) +colors: + primary: + background: '0x282828' + foreground: '0xdfbf8e' + + normal: + black: '0x665c54' + red: '0xea6962' + green: '0xa9b665' + yellow: '0xe78a4e' + blue: '0x7daea3' + magenta: '0xd3869b' + cyan: '0x89b482' + white: '0xdfbf8e' + + bright: + black: '0x928374' + red: '0xea6962' + green: '0xa9b665' + yellow: '0xe3a84e' + blue: '0x7daea3' + magenta: '0xd3869b' + cyan: '0x89b482' + white: '0xdfbf8e' + diff --git a/files/alacritty/colorschemes/High_contrast.yaml b/files/alacritty/colorschemes/High_contrast.yaml new file mode 100644 index 0000000..cd4cdb7 --- /dev/null +++ b/files/alacritty/colorschemes/High_contrast.yaml @@ -0,0 +1,33 @@ +# Colors (High Contrast) +colors: + # Default colors + primary: + background: '0x444444' + foreground: '0xdddddd' + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0xaaaaaa' + cursor: '0xffffff' + + # Normal colors + normal: + black: '0x000000' + red: '0xff0000' + green: '0x00ff00' + yellow: '0xffff00' + blue: '0x0000ff' + magenta: '0xff00ff' + cyan: '0x00ffff' + white: '0xffffff' + + # Bright colors + bright: + black: '0x000000' + red: '0xff0000' + green: '0x00ff00' + yellow: '0xffff00' + blue: '0x0000ff' + magenta: '0xff00ff' + cyan: '0x00ffff' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Horizon_dark.yaml b/files/alacritty/colorschemes/Horizon_dark.yaml new file mode 100644 index 0000000..d6e29fd --- /dev/null +++ b/files/alacritty/colorschemes/Horizon_dark.yaml @@ -0,0 +1,28 @@ +# Colors (Horizon Dark) +colors: + # Primary colors + primary: + background: '0x1c1e26' + foreground: '0xe0e0e0' + + # Normal colors + normal: + black: '0x16161c' + red: '0xe95678' + green: '0x29d398' + yellow: '0xfab795' + blue: '0x26bbd9' + magenta: '0xee64ac' + cyan: '0x59e1e3' + white: '0xd5d8da' + + # Bright colors + bright: + black: '0x5b5858' + red: '0xec6a88' + green: '0x3fdaa4' + yellow: '0xfbc3a7' + blue: '0x3fc4de' + magenta: '0xf075b5' + cyan: '0x6be4e6' + white: '0xd5d8da' diff --git a/files/alacritty/colorschemes/Hund.yml b/files/alacritty/colorschemes/Hund.yml new file mode 100644 index 0000000..5713876 --- /dev/null +++ b/files/alacritty/colorschemes/Hund.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x161616' + foreground: '0xffffff' + + # Normal colors + normal: + black: '0x222222' + red: '0xe84f4f' + green: '0xb7ce42' + yellow: '0xfea63c' + blue: '0x66aabb' + magenta: '0xb7416e' + cyan: '0x6d878d' + white: '0xdddddd' + + # Bright colors + bright: + black: '0x666666' + red: '0xd23d3d' + green: '0xbde077' + yellow: '0xffe863' + blue: '0xaaccbb' + magenta: '0xe16a98' + cyan: '0x42717b' + white: '0xcccccc' diff --git a/files/alacritty/colorschemes/Hybrid.yml b/files/alacritty/colorschemes/Hybrid.yml new file mode 100644 index 0000000..ed246f6 --- /dev/null +++ b/files/alacritty/colorschemes/Hybrid.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x1d1f21' + foreground: '0xc5c8c6' + + # Normal colors + normal: + black: '0x282a2e' + red: '0xa54242' + green: '0x8c9440' + yellow: '0xde935f' + blue: '0x5f819d' + magenta: '0x85678f' + cyan: '0x5e8d87' + white: '0x707880' + + # Bright colors + bright: + black: '0x373b41' + red: '0xcc6666' + green: '0xb5bd68' + yellow: '0xf0c674' + blue: '0x81a2be' + magenta: '0xb294bb' + cyan: '0x8abeb7' + white: '0xc5c8c6' diff --git a/files/alacritty/colorschemes/Hyper.yaml b/files/alacritty/colorschemes/Hyper.yaml new file mode 100644 index 0000000..5b84d66 --- /dev/null +++ b/files/alacritty/colorschemes/Hyper.yaml @@ -0,0 +1,31 @@ +# Colors (Hyper) +colors: + # Default colors + primary: + background: '0x000000' + foreground: '0xffffff' + cursor: + text: '0xF81CE5' + cursor: '0xffffff' + + # Normal colors + normal: + black: '0x000000' + red: '0xfe0100' + green: '0x33ff00' + yellow: '0xfeff00' + blue: '0x0066ff' + magenta: '0xcc00ff' + cyan: '0x00ffff' + white: '0xd0d0d0' + + # Bright colors + bright: + black: '0x808080' + red: '0xfe0100' + green: '0x33ff00' + yellow: '0xfeff00' + blue: '0x0066ff' + magenta: '0xcc00ff' + cyan: '0x00ffff' + white: '0xFFFFFF' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Invisibone.yml b/files/alacritty/colorschemes/Invisibone.yml new file mode 100644 index 0000000..dfbf7c5 --- /dev/null +++ b/files/alacritty/colorschemes/Invisibone.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x232323' + foreground: '0xa0a0a0' + + # Normal colors + normal: + black: '0x303030' + red: '0xd370a3' + green: '0x6d9e3f' + yellow: '0xb58858' + blue: '0x6095c5' + magenta: '0xac7bde' + cyan: '0x3ba275' + white: '0xcfcfcf' + + # Bright colors + bright: + black: '0x686868' + red: '0xffa7da' + green: '0xa3d572' + yellow: '0xefbd8b' + blue: '0x98cbfe' + magenta: '0xe5b0ff' + cyan: '0x75daa9' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Iterm.yaml b/files/alacritty/colorschemes/Iterm.yaml new file mode 100644 index 0000000..2c31223 --- /dev/null +++ b/files/alacritty/colorschemes/Iterm.yaml @@ -0,0 +1,28 @@ +# Colors (iTerm 2 default theme) +colors: + # Default colors + primary: + background: '0x101421' + foreground: '0xfffbf6' + + # Normal colors + normal: + black: '0x2e2e2e' + red: '0xeb4129' + green: '0xabe047' + yellow: '0xf6c744' + blue: '0x47a0f3' + magenta: '0x7b5cb0' + cyan: '0x64dbed' + white: '0xe5e9f0' + + # Bright colors + bright: + black: '0x565656' + red: '0xec5357' + green: '0xc0e17d' + yellow: '0xf9da6a' + blue: '0x49a4f8' + magenta: '0xa47de9' + cyan: '0x99faf2' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Jmbi.yml b/files/alacritty/colorschemes/Jmbi.yml new file mode 100644 index 0000000..945a3ff --- /dev/null +++ b/files/alacritty/colorschemes/Jmbi.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x1e1e1e' + foreground: '0xffffff' + + # Normal colors + normal: + black: '0x5a7260' + red: '0x8f423c' + green: '0xbbbb88' + yellow: '0xf9d25b' + blue: '0xe0ba69' + magenta: '0x709289' + cyan: '0xd13516' + white: '0xefe2e0' + + # Bright colors + bright: + black: '0x8da691' + red: '0xeeaa88' + green: '0xccc68d' + yellow: '0xeedd99' + blue: '0xc9b957' + magenta: '0xffcbab' + cyan: '0xc25431' + white: '0xf9f1ed' diff --git a/files/alacritty/colorschemes/Kasugano.yml b/files/alacritty/colorschemes/Kasugano.yml new file mode 100644 index 0000000..33f3f67 --- /dev/null +++ b/files/alacritty/colorschemes/Kasugano.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x1b1b1b' + foreground: '0xffffff' + + # Normal colors + normal: + black: '0x3d3d3d' + red: '0x6673bf' + green: '0x3ea290' + yellow: '0xb0ead9' + blue: '0x31658c' + magenta: '0x596196' + cyan: '0x8292b2' + white: '0xc8cacc' + + # Bright colors + bright: + black: '0x4d4d4d' + red: '0x899aff' + green: '0x52ad91' + yellow: '0x98c9bb' + blue: '0x477ab3' + magenta: '0x7882bf' + cyan: '0x95a7cc' + white: '0xedeff2' diff --git a/files/alacritty/colorschemes/Konsole_linux.yaml b/files/alacritty/colorschemes/Konsole_linux.yaml new file mode 100644 index 0000000..b4f3e2f --- /dev/null +++ b/files/alacritty/colorschemes/Konsole_linux.yaml @@ -0,0 +1,51 @@ +# Color theme ported from Konsole: Linux colors +colors: + primary: + foreground: '0xe3e3e3' + bright_foreground: '0xffffff' + dim_foreground: '0xe3e3e3' + background: '0x1f1f1f' + bright_background: '0x686868' # not sure + dim_background: '0x1f1f1f' # not sure + + cursor: + text: '0x191622' + cursor: '0xf8f8f2' + + search: + matches: + foreground: '0xb2b2b2' + background: '0xb26818' + focused_match: + foreground: CellBackground + background: CellForeground + + normal: + black: '0x000000' + red: '0xb21818' + green: '0x18b218' + yellow: '0xb26818' + blue: '0x1818b2' + magenta: '0xb218b2' + cyan: '0x18b2b2' + white: '0xb2b2b2' + + bright: + black: '0x686868' + red: '0xff5454' + green: '0x54ff54' + yellow: '0xffff54' + blue: '0x5454ff' + magenta: '0xff54ff' + cyan: '0x54ffff' + white: '0xffffff' + + dim: + black: '0x000000' + red: '0xb21818' + green: '0x18b218' + yellow: '0xb26818' + blue: '0x1818b2' + magenta: '0xb218b2' + cyan: '0x18b2b2' + white: '0xb2b2b2' diff --git a/files/alacritty/colorschemes/Low_contrast.yaml b/files/alacritty/colorschemes/Low_contrast.yaml new file mode 100644 index 0000000..35bbb4e --- /dev/null +++ b/files/alacritty/colorschemes/Low_contrast.yaml @@ -0,0 +1,33 @@ +# Colors (Dim) +colors: + # Default colors + primary: + background: '0x333333' + foreground: '0xdddddd' + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0xaaaaaa' + cursor: '0xffffff' + + # Normal colors + normal: + black: '0x000000' + red: '0xbb0000' + green: '0x00bb00' + yellow: '0xbbbb00' + blue: '0x0000bb' + magenta: '0xbb00bb' + cyan: '0x00bbbb' + white: '0xbbbbbb' + + # Bright colors + bright: + black: '0x000000' + red: '0xbb0000' + green: '0x00bb00' + yellow: '0xbbbb00' + blue: '0x0000bb' + magenta: '0xbb00bb' + cyan: '0x00bbbb' + white: '0xbbbbbb' diff --git a/files/alacritty/colorschemes/Material_theme.yaml b/files/alacritty/colorschemes/Material_theme.yaml new file mode 100644 index 0000000..400c5f6 --- /dev/null +++ b/files/alacritty/colorschemes/Material_theme.yaml @@ -0,0 +1,28 @@ +# Colors (Material Theme) +colors: + # Default colors + primary: + background: '0x1e282d' + foreground: '0xc4c7d1' + + # Normal colors + normal: + black: '0x666666' + red: '0xeb606b' + green: '0xc3e88d' + yellow: '0xf7eb95' + blue: '0x80cbc4' + magenta: '0xff2f90' + cyan: '0xaeddff' + white: '0xffffff' + + # Bright colors + bright: + black: '0xff262b' + red: '0xeb606b' + green: '0xc3e88d' + yellow: '0xf7eb95' + blue: '0x7dc6bf' + magenta: '0x6c71c4' + cyan: '0x35434d' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Material_theme_mod.yaml b/files/alacritty/colorschemes/Material_theme_mod.yaml new file mode 100644 index 0000000..cb68fbd --- /dev/null +++ b/files/alacritty/colorschemes/Material_theme_mod.yaml @@ -0,0 +1,28 @@ +# Colors (Material Theme) +colors: + # Default colors + primary: + background: '0x1e282d' + foreground: '0xc4c7d1' + + # Normal colors + normal: + black: '0x666666' + red: '0xeb606b' + green: '0xc3e88d' + yellow: '0xf7eb95' + blue: '0x80cbc4' + magenta: '0xff2f90' + cyan: '0xaeddff' + white: '0xffffff' + + # Bright colors + bright: + black: '0xa1a1a1' + red: '0xeb606b' + green: '0xc3e88d' + yellow: '0xf7eb95' + blue: '0x7dc6bf' + magenta: '0x6c71c4' + cyan: '0x35434d' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Monokai.yml b/files/alacritty/colorschemes/Monokai.yml new file mode 100644 index 0000000..7600a5f --- /dev/null +++ b/files/alacritty/colorschemes/Monokai.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x272822' + foreground: '0xf1ebeb' + + # Normal colors + normal: + black: '0x48483e' + red: '0xdc2566' + green: '0x8fc029' + yellow: '0xd4c96e' + blue: '0x55bcce' + magenta: '0x9358fe' + cyan: '0x56b7a5' + white: '0xacada1' + + # Bright colors + bright: + black: '0x76715e' + red: '0xfa2772' + green: '0xa7e22e' + yellow: '0xe7db75' + blue: '0x66d9ee' + magenta: '0xae82ff' + cyan: '0x66efd5' + white: '0xcfd0c2' diff --git a/files/alacritty/colorschemes/Navy.yml b/files/alacritty/colorschemes/Navy.yml new file mode 100644 index 0000000..07d2fe4 --- /dev/null +++ b/files/alacritty/colorschemes/Navy.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x021b21' + foreground: '0xe8dfd6' + + # Normal colors + normal: + black: '0x032c36' + red: '0xc2454e' + green: '0x7cbf9e' + yellow: '0x8a7a63' + blue: '0x2e3340' + magenta: '0xff5879' + cyan: '0x44b5b1' + white: '0xf2f1b9' + + # Bright colors + bright: + black: '0x065f73' + red: '0xef5847' + green: '0xa2d9b1' + yellow: '0xbeb090' + blue: '0x61778d' + magenta: '0xff99a1' + cyan: '0x9ed9d8' + white: '0xf6f6c9' diff --git a/files/alacritty/colorschemes/Nord.yaml b/files/alacritty/colorschemes/Nord.yaml new file mode 100644 index 0000000..4e8d093 --- /dev/null +++ b/files/alacritty/colorschemes/Nord.yaml @@ -0,0 +1,28 @@ +# Colors (Nord) +colors: + # Default colors + primary: + background: '0x2E3440' + foreground: '0xD8DEE9' + + # Normal colors + normal: + black: '0x3B4252' + red: '0xBF616A' + green: '0xA3BE8C' + yellow: '0xEBCB8B' + blue: '0x81A1C1' + magenta: '0xB48EAD' + cyan: '0x88C0D0' + white: '0xE5E9F0' + + # Bright colors + bright: + black: '0x4C566A' + red: '0xBF616A' + green: '0xA3BE8C' + yellow: '0xEBCB8B' + blue: '0x81A1C1' + magenta: '0xB48EAD' + cyan: '0x8FBCBB' + white: '0xECEFF4' diff --git a/files/alacritty/colorschemes/Oceanic_next.yaml b/files/alacritty/colorschemes/Oceanic_next.yaml new file mode 100644 index 0000000..9bad83f --- /dev/null +++ b/files/alacritty/colorschemes/Oceanic_next.yaml @@ -0,0 +1,28 @@ +# Colors (Oceanic Next) +colors: + # Default colors + primary: + background: '0x1b2b34' + foreground: '0xd8dee9' + + # Normal colors + normal: + black: '0x29414f' + red: '0xec5f67' + green: '0x99c794' + yellow: '0xfac863' + blue: '0x6699cc' + magenta: '0xc594c5' + cyan: '0x5fb3b3' + white: '0x65737e' + + # Bright colors + bright: + black: '0x405860' + red: '0xec5f67' + green: '0x99c794' + yellow: '0xfac863' + blue: '0x6699cc' + magenta: '0xc594c5' + cyan: '0x5fb3b3' + white: '0xadb5c0' diff --git a/files/alacritty/colorschemes/Omni.yml b/files/alacritty/colorschemes/Omni.yml new file mode 100644 index 0000000..91570e1 --- /dev/null +++ b/files/alacritty/colorschemes/Omni.yml @@ -0,0 +1,38 @@ +colors: + primary: + background: '0x191622' + foreground: '0xe1e1e6' + + cursor: + text: '0x191622' + cursor: '0xf8f8f2' + + normal: + black: '0x000000' + red: '0xff5555' + green: '0x50fa7b' + yellow: '0xeffa78' + blue: '0xbd93f9' + magenta: '0xff79c6' + cyan: '0x8d79ba' + white: '0xbfbfbf' + + bright: + black: '0x4d4d4d' + red: '0xff6e67' + green: '0x5af78e' + yellow: '0xeaf08d' + blue: '0xcaa9fa' + magenta: '0xff92d0' + cyan: '0xaa91e3' + white: '0xe6e6e6' + + dim: + black: '0x000000' + red: '0xa90000' + green: '0x049f2b' + yellow: '0xa3b106' + blue: '0x530aba' + magenta: '0xbb006b' + cyan: '0x433364' + white: '0x5f5f5f' diff --git a/files/alacritty/colorschemes/One_dark.yaml b/files/alacritty/colorschemes/One_dark.yaml new file mode 100644 index 0000000..a54e040 --- /dev/null +++ b/files/alacritty/colorschemes/One_dark.yaml @@ -0,0 +1,28 @@ +# Colors (One Dark) +colors: + # Default colors + primary: + background: '0x1e2127' + foreground: '0xabb2bf' + + # Normal colors + normal: + black: '0x1e2127' + red: '0xe06c75' + green: '0x98c379' + yellow: '0xd19a66' + blue: '0x61afef' + magenta: '0xc678dd' + cyan: '0x56b6c2' + white: '0xabb2bf' + + # Bright colors + bright: + black: '0x5c6370' + red: '0xe06c75' + green: '0x98c379' + yellow: '0xd19a66' + blue: '0x61afef' + magenta: '0xc678dd' + cyan: '0x56b6c2' + white: '0xffffff' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Palenight.yml b/files/alacritty/colorschemes/Palenight.yml new file mode 100644 index 0000000..f65206a --- /dev/null +++ b/files/alacritty/colorschemes/Palenight.yml @@ -0,0 +1,30 @@ +# iTerm2 Material Design - Palenight theme for Alacritty +# Source : https://github.com/JonathanSpeek/palenight-iterm2 + +colors: + # Default colors + primary: + background: '0x292d3e' + foreground: '0xd0d0d0' + + # Normal colors + normal: + black: '0x292d3e' + red: '0xf07178' + green: '0xc3e88d' + yellow: '0xffcb6b' + blue: '0x82aaff' + magenta: '0xc792ea' + cyan: '0x89ddff' + white: '0xd0d0d0' + + # Bright colors + bright: + black: '0x434758' + red: '0xff8b92' + green: '0xddffa7' + yellow: '0xffe585' + blue: '0x9cc4ff' + magenta: '0xe1acff' + cyan: '0xa3f7ff' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Papercolor_light.yaml b/files/alacritty/colorschemes/Papercolor_light.yaml new file mode 100644 index 0000000..5770b1d --- /dev/null +++ b/files/alacritty/colorschemes/Papercolor_light.yaml @@ -0,0 +1,32 @@ +# Colors (PaperColor - Light) +colors: + # Default colors + primary: + background: '0xeeeeee' + foreground: '0x878787' + + cursor: + text: '0xeeeeee' + cursor: '0x878787' + + # Normal colors + normal: + black: '0xeeeeee' + red: '0xaf0000' + green: '0x008700' + yellow: '0x5f8700' + blue: '0x0087af' + magenta: '0x878787' + cyan: '0x005f87' + white: '0x444444' + + # Bright colors + bright: + black: '0xbcbcbc' + red: '0xd70000' + green: '0xd70087' + yellow: '0x8700af' + blue: '0xd75f00' + magenta: '0xd75f00' + cyan: '0x005faf' + white: '0x005f87' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Pastel.yml b/files/alacritty/colorschemes/Pastel.yml new file mode 100644 index 0000000..f5fd63c --- /dev/null +++ b/files/alacritty/colorschemes/Pastel.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x151515' + foreground: '0x888888' + + # Normal colors + normal: + black: '0x292929' + red: '0xcf6a4c' + green: '0x19cb00' + yellow: '0xfad07a' + blue: '0x8197bf' + magenta: '0x8787af' + cyan: '0x668799' + white: '0x888888' + + # Bright colors + bright: + black: '0x525252' + red: '0xff9d80' + green: '0x23fd00' + yellow: '0xffefbf' + blue: '0xaccaff' + magenta: '0xc4c4ff' + cyan: '0x80bfaf' + white: '0xe8e8d3' diff --git a/files/alacritty/colorschemes/Pencil_dark.yaml b/files/alacritty/colorschemes/Pencil_dark.yaml new file mode 100644 index 0000000..9bb2a13 --- /dev/null +++ b/files/alacritty/colorschemes/Pencil_dark.yaml @@ -0,0 +1,26 @@ +# Colors (Pencil Dark) +colors: + # Default Colors + primary: + background: '0x212121' + foreground: '0xf1f1f1' + # Normal colors + normal: + black: '0x212121' + red: '0xc30771' + green: '0x10a778' + yellow: '0xa89c14' + blue: '0x008ec4' + magenta: '0x523c79' + cyan: '0x20a5ba' + white: '0xe0e0e0' + # Bright colors + bright: + black: '0x818181' + red: '0xfb007a' + green: '0x5fd7af' + yellow: '0xf3e430' + blue: '0x20bbfc' + magenta: '0x6855de' + cyan: '0x4fb8cc' + white: '0xf1f1f1' diff --git a/files/alacritty/colorschemes/Pencil_light.yaml b/files/alacritty/colorschemes/Pencil_light.yaml new file mode 100644 index 0000000..10db04d --- /dev/null +++ b/files/alacritty/colorschemes/Pencil_light.yaml @@ -0,0 +1,26 @@ +# Colors (Pencil Light) +colors: + # Default Colors + primary: + background: '0xf1f1f1' + foreground: '0x424242' + # Normal colors + normal: + black: '0x212121' + red: '0xc30771' + green: '0x10a778' + yellow: '0xa89c14' + blue: '0x008ec4' + magenta: '0x523c79' + cyan: '0x20a5ba' + white: '0xe0e0e0' + # Bright colors + bright: + black: '0x212121' + red: '0xfb007a' + green: '0x5fd7af' + yellow: '0xf3e430' + blue: '0x20bbfc' + magenta: '0x6855de' + cyan: '0x4fb8cc' + white: '0xf1f1f1' diff --git a/files/alacritty/colorschemes/Remedy_dark.yaml b/files/alacritty/colorschemes/Remedy_dark.yaml new file mode 100644 index 0000000..0cd339f --- /dev/null +++ b/files/alacritty/colorschemes/Remedy_dark.yaml @@ -0,0 +1,38 @@ +colors: + # Default colors + primary: + background: '0x2c2b2a' + foreground: '0xf9e7c4' + + dim_foreground: '0x685E4A' + bright_foreground: '0x1C1508' + dim_background: '0x202322' + bright_background: '0x353433' + + # Cursor colors + cursor: + text: '0xf9e7c4' + cursor: '0xf9e7c4' + + # Normal colors + normal: + black: '0x282a2e' + blue: '0x5f819d' + cyan: '0x5e8d87' + green: '0x8c9440' + magenta: '0x85678f' + orange: '0xcc6953' + red: '0xa54242' + white: '0x707880' + yellow: '0xde935f' + + # Bright colors + bright: + black: '0x373b41' + blue: '0x81a2be' + cyan: '0x8abeb7' + green: '0xb5bd68' + magenta: '0xb294bb' + red: '0xcc6666' + white: '0xc5c8c6' + yellow: '0xf0c674' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Snazzy.yaml b/files/alacritty/colorschemes/Snazzy.yaml new file mode 100644 index 0000000..aacebd0 --- /dev/null +++ b/files/alacritty/colorschemes/Snazzy.yaml @@ -0,0 +1,28 @@ +# Colors (Snazzy) +colors: + # Default colors + primary: + background: '0x282a36' + foreground: '0xeff0eb' + + # Normal colors + normal: + black: '0x282a36' + red: '0xff5c57' + green: '0x5af78e' + yellow: '0xf3f99d' + blue: '0x57c7ff' + magenta: '0xff6ac1' + cyan: '0x9aedfe' + white: '0xf1f1f0' + + # Bright colors + bright: + black: '0x686868' + red: '0xff5c57' + green: '0x5af78e' + yellow: '0xf3f99d' + blue: '0x57c7ff' + magenta: '0xff6ac1' + cyan: '0x9aedfe' + white: '0xf1f1f0' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Solarized_dark.yaml b/files/alacritty/colorschemes/Solarized_dark.yaml new file mode 100644 index 0000000..0055c81 --- /dev/null +++ b/files/alacritty/colorschemes/Solarized_dark.yaml @@ -0,0 +1,28 @@ +# Colors (Solarized Dark) +colors: + # Default colors + primary: + background: '0x002b36' + foreground: '0x839496' + + # Normal colors + normal: + black: '0x073642' + red: '0xdc322f' + green: '0x859900' + yellow: '0xb58900' + blue: '0x268bd2' + magenta: '0xd33682' + cyan: '0x2aa198' + white: '0xeee8d5' + + # Bright colors + bright: + black: '0x002b36' + red: '0xcb4b16' + green: '0x586e75' + yellow: '0x657b83' + blue: '0x839496' + magenta: '0x6c71c4' + cyan: '0x93a1a1' + white: '0xfdf6e3' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Solarized_light.yaml b/files/alacritty/colorschemes/Solarized_light.yaml new file mode 100644 index 0000000..6a5acd9 --- /dev/null +++ b/files/alacritty/colorschemes/Solarized_light.yaml @@ -0,0 +1,28 @@ +# Colors (Solarized Light) +colors: + # Default colors + primary: + background: '0xfdf6e3' + foreground: '0x586e75' + + # Normal colors + normal: + black: '0x073642' + red: '0xdc322f' + green: '0x859900' + yellow: '0xb58900' + blue: '0x268bd2' + magenta: '0xd33682' + cyan: '0x2aa198' + white: '0xeee8d5' + + # Bright colors + bright: + black: '0x002b36' + red: '0xcb4b16' + green: '0x586e75' + yellow: '0x657b83' + blue: '0x839496' + magenta: '0x6c71c4' + cyan: '0x93a1a1' + white: '0xfdf6e3' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Sweetlove.yml b/files/alacritty/colorschemes/Sweetlove.yml new file mode 100644 index 0000000..3233ecd --- /dev/null +++ b/files/alacritty/colorschemes/Sweetlove.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x1f1f1f' + foreground: '0xc0b18b' + + # Normal colors + normal: + black: '0x4a3637' + red: '0xd17b49' + green: '0x7b8748' + yellow: '0xaf865a' + blue: '0x535c5c' + magenta: '0x775759' + cyan: '0x6d715e' + white: '0xc0b18b' + + # Bright colors + bright: + black: '0x402e2e' + red: '0xac5d2f' + green: '0x647035' + yellow: '0x8f6840' + blue: '0x444b4b' + magenta: '0x614445' + cyan: '0x585c49' + white: '0x978965' diff --git a/files/alacritty/colorschemes/Taerminal.yaml b/files/alacritty/colorschemes/Taerminal.yaml new file mode 100644 index 0000000..9dc804c --- /dev/null +++ b/files/alacritty/colorschemes/Taerminal.yaml @@ -0,0 +1,31 @@ +# Colors (Taerminal) +colors: + # Default colors + primary: + background: '0x26282a' + foreground: '0xf0f0f0' + cursor: + background: '0xf0f0f0' + foreground: '0x26282a' + + # Normal colors + normal: + black: '0x26282a' + red: '0xff8878' + green: '0xb4fb73' + yellow: '0xfffcb7' + blue: '0x8bbce5' + magenta: '0xffb2fe' + cyan: '0xa2e1f8' + white: '0xf1f1f1' + + # Bright colors + bright: + black: '0x6f6f6f' + red: '0xfe978b' + green: '0xd6fcba' + yellow: '0xfffed5' + blue: '0xc2e3ff' + magenta: '0xffc6ff' + cyan: '0xc0e9f8' + white: '0xffffff' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Tango_dark.yaml b/files/alacritty/colorschemes/Tango_dark.yaml new file mode 100644 index 0000000..e91733d --- /dev/null +++ b/files/alacritty/colorschemes/Tango_dark.yaml @@ -0,0 +1,26 @@ +# GNOME Terminal Tango Dark +colors: + primary: + background: '0x2e3436' + foreground: '0xd3d7cf' + + normal: + black: '0x2e3436' + red: '0xcc0000' + green: '0x4e9a06' + yellow: '0xc4a000' + blue: '0x3465a4' + magenta: '0x75507b' + cyan: '0x06989a' + white: '0xd3d7cf' + + bright: + black: '0x555753' + red: '0xef2929' + green: '0x8ae234' + yellow: '0xfce94f' + blue: '0x729fcf' + magenta: '0xad7fa8' + cyan: '0x34e2e2' + white: '0xeeeeec' + diff --git a/files/alacritty/colorschemes/Tender.yaml b/files/alacritty/colorschemes/Tender.yaml new file mode 100644 index 0000000..ffcacf7 --- /dev/null +++ b/files/alacritty/colorschemes/Tender.yaml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x282828' + foreground: '0xeeeeee' + + # Normal colors + normal: + black: '0x282828' + red: '0xf43753' + green: '0xc9d05c' + yellow: '0xffc24b' + blue: '0xb3deef' + magenta: '0xd3b987' + cyan: '0x73cef4' + white: '0xeeeeee' + + # Bright colors + bright: + black: '0x4c4c4c' + red: '0xf43753' + green: '0xc9d05c' + yellow: '0xffc24b' + blue: '0xb3deef' + magenta: '0xd3b987' + cyan: '0x73cef4' + white: '0xfeffff' diff --git a/files/alacritty/colorschemes/Terminal_app.yaml b/files/alacritty/colorschemes/Terminal_app.yaml new file mode 100644 index 0000000..bc2c434 --- /dev/null +++ b/files/alacritty/colorschemes/Terminal_app.yaml @@ -0,0 +1,28 @@ +# Colors (Terminal.app) +colors: + # Default colors + primary: + background: '0x000000' + foreground: '0xb6b6b6' + + # Normal colors + normal: + black: '0x000000' + red: '0x990000' + green: '0x00a600' + yellow: '0x999900' + blue: '0x0000b2' + magenta: '0xb200b2' + cyan: '0x00a6b2' + white: '0xbfbfbf' + + # Bright colors + bright: + black: '0x666666' + red: '0xe50000' + green: '0x00d900' + yellow: '0xe5e500' + blue: '0x0000ff' + magenta: '0xe500e5' + cyan: '0x00e5e5' + white: '0xe5e5e5' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Thelovelace.yaml b/files/alacritty/colorschemes/Thelovelace.yaml new file mode 100644 index 0000000..4d73889 --- /dev/null +++ b/files/alacritty/colorschemes/Thelovelace.yaml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x1D1F28' + foreground: '0xFDFDFD' + + # Normal colors + normal: + # Bright colors + black: '0x282A36' + red: '0xF37F97' + green: '0x5ADECD' + yellow: '0xF2A272' + blue: '0x8897F4' + magenta: '0xC574DD' + cyan: '0x79E6F3' + white: '0xFDFDFD' + bright: + black: '0x414458' + red: '0xFF4971' + green: '0x18E3C8' + yellow: '0xEBCB8B' + blue: '0xFF8037' + magenta: '0x556FFF' + cyan: '0x3FDCEE' + white: '0xBEBEC1' + indexed_colors: [] diff --git a/files/alacritty/colorschemes/Tokyo_night.yaml b/files/alacritty/colorschemes/Tokyo_night.yaml new file mode 100644 index 0000000..a88fd9b --- /dev/null +++ b/files/alacritty/colorschemes/Tokyo_night.yaml @@ -0,0 +1,29 @@ +# Colors (Tokyo Night) +# Source: https://github.com/zatchheems/tokyo-night-alacritty-theme +colors: + # Default colors + primary: + background: '0x1a1b26' + foreground: '0xa9b1d6' + + # Normal colors + normal: + black: '0x32344a' + red: '0xf7768e' + green: '0x9ece6a' + yellow: '0xe0af68' + blue: '0x7aa2f7' + magenta: '0xad8ee6' + cyan: '0x449dab' + white: '0x787c99' + + # Bright colors + bright: + black: '0x444b6a' + red: '0xff7a93' + green: '0xb9f27c' + yellow: '0xff9e64' + blue: '0x7da6ff' + magenta: '0xbb9af7' + cyan: '0x0db9d7' + white: '0xacb0d0' diff --git a/files/alacritty/colorschemes/Tokyo_night_storm.yaml b/files/alacritty/colorschemes/Tokyo_night_storm.yaml new file mode 100644 index 0000000..a64cf4a --- /dev/null +++ b/files/alacritty/colorschemes/Tokyo_night_storm.yaml @@ -0,0 +1,29 @@ +# Colors (Tokyo Night: Storm variant) +# Source: https://github.com/zatchheems/tokyo-night-alacritty-theme +colors: + # Default colors + primary: + background: '0x24283b' + foreground: '0xa9b1d6' + + # Normal colors + normal: + black: '0x32344a' + red: '0xf7768e' + green: '0x9ece6a' + yellow: '0xe0af68' + blue: '0x7aa2f7' + magenta: '0xad8ee6' + cyan: '0x449dab' + white: '0x9699a8' + + # Bright colors + bright: + black: '0x444b6a' + red: '0xff7a93' + green: '0xb9f27c' + yellow: '0xff9e64' + blue: '0x7da6ff' + magenta: '0xbb9af7' + cyan: '0x0db9d7' + white: '0xacb0d0' diff --git a/files/alacritty/colorschemes/Tomorrow_night.yaml b/files/alacritty/colorschemes/Tomorrow_night.yaml new file mode 100644 index 0000000..36bafba --- /dev/null +++ b/files/alacritty/colorschemes/Tomorrow_night.yaml @@ -0,0 +1,33 @@ +# Colors (Tomorrow Night) +colors: + # Default colors + primary: + background: '0x1d1f21' + foreground: '0xc5c8c6' + + # Colors the cursor will use if `custom_cursor_colors` is true + cursor: + text: '0x1d1f21' + cursor: '0xffffff' + + # Normal colors + normal: + black: '0x1d1f21' + red: '0xcc6666' + green: '0xb5bd68' + yellow: '0xe6c547' + blue: '0x81a2be' + magenta: '0xb294bb' + cyan: '0x70c0ba' + white: '0x373b41' + + # Bright colors + bright: + black: '0x666666' + red: '0xff3334' + green: '0x9ec400' + yellow: '0xf0c674' + blue: '0x81a2be' + magenta: '0xb77ee0' + cyan: '0x54ced6' + white: '0x282a2e' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Tomorrow_night_bright.yaml b/files/alacritty/colorschemes/Tomorrow_night_bright.yaml new file mode 100644 index 0000000..55b25d0 --- /dev/null +++ b/files/alacritty/colorschemes/Tomorrow_night_bright.yaml @@ -0,0 +1,28 @@ +# Colors (Tomorrow Night Bright) +colors: + # Default colors + primary: + background: '0x000000' + foreground: '0xeaeaea' + + # Normal colors + normal: + black: '0x000000' + red: '0xd54e53' + green: '0xb9ca4a' + yellow: '0xe6c547' + blue: '0x7aa6da' + magenta: '0xc397d8' + cyan: '0x70c0ba' + white: '0x424242' + + # Bright colors + bright: + black: '0x666666' + red: '0xff3334' + green: '0x9ec400' + yellow: '0xe7c547' + blue: '0x7aa6da' + magenta: '0xb77ee0' + cyan: '0x54ced6' + white: '0x2a2a2a' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Vacuous.yml b/files/alacritty/colorschemes/Vacuous.yml new file mode 100644 index 0000000..022a7d0 --- /dev/null +++ b/files/alacritty/colorschemes/Vacuous.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x101010' + foreground: '0xd2c5bc' + + # Normal colors + normal: + black: '0x202020' + red: '0xb91e2e' + green: '0x81957c' + yellow: '0xf9bb80' + blue: '0x356579' + magenta: '0x2d2031' + cyan: '0x0b3452' + white: '0x909090' + + # Bright colors + bright: + black: '0x606060' + red: '0xd14548' + green: '0xa7b79a' + yellow: '0xfae3a0' + blue: '0x7491a1' + magenta: '0x87314e' + cyan: '0x0f829d' + white: '0xfff0f0' diff --git a/files/alacritty/colorschemes/Visibone.yml b/files/alacritty/colorschemes/Visibone.yml new file mode 100644 index 0000000..2315047 --- /dev/null +++ b/files/alacritty/colorschemes/Visibone.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0x333333' + foreground: '0xcccccc' + + # Normal colors + normal: + black: '0x666666' + red: '0xcc6699' + green: '0x99cc66' + yellow: '0xcc9966' + blue: '0x6699cc' + magenta: '0x9966cc' + cyan: '0x66cc99' + white: '0xcccccc' + + # Bright colors + bright: + black: '0x999999' + red: '0xff99cc' + green: '0xccff99' + yellow: '0xffcc99' + blue: '0x99ccff' + magenta: '0xcc99ff' + cyan: '0x99ffcc' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Wombat.yaml b/files/alacritty/colorschemes/Wombat.yaml new file mode 100644 index 0000000..844e65f --- /dev/null +++ b/files/alacritty/colorschemes/Wombat.yaml @@ -0,0 +1,28 @@ +# Colors (Wombat) +colors: + # Default colors + primary: + background: '0x1f1f1f' + foreground: '0xe5e1d8' + + # Normal colors + normal: + black: '0x000000' + red: '0xf7786d' + green: '0xbde97c' + yellow: '0xefdfac' + blue: '0x6ebaf8' + magenta: '0xef88ff' + cyan: '0x90fdf8' + white: '0xe5e1d8' + + # Bright colors + bright: + black: '0xb4b4b4' + red: '0xf99f92' + green: '0xe3f7a1' + yellow: '0xf2e9bf' + blue: '0xb3d2ff' + magenta: '0xe5bdff' + cyan: '0xc2fefa' + white: '0xffffff' \ No newline at end of file diff --git a/files/alacritty/colorschemes/Xterm.yaml b/files/alacritty/colorschemes/Xterm.yaml new file mode 100644 index 0000000..7f336e4 --- /dev/null +++ b/files/alacritty/colorschemes/Xterm.yaml @@ -0,0 +1,27 @@ +# XTerm's default colors +colors: + # Default colors + primary: + background: '0x000000' + foreground: '0xffffff' + # Normal colors + normal: + black: '0x000000' + red: '0xcd0000' + green: '0x00cd00' + yellow: '0xcdcd00' + blue: '0x0000ee' + magenta: '0xcd00cd' + cyan: '0x00cdcd' + white: '0xe5e5e5' + + # Bright colors + bright: + black: '0x7f7f7f' + red: '0xff0000' + green: '0x00ff00' + yellow: '0xffff00' + blue: '0x5c5cff' + magenta: '0xff00ff' + cyan: '0x00ffff' + white: '0xffffff' diff --git a/files/alacritty/colorschemes/Yousai.yml b/files/alacritty/colorschemes/Yousai.yml new file mode 100644 index 0000000..292bedf --- /dev/null +++ b/files/alacritty/colorschemes/Yousai.yml @@ -0,0 +1,27 @@ +colors: + # Default colors + primary: + background: '0xf5e7de' + foreground: '0x34302d' + + # Normal colors + normal: + black: '0x666661' + red: '0x992e2e' + green: '0x4c3226' + yellow: '0xa67c53' + blue: '0x4c7399' + magenta: '0xbf9986' + cyan: '0xd97742' + white: '0x34302d' + + # Bright colors + bright: + black: '0x7f7f7a' + red: '0xb23636' + green: '0x664233' + yellow: '0xbf8f60' + blue: '0x5986b2' + magenta: '0xd9ae98' + cyan: '0xf2854a' + white: '0x4c4742' diff --git a/files/alacritty/fonts.yml b/files/alacritty/fonts.yml new file mode 100644 index 0000000..a15d6c2 --- /dev/null +++ b/files/alacritty/fonts.yml @@ -0,0 +1,36 @@ +## Copyright (C) 2020-2023 Aditya Shakya + +# Font configuration +font: + # Normal (roman) font face + normal: + family: "JetBrainsMono Nerd Font" + #style: Regular + + # Bold font face + bold: + family: "JetBrainsMono Nerd Font" + #style: Bold + + # Italic font face + italic: + family: "JetBrainsMono Nerd Font" + #style: Italic + + # Bold italic font face + bold_italic: + family: "JetBrainsMono Nerd Font" + #style: Bold Italic + + # Point size + size: 10 + + # Offset + #offset: + # x: 0 + # y: 0 + + # Glyph offset + #glyph_offset: + # x: 0 + # y: 0 diff --git a/files/autostart b/files/autostart new file mode 100755 index 0000000..5804ea0 --- /dev/null +++ b/files/autostart @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya + +## Kill if already running +killall -9 xfsettingsd picom polybar mpd dunst ksuperkey xfce4-power-manager + +## Restore Wallpaper +nitrogen --restore + +## xfce4-settings daemon +xfsettingsd & + +## polkit agent +if [[ ! `pidof xfce-polkit` ]]; then + /usr/lib/xfce-polkit/xfce-polkit & +fi + +## Enable power management +xfce4-power-manager & + +## Start Compositing Manager +exec picom & + +## Launch Polybar or Tint2 +bash ~/.config/openbox/themes/launch-bar.sh + +## Notification Daemon +exec dunst & + +## Start Music Player Daemon +exec mpd & + +## Launch Plank +exec plank & + +## Thunar Daemon +exec thunar --daemon & + +## Enable Super Keys For Menu +ksuperkey -e 'Super_L=Alt_L|F1' & +ksuperkey -e 'Super_R=Alt_L|F1' & + +## These applets are specifically for tint2 panel. +## If you're using tint2 as panel, Uncomment these applets. + +## User Friendly Network Menu +#nm-applet --indicator & + +## User Friendly Bluetooth Menu +#blueman-applet & + +## Welcome-App-Run-Once +archcraft-welcome & +sed -i -e '/## Welcome-App-Run-Once/Q' "$HOME"/.config/openbox/autostart diff --git a/files/environment b/files/environment new file mode 100644 index 0000000..f182bca --- /dev/null +++ b/files/environment @@ -0,0 +1,5 @@ +## User-Specific Variables +## ----------------------- + +## Openbox Scripts +PATH="$HOME/.config/openbox/scripts:$PATH"; export PATH diff --git a/files/icons/apps.png b/files/icons/apps.png new file mode 100644 index 0000000..be3d5d4 Binary files /dev/null and b/files/icons/apps.png differ diff --git a/files/icons/browser.png b/files/icons/browser.png new file mode 100644 index 0000000..cbfd793 Binary files /dev/null and b/files/icons/browser.png differ diff --git a/files/icons/cmd.png b/files/icons/cmd.png new file mode 100644 index 0000000..cef1ad7 Binary files /dev/null and b/files/icons/cmd.png differ diff --git a/files/icons/editor.png b/files/icons/editor.png new file mode 100644 index 0000000..eb4410e Binary files /dev/null and b/files/icons/editor.png differ diff --git a/files/icons/filemanager.png b/files/icons/filemanager.png new file mode 100644 index 0000000..c1740b6 Binary files /dev/null and b/files/icons/filemanager.png differ diff --git a/files/icons/keyboard.png b/files/icons/keyboard.png new file mode 100644 index 0000000..4cb8f4f Binary files /dev/null and b/files/icons/keyboard.png differ diff --git a/files/icons/places.png b/files/icons/places.png new file mode 100644 index 0000000..98ac895 Binary files /dev/null and b/files/icons/places.png differ diff --git a/files/icons/recents.png b/files/icons/recents.png new file mode 100644 index 0000000..0724fde Binary files /dev/null and b/files/icons/recents.png differ diff --git a/files/icons/record.png b/files/icons/record.png new file mode 100644 index 0000000..125f636 Binary files /dev/null and b/files/icons/record.png differ diff --git a/files/icons/root.png b/files/icons/root.png new file mode 100644 index 0000000..a62be95 Binary files /dev/null and b/files/icons/root.png differ diff --git a/files/icons/settings.png b/files/icons/settings.png new file mode 100644 index 0000000..6e3ba13 Binary files /dev/null and b/files/icons/settings.png differ diff --git a/files/icons/shots.png b/files/icons/shots.png new file mode 100644 index 0000000..77aca91 Binary files /dev/null and b/files/icons/shots.png differ diff --git a/files/icons/stats.png b/files/icons/stats.png new file mode 100644 index 0000000..8a86f8a Binary files /dev/null and b/files/icons/stats.png differ diff --git a/files/icons/sys-exit.png b/files/icons/sys-exit.png new file mode 100644 index 0000000..cf1ab31 Binary files /dev/null and b/files/icons/sys-exit.png differ diff --git a/files/icons/sys-lock.png b/files/icons/sys-lock.png new file mode 100644 index 0000000..72530d6 Binary files /dev/null and b/files/icons/sys-lock.png differ diff --git a/files/icons/sys-poweroff-alt.png b/files/icons/sys-poweroff-alt.png new file mode 100644 index 0000000..80e89d1 Binary files /dev/null and b/files/icons/sys-poweroff-alt.png differ diff --git a/files/icons/sys-poweroff.png b/files/icons/sys-poweroff.png new file mode 100644 index 0000000..7f113b5 Binary files /dev/null and b/files/icons/sys-poweroff.png differ diff --git a/files/icons/sys-reboot.png b/files/icons/sys-reboot.png new file mode 100644 index 0000000..b433e24 Binary files /dev/null and b/files/icons/sys-reboot.png differ diff --git a/files/icons/sys-sleep.png b/files/icons/sys-sleep.png new file mode 100644 index 0000000..a425d19 Binary files /dev/null and b/files/icons/sys-sleep.png differ diff --git a/files/icons/terminal.png b/files/icons/terminal.png new file mode 100644 index 0000000..f16934a Binary files /dev/null and b/files/icons/terminal.png differ diff --git a/files/menu-glyphs.xml b/files/menu-glyphs.xml new file mode 100644 index 0000000..8a949a6 --- /dev/null +++ b/files/menu-glyphs.xml @@ -0,0 +1,143 @@ + + + +]> + + + + + + alacritty + + + + + thunar + + + + + firefox + + + + + geany + + + + + + + + + + + + + + + + obconf + + + + + + exo-open ~/.config/openbox/menu-glyphs.xml + + + + + exo-open ~/.config/openbox/rc.xml + + + + + exo-open ~/.config/openbox/autostart + + + + + + + + + + + + + + + + + + + + + nitrogen + + + + + xfce4-appearance-settings + + + + + qt5ct + + + + + kvantummanager + + + + + + xfce4-power-manager-settings + + + + + xfce4-settings-manager + + + + + + + + betterlockscreen --lock + + + + + + + + &pipes;/ac-powermenu --logout + + + + + &pipes;/ac-powermenu --suspend + + + + + &pipes;/ac-powermenu --reboot + + + + + &pipes;/ac-powermenu --shutdown + + + + + + diff --git a/files/menu-icons.xml b/files/menu-icons.xml new file mode 100644 index 0000000..c00030e --- /dev/null +++ b/files/menu-icons.xml @@ -0,0 +1,163 @@ + + + + +]> + + + + + + alacritty + + + + + + thunar + + + + + + firefox + + + + + + geany + + + + + + + + + + + + + + + + + + + + + + + + + obconf + + + + + + exo-open ~/.config/openbox/menu-icons.xml + + + + + exo-open ~/.config/openbox/rc.xml + + + + + exo-open ~/.config/openbox/autostart + + + + + + + + + + + + + + + + + + + + + nitrogen + + + + + xfce4-appearance-settings + + + + + qt5ct + + + + + kvantummanager + + + + + + xfce4-power-manager-settings + + + + + xfce4-settings-manager + + + + + + + + + + + betterlockscreen --lock + + + + + + + + + &pipes;/ac-powermenu --logout + + + + + + &pipes;/ac-powermenu --suspend + + + + + + &pipes;/ac-powermenu --reboot + + + + + + &pipes;/ac-powermenu --shutdown + + + + + + diff --git a/files/menu-minimal.xml b/files/menu-minimal.xml new file mode 100644 index 0000000..697ea27 --- /dev/null +++ b/files/menu-minimal.xml @@ -0,0 +1,134 @@ + + + +]> + + + + + + alacritty + + + + + thunar + + + + + firefox + + + + + geany + + + + + + + + + + obconf + + + + + + exo-open ~/.config/openbox/menu-minimal.xml + + + + + exo-open ~/.config/openbox/rc.xml + + + + + exo-open ~/.config/openbox/autostart + + + + + + + + + + + + + + + + + + + + + nitrogen + + + + + xfce4-appearance-settings + + + + + qt5ct + + + + + kvantummanager + + + + + + xfce4-power-manager-settings + + + + + xfce4-settings-manager + + + + + + + + betterlockscreen --lock + + + + + &pipes;/ac-powermenu --logout + + + + + &pipes;/ac-powermenu --suspend + + + + + &pipes;/ac-powermenu --reboot + + + + + &pipes;/ac-powermenu --shutdown + + + + + + diff --git a/files/menu-simple.xml b/files/menu-simple.xml new file mode 100644 index 0000000..0b935a5 --- /dev/null +++ b/files/menu-simple.xml @@ -0,0 +1,143 @@ + + + +]> + + + + + + alacritty + + + + + thunar + + + + + firefox + + + + + geany + + + + + + + + + + + + + + + + obconf + + + + + + exo-open ~/.config/openbox/menu-simple.xml + + + + + exo-open ~/.config/openbox/rc.xml + + + + + exo-open ~/.config/openbox/autostart + + + + + + + + + + + + + + + + + + + + + nitrogen + + + + + xfce4-appearance-settings + + + + + qt5ct + + + + + kvantummanager + + + + + + xfce4-power-manager-settings + + + + + xfce4-settings-manager + + + + + + + + betterlockscreen --lock + + + + + + + + &pipes;/ac-powermenu --logout + + + + + &pipes;/ac-powermenu --suspend + + + + + &pipes;/ac-powermenu --reboot + + + + + &pipes;/ac-powermenu --shutdown + + + + + + diff --git a/files/menulib/archcraft.cfg b/files/menulib/archcraft.cfg new file mode 100644 index 0000000..3d69bed --- /dev/null +++ b/files/menulib/archcraft.cfg @@ -0,0 +1,237 @@ +# vim:ft=sh + +## Copyright (C) 2020-2023 Aditya Shakya + +# archcraft.cfg - Variables and functions commonly used in custom scripts + +# Copyright (C) 2012 Philip Newborough +# Copyright (C) 2013 Aleks-Daniel Jakimenko +# Copyright (C) 2015-2016 John Crawley +# Copyright (C) 2016 xaos52 +# Copyright (C) 2021 Aditya Shakya +# +# These functions can be used in user scripts too, by first sourcing this file, eg: +# MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +# if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then +# echo $"Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 +# exit 1 +# fi + +# NOTE: Do not source this file in non-Bash shell scripts. +# It uses some "bashisms". + +######################################################################## +# Functions to generate Openbox menus. + +menuStart() { + echo ' ' +} + +# Usage: menuItem label command +menuItem() { + echo " " + echo ' ' + echo " $(XMLescape "$2")" + echo ' ' + echo ' ' +} + +# Usage: menuSeparator [label] +menuSeparator() { + if [[ ${1-} ]]; then + echo " " + else + echo ' ' + fi +} + +# Usage menuSubmenu id label # http://openbox.org/wiki/Help:Menus +menuSubmenu() { + echo " " +} + +menuSubmenuEnd() { + echo ' ' +} + +menuEnd() { + echo ' ' +} + +# escape special characters +XMLescape() { + local string="${1//&/&}" + string="${string///>}" + string="${string//\"/"}" + string="${string//\'/'}" + printf '%s' "$string" +} + +OBlabelEscape() { + printf '%s' "${1//_/__}" +} + +######################################################################## + +# rerun script in terminal if necessary +# Usage: terminalCheck [ -T title ] [arguments...] +terminalCheck() { + if ! [[ -t 0 && -t 1 && -t 2 ]]; then # not attached to terminal + if [[ -n $DISPLAY ]]; then # running X + if [[ ${1-} = '-T' ]]; then + local title=${2-} + shift 2 + exec exo-open --launch TerminalEmulator -T "$title" -e "$0" "$@" + else + exec exo-open --launch TerminalEmulator -e "$0" "$@" + fi + else + echo "$0: no terminal" >&2 + exit 1 + fi + fi +} + +# Usage: createFlag filename +createFlag() { + mkdir -p "$HOME/.config/archcraft" + touch "$HOME/.config/archcraft/$1" +} + +# Check the connection by downloading a file from ftp.debian.org. No disk space used. +# Usage: connectiontest [attempts] +# If attempt count is not specified or 0, then it will loop forever and exit(!) your main program with 1 exit status. +connectiontest() { + local TEXT_CHECKING='Checking internet connection...' + local TEXT_FAILED='Internet connection test failed!' + local TEXT_ASK_RETRY=$'\n\nThis script requires a working internet connection. Please configure your internet connection, then hit "Enter" to continue, else hit "q" to quit.' + local TEXT_ABORT='Script aborted.' + local TEXT_OK='Internet connection test passed!' + + local -i i attempts=${1-0} + for (( i=0; i < attempts || attempts == 0; i++ )); do + say "$TEXT_CHECKING" + if wget -O - 'http://ftp.debian.org/debian/README' &> /dev/null; then + say "$TEXT_OK" 1 + return 0 + fi + say "$TEXT_FAILED" + if (( i == attempts - 1 )); then # if last attempt + return 1 + elif prompt "$TEXT_ASK_RETRY" Q; then # if user wants to quit + say "$TEXT_ABORT" 2 + (( attempts == 0 )) && exit 1 || return 1 + fi + tput clear + done +} + +# Check for availability of commands used in script. +# Usage: declareDependencies command [command...] +declareDependencies(){ + local missing_commands=() i= + for i in "$@"; do + hash "$i" 2>/dev/null || missing_commands+=(" $i") + done + [[ ${missing_commands[0]} ]] && errorExit "This script requires the following commands: ${missing_commands[*]} +Please install the packages containing the missing commands +and rerun the script." +} + +######################################################################## +# User interface functions. + +# Usage: say text [delayAfterText|pause] +say() { + local width=$(tput cols 2>/dev/tty) + fold -s -w $((width - 3)) <<< "${1-}" | sed 's/^/ /' # wraps text nicely and adds two leading spaces + if [[ ${2-} = 'pause' ]]; then + echo $'\nPress any key to continue.' + read -srn1 + else + sleep "${2:-0}" + fi +} + +# Usage errorExit message [details] +errorExit() { + say $'\n'"$1"$'\n' '1' >&2 + [[ ${2-} ]] && { + while true; do + local REPLY + read -rn1 -p ' Press "d" for details (q to quit) ' + [[ ${REPLY^} = Q ]] && exit 1 + [[ ${REPLY^} = D ]] && { + echo $'\n\n' + tput setaf 1 + echo "$2" >&2 + tput sgr0 + say " +Would you like to quit now, or continue anyway? +(Be careful!) +Press \"q\" to quit, \"c\" to continue: +" + read -r + [[ ${REPLY^} = Q ]] && exit 1 + [[ ${REPLY^} = C ]] && return 0 + } + done + } + say 'Press any key to exit.' + read -srn1 + exit 1 +} + +# Usage: prompt text [ Y | N | Q | ] +prompt() { + local answer prompt default + if [[ ${2-} && ${2^} = Q ]]; then + while true; do + read -srn1 -p "$1" answer + echo + [[ ${answer^} = Q ]] && return 0 + [[ ! $answer ]] && return 1 + done + fi + + if [[ ! ${2-} || ${2^} = Y ]]; then + prompt='Y/n' + default='Y' + elif [[ ${2^} = N ]]; then + prompt='y/N' + default='N' + else + prompt= + default= + fi + + while true; do + read -r -p "$1 ${prompt:+[$prompt] }" answer + + if [[ ! $prompt && ! $default ]]; then + if [[ $answer = ${2-} ]]; then + echo + return 0 + elif [[ ${answer^} = Q ]]; then + echo + return 1 + else + continue + fi + fi + + [[ ! $answer ]] && + answer=$default + + if [[ ${answer^} = Y || ${answer^^} = YES ]]; then + echo + return 0 + elif [[ ${answer^} = N || ${answer^^} = NO ]]; then + echo + return 1 + fi + done +} + +######################################################################## diff --git a/files/networkmanager-dmenu/config.ini b/files/networkmanager-dmenu/config.ini new file mode 100644 index 0000000..d09b8ab --- /dev/null +++ b/files/networkmanager-dmenu/config.ini @@ -0,0 +1,30 @@ +## Copyright (C) 2020-2023 Aditya Shakya + +[dmenu] +dmenu_command = rofi -dmenu -theme ~/.config/openbox/themes/default/rofi/networkmenu.rasi +# # Note that dmenu_command can contain arguments as well like `rofi -width 30` +# # Rofi and dmenu are set to case insensitive by default `-i` +# l = number of lines to display, defaults to number of total network options +# fn = font string +# nb = normal background (name, #RGB, or #RRGGBB) +# nf = normal foreground +# sb = selected background +# sf = selected foreground +# b = (just set to empty value and menu will appear at the bottom +# m = number of monitor to display on +# p = Custom Prompt for the networks menu +# pinentry = Pinentry command +# rofi_highlight = # (Default: False) use rofi highlighting instead of '**' + +# # override normal foreground and background colors (dmenu) or use the +# # -password option (rofi) to obscure passphrase entry +# [dmenu_passphrase] +# nf = #222222 +# nb = #222222 +# rofi_obscure = True + +[editor] +terminal = alacritty +gui_if_available = True +# terminal = +# gui_if_available = diff --git a/files/nitrogen/bg-saved.cfg b/files/nitrogen/bg-saved.cfg new file mode 100644 index 0000000..7c6e905 --- /dev/null +++ b/files/nitrogen/bg-saved.cfg @@ -0,0 +1,26 @@ +## Copyright (C) 2020-2023 Aditya Shakya + +[xin_0] +file=/usr/share/backgrounds/default.jpg +mode=5 +bgcolor=#000000 + +[xin_1] +file=/usr/share/backgrounds/default.jpg +mode=5 +bgcolor=#000000 + +[xin_2] +file=/usr/share/backgrounds/default.jpg +mode=5 +bgcolor=#000000 + +[xin_3] +file=/usr/share/backgrounds/default.jpg +mode=5 +bgcolor=#000000 + +[xin_4] +file=/usr/share/backgrounds/default.jpg +mode=5 +bgcolor=#000000 diff --git a/files/nitrogen/nitrogen.cfg b/files/nitrogen/nitrogen.cfg new file mode 100644 index 0000000..3fb56ab --- /dev/null +++ b/files/nitrogen/nitrogen.cfg @@ -0,0 +1,14 @@ +## Copyright (C) 2020-2023 Aditya Shakya + +[geometry] +posx=25 +posy=45 +sizex=495 +sizey=450 + +[nitrogen] +view=icon +recurse=true +sort=alpha +icon_caps=false +dirs=/usr/share/backgrounds; diff --git a/files/ob-random/openbox-3/bullet.xbm b/files/ob-random/openbox-3/bullet.xbm new file mode 100644 index 0000000..9f82843 --- /dev/null +++ b/files/ob-random/openbox-3/bullet.xbm @@ -0,0 +1,4 @@ +#define shade_width 8 +#define shade_height 8 +static unsigned char shade_bits[] = { + 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00}; diff --git a/files/ob-random/openbox-3/close.xbm b/files/ob-random/openbox-3/close.xbm new file mode 100644 index 0000000..625906a --- /dev/null +++ b/files/ob-random/openbox-3/close.xbm @@ -0,0 +1,6 @@ +#define close_width 14 +#define close_height 14 +static unsigned char close_bits[] = { + 0x00,0xc0,0x00,0xc0,0x00,0xc0,0x18,0xc6,0x38,0xc7,0xf0,0xc3, + 0xe0,0xc1,0xe0,0xc1,0xf0,0xc3,0x38,0xc7,0x18,0xc6,0x00,0xc0, + 0x00,0xc0,0x00,0xc0}; diff --git a/files/ob-random/openbox-3/desk.xbm b/files/ob-random/openbox-3/desk.xbm new file mode 100644 index 0000000..b749dfe --- /dev/null +++ b/files/ob-random/openbox-3/desk.xbm @@ -0,0 +1,6 @@ +#define desk_width 14 +#define desk_height 14 +static unsigned char desk_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, + 0xf8, 0x07, 0xf8, 0x07, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; diff --git a/files/ob-random/openbox-3/desk_toggled.xbm b/files/ob-random/openbox-3/desk_toggled.xbm new file mode 100644 index 0000000..8fce06c --- /dev/null +++ b/files/ob-random/openbox-3/desk_toggled.xbm @@ -0,0 +1,6 @@ +#define desk_width 14 +#define desk_height 14 +static unsigned char desk_bits[] = { + 0x00,0xc0,0x00,0xc0,0x00,0xc0,0x38,0xc7,0x38,0xc7,0x38,0xc7, + 0x00,0xc0,0x00,0xc0,0x38,0xc7,0x38,0xc7,0x38,0xc7,0x00,0xc0, + 0x00,0xc0,0x00,0xc0}; diff --git a/files/ob-random/openbox-3/iconify.xbm b/files/ob-random/openbox-3/iconify.xbm new file mode 100644 index 0000000..d673c92 --- /dev/null +++ b/files/ob-random/openbox-3/iconify.xbm @@ -0,0 +1,6 @@ +#define iconify_width 14 +#define iconify_height 14 +static unsigned char iconify_bits[] = { + 0x00,0xc0,0x00,0xc0,0x00,0xc0,0x00,0xc0,0x00,0xc0,0x00,0xc0, + 0xf0,0xc3,0xf0,0xc3,0x00,0xc0,0x00,0xc0,0x00,0xc0,0x00,0xc0, + 0x00,0xc0,0x00,0xc0}; diff --git a/files/ob-random/openbox-3/max.xbm b/files/ob-random/openbox-3/max.xbm new file mode 100644 index 0000000..0a7a8f2 --- /dev/null +++ b/files/ob-random/openbox-3/max.xbm @@ -0,0 +1,6 @@ +#define max_width 14 +#define max_height 14 +static unsigned char max_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x80, 0x03, + 0x10, 0x03, 0x30, 0x02, 0x70, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; diff --git a/files/ob-random/openbox-3/max_toggled.xbm b/files/ob-random/openbox-3/max_toggled.xbm new file mode 100644 index 0000000..1b79325 --- /dev/null +++ b/files/ob-random/openbox-3/max_toggled.xbm @@ -0,0 +1,6 @@ +#define max_width 14 +#define max_height 14 +static unsigned char max_bits[] = { + 0x00,0xc0,0x00,0xc0,0x00,0xc1,0x00,0xc3,0x00,0xc7,0x00,0xcf, + 0x00,0xc0,0x00,0xc0,0x3c,0xc0,0x38,0xc0,0x30,0xc0,0x20,0xc0, + 0x00,0xc0,0x00,0xc0}; diff --git a/files/ob-random/openbox-3/shade.xbm b/files/ob-random/openbox-3/shade.xbm new file mode 100644 index 0000000..9b025b3 --- /dev/null +++ b/files/ob-random/openbox-3/shade.xbm @@ -0,0 +1,6 @@ +#define shade_width 14 +#define shade_height 14 +static unsigned char shade_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xe0, 0x01, + 0xf0, 0x03, 0xf8, 0x07, 0x00, 0x00, 0xf8, 0x07, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; diff --git a/files/ob-random/openbox-3/shade_toggled.xbm b/files/ob-random/openbox-3/shade_toggled.xbm new file mode 100644 index 0000000..aa05b3c --- /dev/null +++ b/files/ob-random/openbox-3/shade_toggled.xbm @@ -0,0 +1,6 @@ +#define shade_width 14 +#define shade_height 14 +static unsigned char shade_bits[] = { + 0x00,0xc0,0x00,0xc0,0x00,0xc0,0x00,0xc0,0xf8,0xc7,0xf8,0xc7, + 0x00,0xc0,0xf8,0xc7,0xf0,0xc3,0xe0,0xc1,0xc0,0xc0,0x00,0xc0, + 0x00,0xc0,0x00,0xc0}; diff --git a/files/ob-random/openbox-3/themerc b/files/ob-random/openbox-3/themerc new file mode 100644 index 0000000..d7c4387 --- /dev/null +++ b/files/ob-random/openbox-3/themerc @@ -0,0 +1,139 @@ +## Openbox Theme ################################################## +## Created by : Aditya Shakya <@adi1090x> For Archcraft # +## ############# ################################################## + +#-- Window geometry ----------------------------------------------- +padding.width: 10 +padding.height: 10 +window.client.padding.width: 0 +window.client.padding.height: 0 +window.handle.width: 5 + +border.width: 0 +osd.border.width: 5 +menu.border.width: 10 + +menu.overlap.x: -15 +menu.overlap.y: 10 +menu.separator.width: 0 +menu.separator.padding.width: 0 +menu.separator.padding.height: 2 + +window.active.label.text.font: shadow=n +window.inactive.label.text.font: shadow=n +menu.items.font: shadow=n +menu.title.text.font: shadow=n +osd.label.text.font: shadow=n + +window.label.text.justify: Center +menu.title.text.justify: Center + +#-- Border colors ------------------------------------------------- +window.active.border.color: #1E2128 +window.inactive.border.color: #1E2128 +window.active.client.color: #1E2128 +window.inactive.client.color: #1E2128 +window.active.title.separator.color: #1E2128 +window.inactive.title.separator.color: #1E2128 + +#-- Active window ------------------------------------------------- +window.active.title.bg: Flat Solid +window.active.title.bg.color: #1E2128 +window.active.label.bg: Parentrelative +window.active.label.text.color: #ABB2BF +window.active.handle.bg: Flat Solid +window.active.handle.bg.color: #1E2128 +window.active.grip.bg: Flat Solid +window.active.grip.bg.color: #1E2128 +window.active.button.unpressed.bg: Flat Solid +window.active.button.unpressed.bg.color: #1E2128 +window.active.button.unpressed.image.color: #ABB2BF +window.active.button.pressed.bg: Flat Solid +window.active.button.pressed.bg.color: #1E2128 +window.active.button.pressed.image.color: #62AEEF +window.active.button.disabled.bg: Flat Solid +window.active.button.disabled.bg.color: #1E2128 +window.active.button.disabled.image.color: #292d37 +window.active.button.hover.bg: Flat Solid +window.active.button.hover.bg.color: #1E2128 +window.active.button.hover.image.color: #98C379 +window.active.button.toggled.unpressed.bg: Flat Solid +window.active.button.toggled.unpressed.bg.color: #1E2128 +window.active.button.toggled.unpressed.image.color: #ABB2BF +window.active.button.toggled.pressed.bg: Flat Solid +window.active.button.toggled.pressed.bg.color: #1E2128 +window.active.button.toggled.pressed.image.color: #62AEEF +window.active.button.toggled.hover.bg: Flat Solid +window.active.button.toggled.hover.bg.color: #1E2128 +window.active.button.toggled.hover.image.color: #98C379 + +#-- Inactive windows ----------------------------------------------- +window.inactive.title.bg: Flat Solid +window.inactive.title.bg.color: #1E2128 +window.inactive.label.bg: Parentrelative +window.inactive.label.text.color: #5a6477 +window.inactive.handle.bg: Flat Solid +window.inactive.handle.bg.color: #1E2128 +window.inactive.grip.bg: Flat Solid +window.inactive.grip.bg.color: #1E2128 +window.inactive.button.unpressed.bg: Flat Solid +window.inactive.button.unpressed.bg.color: #1E2128 +window.inactive.button.unpressed.image.color: #5a6477 +window.inactive.button.pressed.bg: Flat Solid +window.inactive.button.pressed.bg.color: #1E2128 +window.inactive.button.pressed.image.color: #62AEEF +window.inactive.button.disabled.bg: Flat Solid +window.inactive.button.disabled.bg.color: #1E2128 +window.inactive.button.disabled.image.color: #292d37 +window.inactive.button.hover.bg: Flat Solid +window.inactive.button.hover.bg.color: #1E2128 +window.inactive.button.hover.image.color: #98C379 +window.inactive.button.toggled.unpressed.bg: Flat Solid +window.inactive.button.toggled.unpressed.bg.color: #1E2128 +window.inactive.button.toggled.unpressed.image.color: #5a6477 +window.inactive.button.toggled.pressed.bg: Flat Solid +window.inactive.button.toggled.pressed.bg.color: #1E2128 +window.inactive.button.toggled.pressed.image.color: #62AEEF +window.inactive.button.toggled.hover.bg: Flat Solid +window.inactive.button.toggled.hover.bg.color: #1E2128 +window.inactive.button.toggled.hover.image.color: #98C379 + +#-- Close Button ------------------------------------------------- +window.active.button.close.pressed.image.color: #E06B74 +window.active.button.close.hover.image.color: #E06B74 +window.inactive.button.close.pressed.image.color: #E06B74 +window.inactive.button.close.hover.image.color: #E06B74 + +#-- Menu --------------------------------------------------------- +menu.title.bg: Flat Solid +menu.title.bg.color: #292d37 +menu.title.text.color: #ABB2BF +menu.items.bg: Flat Solid +menu.items.bg.color: #1E2128 +menu.items.text.color: #ABB2BF +menu.items.disabled.text.color: #5a6477 +menu.items.active.bg: Flat Solid +menu.items.active.bg.color: #62AEEF +menu.items.active.text.color: #1E2128 +menu.items.active.disabled.text.color: #ABB2BF +menu.separator.color: #1E2128 +menu.border.color: #1E2128 + +#-- OSD Settings ------------------------------------------------- + +osd.bg: Flat Solid +osd.bg.color: #1E2128 +osd.label.text.color: #ABB2BF +osd.border.color: #292d37 + +osd.active.label.bg: Flat Solid +osd.active.label.bg.color: #1E2128 +osd.active.label.text.color: #62AEEF +osd.inactive.label.bg: Flat Solid +osd.inactive.label.bg.color: #1E2128 +osd.inactive.label.text.color: #ABB2BF + +osd.hilight.bg: Flat Solid +osd.hilight.bg.color: #62AEEF +osd.unhilight.bg: Flat Solid +osd.unhilight.bg.color: #1E2128 diff --git a/files/obmenu-generator/config.pl b/files/obmenu-generator/config.pl new file mode 100644 index 0000000..3338402 --- /dev/null +++ b/files/obmenu-generator/config.pl @@ -0,0 +1,82 @@ +#!/usr/bin/perl + +## Copyright (C) 2020-2023 Aditya Shakya + +# obmenu-generator - configuration file +# This file will be updated automatically. +# Any additional comment and/or indentation will be lost. + +=for comment + +|| FILTERING + | skip_filename_re : Skip a .desktop file if its name matches the regex. + Name is from the last slash to the end. (e.g.: name.desktop) + Example: qr/^(?:gimp|xterm)\b/, # skips 'gimp' and 'xterm' + + | skip_entry : Skip a desktop file if the value from a given key matches the regex. + Example: [ + {key => 'Name', re => qr/(?:about|terminal)/i}, + {key => 'Exec', re => qr/^xterm/}, + {key => 'OnlyShowIn', re => qr/XFCE/}, + ], + + | substitutions : Substitute, by using a regex, in the values from the desktop files. + Example: [ + {key => 'Exec', re => qr/xterm/, value => 'tilix', global => 1}, + ], + +|| ICON SETTINGS + | use_gtk3 : Use the Gtk3 library for resolving the icon paths. (default: 0) + | gtk_rc_filename : Absolute path to the GTK configuration file. + | missing_icon : Use this icon for missing icons (default: gtk-missing-image) + | icon_size : Preferred size for icons. (default: 48) + | generic_fallback : Try to shorten icon name at '-' characters before looking at inherited themes. (default: 0) + | force_icon_size : Always get the icon scaled to the requested size. (default: 0) + +|| PATHS + | desktop_files_paths : Absolute paths which contain .desktop files. + Example: [ + '/usr/share/applications', + "$ENV{HOME}/.local/share/applications", + glob("$ENV{HOME}/.local/share/applications/wine/Programs/*"), + ], + +|| NOTES + | Regular expressions: + * use qr/.../ instead of '...' + * use qr/.../i for case insensitive mode + +=cut + +our $CONFIG = { + "editor" => "geany", + "force_icon_size" => 0, + "generic_fallback" => 0, + "gtk_rc_filename" => "$ENV{HOME}/.gtkrc-2.0", + "icon_size" => 48, + "Linux::DesktopFiles" => { + desktop_files_paths => [ + "/usr/share/applications", + "/usr/local/share/applications", + "/usr/share/applications/kde4", + ], + gtk_rc_filename => "~/.gtkrc-2.0", + icon_dirs_first => undef, + icon_dirs_last => undef, + icon_dirs_second => undef, + keep_unknown_categories => 1, + skip_entry => undef, + skip_filename_re => undef, + skip_svg_icons => 0, + strict_icon_dirs => undef, + substitutions => undef, + terminalization_format => "%s -e '%s'", + terminalize => 1, + unknown_category_key => "other", + }, + "locale_support" => 1, + "missing_icon" => "gtk-missing-image", + "terminal" => "alacritty", + "use_gtk3" => 0, + "VERSION" => 0.89, +} diff --git a/files/obmenu-generator/schema.pl b/files/obmenu-generator/schema.pl new file mode 100644 index 0000000..1183d79 --- /dev/null +++ b/files/obmenu-generator/schema.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl + +## Copyright (C) 2020-2023 Aditya Shakya + +# obmenu-generator - schema file + +require "$ENV{HOME}/.config/obmenu-generator/config.pl"; + +our $SCHEMA = [ + + {sep => 'Applications'}, + # NAME LABEL ICON + {cat => ['utility', 'Accessories', 'applications-utilities']}, + {cat => ['development', 'Development', 'applications-development']}, + {cat => ['education', 'Education', 'applications-science']}, + {cat => ['game', 'Games', 'applications-games']}, + {cat => ['graphics', 'Graphics', 'applications-graphics']}, + {cat => ['audiovideo', 'Multimedia', 'applications-multimedia']}, + {cat => ['network', 'Network', 'applications-internet']}, + {cat => ['office', 'Office', 'applications-office']}, + {cat => ['other', 'Other', 'applications-other']}, + {cat => ['settings', 'Settings', 'gnome-settings']}, + {cat => ['system', 'System', 'applications-system']}, + + #{sep}, + #{cat => ['qt', 'QT Applications', 'qt4logo']}, + #{cat => ['gtk', 'GTK Applications', 'gnome-applications']}, + #{cat => ['x_xfce', 'XFCE Applications', 'applications-other']}, + #{cat => ['gnome', 'GNOME Applications', 'gnome-applications']}, + #{cat => ['consoleonly', 'CLI Applications', 'applications-utilities']}, +] diff --git a/files/pipemenus/ac-asroot b/files/pipemenus/ac-asroot new file mode 100755 index 0000000..bc81951 --- /dev/null +++ b/files/pipemenus/ac-asroot @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu to open applications as root + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +# cmd +root_cmd="$HOME/.config/openbox/scripts/ob-asroot" + +# menu +menuStart + menuItem 'Terminal (alacritty)' "$root_cmd 'alacritty'" + menuItem 'File Manager (thunar)' "$root_cmd 'dbus-run-session thunar'" + menuItem 'Text Editor (geany)' "$root_cmd 'geany'" + menuSeparator + menuItem 'File Manager CLI (ranger)' "$root_cmd 'alacritty -e ranger'" + menuItem 'Text Editor CLI (vim)' "$root_cmd 'alacritty -e vim'" + menuSeparator + menuItem 'QT5 Settings' "$root_cmd 'qt5ct'" + menuItem 'kvantum Manager' "$root_cmd 'kvantummanager'" +menuEnd diff --git a/files/pipemenus/ac-change-fonts b/files/pipemenus/ac-change-fonts new file mode 100755 index 0000000..d7b7409 --- /dev/null +++ b/files/pipemenus/ac-change-fonts @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu to change fonts for various applications + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +# Theme +themedir="$HOME/.config/openbox/themes" +ctheme="`cat $themedir/.current`" + +# Dir +confdir="$HOME/.config" +termdir="$confdir/alacritty" +dunstdir="$confdir/dunst" +oboxdir="$confdir/openbox" +polydir="$themedir/$ctheme/polybar" +rofidir="$themedir/$ctheme/rofi" + +# Font +getfonts () { + FONT=$(yad --title='Select A Font' --font --separate-output --button=Cancel:1 --button=Select:0) + FNAME=$(echo $FONT | cut -d'|' -f1) + FSTYLE=$(echo $FONT | cut -d'|' -f2) + FSIZE=$(echo $FONT | cut -d'|' -f3) +} + +font_bar () { + if [[ "$FONT" ]]; then + sed -i -e "s/font-0 = .*/font-0 = $FNAME:$FSTYLE:size=$FSIZE;2/g" ${polydir}/config.ini + polybar-msg cmd restart + else + exit 0 + fi +} + +font_rofi () { + if [[ "$FONT" ]]; then + sed -i -e "s/font:.*/font: \"$FNAME $FSTYLE $FSIZE\";/g" ${rofidir}/shared/fonts.rasi + else + exit 0 + fi +} + +font_term () { + if [[ "$FONT" ]]; then + sed -i -e "s/family: .*/family: \"$FNAME\"/g" ${termdir}/fonts.yml + sed -i -e "s/size: .*/size: $FSIZE/g" ${termdir}/fonts.yml + else + exit 0 + fi +} + +font_ob () { + if [[ "$FONT" ]]; then + namespace="http://openbox.org/3.4/rc" + config="$oboxdir/rc.xml" + + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:name' -v "$FNAME" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:size' -v "$FSIZE" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:weight' -v Bold "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:slant' -v Normal "$config" + + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:name' -v "$FNAME" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:size' -v "$FSIZE" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:weight' -v Normal "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:slant' -v Normal "$config" + + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuHeader"]/a:name' -v "$FNAME" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuHeader"]/a:size' -v "$FSIZE" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuHeader"]/a:weight' -v Bold "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuHeader"]/a:slant' -v Normal "$config" + + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuItem"]/a:name' -v "$FNAME" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuItem"]/a:size' -v "$FSIZE" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuItem"]/a:weight' -v Normal "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="MenuItem"]/a:slant' -v Normal "$config" + + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveOnScreenDisplay"]/a:name' -v "$FNAME" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveOnScreenDisplay"]/a:size' -v "$FSIZE" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveOnScreenDisplay"]/a:weight' -v Bold "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveOnScreenDisplay"]/a:slant' -v Normal "$config" + + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveOnScreenDisplay"]/a:name' -v "$FNAME" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveOnScreenDisplay"]/a:size' -v "$FSIZE" "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveOnScreenDisplay"]/a:weight' -v Normal "$config" + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveOnScreenDisplay"]/a:slant' -v Normal "$config" + + openbox --reconfigure + else + exit 0 + fi +} + +font_dunst () { + if [[ "$FONT" ]]; then + sed -i -e "s/font = .*/font = $FNAME $FSTYLE $FSIZE/g" ${dunstdir}/dunstrc + pkill dunst && dunst & + else + exit 0 + fi +} + +font_gtk () { + if [[ "$FONT" ]]; then + xfconf-query -c xsettings -p /Gtk/FontName -s "$FNAME $FSTYLE $FSIZE" + else + exit 0 + fi +} + +if [[ "$1" == "--bar" ]]; then + getfonts + font_bar + +elif [[ "$1" == "--rofi" ]]; then + getfonts + font_rofi + +elif [[ "$1" == "--terminal" ]]; then + getfonts + font_term + +elif [[ "$1" == "--openbox" ]]; then + getfonts + font_ob + +elif [[ "$1" == "--dunst" ]]; then + getfonts + font_dunst + +elif [[ "$1" == "--gtk" ]]; then + getfonts + font_gtk + +elif [[ "$1" == "--all" ]]; then + getfonts + font_bar + font_rofi + font_term + font_ob + font_dunst + font_gtk + +else + menuStart + menuItem 'Status Bar (polybar)' "$0 --bar" + menuItem 'Launchers (rofi)' "$0 --rofi" + menuItem 'Terminal (alacritty)' "$0 --terminal" + menuItem 'Desktop (openbox)' "$0 --openbox" + menuItem 'Notifications (dunst)' "$0 --dunst" + menuItem 'Applications (gtk)' "$0 --gtk" + menuSeparator + menuItem 'Change Globally' "$0 --all" + menuEnd +fi + +exit 0 diff --git a/files/pipemenus/ac-change-scheme b/files/pipemenus/ac-change-scheme new file mode 100755 index 0000000..c0ad896 --- /dev/null +++ b/files/pipemenus/ac-change-scheme @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu to change alacritty terminal color scheme + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +# Dir +dir="$HOME/.config/alacritty" + +# Schemes +schemes=($(ls -p $dir/colorschemes)) + +# Main +main () { + local count=1 + + menuStart + for scheme in "${schemes[@]}"; do + menuItem "${count}. ${scheme%.*}" "$0 ${scheme}" + count=$(($count+1)) + done + menuEnd + + for scheme in "${schemes[@]}"; do + if [[ "$1" == "$scheme" ]]; then + cat "$dir"/colorschemes/"$1" > "$dir"/colors.yml + fi + done +} + +main "$1" diff --git a/files/pipemenus/ac-change-style b/files/pipemenus/ac-change-style new file mode 100755 index 0000000..64048f2 --- /dev/null +++ b/files/pipemenus/ac-change-style @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu to change openbox themes + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +# Dir +DIR="$HOME/.config/openbox/themes" +CTHEME="`cat $DIR/.current`" + +# Themes +THEMES=(`cd $DIR && ls -d */ | cut -d '/' -f1`) + +# Generate menu +gen_menu () { + local COUNT=1 + + menuStart + menuSeparator "⁌ Themes (`echo ${#THEMES[@]}`) ⁍" + + # Random Colors (pywal) + if [[ -e "$DIR/$CTHEME/random.sh" ]]; then + menuSubmenu "current_theme" "0. Current" + menuSeparator "${CTHEME^}" + menuItem "✤ Change Colors" "bash $DIR/$CTHEME/random.sh" + menuSubmenuEnd + menuSeparator + fi + + # In-built Themes + for THEME in "${THEMES[@]}"; do + menuItem "${COUNT}. ${THEME^}" "bash $DIR/$THEME/apply.sh" + COUNT=$(($COUNT+1)) + done + menuEnd +} + +{ gen_menu; exit 0; } diff --git a/files/pipemenus/ac-compositor b/files/pipemenus/ac-compositor new file mode 100755 index 0000000..83d382e --- /dev/null +++ b/files/pipemenus/ac-compositor @@ -0,0 +1,266 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu For Picom Compositor + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +# User's config dir +dir="$HOME/.config" + +readonly EXECXCOMP='picom' +readonly RESTART_ATTEMPTS=20 +readonly HELP=' +ac-compositor an openbox pipe menu for use with picom +It should normally be called from an openbox menu. + +Options (passed from the menu): + -h --help show this message + --start start the compositor and restart tint2, if running + --restart restart the compositor, if running + --stop stop the compositor + --edit open the picom config file in a text editor + --watch restart picom when the config is modified (useful for debugging) + +If ac-compositor is called with no options (the usual method), +it will output an xml openbox pipemenu for handling compositing. + +See ~/.config/picom.conf and "man picom" for configuration options.' + +for i in "$@"; do + case "$i" in + -h|--help) echo "$HELP" ; exit 0 + esac +done + +declareDependencies picom + +##-- various checks --------------------- +check_backend=$(cat $dir/picom.conf | grep 'backend = ' | head -n1 | cut -d'=' -f2 | tr -d ';,[:blank:],"') +check_corners=$(cat $dir/picom.conf | grep 'corner-radius =' | cut -d'=' -f2 | tr -d ';,[:blank:]') +check_border=$(cat $dir/picom.conf | grep 'round-borders =' | cut -d'=' -f2 | tr -d ';,[:blank:]') +check_shadow=$(cat $dir/picom.conf | grep 'shadow =' | head -n1 | cut -d'=' -f2 | tr -d ';,[:blank:]') +check_fading=$(cat $dir/picom.conf | grep 'fading =' | head -n1 | cut -d'=' -f2 | tr -d ';,[:blank:]') +check_blur=$(cat $dir/picom.conf | grep 'method =' | head -n1 | cut -d'=' -f2 | tr -d ';,[:blank:],"') + +## Kill picom +forcekill_picom() { + killall -q picom + for ((i=0; i/dev/null; then + exo-open "$HOME/.config/picom.conf" + else + geany "$HOME/.config/picom.conf" + fi + +elif [[ $1 = '--start' ]]; then + if ! [[ $(pidof picom) ]]; then + $EXECXCOMP + else + echo "$0 --start: picom already running" && exit 1 + fi + +elif [[ $1 = '--stop' ]]; then + forcekill_picom + +elif [[ $1 = '--restart' ]]; then + if [[ $(pidof picom) ]]; then + forcekill_picom + "$0" --start + else # nothing to restart + echo "$0 --restart: picom is not running" && exit 1 + fi + +elif [[ $1 = '--watch' ]]; then + while inotifywait -e close_write "$HOME/.config/picom.conf"; do + "$0" --restart + done + +##-- backend ------------------ + +elif [[ $1 = '--use-glx' ]]; then + sed -i -e "s/backend = .*/backend = \"glx\";/g" $dir/picom.conf + +elif [[ $1 = '--use-xrender' ]]; then + sed -i -e "s/backend = .*/backend = \"xrender\";/g" $dir/picom.conf + +##-- corners --------------------- + +elif [[ $1 = '--corner-radius' ]]; then + cradius=$(yad --borders=10 --width='300' --title='Corner Radius' --button=Cancel:1 --button=Okay:0 --scale --value=6 --min-value=0 --max-value=40) + if [[ "$cradius" ]]; then + sed -i -e "s/backend = .*/backend = \"glx\";/g" $dir/picom.conf + sed -i -e "s/corner-radius = .*/corner-radius = $cradius;/g" $dir/picom.conf + fi + +elif [[ $1 = '--disable-corners' ]]; then + sed -i -e "s/corner-radius = .*/corner-radius = 0;/g" $dir/picom.conf + +##-- borders --------------------- + +elif [[ $1 = '--border-size' ]]; then + cborder=$(yad --borders=10 --width='300' --title='Border Size' --button=Cancel:1 --button=Okay:0 --scale --value=4 --min-value=0 --max-value=100) + if [[ "$cborder" ]]; then + sed -i -e "s/round-borders = .*/round-borders = $cborder;/g" $dir/picom.conf + fi + +elif [[ $1 = '--disable-borders' ]]; then + sed -i -e "s/round-borders = .*/round-borders = 0;/g" $dir/picom.conf + +##-- shadows --------------------- + +elif [[ $1 = '--update-shadows' ]]; then + get_shadows=$(yad --borders=10 --width='350' --height='200' --title='Client Shadows' --button=Cancel:1 --button=Okay:0 --form --field="Radius:NUM" 14\!0..50\!1 --field="Opacity:NUM" 0.30\!0..1\!0.1\!2 --field="X-Offset:NUM" 12\!-30..30\!1 --field="Y-Offset:NUM" 12\!-30..30\!1) + shadow_r=$(echo $get_shadows | cut -d'|' -f1) + shadow_o=$(echo $get_shadows | cut -d'|' -f2) + shadow_x=$(echo $get_shadows | cut -d'|' -f3) + shadow_y=$(echo $get_shadows | cut -d'|' -f4) + if [[ "$get_shadows" ]]; then + sed -i -e "s/shadow-radius = .*/shadow-radius = $shadow_r;/g" $dir/picom.conf + sed -i -e "s/shadow-opacity = .*/shadow-opacity = $shadow_o;/g" $dir/picom.conf + sed -i -e "s/shadow-offset-x = .*/shadow-offset-x = $shadow_x;/g" $dir/picom.conf + sed -i -e "s/shadow-offset-y = .*/shadow-offset-y = $shadow_y;/g" $dir/picom.conf + fi + +elif [[ $1 = '--disable-shadows' ]]; then + sed -i -e "s/shadow = .*/shadow = false;/g" $dir/picom.conf + +elif [[ $1 = '--enable-shadows' ]]; then + sed -i -e "s/shadow = .*/shadow = true;/g" $dir/picom.conf + +elif [[ $1 = '--reset-shadows' ]]; then + sed -i -e "s/shadow-radius = .*/shadow-radius = 14;/g" $dir/picom.conf + sed -i -e "s/shadow-opacity = .*/shadow-opacity = 0.35;/g" $dir/picom.conf + sed -i -e "s/shadow-offset-x = .*/shadow-offset-x = -12;/g" $dir/picom.conf + sed -i -e "s/shadow-offset-y = .*/shadow-offset-y = -12;/g" $dir/picom.conf + +##-- fading --------------------- + +elif [[ $1 = '--update-fading' ]]; then + get_fading=$(yad --borders=10 --width='350' --height='160' --title='Fading' --button=Cancel:1 --button=Okay:0 --form --field="Fade-in-step:NUM" 0.03\!0.01..1\!0.01\!2 --field="Fade-out-step:NUM" 0.03\!0.01..1\!0.01\!2 --field="Fade-delta:NUM" 5\!0..10\!1) + fading_in=$(echo $get_fading | cut -d'|' -f1) + fading_out=$(echo $get_fading | cut -d'|' -f2) + fading_delta=$(echo $get_fading | cut -d'|' -f3) + if [[ "$get_fading" ]]; then + sed -i -e "s/fade-in-step = .*/fade-in-step = $fading_in;/g" $dir/picom.conf + sed -i -e "s/fade-out-step = .*/fade-out-step = $fading_out;/g" $dir/picom.conf + sed -i -e "s/fade-delta = .*/fade-delta = $fading_delta;/g" $dir/picom.conf + fi + +elif [[ $1 = '--disable-fading' ]]; then + sed -i -e "s/fading = .*/fading = false;/g" $dir/picom.conf + +elif [[ $1 = '--enable-fading' ]]; then + sed -i -e "s/fading = .*/fading = true;/g" $dir/picom.conf + +elif [[ $1 = '--reset-fading' ]]; then + sed -i -e "s/fade-in-step = .*/fade-in-step = 0.03;/g" $dir/picom.conf + sed -i -e "s/fade-out-step = .*/fade-out-step = 0.03;/g" $dir/picom.conf + sed -i -e "s/fade-delta = .*/fade-delta = 5;/g" $dir/picom.conf + +##-- blur --------------------- + +elif [[ $1 = '--enable-blur' ]]; then + sed -i -e "s/backend = .*/backend = \"glx\";/g" $dir/picom.conf + sed -i -e "s/method = .*/method = \"dual_kawase\";/g" $dir/picom.conf + sed -i -e "s/strength = .*/strength = 7;/g" $dir/picom.conf + +elif [[ $1 = '--disable-blur' ]]; then + sed -i -e "s/method = .*/method = \"none\";/g" $dir/picom.conf + sed -i -e "s/strength = .*/strength = 0;/g" $dir/picom.conf + +elif [[ $1 = '--update-blur' ]]; then + bstrength=$(yad --borders=10 --width='300' --title='Blur Strength' --button=Cancel:1 --button=Okay:0 --scale --value=7 --min-value=1 --max-value=20) + if [[ "$bstrength" ]]; then + sed -i -e "s/strength = .*/strength = $bstrength;/g" $dir/picom.conf + fi + +##-- menu --------------------- + +else + menuStart + if ! [[ $(pidof picom) ]]; then + menuItem 'Enable Compositor' "$0 --start" + else + menuSeparator 'Current Compositor' + if [[ `pacman -Q picom-jonaburg-git` ]]; then + menuItem "Jonaburg's fork of picom" "echo" + elif [[ `pacman -Q picom-ibhagwan-git` ]]; then + menuItem "ibhagwan's fork of picom" "echo" + elif [[ `pacman -Q picom` ]]; then + menuItem "Original picom from Arch Repo" "echo" + fi + menuSeparator 'Backend' + if [[ "$check_backend" != "glx" ]]; then + menuItem "Use 'glx' backend" "$0 --use-glx" + else + menuItem "Use 'xrender' backend" "$0 --use-xrender" + fi + menuSeparator 'Corners' + if [[ "$check_corners" != "0" ]]; then + menuItem 'Change Corner Radius' "$0 --corner-radius" + menuItem 'Disable Rounded Corners' "$0 --disable-corners" + else + menuItem 'Enable Rounded Corners' "$0 --corner-radius" + fi + if [[ `pacman -Q picom-jonaburg-git` || `pacman -Q picom-ibhagwan-git` ]]; then + menuSeparator 'Border' + if [[ "$check_border" != "0" ]]; then + menuItem 'Change Border Size' "$0 --border-size" + menuItem 'Disable Borders' "$0 --disable-borders" + else + menuItem 'Enable Borders' "$0 --border-size" + fi + fi + menuSeparator 'Shadow' + if [[ "$check_shadow" == "true" ]]; then + menuItem 'Modify Shadow Settings' "$0 --update-shadows" + menuItem 'Reset Shadow Settings' "$0 --reset-shadows" + menuItem 'Disable Client Shadows' "$0 --disable-shadows" + else + menuItem 'Enable Client Shadows' "$0 --enable-shadows" + fi + menuSeparator 'Fading' + if [[ "$check_fading" == "true" ]]; then + menuItem 'Modify Fading Settings' "$0 --update-fading" + menuItem 'Reset Fading Settings' "$0 --reset-fading" + menuItem 'Disable Fading' "$0 --disable-fading" + else + menuItem 'Enable Fading' "$0 --enable-fading" + fi + if [[ `pacman -Q picom-jonaburg-git` || `pacman -Q picom-ibhagwan-git` ]]; then + menuSeparator 'Blur' + if [[ "$check_blur" != "dual_kawase" ]]; then + menuItem 'Enable Blur Effect' "$0 --enable-blur" + else + menuItem 'Set Blur Strength' "$0 --update-blur" + menuItem 'Disable Blur Effect' "$0 --disable-blur" + fi + fi + menuSeparator 'Settings' + menuItem 'Restart Compositor' "$0 --restart" + menuItem 'Disable Compositor' "$0 --stop" + fi + menuSeparator + menuItem 'Edit Configuration File' "$0 --edit" + menuEnd +fi + +exit 0 diff --git a/files/pipemenus/ac-kb b/files/pipemenus/ac-kb new file mode 100755 index 0000000..465e597 --- /dev/null +++ b/files/pipemenus/ac-kb @@ -0,0 +1,141 @@ +#!/usr/bin/env python + +## Copyright (C) 2020-2023 Aditya Shakya + +# ac-kb: a script to read openbox's rc.xml and write out the keybinds +# Copyright (C) 2010 wlourf +# Copyright (C) 2015 damo + +import sys +import os +import datetime +import argparse + +try: + from lxml import etree +except ImportError: + import xml.etree.ElementTree as etree + +# path and name of the rc.xml and saved keybinds files +rc_fpath = os.environ["HOME"] + "/.config/openbox/rc.xml" +kb_fpath = os.environ["HOME"] + "/.config/openbox/kbinds.txt" +arrShortcut = [] +gui = False + +def cmdargs(): + """get command arguments""" + if len(sys.argv) > 1: + if sys.argv[1] == "--gui": + gui = True + return gui + else: + msg = "\n\n\tUSAGE: to display keybinds in a text window use 'al-kb --gui'\n\n" + msg += "\tRunning the script without args will send output to the terminal\n\n" + print(msg) + sys.exit() + +def keyboard(): + """read keyboard shorcuts""" + # Parse xml + strRoot = "{http://openbox.org/3.4/rc}" + tree = etree.parse(rc_fpath) + root = tree.getroot() + + for k in root.findall(strRoot+"keyboard/" + strRoot + "keybind"): + key = k.get("key") + action_element = k.find(strRoot+"action") + strTxt = "" + strType = "o " # flag for pipemenu: Openbox window command + if action_element != None: + arrShortcut.append((key, "", "")) + if action_element.get("name") == "Execute": + name_element = action_element.find(strRoot + "name") + command_element = action_element.find(strRoot + "command") + exec_element = action_element.find(strRoot + "execute") + strType = "x " # flag for pipemenu: Run command + + if name_element != None: + strTxt = name_element.text + elif command_element != None: + strTxt = command_element.text + elif exec_element != None: + strTxt = exec_element.text + elif action_element.get("name") == "ShowMenu": + menu_element = action_element.find(strRoot + "menu") + if menu_element != None: + strTxt = menu_element.text + else: + action_name = action_element.get("name") + if action_name != None: + strTxt = action_name + arrShortcut[len(arrShortcut) - 1] = (strType, key, strTxt) + +def output_keybinds(arrShortcut, gui): + """loop through array, and format output then write to file""" + for i in range(0, len(arrShortcut)): + exe = str(arrShortcut[i][0]) + keybinding = str(arrShortcut[i][1]) + execute = str(arrShortcut[i][2]) + if gui: #format output for text window + if len(execute) > 80: + execute = execute[:70] + "....." + if len(keybinding) > 15: + line = "{:2}".format(i) + "\t" + "{:<16}".format(keybinding) + "\t" + execute + elif len(keybinding) >= 10: + line = "{:2}".format(i) + "\t" + "{:<15}".format(keybinding) + "\t\t\t" + execute + elif len(keybinding) >= 8: + line = "{:2}".format(i) + "\t" + "{:<14}".format(keybinding) + "\t\t\t\t" + execute + else: + line = "{:2}".format(i) + "\t" + "{:<14}".format(keybinding) + "\t\t\t\t" + execute + else: #format text for pipemenu + line = exe + "{:<16}".format(keybinding) + "\t" + execute + print(line) + write_file(line) + +def check_rcfile(fpath, mode): + """Check if rc.xml exists, and is accessible""" + try: + f = open(fpath, mode) + except IOError as e: + return False + return True + +def write_file(line): + """Text file to store keybinds""" + f = open(kb_fpath, 'a') + f.write(line + "\n") + f.close() + +def check_txtfile(kb_fpath): + """Create Text file to store keybinds""" + try: + f = open(kb_fpath, 'w') + except IOError as e: + return False + return True + +if __name__ == "__main__": + + ap = argparse.ArgumentParser(description = "Display keybinds") + ap.add_argument("-g", "--gui", help = "display keybinds in a text window", action = "store_true") + opts = ap.parse_args(sys.argv[1:]) + gui = opts.gui + check_txtfile(kb_fpath) + if gui: # output formatted keybinds text in text window + write_file(str(datetime.date.today()) + "\trc.xml KEYBINDS") + write_file("-------------------------------\n") + + if check_rcfile(rc_fpath, "r"): + keyboard() + output_keybinds(arrShortcut, gui) + else: + MSG = "\nCan't open rc.xml for parsing\n\ + Check the filepath given: " + rc_fpath + "\n" + print(MSG) + sys.exit(1) + + if gui: # output formatted keybinds text in text window + DLG = "yad --button=Exit:1 --text-info --title='Openbox Keybinds' " + DLG += "--filename=$HOME/.config/openbox/kbinds.txt " + DLG += "--width=750 --height=600 " + os.system(DLG) diff --git a/files/pipemenus/ac-kb-pipemenu b/files/pipemenus/ac-kb-pipemenu new file mode 100755 index 0000000..ce58dae --- /dev/null +++ b/files/pipemenus/ac-kb-pipemenu @@ -0,0 +1,85 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu for displaying keybinds + +readonly KBSCRIPTDIR="/usr/share/archcraft/openbox/pipemenus" +readonly KBSCRIPT="$KBSCRIPTDIR/ac-kb" +readonly CFG_DIR="$HOME/.config/openbox" +readonly RCPATH="$CFG_DIR/rc.xml" +readonly KBTEXT="$CFG_DIR/kbinds.txt" +readonly HELP='\tal-kb-pipemenu an Openbox Pipe Menu for displaying keybinds +\tIt should normally be called from an openbox menu. +\nOptions (usually passed from the menu): +\t-h --help show this message +\t--keybinds display keybindings defined in rc.xml as a menu +\t(The keybinds in the menu are clickable, except for the Openbox +\tcommands, which just exit the menu.) +\t--rcedit backup and edit rc.xml +\nIf al-keyboard-pipemenu is called with no options (the usual method), +it will output an xml openbox pipemenu for displaying keybindings. +\tNOTE: Some of the functionality of this pipemenu depends on the script +/usr/bin/al-kb which is provided by the package "archlabs-utilities"' + +case "$@" in + -h|--help) echo -e "$HELP" ; exit 0 +esac + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +if ! type "$KBSCRIPT" &>/dev/null; then + menuStart + menuSeparator "$KBSCRIPT is not available. Try installing archlabs-pipemenus." + menuEnd + exit 1 +fi + +if [[ $1 = '--rcedit' ]]; then + NOW=$(date +"%Y%m%d-%H%M") + RCBKP="$RCPATH.$NOW" + cp "$RCPATH" "$RCBKP" + if hash exo-open &>/dev/null; then + exo-open "$RCPATH" + else + geany "$RCPATH" + fi + exit 0 +fi + +if [[ $1 = '--keybinds' ]]; then + "$KBSCRIPT" > /dev/null + menuStart + menuSeparator "Openbox window commands" + while read -r a b c; do + if [[ "$a" = "o" ]]; then + curItem=$(printf "%-20s %s" "$b" "$c") + menuItem "$curItem" "echo >/dev/null 2>&1" + fi + done < "$KBTEXT" + + menuSeparator + menuSeparator "Run commands" + while read -r a b c; do + if [[ "$a" = "x" ]]; then + curItem=$(printf "%-20s %s" "$b" "$c") + menuItem "$curItem" "$c" + fi + done < "$KBTEXT" + menuEnd + exit 0 +fi + +menuStart + menuItem "Backup and Edit rc.xml" "$KBSCRIPTDIR/ac-kb-pipemenu --rcedit" + menuSeparator + menuItem "Display Keybinds in window" "$KBSCRIPTDIR/ac-kb --gui" + echo ' ' +menuEnd + +exit 0 diff --git a/files/pipemenus/ac-ob-menu b/files/pipemenus/ac-ob-menu new file mode 100755 index 0000000..ef8c6fd --- /dev/null +++ b/files/pipemenus/ac-ob-menu @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu to change openbox menu style + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +config="$HOME/.config/openbox/rc.xml" +namespace="http://openbox.org/3.4/rc" + +# Change menu file & reload OB +ob_menu() { + xmlstarlet ed -L -N a="$namespace" -u '/a:openbox_config/a:menu/a:file' -v "$1" "$config" + openbox --reconfigure +} + +if [[ "$1" ]]; then + ob_menu "$1" +fi + +menuStart +menuItem 'Simple' "$0 menu-simple.xml" +menuItem 'Iconic' "$0 menu-icons.xml" +menuItem 'Glyphs' "$0 menu-glyphs.xml" +menuItem 'Minimal' "$0 menu-minimal.xml" +menuEnd diff --git a/files/pipemenus/ac-panel b/files/pipemenus/ac-panel new file mode 100755 index 0000000..de4f780 --- /dev/null +++ b/files/pipemenus/ac-panel @@ -0,0 +1,86 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu to change panel/bar + +# Variables and functions +MENUS_LIBDIR='/usr/share/archcraft/openbox/menulib' +if ! . "$MENUS_LIBDIR/archcraft.cfg" 2> /dev/null; then + echo "Error: Failed to locate archcraft.cfg in $MENUS_LIBDIR" >&2 + exit 1 +fi + +# Dir and Files +DIR="$HOME/.config/openbox/themes" +CPANEL="$DIR/.panel" + +# Create file if it doesn't exist +create_file () { + if [[ ! -e "$CPANEL" ]]; then + touch ${CPANEL} + fi +} +create_file + +# Check which bar is running +check_bar () { + if [[ `pidof polybar` && `pidof tint2` ]]; then + BAR='Both' + elif [[ `pidof polybar` ]]; then + BAR='Polybar' + elif [[ `pidof tint2` ]]; then + BAR='Tint2' + else + BAR='None' + fi +} +check_bar + +# Change bar/panel +change_bar () { + if [[ "$1" == 'tint2' ]]; then + pkill polybar + sleep 1 + bash "$DIR"/tint2.sh + echo 'tint2' > ${CPANEL} + elif [[ "$1" == 'polybar' ]]; then + pkill tint2 + bash "$DIR"/polybar.sh + echo 'polybar' > ${CPANEL} + fi +} + +# Execute accordingly +if [[ "$1" == '--polybar' ]]; then + change_bar 'polybar' +elif [[ "$1" == '--tint2' ]]; then + change_bar 'tint2' +elif [[ "$1" == '--pb' ]]; then + bash "$DIR"/polybar.sh +elif [[ "$1" == '--t2' ]]; then + bash "$DIR"/tint2.sh +fi + +# Generate menu +gen_menu () { + menuStart + menuSeparator "Current Bar : $BAR" + + # Change/Set Panel + if [[ "$BAR" = 'Polybar' ]]; then + menuItem "Use Tint2 as your panel/taskbar" "$0 --tint2" + elif [[ "$BAR" = 'Tint2' ]]; then + menuItem "Use Polybar as your statusbar" "$0 --polybar" + elif [[ "$BAR" = 'None' ]]; then + menuItem "Launch Polybar" "$0 --pb" + menuItem "Launch Tint2" "$0 --t2" + elif [[ "$BAR" = 'Both' ]]; then + menuItem "Kill Polybar" "pkill polybar" + menuItem "Kill Tint2" "pkill tint2" + fi + + menuEnd +} + +{ gen_menu; exit 0; } diff --git a/files/pipemenus/ac-places b/files/pipemenus/ac-places new file mode 100755 index 0000000..b450c50 --- /dev/null +++ b/files/pipemenus/ac-places @@ -0,0 +1,150 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Openbox Pipemenu for places + +readonly terminal=alacritty +readonly text_editor=geany +readonly open_folder_cmd=thunar +readonly default_open_cmd=exo-open +readonly recent_script=/usr/share/archcraft/openbox/pipemenus/ac-recent-files + +open_file() { + if hash "$default_open_cmd" &>/dev/null; then + exec "$default_open_cmd" "$1" + elif hash $text_editor &>/dev/null; then + exec "$text_editor" "$1" + elif hash $terminal &>/dev/null; then + ($terminal -e "$EDITOR $1") &>/dev/null & + else + echo "$0 : failed to open $2" ; exit 1 + fi +} + +readonly shown_dotfiles=".config .gitconfig .icons .local .mpd .ncmpcpp .oh-my-zsh .themes .vim .vimrc .bashrc .zshrc .xinitrc .xprofile .xsessionrc" +readonly HELP=' +al-places-pipemenu an Openbox Pipe Menu for showing a directory tree +It should normally be called from an openbox menu. + +Usage: + al-places-pipemenu [options] [directory tree root] + +Options: + -h,--help show this message + --recent incorporate a "recent files" submenu + --open open a file with configured default application + (in this case the script will not output a menu) + + If a directory tree root is not specified, $HOME will be used. + +Configuration: + /usr/bin/al-places-pipemenu may be edited directly for system-wide changes, + or copied to ~/bin and edited there for per-user changes. + +Editable variables and functions, at the top of the file: + recent_script path to a script outputting an openbox pipemenu + open_folder_cmd command to open folders - any file manager + default_open_cmd default command to open files + text_editor command to open text files + open_file() open files, using commands above, or alternatives + shown_dotfiles list of dotfiles to display (they are hidden by default) + + By default, this script will display directories separately, before files. + To change this behaviour, see NOTE1, NOTE2 and NOTE3 near end of file. +' + + +case $1 in + -h|--help) echo "$HELP" ; exit 0 ;; + --open) open_file "$2" ;; + --recent) + shift + output='' + if [[ -x $recent_script ]]; then + output="$output + + " + else + echo "$0 : cannot find executable script $recent_script" >&2 + fi + ;; + *) output='' +esac + +path=${1:-$HOME} +path=${path%/} + +[[ -d $path ]] || { echo "$0 : $path is not a directory" >&2 ; exit 1 ; } + +# only escape if string needs it +case $path in + *\&*|*\<*|*\>*|*\"*|*\'*) pathe=$(sed "s/\&/\&/g;s//\>/g;s/\"/\"/g;s/'/\'/g;" <<<"$path") ;; + *) pathe=$path +esac +case $pathe in + *\&apos\;*) pathe_apos=$(sed 's/\'/\'\"\'\"\'/g;' <<<"$pathe") ;; + *) pathe_apos=$pathe +esac + +output="$output + + + + '$open_folder_cmd' '$pathe_apos' + + + " + +[[ "$path" == "$HOME" ]] && extra_entries="$shown_dotfiles" + +for i in $path/* $extra_entries; do + + [[ ! -e $i ]] && continue + shortname=${i##*/} + + case $shortname in + *\&*|*\<*|*\>*|*\"*|*\'*) shortnamee=$(sed "s/\&/\&/g;s//\>/g;s/\"/\"/g;s/'/\'/g;" <<<"$shortname") ;; + *) shortnamee=$shortname + esac + case $shortnamee in + *\&apos\;*) shortnamee_apos=$(sed 's/\'/\'\"\'\"\'/g;' <<<"$shortnamee") ;; + *) shortnamee_apos=$shortnamee + esac + case $shortnamee in + *_*) shortnamee_label=$(sed 's/_/__/g;' <<<"$shortnamee") ;; + *) shortnamee_label=$shortnamee + esac + + # NOTE1: If you want directories and files listed together + # change directories_menu="$directories_menu to: files_menu="$files_menu + if [[ -d $i ]]; then + directories_menu="$directories_menu + " + else + files_menu="$files_menu + + + '$0' --open '${pathe_apos}/${shortnamee_apos}' + + " + fi +done + +# NOTE2: uncomment these 2 lines if you want "Directories" label +# output="$output +# " +[ -n "$directories_menu" ] && { output="${output}${directories_menu}"; } + +# NOTE3: uncomment these 2 lines if you want "Files" label +# output="$output +# " +[ -n "$files_menu" ] && { output="${output}${files_menu}"; } + +output="${output} + +" + +printf '%s' "$output" + +exit 0 diff --git a/files/pipemenus/ac-powermenu b/files/pipemenus/ac-powermenu new file mode 100755 index 0000000..24e3142 --- /dev/null +++ b/files/pipemenus/ac-powermenu @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +## Copyright (C) 2020-2023 Aditya Shakya +## +## Commands Executed By Openbox Powermenu + +## Rofi ############################################# +# Theme +DIR="$HOME/.config/openbox/themes" +CTHEME="`cat $DIR/.current`" +RASI="$DIR/$CTHEME/rofi/confirm.rasi" + +# Layout +cnflayout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$cnflayout" == 'NO' ]]; then + yes=' Yes' + no=' No' +else + yes='' + no='' +fi + +# Confirmation CMD +confirm_cmd() { + rofi -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${RASI} +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Confirm and execute +confirm_run () { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + ${1} && ${2} && ${3} + else + exit + fi +} + +## Options ############################################# +if [[ "$1" == '--logout' ]]; then + confirm_run 'openbox --exit' +elif [[ "$1" == '--suspend' ]]; then + confirm_run 'mpc -q pause' 'pulsemixer --mute' 'betterlockscreen --suspend' +elif [[ "$1" == '--reboot' ]]; then + confirm_run 'systemctl reboot' +elif [[ "$1" == '--shutdown' ]]; then + confirm_run 'systemctl poweroff' + +## Help Menu ############################################# +else +echo " +Powermenu For Openbox Menu +Developed By - Aditya Shakya (@adi1090x) + +Available options: +--logout --suspend --reboot --shutdown +" +fi diff --git a/files/pipemenus/ac-randr b/files/pipemenus/ac-randr new file mode 100755 index 0000000..b6381e3 --- /dev/null +++ b/files/pipemenus/ac-randr @@ -0,0 +1,247 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +## Copyright (C) 2020-2023 Aditya Shakya + +"""A small utility to make xrandr adjustments from an OpenBox menu. + +To install, put this file somewhere and make sure it is executable. + +Edit your $HOME/.config/openbox/menu-