diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..09f1cb9f --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: aunetx +ko_fi: aunetx diff --git a/.gitignore b/.gitignore index 9199e32a..e01d6885 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ /build/ -/pkg/ -*~ \ No newline at end of file +*~ +.idea/ +.ts-for-gir.js +.vscode/ +jsconfig.json +@types/ +resources/blur-my-shell.gresource +schemas/gschemas.compiled +po/*.mo \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 6181c425..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "code-runner.customCommand": "make vm_test" -} \ No newline at end of file diff --git a/LICENSE b/LICENSE index 2dc46eee..f288702d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,674 @@ -MIT License - -Copyright (c) 2021 Aurélien Hamy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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/Makefile b/Makefile index c0db1490..2563db76 100644 --- a/Makefile +++ b/Makefile @@ -1,37 +1,62 @@ -SHARED_VM = $(HOME)/Projets/.shared/ +NAME = blur-my-shell +UUID = $(NAME)@aunetx -.PHONY: build_pkg build vm_test install remove clean +.PHONY: build install pot test-shell test-prefs remove clean -build: - glib-compile-schemas src/schemas +build: clean mkdir -p build/ - cp -r src/* build/ - rm -f build/prefs.ui~ + cd src && gnome-extensions pack -f \ + --extra-source=../metadata.json \ + --extra-source=../resources/icons \ + --extra-source=../resources/ui \ + --extra-source=./components \ + --extra-source=./conveniences \ + --extra-source=./effects \ + --extra-source=./preferences \ + --extra-source=./dbus \ + --podir=../po \ + --schema=../schemas/org.gnome.shell.extensions.$(NAME).gschema.xml \ + -o ../build -build_pkg: build - mkdir -p pkg/ - cd build/ && zip -r ../pkg/blur-my-shell@aunetx.zip . +install: build remove + gnome-extensions install -f build/$(UUID).shell-extension.zip -vm_test: build - rm -rf $(SHARED_VM)/blur_my_shell/blur-my-shell@aunetx - mkdir -p $(SHARED_VM)/blur_my_shell/blur-my-shell@aunetx - cp -r build/* $(SHARED_VM)/blur_my_shell/blur-my-shell@aunetx/ +pot: + find resources/ui -iname "*.ui" -printf "%f\n" | sort | \ + xargs xgettext --directory=resources/ui --output=po/$(UUID).pot \ + --from-code=utf-8 --package-name=$(UUID) -vm_pkg: build_pkg - cp pkg/blur-my-shell@aunetx.zip $(SHARED_VM)/blur_my_shell/blur-my-shell@aunetx.zip + rm po/LINGUAS + for l in $$(ls po/*.po); do \ + basename $$l .po >> po/LINGUAS; \ + done -install: build - rm -rf $(HOME)/.local/share/gnome-shell/extensions/blur-my-shell@aunetx - mkdir -p $(HOME)/.local/share/gnome-shell/extensions/blur-my-shell@aunetx - cp -r build/* $(HOME)/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/ + cd po && \ + for lang in $$(cat LINGUAS); do \ + mv $${lang}.po $${lang}.po.old; \ + msginit --no-translator --locale=$$lang --input $(UUID).pot -o $${lang}.po.new; \ + msgmerge -N $${lang}.po.old $${lang}.po.new > $${lang}.po; \ + rm $${lang}.po.old $${lang}.po.new; \ + done + + +test-shell: install + env GNOME_SHELL_SLOWDOWN_FACTOR=2 \ + MUTTER_DEBUG_DUMMY_MODE_SPECS=1500x1000 \ + MUTTER_DEBUG_DUMMY_MONITOR_SCALES=1 \ + dbus-run-session -- gnome-shell --nested --wayland + + +test-prefs: install + gnome-extensions prefs blur-my-shell@aunetx remove: - rm -rf $(HOME)/.local/share/gnome-shell/extensions/blur-my-shell@aunetx + rm -rf $(HOME)/.local/share/gnome-shell/extensions/$(UUID) clean: - rm -rf pkg/ build/ + rm -rf build/ po/*.mo diff --git a/README.md b/README.md index af647f14..37850b84 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,85 @@ # GNOME Shell Extension - Blur my Shell +[](https://extensions.gnome.org/extension/3193/blur-my-shell/) + +[![License](https://img.shields.io/github/license/aunetx/blur-my-shell)](https://github.com/aunetx/blur-my-shell/blob/master/LICENSE) +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/aunetx/blur-my-shell)](https://github.com/aunetx/blur-my-shell/releases/latest) +[![Weblate project translated](https://hosted.weblate.org/widgets/blur-my-shell/-/blur-my-shell/svg-badge.svg)](https://hosted.weblate.org/engage/blur-my-shell/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/aunetx)](https://github.com/sponsors/aunetx) + A GNOME Shell extension that adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview. -![Capture d’écran de 2021-04-21 23-59-06](https://user-images.githubusercontent.com/31563930/115626495-dc37c480-a2fd-11eb-8066-002dee4b5159.png) -*blurred top panel* -![Capture d’écran de 2021-04-21 23-59-11](https://user-images.githubusercontent.com/31563930/115626626-10ab8080-a2fe-11eb-89a5-7392cbe7c2f8.png) -*blurred overview* +[](https://hosted.weblate.org/engage/blur-my-shell/) -[](https://extensions.gnome.org/extension/3193/blur-my-shell/) +--- -## Known bugs +***Notice*** -### Note +I (aunetx) am currently quite busy and I won't be able to do a lot of changes in this extension for the following months (probably until fall 2023)... You can consider this extension in low maintenance mode, I will still do important releases (for GNOME 44 etc) but no new features for the moment, and I won't be able to reply to every openend issue (even though I read them all in case). -This extension can be buggy, as the gnome-shell's blur implementation is quite flawed in some ways. +Especially, consider the application blur to be in alpha state, because it is even broken for me so I don't think it works for anybody else... If someone wants to spend time fixing it, I will gladly merge pull requests. The dash-to-dock blur seems quite broken too, although I don't even know to what extent. -To entirely remove artifacts from the top panel, you can use static blur with the appropriate switch, **use static blur**. +I am deeply sorry about all the problems that may arise, do not hesitate to open pull requests if needed and I will try to find motivation to answer them at some point :) -Moreover, selecting *no artifacts* in the settings allows the blur to regenerate itself a lot better, at the expense of CPU time (adds ~3% CPU usage for the gnome-shell process in my old Thinkpad).\ -**note: in Gnome 40, selecting this option is not possible for the moment** +Sincerely, Aurélien -Selecting another profile might be enought (especially if you have disabled animations), feel free to test! +--- -### List of bugs +Functionalities: -- artifacts on blurred parts [gnome shell bug](https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857) -- some apps may become transparent, a weird issue... -- cannot create rounded blur -- etc (see in *issues*) +- apply a blur effect to different components of the shell: + - panel — compatible with [Dash to Panel](https://github.com/home-sweet-gnome/dash-to-panel) and [Hide Top Bar](https://github.com/mlutfy/hidetopbar) + - overview + - [Dash to Dock](https://github.com/micheleg/dash-to-dock) — however you can't have rounded corners + - application folders background + - workspace separation — useful with [Desktop Cube](https://extensions.gnome.org/extension/4648/desktop-cube/) + - window selector for screenshot + - lockscreen — to customize the already existing blur + - [Window List](https://extensions.gnome.org/extension/602/window-list/) extension +- applications can be blurred too — see [Application blurring](https://github.com/aunetx/blur-my-shell#application-blurring) +- panel blur can be deactivated when a window is near it, for example in fullscreen +- components have either a static or a dynamic blur: + - static blur (generated once) is faster and more stable, used for Overview, Lockscreen, Screenshot + - dynamic blur (generated each frame) is more adapted to widgets which have components behind them, although it contains artifacts; used for Applications, Dash to Dock, Application folders, Window List + - the Panel can be configured to either use static or dynamic mode; I personally prefer static blur + - to prevent the artifacts from appearing with dynamic blur, the option Hack level permits you to select a behaviour: + - High performances totally disables the optimisations, making the blur look broken sometimes; but that can be mitigated when animations and windows shadows are disabled + - High quality fixes the blur as much as it can, at the expense of some performance penalty; but not more than 0.5% of CPU on my middle-range i5 so the difference may be unnoticeable + - Default is a mix of both, and quite recommended overall +- components using Static blur can also be added: + - a noise effect, which can help to either prevent color bending in older monitors, or for aesthetic purpose + - a color overlay, which can help to either increase readability, or... for aesthetic purpose :) +- and everything is configurable, for every component separately if wanted! -If you find other bugs, please report them! +Blur my Shell is guaranteed to be compatible, in the sense of at least not to mess around, with the following extensions: -## Advanced +- [Dash to Dock](https://extensions.gnome.org/extension/307/dash-to-dock/) (configurable from Dash to Dock page) +- [Dash to Panel](https://extensions.gnome.org/extension/1160/dash-to-panel/) (configurable from Panel page) +- [Window List](https://extensions.gnome.org/extension/602/window-list/) (configurable from Other page) +- [Hide Top Bar](https://extensions.gnome.org/extension/545/hide-top-bar/) (configurable from dedicated switch in Panel page) +- [Just Perfection](https://extensions.gnome.org/extension/3843/just-perfection/) +- [Panel Corners](https://extensions.gnome.org/extension/4805/panel-corners/), although corners can't be blurred +- [Burn my Windows](https://extensions.gnome.org//extension/4679/burn-my-windows/), although nothing is blurred either + +## Screenshots + +![Blurred Overview](https://user-images.githubusercontent.com/38633812/116588850-779beb80-a935-11eb-8f2f-81bcd46fe694.png) + +![Blurred Top Panel](https://user-images.githubusercontent.com/38633812/116588885-81bdea00-a935-11eb-9c80-c97716369b7c.png) + +![Screenshot from 2022-05-19 00-03-27](https://user-images.githubusercontent.com/31563930/169163355-7da05dbb-7d93-41fe-8c4d-770ffb7568af.png) + +## Participate + +If you with to help me with this extension, there are quite a lot you can do! + +### Translations -### Install from source +You can help to translate the extension into your language, either by directly opening a pull request with the additions you've made, or by using [Weblate](https://hosted.weblate.org/engage/blur-my-shell/)! -To install the latest version (though maybe unstable), use the makefile: +### Development + +To install the extension from source: ```sh git clone https://github.com/aunetx/blur-my-shell @@ -43,19 +87,86 @@ cd blur-my-shell make install ``` -And restart GNOME Shell if needed. +You will then need to reload GNOME shell, for example by login out and in again, or under Xorg, `alt+f2` and type `r`. + +To debug the extension, you can use Looking Glass (`alt+f2`, type `lg`); I stored the extension object in `global.blur_my_shell`. + +To see the extension logs, you can use: + +```sh +# for debug logs (when Debug is activated in preferences) +sudo journalctl /usr/bin/gnome-shell | grep Blur my Shell + +# for crash logs in GNOME shell +sudo journalctl /usr/bin/gnome-shell | grep blur-my-shell + +# for crash logs in the extension's preferences +sudo journalctl /usr/bin/gjs | grep blur-my-shell +``` + +Just don't hesitate to open issues and pull requests, and sorry if I take some time to answer! + +### Donations + +If you want to sponsor me, well thank you very much! + +You can use either [GitHub Sponsors](https://github.com/sponsors/aunetx) or [Ko-fi](https://ko-fi.com/aunetx); and don't hesitate to ask for more specialized support if you need to! + +## Advanced + +### Application Blurring + +Blur my Shell now supports providing blur to applications (formerly [blur-provider](https://github.com/CorvetteCole/blur-provider)). + +This is a beta functionnality, however you can test it by either: + +- entering the application's class name in the whitelist in the preferences + - under Xorg, you can type `xprop|grep WM_CLASS`, click on the app and paste the last name on the whilelist field +- setting the Mutter hint `blur-provider` to test it, it will be resetted when the session is closed + - under Xorg, you can do it by typing `xprop -f _MUTTER_HINTS 8s -set _MUTTER_HINTS blur-provider=sigma:60,brightness:0.6`, and with the sigma and brightness you want +- integrating it with your application if you're the developper + - you must set the window's property `_MUTTER_HINTS` to `blur-provider=sigma:...,brightness:...`; if you do not set them the application will use default blurring settings from Blur my Shell + - for Electron applications, you can try building it with [Glasstron Clarity](https://www.npmjs.com/package/glasstron-clarity) + +### Force overview blur update + +In case you have problems with your dynamic timed wallpaper not being updated due to using third-party process to change the wallpaper, you can force the overview blur to be updated with the command: + +```sh +gsettings set org.gnome.desktop.background picture-opacity 99 && gsettings set org.gnome.desktop.background picture-opacity 100 +``` + +## Versions support + +The current extension supports these GNOME Shell versions: + +- 44 -- `master` branch +- 43 -- `master` branch +- 42 -- `master` branch + +Up to version 29, Blur my Shell supports GNOME Shell versions: + +- 41 -- `v29` tag +- 40 -- `v29` tag + +Older GNOME Shell versions are supported up to Blur my Shell version 6, and by versions 17, 19 and 22: + +- 3.38 -- `pre_40` branch +- 3.36 -- `pre_40` branch -### Versions support +## Special thanks -The current extension supports those GNOME Shell versions: + -- 40 +Much much love to: +- @swyknox for the awesome icon! +- @CorvetteCole for his awesome contributions, especially for the applications blur :p +- every contributor, and even those who open these ugly issues!!! Because that's maybe the most important of it all :) -Older GNOME versions are supported up to Blur my Shell version 6: +Of course, I am really grateful to the people sponsoring my work, it is really cool to be supported like this! -- 3.36 -- 3.38 +And lastly, thank you, kind visitor -- this is a fun project to manage :) ## License -This program is distributed under the terms of the GNU General Public License, version 2 or later. +This program is distributed under the terms of the GNU General Public License, version 3 or later. diff --git a/metadata.json b/metadata.json new file mode 100644 index 00000000..93adea2a --- /dev/null +++ b/metadata.json @@ -0,0 +1,20 @@ +{ + "description": "Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.\n\nYou can support my work by sponsoring me on:\n- github: https://github.com/sponsors/aunetx\n- ko-fi: https://ko-fi.com/aunetx\n\nNote: if the extension shows an error after updating, please make sure to restart your session to see if it persists. This is due to a bug in gnome shell, which I can't fix by myself.", + "name": "Blur my Shell", + "shell-version": [ + "42", + "43", + "44" + ], + "url": "https://github.com/aunetx/gnome-shell-extension-blur-my-shell", + "uuid": "blur-my-shell@aunetx", + "settings-schema": "org.gnome.shell.extensions.blur-my-shell", + "original-authors": [ + "me@aunetx.dev" + ], + "donations": { + "github": "aunetx", + "kofi": "aunetx" + }, + "version": 47 +} \ No newline at end of file diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 00000000..cb9536b5 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,22 @@ +ar +ca +cs +de +el +es +fr +hu +it +ka +ko +nb_NO +nl +pl +pt +ru +sl +sv +ta +tr +uk +zh_Hans diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 00000000..c43849bd --- /dev/null +++ b/po/ar.po @@ -0,0 +1,529 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: fawaz006 \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 4.18.1\n" +"X-Poedit-Basepath: ../resources/ui\n" +"X-Poedit-SearchPath-0: .\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "التطبيقات" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "تضبيب التطبيقات (تجريبي)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"يضبِّب التطبيقات. لا يزال هذا الخيار تجريبًّا.\n" +"عليك اختيار الإعداد «بلا أثر» في تفضيل «عام ← مستوى التعديل» لتحصل على أفضل " +"النتائج.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "العتمة" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "عتمة النافذة أعلى تأثيرِ التضبيب. ستكون القيم العليا أوضح." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "ضبِّب النظرة العامَّة" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"يفرض تضبيب كلِّ مساحات العمل في النظرة العامَّة.\n" +"قد يسبِّب مشاكل في الأداء أو زمن الوصول." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "مكِّن الكلَّ مبدئيًّا" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"يضيف التضبيب خلف كلِّ النوافذ مبدئيًّا.\n" +"لا يُستحسن لأنه يسبِّب مشاكل في الأداء والثبات." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "القائمة البيضاء" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "قائمة النوافذ التي تضبَّب." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "أضِف نافذةً" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "القائمة السوداء" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "قائمة النوافذ التي لا تضبَّب." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "خصِّص الخصائص" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "استخدم خصائص تضبيب مخصَّصة، بدلًا من تلك المعيَّنة في صفحة «عام»." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "سِجما" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "شدَّة التضبيب." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "السطوع" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "سطوع التضبيب، تصعِّب القيم العليا قراءة النصوص." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "اللون" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "يغيِّر لون التضبيب، تتحكَّم عتمة اللون في امتزاجه مع تأثير التضبيب." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "مقدار الضجيج" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"مقدار الضجيج المضاف لتأثير التضبيب. مفيد للشاشات متدنيِّة التباين لأسباب " +"جماليَّة." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "إضاءة الضجيج" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "إضاءة الضجيج المضاف لتأثير التضبيب." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "ملاحظة" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "لا يمكن تفعيل الضجيج واللون على المكوِّنات المضبَّبة ديناميكيًّا، كهذا." + +#: dash.ui:5 +msgid "Dash" +msgstr "شَرطة" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "تضبيب Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "ضبِّب خلفيَّة امتداد Dash to Dock إن كان مستخدمًا." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "تجاوز الخلفيَّة" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "يجعل الخلفيَّة شفَّافةً أو شبه شفَّافة. عطِّل هذا لتستخدم تفضيل Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "أسلوب الخلفيَّة" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "أسلوب خلفيَّة المرسى الشفَّاف أو شبه الشفَّاف." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "عطِّل في النظرة العامَّة" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "يعطِّل تضبيب Dash to Dock في النظرة العامَّة." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "شفَّاف" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "فاتح" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "داكن" + +#: general.ui:5 +msgid "General" +msgstr "عام" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "تفضيلات التضبيب" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "التفضيلات العامَّة للتضبيب. تستخدمها كل المكوِّنات مبدئيًّا." + +#: general.ui:117 +msgid "Performance" +msgstr "الأداء" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "خيارات عدَّة لتطويع الأداء." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "تأثيرات اللون والضجيج" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"يعطِّل تأثيرات الضجيج واللون عموميًّا. قد يحسِّن هذا الأداء في الأنظمة ضعيفة " +"العتاد." + +#: general.ui:135 +msgid "Hack level" +msgstr "مستوى التعديل" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"يغيِّر تصرُّف تأثير التضبيب الديناميكيِّ.\n" +"تُستحسن القيمة المبدئيَّة حالما لم تستخدم تضبيب التطبيقات، حيث أنَّ «بلا أثر» " +"أفضل حينها.\n" +"سيعطِّل هذا الخيار إعادة الرسم المقصوصة في صدفة جنوم تمامًا، وقد يؤثِّر على " +"الأداء بشكل معتبر، ولكنَّه سيُصلح تأثير التضبيب كليًّا." + +#: general.ui:151 +msgid "Debug" +msgstr "التنقيح" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "يطنِّب الامتداد في السجلَّات، فعِّله إذا أردت التبليغ عن علَّة." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "صفِّر التفضيلات" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "يصفِّر تفضيلات «ضبِّب صدفتي» نهائيًّا." + +#: general.ui:187 +msgid "Reset" +msgstr "صفِّر" + +#: general.ui:228 +msgid "High performances" +msgstr "التأديات العالية" + +#: general.ui:229 +msgid "Default" +msgstr "مبدئيٌّ" + +#: general.ui:230 +msgid "High quality" +msgstr "جودة عالية" + +#: general.ui:231 +msgid "No artifact" +msgstr "بلا أثر" + +#: menu.ui:6 +msgid "Project page" +msgstr "صفحة المشروع" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "بلِّغ عن علَّة" + +#: menu.ui:14 +msgid "License" +msgstr "الترخيص" + +#: menu.ui:18 +msgid "Donate" +msgstr "تبرَّع" + +#: other.ui:5 +msgid "Other" +msgstr "آخر" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "تضبيب شاشة القفل" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "غيِّر تضبيب شاشة القفل لتستخدم تفضيل هذا الامتداد." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "تضبيب لقطة شاشة" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "ضبِّب خلفيَّة محدِّد النوافذ في واجهة لقطة الشاشة." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "تضبيب امتداد قائمة-النوافذ" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "ضبِّب امتداد قائمة-النوافذ إن كان مستخدمًا." + +#: overview.ui:5 +msgid "Overview" +msgstr "النظرة العامَّة" + +#: overview.ui:10 +msgid "Background blur" +msgstr "تضبيب الخلفية" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "ضبِّب خلفيَّة النظرة العامَّة باستخدام صورة خلفيَّة الشاشة." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "أسلوب مكوِّنات النظرة العامَّة" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "الأسلوب الشبه شفَّاف للشَّرطة ومدخلات\\نتائج البحث ومجلَّدات التطبيقات." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "تضبيب مجلَّد التطبيق" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "يضبِّب خلفيَّة مربعات حوار مجلَّد التطبيق." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "أسلوب مربَّعات حوار مجلَّد التطبيق" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "الأسلوب الشبه شفَّاف لمربَّعات حوار مجلَّد التطبيق." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "لا تطبِّق الأسلوب" + +#: panel.ui:5 +msgid "Panel" +msgstr "لوحة" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "تضبيب اللوحة" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "ضبِّب اللوحة العليا باستخدام صورة الخلفيَّة." + +#: panel.ui:26 +msgid "Static blur" +msgstr "تضبيب ثابت" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "يستخدم صورةً بتضبيب ثابت، يؤدِّي هذا لاستقرار وأداء أفضل." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "يعطِّل تضبيب اللوحة في النظرة العامَّة." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"تجاوَز خلفيَّة اللوحة لتستخدم خلفيَّةً شفَّافةً أو شبه شفَّافة.\n" +"يُستحسن إلا ما إذا أردت تخصيص سمة جنوم." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "أسلوب خلفيَّة اللوحة الشفَّاف\\شبه الشفَّاف." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "عطِّل إذا اقتربت نافذة" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "يعطِّل شفافيَّة اللوحة عند اقتراب نافذة منها." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "التوافق" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "خيارات عدَّة للتوافق مع الامتدادات الأخرى." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "امتداد Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "لا يعطِّل التضبيب في النظرة العامَّة، الأفضل استخدامه مع التضبيب الثابت." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "اسم النافذة" + +#: window-row.ui:8 +msgid "Select window" +msgstr "حدِّد نافذةً" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "اختر نافذة أو حدِّدها باستخدام اسم صنفها." + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "لجعل الخلفية شبه شفافة، قم بتعطيل هذا لاستخدام تفضيلات Dash to Dock بدلاً " +#~ "من ذلك." + +#~ msgid "Performances" +#~ msgstr "الأداء" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "خيارات مختلفة لتعديل الأداء." + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "النمط شبه الشفاف Dash وإدخال / نتائج البحث ومجلدات التطبيقات." + +#~ msgid "Applications folder blur" +#~ msgstr "ضبابية مجلد التطبيقات" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "يجعل خلفية المجلد ضبابية." + +#~ msgid "Dialog opacity" +#~ msgstr "ضبابية الحوار" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "ضبابية مجلد التطبيقات المنبثقة." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "أضف ضبابية إلى التطبيقات, لا تزال هذه المِيزة تجريبية، وهي غير مكتملة ولا " +#~ "يتم تطبيقها إلا على التطبيقات التي تطلبها، أو تلك المحددة في القائمة " +#~ "البيضاء أدناه." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "يغير سلوك الضبابية الديناميكي. ينصح بشدة الاستخدام القيمة الافتراضية." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "قائمة بالتطبيقات المراد تعتيمها، تطبيق واحد لكل سطر. للحصول على اسم فئة " +#~ "التطبيق، ضمن xorg يمكنك استخدام `xprop | grep WM_CLASS` ولصق الاسم الأخير " +#~ "هنا." diff --git a/po/blur-my-shell@aunetx.pot b/po/blur-my-shell@aunetx.pot new file mode 100644 index 00000000..998cb26f --- /dev/null +++ b/po/blur-my-shell@aunetx.pot @@ -0,0 +1,451 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" + +#: applications.ui:28 +msgid "Opacity" +msgstr "" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" + +#: applications.ui:85 +msgid "Whitelist" +msgstr "" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "" + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "" + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "" + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "" + +#: customize-row.ui:113 +msgid "Notice" +msgstr "" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" + +#: dash.ui:5 +msgid "Dash" +msgstr "" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "" + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "" + +#: general.ui:5 +msgid "General" +msgstr "" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" + +#: general.ui:117 +msgid "Performance" +msgstr "" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "" + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" + +#: general.ui:135 +msgid "Hack level" +msgstr "" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" + +#: general.ui:151 +msgid "Debug" +msgstr "" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" + +#: general.ui:167 +msgid "Reset preferences" +msgstr "" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" + +#: general.ui:187 +msgid "Reset" +msgstr "" + +#: general.ui:228 +msgid "High performances" +msgstr "" + +#: general.ui:229 +msgid "Default" +msgstr "" + +#: general.ui:230 +msgid "High quality" +msgstr "" + +#: general.ui:231 +msgid "No artifact" +msgstr "" + +#: menu.ui:6 +msgid "Project page" +msgstr "" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "" + +#: menu.ui:14 +msgid "License" +msgstr "" + +#: menu.ui:18 +msgid "Donate" +msgstr "" + +#: other.ui:5 +msgid "Other" +msgstr "" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "" + +#: overview.ui:5 +msgid "Overview" +msgstr "" + +#: overview.ui:10 +msgid "Background blur" +msgstr "" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" + +#: overview.ui:26 +msgid "Overview components style" +msgstr "" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "" + +#: panel.ui:5 +msgid "Panel" +msgstr "" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "" + +#: panel.ui:26 +msgid "Static blur" +msgstr "" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" + +#: panel.ui:97 +msgid "Compatibility" +msgstr "" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "" + +#: window-row.ui:8 +msgid "Select window" +msgstr "" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 00000000..16e217f1 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,460 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Aplicacions" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Aplicacions de desenfocament (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Afegeix desenfocament a les aplicacions. Aquesta funcionalitat encara es " +"troba en proves.\n" +"Per obtenir els millors resultats assegurat d'escollir la opció \"Sense " +"artefactes\" a les preferències \"General → Nivell de hacking\"\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Opacitat" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"La opacitat de la finestra a sobre de l'efecte de desenfocament, un valor " +"alt permetrà una millor visualització." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Desenfocament a la vista general" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" + +#: applications.ui:85 +msgid "Whitelist" +msgstr "" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "" + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "" + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "" + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "" + +#: customize-row.ui:113 +msgid "Notice" +msgstr "" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" + +#: dash.ui:5 +msgid "Dash" +msgstr "" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "" + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "" + +#: general.ui:5 +msgid "General" +msgstr "" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" + +#: general.ui:117 +msgid "Performance" +msgstr "" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "" + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" + +#: general.ui:135 +msgid "Hack level" +msgstr "" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" + +#: general.ui:151 +msgid "Debug" +msgstr "" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" + +#: general.ui:167 +msgid "Reset preferences" +msgstr "" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" + +#: general.ui:187 +msgid "Reset" +msgstr "" + +#: general.ui:228 +msgid "High performances" +msgstr "" + +#: general.ui:229 +msgid "Default" +msgstr "" + +#: general.ui:230 +msgid "High quality" +msgstr "" + +#: general.ui:231 +msgid "No artifact" +msgstr "" + +#: menu.ui:6 +msgid "Project page" +msgstr "" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "" + +#: menu.ui:14 +msgid "License" +msgstr "" + +#: menu.ui:18 +msgid "Donate" +msgstr "" + +#: other.ui:5 +msgid "Other" +msgstr "" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "" + +#: overview.ui:5 +msgid "Overview" +msgstr "" + +#: overview.ui:10 +msgid "Background blur" +msgstr "" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" + +#: overview.ui:26 +msgid "Overview components style" +msgstr "" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "" + +#: panel.ui:5 +msgid "Panel" +msgstr "" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "" + +#: panel.ui:26 +msgid "Static blur" +msgstr "" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" + +#: panel.ui:97 +msgid "Compatibility" +msgstr "" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "" + +#: window-row.ui:8 +msgid "Select window" +msgstr "" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 00000000..e393355b --- /dev/null +++ b/po/cs.po @@ -0,0 +1,596 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: vikdevelop \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Aplikace" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Rozostření aplikací (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Přidá do aplikací rozmazání. Jedná se stále o funkci beta.\n" +"Chcete-li dosáhnout co nejlepších výsledků, nezapomeňte v předvolbách " +"\"Obecné → Úroveň hacku\" vybrat možnost \"Bez artefaktu\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Neprůhlednost" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Neprůhlednost okna v horní části efektu rozmazání, vyšší hodnota bude " +"čitelnější." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Rozostření v přehledu" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Vynutí správné zobrazení rozmazání na všech pracovních plochách v přehledu.\n" +"To může způsobit určité zpoždění nebo problémy s výkonem." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Ve výchozím nastavení povolit vše" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Ve výchozím nastavení přidá rozmazání za všechna okna.\n" +"Nedoporučuje se kvůli problémům s výkonem a stabilitou." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Seznam povolených" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Seznam oken k rozmazání." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Přidat okno" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Černá listina" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Seznam oken, která se nemají rozmazávat." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Přizpůsobit vlastnosti" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Používá vlastní vlastnosti rozmazání namísto vlastností nastavených na " +"stránce Obecné." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Intenzita rozmazání." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Jas" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Jas efektu rozmazání, vysoká hodnota může způsobit, že text bude hůře " +"čitelný." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Barva" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Změní barvu rozmazání. Neprůhlednost barvy určuje, jak moc se barva prolne " +"do efektu rozmazání." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Množství hluku" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Množství šumu, které se přidá k efektu rozmazání, užitečné na obrazovkách s " +"nízkým kontrastem nebo pro estetické účely." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Lehkost šumu" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Lehkost šumu přispěla k efektu rozmazání." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Oznámení" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Šum a barvu nelze aktivovat u dynamicky rozmazaných komponent, jako je tato." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Dash do rozmazaného doku" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Rozmazat pozadí rozšíření Dash to Dock, pokud je použito." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Přepsat pozadí" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Nastaví pozadí jako průhledné nebo poloprůhledné, pokud chcete místo toho " +"použít předvolby Dash to Dock, zakažte tuto funkci." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Styl pozadí" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Průhledný/poloprůhledný styl pozadí doku." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Zakázat v přehledu" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Zakáže rozmazání z Dashe do doku při vstupu do přehledu." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Transparentní" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Světlý" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Tmavý" + +#: general.ui:5 +msgid "General" +msgstr "Obecné" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Předvolby rozmazání" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Globální předvolby rozmazání, které ve výchozím nastavení používají všechny " +"komponenty." + +#: general.ui:117 +msgid "Performance" +msgstr "Výkon" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Různé možnosti nastavení výkonu." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Barevné a šumové efekty" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Globálně vypne efekty šumu a barev, což může zlepšit výkon na low-endových " +"systémech." + +#: general.ui:135 +msgid "Hack level" +msgstr "Úroveň hackování" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Změní chování efektu dynamického rozostření.\n" +"Výchozí hodnota je velmi doporučována, pokud nepoužíváte rozostření " +"aplikací, v takovém případě je lepší volba \"Bez artefaktu\".\n" +"Tato volba zcela zakáže oříznuté překreslování v prostředí GNOME shell a " +"může mít značný dopad na výkon, ale zcela vyřeší efekt rozmazání." + +#: general.ui:151 +msgid "Debug" +msgstr "Ladit" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Rozšíření se v protokolech zobrazí jako slovní, aktivuje se, když " +"potřebujete nahlásit problém." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Resetovat předvolby" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Nevratně resetuje předvolby Blur my Shell." + +#: general.ui:187 +msgid "Reset" +msgstr "Resetovat" + +#: general.ui:228 +msgid "High performances" +msgstr "Vysoké výkony" + +#: general.ui:229 +msgid "Default" +msgstr "Výchozí" + +#: general.ui:230 +msgid "High quality" +msgstr "Vysoká kvalita" + +#: general.ui:231 +msgid "No artifact" +msgstr "Žádný artefakt" + +#: menu.ui:6 +msgid "Project page" +msgstr "Stránka projektu" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Nahlásit chybu" + +#: menu.ui:14 +msgid "License" +msgstr "Licence" + +#: menu.ui:18 +msgid "Donate" +msgstr "Podpořit" + +#: other.ui:5 +msgid "Other" +msgstr "Jiné" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Rozmazání zamykací obrazovky" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Změňte rozmazání zamykací obrazovky tak, aby používala předvolby tohoto " +"rozšíření." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Rozmazání snímku obrazovky" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Přidejte rozostření pozadí voliče oken v uživatelském rozhraní snímku " +"obrazovky." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Rozmazání rozšíření seznamu oken" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Rozmazat rozšíření seznamu oken, pokud je použito." + +#: overview.ui:5 +msgid "Overview" +msgstr "Přehled" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Rozmazání pozadí" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Přidejte rozmazání pozadí přehledu pomocí obrázku tapety." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Přehled stylu komponent" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Poloprůhledný styl pro pomlčku, položku/výsledky vyhledávání a složky " +"aplikací." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Rozmazání složky aplikace" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Rozostří pozadí dialogových oken složek aplikací." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Styl dialogových oken složek aplikací" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Poloprůhledný styl pro dialogová okna složek aplikací." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Nestylizujte" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Rozmazání panelu" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Rozmazání horního obrazu pomocí obrázku na pozadí." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statické rozmazání" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Používá statický rozmazaný obraz, je výkonnější a stabilnější." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Zakáže rozmazání panelu při vstupu do přehledu." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Přepište pozadí panelu tak, aby bylo průhledné nebo poloprůhledné.\n" +"Doporučujeme, pokud si nechcete přizpůsobit téma GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Průhledný/poloprůhledný styl pozadí panelu." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Zakázat, když je okno v blízkosti" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Zakáže průhlednost panelu, pokud se v jeho blízkosti nachází okno." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Kompatibilita" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Různé možnosti pro zajištění kompatibility s jinými rozšířeními." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Rozšíření Skrýt horní lištu" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Nevypíná rozostření v přehledu, nejlépe se používá se statickým rozostřením." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Název okna" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Vybrat okno" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Vyberte okno nebo jej vyberte podle názvu třídy." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Přidejte do aplikací rozostření. Jedná se stále beta funkci.\n" +#~ "Chcete-li získat co nejlepší výsledky, vyberte možnost „Žádný artefakt“ v " +#~ "předvolbě „Obecné → Úroveň hackování“.\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Vytvoří poloprůhledné pozadí, pokud chcete místo toho použít předvolby " +#~ "Dash to Dock, zakažte tuto funkci." + +#~ msgid "Performances" +#~ msgstr "Představení" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Různé možnosti nastavení výkonů." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Umožňuje globálně zakázat použití šumu a barevných efektů, což může " +#~ "zlepšit výkon u grafiky nižší třídy." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Změní chování efektu dynamického rozostření.\n" +#~ "Výchozí hodnota je velmi doporučená, pokud nepoužíváte aplikační " +#~ "rozostření, v takovém případě je lepší \"Bez artefaktu\".\n" +#~ "Tato volba zcela zakáže oříznuté překreslování ze shellu GNOME a může mít " +#~ "značný dopad na výkon, ale zcela opraví efekt rozmazání." + +#~ msgid "No artefact" +#~ msgstr "Žádný artefakt" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Poloprůhledný styl pro Dash, položku/výsledky vyhledávání a složky " +#~ "aplikací." + +#~ msgid "Applications folder blur" +#~ msgstr "Rozmazání složky s aplikacemi" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Rozostří pozadí ikon složek." + +#~ msgid "Dialog opacity" +#~ msgstr "Neprůhlednost dialogu" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "Neprůhlednost vyskakovacího okna složky s aplikacemi." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Přepište pozadí panelu na průhledné.\n" +#~ "Doporučujeme, pokud si nechcete přizpůsobit téma GNOME." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Přidejte do aplikací rozmazání pozadí. Toto je stále beta funkce, je " +#~ "poměrně chybová a vztahuje se pouze na aplikace, které to vyžadují, nebo " +#~ "na ty, které jsou nastaveny v seznamu povolených níže." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Změní chování efektu dynamického rozostření. Výchozí hodnota je velmi " +#~ "doporučená." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "Zakáže rozmazání obrazu, když je v jeho blízkosti okno." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Seznam aplikací, které mají být rozmazané, po jedné na řádek. Chcete-li " +#~ "získat název třídy aplikace, můžete pod xorg použít příkaz `xprop|grep " +#~ "WM_CLASS` a vložit sem poslední název." diff --git a/po/de.po b/po/de.po new file mode 100644 index 00000000..c409369a --- /dev/null +++ b/po/de.po @@ -0,0 +1,631 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: arctize \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Anwendungen" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Unschärfe für Anwendungen (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Fügt Anwendungen einen Unschärfe-Effekt hinzu. Derzeit noch in der Beta-" +"Version.\n" +"Um die bestmöglichen Resultate zu erzielen, wählen Sie die Option \"Keine " +"Artefakte\" unter \"Allgemein → Hack Level\" aus.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Deckkraft" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Die Deckkraft des Fensters über dem Unschärfeeffekt, ein höherer Wert wird " +"besser lesbar sein." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Unschärfe in der Übersicht" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Zwingt die Unschärfe in allen Arbeitsbereichen in der Übersicht richtig " +"angezeigt zu werden.\n" +"Das kann zu Latenz- oder Leistungsproblemen führen." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Standardmäßig alle aktivieren" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Fügt standardmäßig Unschärfe hinter allen Fenstern hinzu.\n" +"Wegen Leistungs- und Stabilitätsproblemen nicht empfohlen." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Whitelist" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Eine Liste der mit dem Unschärfeeffekt zu versehenden Fenster." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Fenster hinzufügen" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Blacklist" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Eine Liste der nicht mit dem Unschärfeeffekt zu versehenden Fenster." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Einstellungen anpassen" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Benutzerdefinierte Unschärfe-Einstellungen, statt den Unschärfe-" +"Einstellungen des „Allgemein“ Reiters." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Die Intensität der Unschärfe." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Helligkeit" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Die Helligkeit des Unschärfe-Effekts. Ein hoher Wert sorgt möglicherweise " +"dafür, dass Text schwer zu lesen ist." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Farbe" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Verändert die Fabre der Unschärfe. Die Deckkraft der Farbe steuert, wie " +"stark sie in den Unschärfeeffekt eingeblendet wird." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Stärke des Bildrauschens" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Die Stärke des Bildrauschens, die dem Unschärfeeffekt hinzugefügt wird. Dies " +"ist nützlich bei kontrastarmen Bildschirmen oder für ästhetische Zwecke." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Helligkeit des Bildrauschens" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "" +"Die Helligkeit des Bildrauschens, das dem Unschärfeeffekt hinzugefügt wird." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Hinweis" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Bildrauschen und Farbe können bei dynamisch unscharf gemachten Komponenten, " +"wie dieser, nicht aktiviert werden." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Dash to Dock Unschärfe" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "" +"Den Hintergrund der Dash to Dock-Erweiterung unscharf machen, sofern diese " +"verwendet wird." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Hintergrund überschreiben" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Macht den Hintergrund transparent oder halbtransparent. Deaktivieren um " +"stattdessen Dash to Dock Einstellungen zu verwenden." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Hintergrundstil" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Transparenz/Semitransparenz Stil für den Dock Hintergrund." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "In der Übersicht deaktivieren" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" +"Deaktiviert die Unschärfe von Dash to Dock beim Aufrufen der Übersicht." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Transparent" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Hell" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Dunkel" + +#: general.ui:5 +msgid "General" +msgstr "Allgemein" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Unschärfeeinstellungen" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Globale Unschärfeeinstellungen, die standardmäßig von allen Komponenten " +"verwendet werden." + +#: general.ui:117 +msgid "Performance" +msgstr "Leistung" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Diverse Optionen, um die Leistung zu optimieren." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Farb- und Rauscheffekte" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Deaktiviert Rausch- und Farbeffekte global, um die Leistung auf schwächeren " +"Systemen zu verbessern." + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack-Level" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Ändert das Verhalten des dynamischen Weichzeichnungseffekts.\n" +"Der Standardwert wird dringend empfohlen, es sei denn, Sie verwenden " +"Anwendungsunschärfe, in diesem Fall ist „Kein Artefakt“ besser.\n" +"Diese Option deaktiviert das teilweise Neuzeichnen in der GNOME-Shell " +"komplett und kann die Leistung erheblich beeinträchtigen, optimiert jedoch " +"vollständig den Weichzeichnungseffekt." + +#: general.ui:151 +msgid "Debug" +msgstr "Debug" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Sorgt dafür, dass die Erweiterung detailliert protokolliert wird. Aktivieren " +"Sie diese Option, wenn Sie ein Problem melden müssen." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Einstellungen zurücksetzen" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Setzt die Einstellungen von Blur my Shell unwiederbringlich zurück." + +#: general.ui:187 +msgid "Reset" +msgstr "Zurücksetzen" + +#: general.ui:228 +msgid "High performances" +msgstr "Hohe Leistung" + +#: general.ui:229 +msgid "Default" +msgstr "Standard" + +#: general.ui:230 +msgid "High quality" +msgstr "Hohe Qualität" + +#: general.ui:231 +msgid "No artifact" +msgstr "Keine Artefakte" + +#: menu.ui:6 +msgid "Project page" +msgstr "Projektseite" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Einen Fehler melden" + +#: menu.ui:14 +msgid "License" +msgstr "Lizenz" + +#: menu.ui:18 +msgid "Donate" +msgstr "Spenden" + +#: other.ui:5 +msgid "Other" +msgstr "Andere" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Sperrbildschirm Unschärfe" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Die Einstellungen dieser Extension für die Unschärfe des Sperrbildschirms " +"verwenden." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Bildschirmfoto Unschärfe" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Fügen Sie dem Hintergrund der Fensterauswahl in der Screenshot-" +"Benutzeroberfläche einen Unschärfeeffekt hinzu." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Unschärfe der Window-List Eerweiterung" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "" +"Unschärfeeffekt auf die Window-List Erweiterungen anwenden wenn diese " +"verwendent wird." + +#: overview.ui:5 +msgid "Overview" +msgstr "Übersicht" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Hintergrund Unschärfe" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Den Unschärfeeffekt auf das Hintergrundbild in der Übersicht anwenden." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Übersicht Komponenten Stil" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Der halbtransparente Stil für das Dash, Suchfeld/-ergebnisse und die " +"Anwendungsordner." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Unschärfe des Anwendungsordners" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Macht den Hintergrund des Anwendungsordnerdialoges unscharf." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Stil der Anwendungsordnerdialoge" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Der halbtransparente Stil des Anwendungsordnerdialogs." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Keinen Effekt anwenden" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Panel Unschärfe" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Das obere Panel mit Hilfe des Hintergrundbildes unscharf machen." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statische Unschärfe" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Verwendet ein statisches unscharfes Bild. Leistungsfähiger und stabiler." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Deaktiviert die Unschärfe des Panels beim Aufrufen der Übersicht." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Überschreibt den Hintergrund des Panels um ihn (halb-)transparent zu " +"machen.\n" +"Empfohlen sofern du dein GNOME Thema bearbeiten möchtest." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Der transparente/halbtransparente Stil für den Panel-Hintergrund." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Deaktiviert wenn ein Fenster in der Nähe ist" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" +"Deaktiviert die Transparenz des Panels, wenn sich ein Fenster in der Nähe " +"befindet." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Kompatibilität" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" +"Verschiedene Optionen zur Sicherstellung der Kompatibilität mit anderen " +"Erweiterungen." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hidetopbar Erweiterung" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Deaktiviert die Unschärfe in der Übersicht nicht. Am besten mit statischer " +"Unschärfe verwenden." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Fenstername" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Fenster auswählen" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Wähle ein Fenster aus oder wähle es über seinen Klassennamen." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Füge Unschärfe zu den Anwendungen hinzu. Dies ist noch eine beta " +#~ "Funktion.\n" +#~ "Um das bestmögliche Ergebnis zu bekommen, stellen Sie sicher, dass Sie " +#~ "die Option \"Keine Artefakte\" in der Einstellung \"Allgemein -> Hack-" +#~ "Level\" ausgewählt haben.\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Macht den Hintergrund halbtransparent, deaktivieren Sie dies, um " +#~ "stattdessen die Dash to Dock-Einstellungen zu verwenden." + +#~ msgid "Performances" +#~ msgstr "Leistung" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Diverse Optionen zur Optimierung der Leistungen." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Ermöglicht es, die Verwendung von Rausch- und Farbeffekten global zu " +#~ "deaktivieren, um die Performance bei leistungsschwachen Grafikkarten zu " +#~ "verbessern." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Verändert das Verhalten des dynamischen Unschärfeeffekts.\n" +#~ "Der Standardwert wird dringend empfohlen, außer es wird " +#~ "Anwendungsunschärfe verwendet, in diesem Fall ist \"Keine Artefakte\" die " +#~ "bessere Wahl.\n" +#~ "Mit dieser Option wird die Funktion \"clipped redraws\" der GNOME Shell " +#~ "deaktiviert und sie kann die Leistung erheblich beeinflussen, sie wird " +#~ "aber den Unschärffeeffekt vollständig beheben." + +#~ msgid "No artefact" +#~ msgstr "Keine Artefakte" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Der halbtransparente Stil für das Dash, die Sucheinträge/-ergebnisse und " +#~ "die Anwendungsordner." + +#~ msgid "Applications folder blur" +#~ msgstr "Anwendungsordner Unschärfe" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Macht den Hintergrund von Ordner Icons unscharf." + +#~ msgid "Dialog opacity" +#~ msgstr "Dialog Deckkraft" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "Die Deckkraft des Anwendungsordner-Popups." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Überschreibe den Hintergrund des Panels, um einen durchsichtigen zu " +#~ "nutzen.\n" +#~ "Empfohlen außer Sie wollen Ihr GNOME-Theme anpassen." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Unschärfe zu Anwendungen hinzufügen. Diese Funktion ist noch in der Beta-" +#~ "Phase und ist ziemlich fehlerhaft. Sie wird nur auf Anwendungen " +#~ "angewendet, welche darum bitten oder in der Whitelist unten festgelegt " +#~ "sind." + +#, fuzzy +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "Fügt standardmäßig hinter allen Fenster Unschärfe hinzu. Aufgrund von " +#~ "Leistungs- und Stabilitätsproblemen nicht zu empfehlen." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Ändert das Verhalten des dynamischen Unschärfeeffekts. Die " +#~ "Standardeinstellung wird sehr empfohlen." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Deaktiviert die Unschärfe des Panels falls sich ein Fenster in der Nähe " +#~ "befindet." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Eine Liste von Anwendungen bei denen Unschärfe hinzugefügt werden soll " +#~ "(Eine Anwendung pro Zeile). In Xorg kann man `xprop|grep WM_CLASS` " +#~ "verwenden, um den Class Name zu erhalten, welcher hier eingefügt werden " +#~ "muss." diff --git a/po/el.po b/po/el.po new file mode 100644 index 00000000..17462adc --- /dev/null +++ b/po/el.po @@ -0,0 +1,513 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Konstantinos Polychronidis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Εφαρμογές" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Θόλωμα εφαρμογών (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Προσθέτει θόλωμα στις εφαρμογές. Αυτή η λειτουργία είναι ακόμα σε " +"δοκιμαστικό στάδιο (beta).\n" +"Για να έχετε τα καλύτερα δυνατά αποτελέσματα, επιλέξτε το \"Χωρίς artifact\" " +"στην προτίμηση \"Γενικά → Hack level\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Αδιαφάνεια" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Η αδιαφάνεια του παραθύρου επιπλέον του το εφέ θολώματος, μεγαλύτερη τιμή θα " +"καθιστά το παράθυρο πιο αναγνώσιμο." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Θόλωμα κατά την επισκόπηση" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Επιβάλλει τη σωστή εμφάνιση του θολώματος σε όλους τους χώρους εργασίας κατά " +"τη λειτουργίας επισκόπησης.\n" +"Αυτό μπορεί να προκαλέσει κάποια καθυστέρηση ή προβλήματα απόδοσης." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Ενεργοποίηση όλων από προεπιλογή" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Προσθέτει θόλωμα πίσω από όλα τα παράθυρα από προεπιλογή.\n" +"Δεν συνιστάται λόγω πιθανών προβλημάτων απόδοσης και σταθερότητας." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Λευκή λίστα" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Μια λίστα παραθύρων που θα θολώνονται." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Προσθήκη παραθύρου" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Μαύρη λίστα" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Μια λίστα παραθύρων που δεν θα θολώνονται." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Προσαρμοσμένες ρυθμίσεις" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Χρήση προσαρμοσμένων ρυθμίσεων θαμπώματος, αντί για αυτές που είναι " +"ορισμένες στη σελίδα Γενικά." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Σίγμα" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Ένταση θολώματος." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Φωτεινότητα" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Η φωτεινότητα του εφέ θολώματος, μια υψηλή τιμή μπορεί να δυσκολέψει την " +"ανάγνωση του κειμένου." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Χρώμα" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Αλλαγή του χρώματος του θολώματος. Η αδιαφάνεια του χρώματος ελέγχει πόσο " +"αυτό αναμειγνύεται με το εφέ θολώματος." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Ποσότητα θορύβου" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Η ποσότητα θορύβου που προστίθεται στο εφέ θολώματος, χρήσιμη για οθόνες " +"χαμηλής αντίθεσης ή για αισθητικούς λόγους." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Φωτεινότητα θορύβου" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Η φωτεινότητα του εφέ θορύβου που προστίθεται στο εφέ θολώματος." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Προσοχή" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Ο θόρυβος και το χρώμα δεν μπορούν να ενεργοποιηθούν σε δυναμικά θολωμένα " +"στοιχεία, όπως αυτό." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Θάμπωμα Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Θάμπωμα του φόντου της επέκτασης Dash to Dock, αν χρησιμοποιείται." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Αντικατάσταση φόντου" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Καθιστά το φόντο είτε διαφανές είτε ημιδιαφανές. Απενεργοποιήστε αυτή την " +"επιλογή για να χρησιμοποιήσετε τις προτιμήσεις του Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Στυλ φόντου" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" +"Το στυλ διαφάνειας/ημιδιαφάνειας για το φόντο της γραμμής εκκίνησης (dock)." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Απενεργοποίηση κατά την επισκόπηση" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" +"Απενεργοποιεί το θόλωμα από το Dash to Dock κατά την εισαγωγή στην " +"επισκόπηση." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Διαφανές" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Φωτεινό" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Σκοτεινό" + +#: general.ui:5 +msgid "General" +msgstr "Γενικά" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Προτιμήσεις θολώματος" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Καθολικές προτιμήσεις θολώματος, χρησιμοποιούμενες από όλα τα στοιχεία από " +"προεπιλογή." + +#: general.ui:117 +msgid "Performance" +msgstr "Επίδοση" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Διάφορες επιλογές για βελτίωση της επίδοσης." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Εφέ χρώματος και θορύβου" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Απενεργοποιεί καθολικά τα εφέ χρώματος και θορύβου, πράγμα που μπορεί να " +"βελτιώσοει την επίδοση σε πιο αδύναμα συστήματα." + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack level" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Αλλάζει τη συμπεριφορά του δυναμικού εφέ θολώματος.\n" +"Η τιμή \"Προεπιλογή\" συνιστάται ανεπιφύλακτα εκτός αν χρησιμοποιείτε τη " +"δυνατότητα \"Θόλωμα εφαρμογών\", στην οποία περίπτωση η επιλογή \"Χωρίς " +"artifact\" είναι καλύτερη.\n" +"Αυτή η επιλογή θα απενεργοποιήσει εντελώς τα clipped redraws στο GNOME shell " +"και μπορεί να επηρεάσει σημαντικά την απόδοση, αλλά θα διορθώσει πλήρως το " +"εφέ θολώματος." + +#: general.ui:151 +msgid "Debug" +msgstr "Εντοπισμός σφαλμάτων" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Καθιστά την επέκταση αναλυτική στα αρχεία καταγραφής, ενεργοποιήστε τo όταν " +"χρειάζεται να αναφέρετε ένα πρόβλημα." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Επαναφορά προτιμήσεων" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" +"Επαναφέρει τις προτιμήσεις του Blur my Shell στις προεπιλεγμένες τιμές " +"ανεπανόρθωτα." + +#: general.ui:187 +msgid "Reset" +msgstr "Επαναφορά" + +#: general.ui:228 +msgid "High performances" +msgstr "Υψηλές επιδόσεις" + +#: general.ui:229 +msgid "Default" +msgstr "Default" + +#: general.ui:230 +msgid "High quality" +msgstr "Υψηλή ποιότητα" + +#: general.ui:231 +msgid "No artifact" +msgstr "Χωρίς artifact" + +#: menu.ui:6 +msgid "Project page" +msgstr "Ιστοσελίδα εφαρμογής" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Αναφορά προβλήματος" + +#: menu.ui:14 +msgid "License" +msgstr "Άδεια χρήσης" + +#: menu.ui:18 +msgid "Donate" +msgstr "Δωρεά" + +#: other.ui:5 +msgid "Other" +msgstr "Άλλο" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Θόλωμα οθόνης κλειδώματος" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Αλλάζει το θόλωμα της οθόνης κλειδώματος ώστε να χρησιμοποιεί τις " +"προτιμήσεις αυτής της επέκτασης." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Θόλωμα στιγμιότυπου οθόνης" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Προσθέτει εφέ θολώματος στο φόντο του παραθύρου επιλογών κατά τη διεπαφή " +"στιγμιοτύπου οθόνης." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Θόλωμα της επέκτασης Window list" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Προσθέτει εφέ θολώματος στην επέκταση window-list, αν χρησιμοποιείται." + +#: overview.ui:5 +msgid "Overview" +msgstr "Επισκόπηση" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Θόλωμα φόντου" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Προσθέτει θόλωμα στο φόντο της λειτουργίας επισκόπησης, χρησιμοποιώντας την " +"εικόνα φόντου." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Στυλ στοιχείων της λειτουργίας επισκόπησης" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Το στυλ ημιδιαφάνειας για τη γραμμή εκκίνησης (dash), την αναζήτηση, τα " +"αποτελέσματα αναζήτησης και τους φακέλους εφαρμογών." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Θόλωμα φακέλων εφαρμογών" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Προσθέτει εφέ θολώματος στο φόντο των διαλόγων φακέλων εφαρμογών." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Στυλ διαλόγων φακέλων εφαρμογών" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Το στυλ ημιδιαφάνειας για τους διάλογους φακέλων εφαρμογών." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Χωρίς διαμόρφωση" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Θόλωμα του Panel" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Θόλωμα του επάνω panel χρησιμοποιώντας την εικόνα φόντου." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Στατικό θόλωμα" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Χρησιμοποιήστε μια στατική θολωμένη εικόνα, για περισσότερη αποδοτικότητα " +"και σταθερότητα." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" +"Απενεργοποιεί το θόλωμα από το panel κατά την είσοδο στη λειτουργία " +"επισκόπησησς." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Αντικαθιστά το φόντο του πάνελ ώστε να χρησιμοποιεί ένα διαφανές ή " +"ημιδιαφανές φόντο.\n" +"Συνιστάται εκτός αν θέλετε να προσαρμόσετε το θέμα του GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Το στυλ διαφάνειας/ημιδιαφάνειας για το φόντο του panel." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Απενεργοποίηση όταν ένα παράθυρο είναι κοντά" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" +"Απενεργοποιεί τη διαφάνεια του πάνελ όταν ένα παράθυρο είναι κοντά του." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Συμβατότητα" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Διάφορες επιλογές που παρέχουν συμβατότητα με άλλες επεκτάσεις." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Επέκταση Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Δεν απενεργοποιεί το θόλωμα στη λειτουργία επισκόπησης, ιδανικό για χρήση με " +"στατικό θόλωμα." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Όνομα παραθύρου" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Επιλογή παραθύρου" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Επιλογή παραθύρου άμεσα ή μέσω του όνοματος κλάσης του (classname)." diff --git a/po/es.po b/po/es.po new file mode 100644 index 00000000..e102d4d8 --- /dev/null +++ b/po/es.po @@ -0,0 +1,619 @@ +# Spanish translation for Blur my Shell. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Óscar Fernández Díaz , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: gallegonovato \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Aplicaciones" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Desenfoque de las aplicaciones (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Añade desenfoque a las aplicaciones. Esta funcionalidad aún está en beta.\n" +"Para obtener los mejores resultados posibles, asegúrese de elegir la opción " +"\"Sin artefactos\" en las preferencias \"General → Nivel de hackeo\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Opacidad" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"La opacidad de la ventana sobre el efecto de desenfoque, un valor más alto " +"será más legible." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Desenfoque en la vista general" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Fuerza a que el desenfoque se muestre correctamente en todos los espacios de " +"trabajo en la vista general.\n" +"Esto puede causar algunos problemas de latencia o rendimiento." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Activar todo por defecto" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Añade desenfoque detrás de todas las ventanas por defecto.\n" +"No se recomienda por problemas de rendimiento y estabilidad." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Lista blanca" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Una lista de ventanas para desenfocar." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Añadir ventana" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Lista negra" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Una lista de ventanas para no difuminar." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Personalizar propiedades" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Usa las propiedades de desenfoque personalizadas, en lugar de las " +"establecidas en la página General." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "La intensidad del desenfoque." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Brillo" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"El brillo del efecto de desenfoque, un valor alto puede hacer que el texto " +"sea más difícil de leer." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Color" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Cambia el color del desenfoque. La opacidad del color controla cuánto se " +"mezcla en el efecto de desenfoque." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Cantidad de ruido" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"La cantidad de ruido que se añade al efecto de desenfoque, útil en pantallas " +"de bajo contraste o con fines estéticos." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Claridad del ruido" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "La claridad del ruido se suma al efecto de desenfoque." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Aviso" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"El ruido y el color no pueden ser activados en componentes dinámicamente " +"desenfocados, como éste." + +#: dash.ui:5 +msgid "Dash" +msgstr "Tablero" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Desenfoque de Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Desenfoca el fondo de la extensión Dash to Dock, si se usa." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Sobrescribir el fondo" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Hace que el fondo sea transparente o semitransparente; desactívelo para usar " +"las preferencias de Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Estilo del fondo" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" +"El estilo transparente/semitransparente para el fondo de la barra de " +"aplicaciones." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Desactivar en la vista general" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Desactiva el desenfoque de Dash a Dock al entrar en la vista general." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Transparente" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Claro" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Oscuro" + +#: general.ui:5 +msgid "General" +msgstr "General" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Preferencias del desenfoque" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Preferencias globales del desenfoque, usadas de forma predeterminada por " +"todos los componentes." + +#: general.ui:117 +msgid "Performance" +msgstr "Rendimiento" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Varias opciones para mejorar el rendimiento." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Efectos de color y ruido" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Desactiva globalmente los efectos de ruido y color, lo que puede mejorar el " +"rendimiento en sistemas de gama baja." + +#: general.ui:135 +msgid "Hack level" +msgstr "Nivel de hack" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Cambia el comportamiento del efecto del desenfoque dinámico.\n" +"El valor predeterminado es altamente recomendado a menos que use desenfoque " +"de aplicación, en cuyo caso \"Sin artefactos\" es mejor.\n" +"Esta opción desactivará por completo los redibujados recortados en el shell " +"de GNOME, y puede afectar significativamente al rendimiento, pero arreglará " +"por completo el efecto de desenfoque." + +#: general.ui:151 +msgid "Debug" +msgstr "Depurar" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Hace que la extensión sea verbosa en los registros, se activa cuando se " +"necesita informar de un problema." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Restablecer preferencias" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Restablece las preferencias de Blur my Shell de forma irreversible." + +#: general.ui:187 +msgid "Reset" +msgstr "Restablecer" + +#: general.ui:228 +msgid "High performances" +msgstr "Altos rendimientos" + +#: general.ui:229 +msgid "Default" +msgstr "Predeterminado" + +#: general.ui:230 +msgid "High quality" +msgstr "Alta calidad" + +#: general.ui:231 +msgid "No artifact" +msgstr "Sin artefactos" + +#: menu.ui:6 +msgid "Project page" +msgstr "Página del proyecto" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Informar de un error" + +#: menu.ui:14 +msgid "License" +msgstr "Licencia" + +#: menu.ui:18 +msgid "Donate" +msgstr "Donar" + +#: other.ui:5 +msgid "Other" +msgstr "Otro" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Desenfoque de la pantalla de bloqueo" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Cambia el desenfoque de la pantalla de bloqueo para usar las preferencias de " +"esta extensión." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Desenfoque de captura de pantalla" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Añade desenfoque al fondo del selector de ventanas en la interfaz de usuario " +"de las capturas de pantalla." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Desenfoque de la lista de ventanas" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Hacer borrosa la extensión de la lista de ventanas, si se usa." + +#: overview.ui:5 +msgid "Overview" +msgstr "Vista general" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Desenfoque del fondo" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Añade desenfoque al fondo de la vista general, usando la imagen del fondo de " +"pantalla." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Estilo de los componentes de la vista general" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"El estilo semitransparente para el guión, la entrada de búsqueda/resultados " +"y las carpetas de aplicaciones." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Desenfoque de la carpeta de la aplicación" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" +"Difumina el fondo de los cuadros de diálogo de las carpetas de aplicaciones." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Estilo de los diálogos de las carpetas de las aplicaciones" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" +"El estilo semitransparente para los diálogos de la carpeta de la aplicación." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "No estilizar" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Desenfoque del panel" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Desenfoca el panel superior con la imagen de fondo." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Desenfoque estático" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Usa una imagen borrosa estática, más potente y estable." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Desactiva el desenfoque del panel al entrar en la vista general." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Anula el fondo del panel para usar uno transparente o semitransparente.\n" +"Recomendado a menos que quieras personalizar tu tema de GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "El estilo transparente/semitransparente para el fondo del panel." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Desactivar cuando una ventana está cerca" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" +"Desactiva la transparencia del panel cuando una ventana está cerca de él." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Compatibilidad" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" +"Varias opciones para proporcionar compatibilidad con otras extensiones." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Extensión Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"No desactiva el desenfoque en la vista general, se usa mejor con el " +"desenfoque estático." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Nombre de la ventana" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Seleccionar ventana" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Elija una ventana o selecciónela por su nombre de clase." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Añadir desenfoque a las aplicaciones. Esto es todavía una funcionalidad " +#~ "beta.\n" +#~ "Para obtener los mejores resultados posibles, asegúrese de elegir la " +#~ "opción \"Sin artefactos\" en la preferencia \"General → Nivel de " +#~ "desenfoque\".\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Hace que el fondo sea semitransparente, desactívelo para usar las " +#~ "preferencias de Dash to Dock en su lugar." + +#~ msgid "Performances" +#~ msgstr "Rendimientos" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Varias opciones para ajustar los rendimientos." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Permite desactivar globalmente el uso de efectos de ruido y color, esto " +#~ "puede mejorar el rendimiento para la gráfica de gama baja." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Cambia el comportamiento del efecto de desenfoque dinámico.\n" +#~ "El valor predeterminado es muy recomendable, a menos que use el " +#~ "desenfoque de aplicación, en cuyo caso es mejor \"Sin artefacto\".\n" +#~ "Esta opción desactivará por completo los redibujos recortados del shell " +#~ "de Gnome, y puede afectar al rendimiento de forma significativa, pero " +#~ "arreglará por completo el efecto de desenfoque." + +#~ msgid "No artefact" +#~ msgstr "Sin artefacto" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "El estilo semitransparente para el tablero, la entrada de búsqueda/" +#~ "resultados y las carpetas de aplicaciones." + +#~ msgid "Applications folder blur" +#~ msgstr "Desenfoque de la carpeta de aplicaciones" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Hace que el fondo de los iconos de las carpetas sea borroso." + +#~ msgid "Dialog opacity" +#~ msgstr "Opacidad del diálogo" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "La opacidad de la ventana emergente de la carpeta de aplicaciones." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Sobrescribe el fondo del panel para usar uno transparente.\n" +#~ "Recomendado a menos que quiera personalizar su tema de Gnome." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Añadir desenfoque a las aplicaciones. Esto es todavía una funcionalidad " +#~ "beta, tiene bastantes errores y sólo se aplica a las aplicaciones que lo " +#~ "piden, o a las que se establecen en la lista blanca de abajo." + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "Añade desenfoque detrás de todas las ventanas por defecto. No se " +#~ "recomienda por problemas de rendimiento y estabilidad." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Cambia el comportamiento del efecto de desenfoque dinámico. El valor " +#~ "predeterminado es muy recomendable." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Desactiva el desenfoque del panel cuando una ventana está cerca de el." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Una lista de las aplicaciones a difuminar, una por línea. Para obtener el " +#~ "nombre de una clase de aplicación, en xorg puedes usar `xprop|grep " +#~ "WM_CLASS` y pegar el último nombre aquí." diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 00000000..537d5398 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,618 @@ +# French translations for Blur my Shell. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Aurélien Hamy , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: \"J. Lavoie\" \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.18.1\n" +"X-Poedit-Basepath: ../resources/ui\n" +"X-Poedit-SearchPath-0: .\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Applications" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Flou des applications (bêta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Ajoute du flou aux applications. Ceci est une fonctionnalité bêta.\n" +"Pour obtenir les meilleurs résultats possibles, assurez vous de choisir " +"l'option \"Sans artefact\" pour le paramètre “Général → Hack level”.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Opacité" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"L'opacité de la fenêtre au dessus de l'effet de flou, une valeur plus haute " +"sera plus lisible." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Floute dans l'aperçu" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Force le flou à être correctement affiché sur tous les espaces de travail du " +"mode aperçu.\n" +"Cela peut causer des problèmes de latence ou de performance." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Active tout par défaut" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Ajoute du flou derrière toutes les fenêtres par défaut.\n" +"Non recommandé en raison de problèmes de performance et de stabilité." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Liste blanche" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Une liste de fenêtres à flouter." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Ajouter une fenêtre" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Liste noire" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Une liste d'applications à ne pas flouter." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Éditer les paramètres" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Utilise les paramètres de flou ci-dessous, plutôt que ceux définis dans les " +"préférences générales." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "L'intensité du flou." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Luminosité" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"La luminosité de l'effet de flou, une valeur importante pourrait rendre le " +"texte difficile à lire." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Couleur" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Change la couleur du flou. L'opacité de la couleur contrôle son degré de " +"fusion avec le flou." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Quantité de bruit" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"La quantité de bruit visuel à ajouter au flou, utile pour des écrans à " +"faible contraste ou dans un but esthétique." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Luminosité du bruit" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "La luminosité du bruit ajouté au flou." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Notice" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Le bruit visuel et la couleur ne peuvent pas être activés sur des composants " +"dont le flou est dynamique, tel que celui-ci." + +#: dash.ui:5 +msgid "Dash" +msgstr "Barre d'applications" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Flou de Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Floute le fond de l'extension Dash to Dock, si elle est installée." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Outrepasser le fond" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Rend le fond soit transparent ou semi-transparent, désactivez ceci pour que " +"les préférences Dash to Dock soit utilisées." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Style du fond" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" +"Le style transparent/semi-transparent pour le fond de la barre " +"d'applications." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Désactiver dans l'aperçu" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Désactiver le flou de Dash to Dock lorsqu'on ouvre l'aperçu." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Transparent" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Clair" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Foncé" + +#: general.ui:5 +msgid "General" +msgstr "Général" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Préférences du flou" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Les préférences globales de l'effet de flou, utilisées par tous les " +"composants par défaut." + +#: general.ui:117 +msgid "Performance" +msgstr "Performance" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Options multiples pour ajuster les performances." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Effets de bruit et de couleur" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Désactive globalement les effets de bruit et de couleur ce qui peut " +"améliorer les performances pour des systèmes bas de gamme." + +#: general.ui:135 +msgid "Hack level" +msgstr "Astuces de performances" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Change le comportement de l’effet de flou dynamique.\n" +"La valeur par défaut est hautement recommandée à moins que vous n'ayez " +"activé le flou d'application, dans ce cas \"Sans artefact\" conseillé.\n" +"Cette option désactivera entièrement les actualisations saccadées dans GNOME " +"shell, et pourrait impacter significativement les performances mais " +"corrigera complètement l'effet de flou." + +#: general.ui:151 +msgid "Debug" +msgstr "Débogage" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Rend l'extension verbeuse dans les journaux systèmes, activez-cela pour " +"rendre compte d'un problème." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Remise à zéro des préférences" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Remet à zéro les préférences de Blur my Shell de manière irréversible." + +#: general.ui:187 +msgid "Reset" +msgstr "Réinitialiser" + +#: general.ui:228 +msgid "High performances" +msgstr "Hautes performances" + +#: general.ui:229 +msgid "Default" +msgstr "Par défaut" + +#: general.ui:230 +msgid "High quality" +msgstr "Haute qualité" + +#: general.ui:231 +msgid "No artifact" +msgstr "Sans artefact" + +#: menu.ui:6 +msgid "Project page" +msgstr "Page du projet" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Signaler un problème" + +#: menu.ui:14 +msgid "License" +msgstr "Licence" + +#: menu.ui:18 +msgid "Donate" +msgstr "Faire un don" + +#: other.ui:5 +msgid "Other" +msgstr "Autres" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Flou de l'écran de verrouillage" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Utilise les préférences de l'extension pour le flou de l'écran de " +"verrouillage." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Flou de l'outil capture d'écran" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Ajoute du flou au fond d'écran de l'espace de sélection de fenêtres, dans " +"l'outil de capture d'écran." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Flou de l'extension Window List" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Rend l'extension window-list floutée, si elle est utilisée." + +#: overview.ui:5 +msgid "Overview" +msgstr "Aperçu" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Flouter l'arrière-plan" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Ajoute un effet de flou à l'arrière-plan de l'aperçu, en utilisant l'image " +"de fond d'écran." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Style des composants de l'aperçu" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Le style semi-transparent pour le barre d'applications, le menu de " +"recherche, et les dossiers dans le menu des applications." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Flou des dossiers dans le menu des applications" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Rend le fond des dossiers dans le menu des applications flouté." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Style des dossiers dans le menu des applications" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" +"Le style semi-transparent pour les dossiers dans le menu des applications." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Ne pas appliquer de thème" + +#: panel.ui:5 +msgid "Panel" +msgstr "Barre supérieure" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Flou de la barre supérieure" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Floute la barre supérieure en utilisant l'image de fond d'écran." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Flou statique" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Utilise une image statique, plus stable et performant." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" +"Désactive le flou du de la barre supérieure lorsqu'on est dans l'aperçu." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Remplacer le fond de la barre supérieure par un fond transparent/semi-" +"transparent.\n" +"Recommandé à moins que vous vouliez personnaliser votre thème GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" +"Le style transparent/semi-transparent pour le fond de la barre supérieure." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Désactiver lorsqu'une fenêtre est proche" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" +"Désactive la transparence de la barre supérieure lorsqu'une fenêtre est " +"proche." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Compatibilité" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" +"Des options diverses pour permettre de rester compatible avec d'autres " +"extensions." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Extension Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Ne désactive pas le flou lorsqu'on est dans l'aperçu, à utiliser de " +"préférence avec un flou statique." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Nom de la fenêtre" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Choix de la fenêtre" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Choisissez une fenêtre ou sélectionnez-la par son nom de classe." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Ajoute du flou aux applications. C'est une fonctionnalité bêta.\n" +#~ "Pour obtenir les meilleurs résultats possibles, choisissez l'option « Pas " +#~ "d'artéfact » dans l'onglet « General → Astuces de performances »\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Rend le fond semi-transparent, désactivez cela pour utiliser les " +#~ "préférences de Dash to Dock à la place." + +#~ msgid "Performances" +#~ msgstr "Performances" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Différentes options pour ajuster les performances." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Permet de désactiver entièrement les effets de bruit et de couleur, cela " +#~ "peut améliorer légèrement les performances des terminaux les moins " +#~ "performants." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Change le comportement de l'effet de flou dynamique.\n" +#~ "La valeur par défaut est très recommandée, sauf si vous floutez les " +#~ "applications, auquel cas « Pas d'artefact » est meilleur.\n" +#~ "Cette option désactivera entièrement les repeintes partielles de GNOME " +#~ "shell, et pourrait impacter les performances mais réglera entièrement " +#~ "l'effet de flou." + +#~ msgid "No artefact" +#~ msgstr "Pas d'artéfact" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Le style semi-transparent à utiliser pour le dash, la barre et les " +#~ "résultats de recherche, et les dossier d'applications." + +#~ msgid "Applications folder blur" +#~ msgstr "Flou des dossiers d'applications" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Floute le fond des icônes de dossiers d'applications." + +#~ msgid "Dialog opacity" +#~ msgstr "Opacité du dialogue" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "L'opacité du fond de la fenêtre contextuelle." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Passe outre le fond du panneau pour utiliser un fond transparent.\n" +#~ "Recommandé sauf si vous voulez personnaliser votre thème GNOME." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Ajoute du flou aux applications. Fonctionnalité bêta, assez fragile et " +#~ "qui n'est qu'appliquée aux applications qui le demandent, ou celles " +#~ "désignées dans la liste blanche ci-dessous." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Change le comportement du flou dynamique vis-à-vis des artefacts. La " +#~ "valeur par défaut est très recommandée." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Désactive le flou du panneau lorsqu'une fenêtre le touche, par exemple en " +#~ "plein écran." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Une liste des applications à flouter, une par ligne. Pour avoir le nom " +#~ "d'une application, sous xorg vous pouvez utiliser `xprop|grep WM_CLASS` " +#~ "et coller ici le dernier nom fourni." diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 00000000..38031f9a --- /dev/null +++ b/po/hu.po @@ -0,0 +1,507 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: istvan-derda \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Alkalmazások" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Alkalmazások homályosítása (béta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Elhomályosítja az alkalmazásokat. Ez egyelőre béta funkció.\n" +"A legjobb eredmény elérése érdekében válaszd a \"Nincs artifact\"-ot az " +"\"Általános → Átalakítás szintje\" beállításnál.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Áttetszőség" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Az ablak áttetszősége a homályosításon felül. A magasabb érték jobb " +"olvashatóságot eredményez." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Homályosítás áttekintés nézetben" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Kényszeríti a homályosítás megjelenítését a munkaterületeken az áttekintés " +"nézetben.\n" +"Teljesítménybeli problémát, vagy késleltetéseket okozhat." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Elhomályosítás az összes ablaknál" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Minden ablak homályosítása alapértelmezésként.\n" +"Teljesítménybeli és stabilitási problémák miatt nem javasolt." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Fehérlista" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Elhomályosítandó ablakok listája." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Ablak hozzáadása" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Feketelista" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Nem elhomályosítandó ablakok listája." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Beállítások testreszabása" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Testreszabott homályosítási beállításokat használ az általános beállítások " +"helyett." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Mérték" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "A homályosítás intenzitása, mértéke." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Világosság" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"A homályosítás világossága. A magasabb érték nehezebbé teheti a szövegek " +"olvasását." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Szín" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"A homályosítás színét módosítja. A szín áttetszősége szabályozza, hogy " +"mennyire olvad bele a homályosításba." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Zajszint" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"A homályosítás zajszintje. Alacsony kontrasztú képernyőknél és esztétikai " +"célokra hasznos." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Zajszint világossága" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Az elhomályosításra kerülő zajszint világossága." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Megjegyzés" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"A zaj és a szín nem aktiválható a dinamikusan homályosított komponenseken, " +"többek közt ezen sem." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dokk" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "A Dash to Dock kiegészítő homályosítása" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "" +"A Dash to Dock kiegészítő hátterének elhomályosítása, ha az használatban van." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Háttér felülírása" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"A hátteret áttetszővé, vagy részben áttetszővé teszi. Kapcsold ki a Dash to " +"Dock beállítások használatához." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Háttér stílus" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "A dokk hátterének áttetsző / részben áttetsző stílusa." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Kikapcsolás áttekintés nézetben" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Áttekintés nézetben kikapcsolja a Dash to Dock homályosítását." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Áttetsző" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Világos" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Sötét" + +#: general.ui:5 +msgid "General" +msgstr "Általános" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Homályosítás beállításai" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Alapértelmezett homályosítási beállítások. Minden komponens " +"alapértelmezettként fogja használni." + +#: general.ui:117 +msgid "Performance" +msgstr "Teljesítmény" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Különböző beállítások a teljesítmény javításához." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Szín és zaj hatás" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"A zaj és szín hatásokat mindenhol kikapcsolja, ami javíthatja a " +"teljesítményt a gyengébb rendszereken." + +#: general.ui:135 +msgid "Hack level" +msgstr "Átalakítás szintje" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Megváltoztatja a dinamikus homályosítás effektusát.\n" +"Az alapértelmezett beállítás ajánlott, kivéve ha az alkalmazások " +"homályosítása engedélyezve van: ebben az esetben a \"Nincs artifact\" jobb.\n" +"Ez a beállítás teljesen kikapcsolja a \"clipped redraw\"-kat a GNOME shell-" +"ben, jelentősen befolyásolhatja a teljesítményt, de cserébe teljesen " +"kijavítja a homályosítás hibáit." + +#: general.ui:151 +msgid "Debug" +msgstr "Hibakeresés" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"A kiegészítés logjait részletessé teszi. Aktiváld, ha problémát szeretnél " +"bejelenteni." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Alaphelyzetbe állítás" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Véglegesen visszaállítja a Blur my Shell-t alap beállításaira." + +#: general.ui:187 +msgid "Reset" +msgstr "Visszaállítás" + +#: general.ui:228 +msgid "High performances" +msgstr "Nagy teljesítmény" + +#: general.ui:229 +msgid "Default" +msgstr "Alapértelmezett" + +#: general.ui:230 +msgid "High quality" +msgstr "Magas minőség" + +#: general.ui:231 +msgid "No artifact" +msgstr "Nincs artifact" + +#: menu.ui:6 +msgid "Project page" +msgstr "Projekt oldal" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Hiba bejelentése" + +#: menu.ui:14 +msgid "License" +msgstr "Licenc" + +#: menu.ui:18 +msgid "Donate" +msgstr "Támogatás" + +#: other.ui:5 +msgid "Other" +msgstr "Egyéb" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Záróképernyő homályosítása" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "A záróképernyő beállításait a Blur my Shell-ben megadottakra állítja." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Képernyőkép ablakválasztójának homályosítása" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "Homályosítja az ablakválasztó hátterét." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Window list kiegészítő homályosítása" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "A Window-list kiegészítőt homályosítja, ha használatban van." + +#: overview.ui:5 +msgid "Overview" +msgstr "Áttekintés" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Háttér homályosítása" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Elhomályosítja az áttekintés nézet hátterét a háttérkép használatával." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Áttekintés nézet komponensek stílusa" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Részben áttetsző stílus a dokkhoz, kereséshez és annak eredményeihez, ezen " +"kívül az alkalmazás mappákhoz." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Alkalmazásmappa homályosítása" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Elhomályosítja az alkalmazásmappa párbeszédablakának hátterét." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Alkalmazásmappa párbeszédablak stílusa" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Részben áttetsző stílus az alkalmazásmappa párbeszédablakához." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Ne módosuljon" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Panel homályosítása" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "A felső panel homályosítása a háttérkép használatával." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statikus homályosítás" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Statikus homályosított képet használjon. Gyorsabb és stabilabb." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" +"Kikapcsolja a felső panel homályosítását az áttekintés nézetbe lépéskor." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Felülírja a felső panel hátterét, hogy áttetszőt, vagy részben áttetszőt " +"használjon.\n" +"Ajánlott, kivéve, ha személyre akarod szabni a GNOME témád." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "A felső panel hátterének áttetsző / részben áttetsző stílusa." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Kikapcsolás, ha ablak van a közelben" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Kikapcsolja a panel áttetszőségét, ha ablak van a közelében." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Kompatibilitás" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" +"Különböző beállítások más kiegészítők kompatibilitásának biztosításához." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hidetopbar kiegészítő" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Nem kapcsolja ki a homályosítást áttekintés nézetben. Ez statikus " +"homályosítással a legjobb." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Ablak neve" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Válassz ablakot" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Válaszd ki az ablakot, vagy találd meg az osztályneve alapján." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Alkalmazások elhomályosítása. Ez még béta funkció, úgyhogy problémák " +#~ "merülhetnek fel, és csak azokra az alkalmazásokra van használva, amelyek " +#~ "kérik, vagy a lenti fehérlistán szerepelnek." diff --git a/po/it.po b/po/it.po new file mode 100644 index 00000000..be7277ce --- /dev/null +++ b/po/it.po @@ -0,0 +1,623 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: albanobattistella \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Applicazioni" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Sfocatura applicazioni (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Aggiunge sfocatura alle applicazioni. Questa è ancora una funzionalità " +"beta.\n" +"Per ottenere i migliori risultati possibili, assicurati di scegliere " +"l'opzione \"Nessun artefatto\" nella preferenza \"Generale → Livello di " +"hack\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Opacità" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"L'opacità della finestra sopra l'effetto di sfocatura; un valore più alto " +"sarà più leggibile." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Sfocatura nella panoramica" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Forza la sfocatura a essere visualizzata correttamente su tutti gli spazi di " +"lavoro nella panoramica.\n" +"Ciò può causare problemi di latenza o di prestazioni." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Abilita tutto per impostazione predefinita" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Aggiunge la sfocatura dietro tutte le finestre per impostazione " +"predefinita.\n" +"Sconsigliato per problemi di prestazioni e stabilità." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Whitelist" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Un elenco di finestre da sfocare." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Aggiungi finestra" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Blacklist" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Un elenco di finestre da non sfocare." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Personalizza le proprietà" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Utilizza proprietà di sfocatura personalizzate, invece di quelle impostate " +"nella pagina Generale." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "L'intensità della sfocatura." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Luminosità" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"La luminosità dell'effetto sfocato, un valore elevato potrebbe rendere il " +"testo più difficile da leggere." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Colore" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Cambia il colore della sfocatura. L'opacità del colore controlla quanto " +"viene sfumato nell'effetto di sfocatura." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Quantità di rumore" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"La quantità di rumore da aggiungere all'effetto sfocato, utile su schermi a " +"basso contrasto o per scopi estetici." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Leggerezza del rumore" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "La leggerezza del rumore si aggiungeva all'effetto sfocato." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Avviso" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Il rumore e il colore non possono essere attivati su componenti sfocati " +"dinamicamente, come questo." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Sfocatura Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Sfoca lo sfondo dell'estensione Dash to Dock, se utilizzata." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Sovrascrivi sfondo" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Rende lo sfondo trasparente o semitrasparente, disabilitalo per utilizzare " +"invece le preferenze Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Stile di sfondo" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Lo stile trasparente/semitrasparente per lo sfondo del dock." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Disattiva in panoramica" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" +"Disattiva la sfocatura da Dash to Dock quando si accede alla panoramica." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Trasparente" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Chiaro" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Scuro" + +#: general.ui:5 +msgid "General" +msgstr "Generale" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Preferenze sfocatura" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Preferenze di sfocatura globali, utilizzate per impostazione predefinita da " +"tutti i componenti." + +#: general.ui:117 +msgid "Performance" +msgstr "Prestazioni" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Varie opzioni per modificare le prestazioni." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Effetti di colore e rumore" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Disattiva globalmente il rumore e gli effetti di colore che possono " +"migliorare le prestazioni sui sistemi di fascia bassa." + +#: general.ui:135 +msgid "Hack level" +msgstr "Suggerimenti per le prestazioni" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Modifica il comportamento dell'effetto di sfocatura dinamica.\n" +"Il valore predefinito è altamente raccomandato a meno che non utilizzi la " +"sfocatura dell'applicazione, nel qual caso \"Nessun artefatto\" è meglio.\n" +"Questa opzione disabiliterà completamente i ridisegni ritagliati nella shell " +"di GNOME e potrebbe influire in modo significativo sulle prestazioni, ma " +"risolverà completamente l'effetto sfocato." + +#: general.ui:151 +msgid "Debug" +msgstr "Debug" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Rendi dettagliata l'estensione nei registri di sistema, abilitalo per " +"segnalare un problema." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Ripristina le preferenze" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Resetta le preferenze di Blur my Shell in modo irreversibile." + +#: general.ui:187 +msgid "Reset" +msgstr "Resettare" + +#: general.ui:228 +msgid "High performances" +msgstr "Alte prestazioni" + +#: general.ui:229 +msgid "Default" +msgstr "Predefinito" + +#: general.ui:230 +msgid "High quality" +msgstr "Alta qualità" + +#: general.ui:231 +msgid "No artifact" +msgstr "Nessun artefatto" + +#: menu.ui:6 +msgid "Project page" +msgstr "Pagina del progetto" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Segnala un bug" + +#: menu.ui:14 +msgid "License" +msgstr "Licenza" + +#: menu.ui:18 +msgid "Donate" +msgstr "Donazione" + +#: other.ui:5 +msgid "Other" +msgstr "Altro" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Sfocatura della schermata di blocco" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Modifica la sfocatura della schermata di blocco per utilizzare le preferenze " +"di questa estensione." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Sfocatura dello screenshot" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Aggiunge sfocatura allo sfondo dell'area di selezione della finestra nello " +"strumento di cattura dello schermo." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Sfocatura estensione dell'elenco delle finestre" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Rendi sfocata l'estensione dell'elenco di finestre, se utilizzata." + +#: overview.ui:5 +msgid "Overview" +msgstr "Panoramica" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Sfocatura dello sfondo" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Aggiungi sfocatura allo sfondo della panoramica, utilizzando l'immagine " +"dello sfondo." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Panoramica stile componenti" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Lo stile semitrasparente per la dash, la voce/risultati di ricerca e le " +"cartelle dell'applicazione." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Sfocatura cartella applicazione" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" +"Rende sfocato lo sfondo delle finestre di dialogo delle cartelle " +"dell'applicazione." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Stile finestre di dialogo cartella dell'applicazione" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" +"Lo stile semitrasparente per le finestre di dialogo delle cartelle " +"dell'applicazione." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Non dare stile" + +#: panel.ui:5 +msgid "Panel" +msgstr "Pannello" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Sfocatura pannello" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Sfoca il pannello superiore usando l'immagine di sfondo." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Sfocatura statica" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Utilizza un'immagine sfocata statica, più performante e stabile." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Disattiva la sfocatura dal pannello quando si accede alla panoramica." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Sostituisci lo sfondo del pannello per utilizzarne uno trasparente o " +"semitrasparente.\n" +"Consigliato a meno che tu non voglia personalizzare il tuo tema GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Lo stile trasparente/semitrasparente per lo sfondo del pannello." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Disattiva quando una finestra è vicina" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Disattiva la trasparenza del pannello quando una finestra è vicina." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Compatibilità" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Varie opzioni per fornire compatibilità con altre estensioni." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Estensione Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Non disabilita la sfocatura nella panoramica, meglio utilizzata con la " +"sfocatura statica." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Nome finestra" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Seleziona finestra" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Scegli una finestra o selezionala in base al nome della sua classe." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Aggiunge la sfocatura alle applicazioni. Si tratta ancora di una " +#~ "funzionalità beta.\n" +#~ "Per ottenere i migliori risultati possibili, assicuratevi di scegliere " +#~ "l'opzione \"Nessun artefatto\" nelle preferenze \"Generale → Livello " +#~ "hack\".\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Rende lo sfondo semitrasparente, disabilitalo per utilizzare invece le " +#~ "preferenze Dash to Dock." + +#~ msgid "Performances" +#~ msgstr "Prestazioni" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Varie opzioni per modificare le prestazioni." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Consente di disabilitare globalmente l'uso del rumore e degli effetti " +#~ "colore, questo può migliorare le prestazioni per la grafica di fascia " +#~ "bassa." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Modifica il comportamento dell'effetto di sfocatura dinamica.\n" +#~ "Il valore predefinito è molto consigliato, a meno che non si utilizzi la " +#~ "sfocatura delle applicazioni, nel qual caso è meglio \"Nessun " +#~ "artefatto\".\n" +#~ "Questa opzione disabilita completamente i ridisegni ritagliati dalla " +#~ "shell di GNOME e può avere un impatto significativo sulle prestazioni, ma " +#~ "risolve completamente l'effetto di sfocatura." + +#~ msgid "No artefact" +#~ msgstr "Nessun artefatto" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Lo stile semitrasparente per la dash, la voce/risultati di ricerca e le " +#~ "cartelle delle applicazioni." + +#~ msgid "Applications folder blur" +#~ msgstr "Sfocatura della cartella delle applicazioni" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Rende sfocato lo sfondo delle icone delle cartelle." + +#~ msgid "Dialog opacity" +#~ msgstr "Opacità di dialogo" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "L'opacità del popup della cartella delle applicazioni." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Sovrascrive lo sfondo del pannello per utilizzarne uno trasparente.\n" +#~ "Consigliato a meno che non si voglia personalizzare il tema di GNOME." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Aggiungi sfocatura alle applicazioni. Questa è ancora una funzionalità " +#~ "beta, è piuttosto buggata e viene applicata solo alle app che lo " +#~ "richiedono o a quelle impostate nella whitelist di seguito." + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "Aggiunge sfocatura dietro tutte le finestre per impostazione predefinita. " +#~ "Non consigliato a causa di problemi di prestazioni e stabilità." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Modifica il comportamento dell'effetto di sfocatura dinamica. Il valore " +#~ "di default è molto raccomandato." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "Disattiva la sfocatura dal pannello quando una finestra è vicina." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Un elenco delle applicazioni da sfocare, una per riga. Per ottenere un " +#~ "nome di classe dell'applicazione, sotto xorg puoi usare `xprop|grep " +#~ "WM_CLASS` e incollare qui il nome nome." diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 00000000..eaf79f0a --- /dev/null +++ b/po/ka.po @@ -0,0 +1,453 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "აპლიკაციები" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" + +#: applications.ui:28 +msgid "Opacity" +msgstr "_გაუმჭვირვალობა" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" + +#: applications.ui:85 +msgid "Whitelist" +msgstr "თეთრი სია" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "" + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "ფანჯრის დამატება" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "შავი სია" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "" + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "თვისებების მორგება" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "სიგმა" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "დაბინდვის ინტენსივობა." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "სიკაშკაშე" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "ფერი" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "ხმაურის ოდენობა" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "ხმაურის სიმსუბუქე" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "" + +#: customize-row.ui:113 +msgid "Notice" +msgstr "გაფრთხილება" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" + +#: dash.ui:5 +msgid "Dash" +msgstr "პანელი" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "" + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "ფონის გადაფარვა" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "ფონის სტილი" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "გამჭვირვალე" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "ღია" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "ბნელი" + +#: general.ui:5 +msgid "General" +msgstr "მთავარი" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" + +#: general.ui:117 +msgid "Performance" +msgstr "წარმადობა" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "" + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" + +#: general.ui:135 +msgid "Hack level" +msgstr "" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" + +#: general.ui:151 +msgid "Debug" +msgstr "გამართვა" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" + +#: general.ui:167 +msgid "Reset preferences" +msgstr "" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" + +#: general.ui:187 +msgid "Reset" +msgstr "თავიდან" + +#: general.ui:228 +msgid "High performances" +msgstr "მაღალი წარმადობა" + +#: general.ui:229 +msgid "Default" +msgstr "ნაგულისხმები" + +#: general.ui:230 +msgid "High quality" +msgstr "მაღალი ხარისხი" + +#: general.ui:231 +msgid "No artifact" +msgstr "არტეფაქტის გარეშე" + +#: menu.ui:6 +msgid "Project page" +msgstr "პროექტის გვერდი" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "შეცდომის პატაკი" + +#: menu.ui:14 +msgid "License" +msgstr "ლიცენზია" + +#: menu.ui:18 +msgid "Donate" +msgstr "შემოწირულობა" + +#: other.ui:5 +msgid "Other" +msgstr "სხვა" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "ჩაკეტილი ეკრანის დაბინდვა" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "" + +#: overview.ui:5 +msgid "Overview" +msgstr "მიმოხილვა" + +#: overview.ui:10 +msgid "Background blur" +msgstr "ფონის დაბინდვა" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" + +#: overview.ui:26 +msgid "Overview components style" +msgstr "" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "" + +#: panel.ui:5 +msgid "Panel" +msgstr "ზოლი" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "" + +#: panel.ui:26 +msgid "Static blur" +msgstr "" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" + +#: panel.ui:97 +msgid "Compatibility" +msgstr "თავსებადობა" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "ფანჯრის სახელი" + +#: window-row.ui:8 +msgid "Select window" +msgstr "ფანჯრის არჩევა" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 00000000..1ffdac22 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,494 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "어플리케이션" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "어플리케이션 블러 (베타)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" + +#: applications.ui:28 +msgid "Opacity" +msgstr "불투명도" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "블러 효과 위의 창의 불투명도 값이 높을수록 더 읽기 쉽습니다." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "오버뷰 모드 블러" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"오버뷰 모드의 모든 작업 영역에 블러 효과가 제대로 표시되도록 합니다.\n" +"이로 인해 일부 지연 또는 성능 문제가 발생할 수 있습니다." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "기본적으로 모두 활성화" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"블러 효과를 기본적으로 모든 창에 추가합니다.\n" +"성능 및 안정성 문제로 인해 권장하지 않습니다." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "화이트리스트" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "블러 효과를 추가할 창의 목록." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "창 추가" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "블랙리스트" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "블러 효과를 추가하지 않을 창 목록." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "속성 사용자 정의" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "일반 페이지에서 설정한 속성 대신 사용자 정의된 블러 속성을 사용합니다." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "시그마" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "블러 효과의 강도." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "밝기" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "블러 효과의 밝기, 높은 값은 텍스트를 읽기 어렵게 만들 수 있습니다." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "색상" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"블러의 색상을 변경합니다, 색상의 불투명도는 블러 효과의 혼합되는 정도를 설정" +"합니다." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "노이즈 값" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"블러 효과에 추가할 노이즈의 양으로, 대비가 낮은 화면이나 미적 목적에 유용합니" +"다." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "노이즈 밝기" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "블러 효과에 추가될 노이즈의 밝기." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "알림" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"노이즈 및 색상은 이와 같이 동적으로 흐리게 처리된 구성 요소에서 활성화할 수 " +"없습니다." + +#: dash.ui:5 +msgid "Dash" +msgstr "대시보드" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Dash to Dock 블러" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Dash to Dock 확장 프로그램이 사용되는 경우 배경을 흐리게 처리합니다." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "배경 오버라이드" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "오버뷰 모드에서 비활성화" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Dash to Dock 이 오버뷰 모드에 들어가면 블러 효과를 비활성화합니다." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "" + +#: general.ui:5 +msgid "General" +msgstr "일반" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "블러 환경 설정" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "글로벌 블러 환경설정, 모든 컴포넌트에서 기본값으로 사용됩니다." + +#: general.ui:117 +msgid "Performance" +msgstr "" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "" + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "색상과 노이즈 효과" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" + +#: general.ui:135 +msgid "Hack level" +msgstr "성능 수준" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" + +#: general.ui:151 +msgid "Debug" +msgstr "" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" + +#: general.ui:167 +msgid "Reset preferences" +msgstr "" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" + +#: general.ui:187 +msgid "Reset" +msgstr "" + +#: general.ui:228 +msgid "High performances" +msgstr "" + +#: general.ui:229 +msgid "Default" +msgstr "" + +#: general.ui:230 +msgid "High quality" +msgstr "" + +#: general.ui:231 +msgid "No artifact" +msgstr "" + +#: menu.ui:6 +msgid "Project page" +msgstr "" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "" + +#: menu.ui:14 +msgid "License" +msgstr "" + +#: menu.ui:18 +msgid "Donate" +msgstr "" + +#: other.ui:5 +msgid "Other" +msgstr "" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "" + +#: overview.ui:5 +msgid "Overview" +msgstr "" + +#: overview.ui:10 +msgid "Background blur" +msgstr "" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" + +#: overview.ui:26 +msgid "Overview components style" +msgstr "" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "" + +#: panel.ui:5 +msgid "Panel" +msgstr "" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "" + +#: panel.ui:26 +msgid "Static blur" +msgstr "" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" + +#: panel.ui:97 +msgid "Compatibility" +msgstr "" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "" + +#: window-row.ui:8 +msgid "Select window" +msgstr "" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "" + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "어플리케이션에 블러를 추가합니다. 이 기능은 아직 베타입니다. \n" +#~ "최상의 결과를 얻으려면, 설정의 \"일반 → 개선 방식\" 을 \"아티펙트 없음\" " +#~ "으로 선택해야 합니다.\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "배경을 반투명하게 만들고 Dash to Dock 기본 설정을 대신 사용하려면 이 옵션" +#~ "을 비활성화합니다." + +#~ msgid "Performances" +#~ msgstr "성능" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "성능을 조정하는 다양한 옵션들." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "노이즈 및 색상 효과의 사용을 전역적으로 비활성화할 수 있습니다. 이는 저사" +#~ "양 그래픽 환경에서의 성능을 향상시킬 수 있습니다." diff --git a/po/nb_NO.po b/po/nb_NO.po new file mode 100644 index 00000000..eec43987 --- /dev/null +++ b/po/nb_NO.po @@ -0,0 +1,557 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" +"X-Poedit-Basepath: ../resources/ui\n" +"X-Poedit-SearchPath-0: .\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Programmer" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Programtilsløring (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" + +#: applications.ui:28 +msgid "Opacity" +msgstr "" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Hvitliste" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "" + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "" + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Tilpass egenskaper" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Bruker egendefinerte tilsløringsegenskaper, istedenfor dem som velges i " +"«Generelt»." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +#, fuzzy +msgid "The intensity of the blur." +msgstr "Tilsløringsgrad." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Lysstyrke" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Tilsløringslysstyrke. En høy verdi kan gjøre teksten vanskeligere å lese." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Farge" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Endrer tilsløringens farge. Dekkevnen for fargen kontrollerer hvor mye den " +"tones inn i tilsløringseffekten." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Støymengde" + +#: customize-row.ui:72 general.ui:74 +#, fuzzy +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Mengden støy å legge til tilsløringseffekten. Nyttig på lavkontrastskjermer " +"eller til pynt." + +#: customize-row.ui:92 general.ui:94 +#, fuzzy +msgid "Noise lightness" +msgstr "Støyklarhet" + +#: customize-row.ui:93 general.ui:95 +#, fuzzy +msgid "The lightness of the noise added to the blur effect." +msgstr "Klarhet for støy som legges til i tilsløringseffekten." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Merk" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Støy og farge kan ikke aktiveres på dunamisk tilslørte komponenter som denne." + +#: dash.ui:5 +#, fuzzy +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +#, fuzzy +msgid "Dash to Dock blur" +msgstr "Dash til dokk-tilsløring" + +#: dash.ui:11 +#, fuzzy +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Tilslør bakgrunnen til Dash til dokk-utvidelsen, hvis den benyttes." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Overstyr bakgrunn" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Skru av i oversikten" + +#: dash.ui:51 +#, fuzzy +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Skrur av tilsløring fra Dash til dokk når oversikten åpnes." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Lys" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Mørk" + +#: general.ui:5 +msgid "General" +msgstr "Generelt" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Tilsløringsinnstillinger" + +#: general.ui:11 +#, fuzzy +msgid "Global blur preferences, used by all components by default." +msgstr "Tilsløringsinnstillinger som brukes av alle komponenter som forvalg." + +#: general.ui:117 +msgid "Performance" +msgstr "" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "" + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Farge og støyeffekter" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack-nivå" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" + +#: general.ui:151 +msgid "Debug" +msgstr "Avlusing" + +#: general.ui:152 +#, fuzzy +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Sirlig loggføring av utvidelsen. Skru på dette når du vil innrapportere en " +"feil." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" + +#: general.ui:187 +msgid "Reset" +msgstr "" + +#: general.ui:228 +#, fuzzy +msgid "High performances" +msgstr "Høy ytelse" + +#: general.ui:229 +msgid "Default" +msgstr "Forvalg" + +#: general.ui:230 +msgid "High quality" +msgstr "Høy kvalitet" + +#: general.ui:231 +msgid "No artifact" +msgstr "" + +#: menu.ui:6 +msgid "Project page" +msgstr "Prosjektside" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Innrapporter en feil" + +#: menu.ui:14 +msgid "License" +msgstr "Lisens" + +#: menu.ui:18 +msgid "Donate" +msgstr "Doner" + +#: other.ui:5 +msgid "Other" +msgstr "Annet" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Låseskjermstilsløring" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Endrer tilsløring av låseskjermen slik at den bruker innstillingene fra " +"dette tillegget." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Skjermavbildningstilsløring" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Tilslører bakgrunnen av vindusvelgeren i skjermavbildningsgrensesnittet." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Tilsløring av vinduslistetillegg" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Tilslører vinduslistetillegget, hvis det brukes." + +#: overview.ui:5 +msgid "Overview" +msgstr "Oversikt" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Bakgrunnstilsløring" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Tilslører oversiktsbakgrunnen, ved bruk av bakgrunnsbildet." + +#: overview.ui:26 +#, fuzzy +msgid "Overview components style" +msgstr "Stil for oversiktskomponenter" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" + +#: overview.ui:79 overview.ui:88 +#, fuzzy +msgid "Do not style" +msgstr "Ikke endre stil" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Paneltilsløring" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Tilslør topp-panelet med bakgrunnsbildet." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statisk tilsløring" + +#: panel.ui:27 +#, fuzzy +msgid "Uses a static blurred image, more performant and stable." +msgstr "Bruker et statisk tilslørt bilde. Gir bedre ytelse og stabilitet." + +#: panel.ui:42 +#, fuzzy +msgid "Disables the blur from the panel when entering the overview." +msgstr "Skrur av tilsløring fra panelet når oversikten åpnes." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Kompatibilitet" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Forskjellige valg for å tilby kompatibilitet med andre utvidelser." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hidetopbar-tillegg" + +#: panel.ui:104 +#, fuzzy +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Skrur ikke av tilsløring i oversikten. Fungerer best med statisk tilsløring." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "" + +#: window-row.ui:8 +msgid "Select window" +msgstr "" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "" + +#, fuzzy +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Gjør bakgrunnen semi-gjennomsiktig. Skru dette av for å bruke Dash til " +#~ "Dokk-innstillinger istedenfor." + +#, fuzzy +#~ msgid "Performances" +#~ msgstr "Ytelse" + +#, fuzzy +#~ msgid "Various options to tweak the performances." +#~ msgstr "Forskjellige ytelsesrelaterte innstillinger" + +#, fuzzy +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Tillater å skru av bruk av støy og fargeeffekter for alt. Kan forbedre " +#~ "ytelse for trege grafikk-kort." + +#, fuzzy +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Semi-gjennomsiktig stil for dash, søkeoppføring/resultat, og " +#~ "programmapper." + +#~ msgid "Applications folder blur" +#~ msgstr "Programmappetilsløring" + +#, fuzzy +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Tilslærer bakgrunnen til mappeikonene." + +#~ msgid "Dialog opacity" +#~ msgstr "Dialogdekkevne" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "Dekkevnen for programmappe-oppsprettet." + +#, fuzzy +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Dekk til programmene dine. Dette er fremdeles beta-funksjonalitet som " +#~ "ikke fungerer helt. Det legges kun til for programmer som spør om det, " +#~ "eller dem som settes i hvitlisten nedenfor." + +#, fuzzy +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Endrer oppførselen til den dynamiske tilsløringseffekten. Forvalgt verdi " +#~ "anbefales sterkt." + +#, fuzzy +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "En liste med ett program per linje å tilsløre. Hent programmets " +#~ "klassenavn i Xorg med `xprop|grep WM_CLASS` og lim inn etternavnet her." diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 00000000..ba28a673 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,617 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Wouter van der Wal \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Apps" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Apps vervagen (bèta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Voegt vervaging toe aan apps. Dit is nog bèta-functionaliteit.\n" +"Om de best mogelijke resultaten te krijgen, zorg ervoor dat u de optie ‘Geen " +"artefacten’ kiest in de voorkeur ‘Algemeen → Hackniveau’.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Ondoorzichtigheid" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"De ondoorzichtigheid van het venster boven het vervagingseffect. Een hogere " +"waarde zal vensters beter leesbaar maken." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Vervaging in overzicht" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Forceert dat de vervaging correct wordt weergegeven op alle werkbladen in " +"het overzicht. \n" +"Dit kan vertraging of prestatieproblemen veroorzaken." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Alle standaard inschakelen" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Voegt standaard vervaging achter alle vensters toe.\n" +"Niet aanbevolen vanwege prestatie- of stabiliteitsproblemen." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Witte lijst" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Een lijst van vensters om te vervagen." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Venster toevoegen" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Zwarte lijst" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Een lijst van vensters om niet te vervagen." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Eigenschappen aanpassen" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Gebruikt aangepaste vervagingseigenschappen, in plaats van de eigenschappen " +"ingesteld op de Algemeen-pagina." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "De intensiteit van de vervaging." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Helderheid" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"De helderheid van het vervagingseffect, een hoge waarde kan tekst moeilijker " +"leesbaar maken." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Kleur" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"De kleur van het vervagingseffect aanpassen. De ondoorzichtigheid van de " +"kleur bepaalt hoeveel deze in het vervagingseffect wordt gemengd." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Hoeveelheid ruis" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"De hoeveelheid ruis om aan het vervagingseffect toe te voegen, nuttig voor " +"schermen met een laag contrast of voor esthetische doeleinden." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Lichtheid van ruis" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "De lichtheid van de ruis die wordt toegepast op het vervagingseffect." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Merk op" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Ruis en kleur kunnen niet worden geactiveerd voor dynamisch vervaagde " +"componenten zoals deze." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Vervaging van Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "" +"De achtergrond van de Dash to Dock-uitbreiding vervagen, als deze wordt " +"gebruikt." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Achtergrond overschrijven" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Maakt de achtergrond doorzichtig of halfdoorzichtig, schakel dit uit om in " +"plaats hiervan voorkeuren van Dash to Dock te gebruiken." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Achtergrondstijl" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "De (half)doorzichtige stijl voor de dock-achtergrond." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Uitschakelen in overzicht" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" +"De vervaging van Dash to Dock uitschakelen wanneer het overzicht wordt " +"geactiveerd." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Doorzichtig" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Licht" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Donker" + +#: general.ui:5 +msgid "General" +msgstr "Algemeen" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Vervagingseigenschappen" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Globale vervagingseigenschappen, wordt standaard door alle componenten " +"gebruikt." + +#: general.ui:117 +msgid "Performance" +msgstr "Prestaties" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Verscheidene opties om te prestaties af te stellen." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Kleur- en ruiseffecten" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Schakelt ruis en kleureffecten globaal uit voor betere prestaties op " +"zwakkere systemen." + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack-niveau" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Verandert het gedrag van het dynamische vervagingseffect.\n" +"De standaardwaarde wordt sterk aanbevolen tenzij u app-vervaging gebruikt, " +"in welk geval ‘Geen artefact’ beter is.\n" +"Deze optie schakelt gedeeltelijke updates in GNOME shell volledig uit en kan " +"de prestaties aanzienlijk beïnvloeden, maar zal het vervagingseffect correct " +"laten werken." + +#: general.ui:151 +msgid "Debug" +msgstr "Foutopsporing" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"De logboeken van de uitbreiding uitgebreider maken, activeer wanneer u een " +"probleem gaat melden." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Voorkeuren opnieuw instellen" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Herstelt voorkeuren van Blur my Shell onomkeerbaar." + +#: general.ui:187 +msgid "Reset" +msgstr "Resetten" + +#: general.ui:228 +msgid "High performances" +msgstr "Hoge prestaties" + +#: general.ui:229 +msgid "Default" +msgstr "Standaard" + +#: general.ui:230 +msgid "High quality" +msgstr "Hoge kwaliteit" + +#: general.ui:231 +msgid "No artifact" +msgstr "Geen artefacten" + +#: menu.ui:6 +msgid "Project page" +msgstr "Projectpagina" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Een probleem melden" + +#: menu.ui:14 +msgid "License" +msgstr "Licentie" + +#: menu.ui:18 +msgid "Donate" +msgstr "Doneren" + +#: other.ui:5 +msgid "Other" +msgstr "Anders" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Vervaging van vergrendelscherm" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "De eigenschappen van deze extensie gebruiken op het vergrendelscherm." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Vervaging bij schermafdrukken" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"De achtergrond van de vensterselectie vervagen bij het nemen van een " +"schermafdruk." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Vervaging van de uitbreiding Window List" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "De uitbreiding Window List vervagen, als deze wordt gebruikt." + +#: overview.ui:5 +msgid "Overview" +msgstr "Overzicht" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Achtergrondvervaging" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"De overzichtsachtergrond vervagen, gebruikmakend van de " +"achtergrondafbeelding." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Stijl van overzichtscomponenten" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "De halfdoorzichtige stijl voor de dash, zoekelementen en app-mappen." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Vervaging van app-map" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Vervaagt de achtergrond van app-mapdialogen." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Dialoogstijl van app-map" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "De halfdoorzichtige stijl voor de app-mapdialogen." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Niet stijlen" + +#: panel.ui:5 +msgid "Panel" +msgstr "Paneel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Paneelvervaging" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Het bovenpaneel vervagen, gebruikmakend van de achtergrondafbeelding." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statische vervaging" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Een statisch vervaagde afbeelding gebruiken, dit is sneller en meer stabiel." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" +"De vervaging van het paneel uitschakelen wanneer het overzicht wordt " +"geactiveerd." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Overschrijft de achtergrond van het paneel met een (half)doorzichtige " +"variant.\n" +"Aanbevolen tenzij u uw GNOME-thema wilt aanpassen." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "De (half)doorzichtige stijl voor de paneelachtergrond." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Uitschakelen wanneer een venster dichtbij is" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" +"Schakelt de doorzichtigheid van het paneel uit wanneer een venster in de " +"buurt komt." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Compatibiliteit" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Verschillende opties voor compatibiliteit met andere uitbreidingen." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hide Top Bar-uitbreiding" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"De vervaging in het overzicht niet uitschakelen, best samen gebruikt met " +"statische vervaging." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Vensternaam" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Venster selecteren" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Kies een venster of selecteer deze bij hun klassenaam." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Voegt vervanging toe aan toepassingen. Dit is nog bèta-functionaliteit.\n" +#~ "Zorg ervoor dat ‘Algemeen’ → ‘Hack-niveau’ is ingesteld op ‘Geen " +#~ "artefacten’ voor de beste resultaten.\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "De achtergrond halfdoorzichtig maken. Schakel dit uit om de voorkeuren " +#~ "van Dash to Dock te gebruiken." + +#~ msgid "Performances" +#~ msgstr "Prestaties" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Verschillende opties om de prestaties aan te passen." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Toestaan dat ruis- en kleureffecten globaal worden uitgeschakeld, dit kan " +#~ "de prestaties voor zwakke systemen verbeteren." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Past het gedrag van het dynamische vervagingseffect aan.\n" +#~ "Standaardwaarde wordt zeer aanbevolen, tenzij u gebruik maakt van " +#~ "toepassingsvervaging. In dit geval is ‘Geen artefacten’ beter.\n" +#~ "Deze optie zal gedeeltelijke schermupdates volledig uitschakelen. Dit zal " +#~ "de prestaties aanzienlijk verslechteren, maar zorgt er ook voor dat het " +#~ "vervagingseffect perfect werkt." + +#~ msgid "No artefact" +#~ msgstr "Geen artefact" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "De halfdoorzichtige stijl voor de dash, zoekbalk en -resultaten, en " +#~ "toepassingsmappen." + +#~ msgid "Applications folder blur" +#~ msgstr "Vervaging van toepassingsmappen" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "De achtergrond van mappictogrammen vervagen." + +#~ msgid "Dialog opacity" +#~ msgstr "Ondoorzichtigheid van dialogen" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "De ondoorzichtigheid van de toepassingsmap-popup." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Vervangt de paneelachtergrond met een doorzichtige versie.\n" +#~ "Aanbevolen tenzij u uw GNOME-thema wilt personaliseren." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Vervaging toevoegen aan toepassingen. Deze functionaliteit is nog niet " +#~ "stabiel, en wordt alleen toegepast op toepassingen die er om vragen of in " +#~ "de lijst hieronder staan." + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "Past standaard vervaging toe achter alle vensters. Niet aanbevolen " +#~ "vanwege prestatie- en stabiliteitsproblemen." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Het gedrag van het dynamische vervagingseffect aanpassen. De " +#~ "standaardwaarde wordt sterk aangeraden." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Vervaging van het paneel uitschakelen wanneer een venster dichtbij komt." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Een lijst van toepassingen om te vervagen, één per regel. Om een " +#~ "toepassingsklassenaam te verkrijgen, kunt u onder xorg `xprop | grep " +#~ "WM_CLASS` uitvoeren en de laatste naam hier plakken." diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 00000000..cb1e142e --- /dev/null +++ b/po/pl.po @@ -0,0 +1,598 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Rali Boińskx \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Aplikacje" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Rozmazywanie aplikacji (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Dodaje efekt rozmazania do aplikacji. Funkcja jest wciąż w fazie beta.\n" +"Aby uzyskać najlepsze rezultaty wybierz opcję \"bez artefaktów\" w sekcji " +"\"Ogólne → Poziom hakowania\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Nieprzeźroczystość" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Nieprzeźroczystość okna, na które dodano rozmycie, większa wartość będzie " +"bardziej czytelna." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Rozmycie widoku podglądu" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Wymusza poprawne wyświetlanie rozmycia na wszystkich obszarach roboczych " +"podglądu.\n" +"Może powodować problemy z opóźnieniem lub wydajnością." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Włącz domyślnie" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Dodaje domślnie rozmycie za wszystkimi oknami.\n" +"Niepolecane z powodu na problemy z wydajnością i stabilnością." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Biała lista" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Lista okien do rozmycia." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Dodaj okno" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Czarna lista" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Lista okien bez rozmycia." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Dostosuj parametry" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Wykorzystuje dostosowane przez użytkownika parametry, zamiast tych " +"ustawionych na stronie Ogólne." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Intensywność rozmazania." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Jasność" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Jasność efektu rozmazania, wyższa wartość może utrudnić czytanie tekstu." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Kolor" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Zmienia kolor rozmazania. Nieprzeźroczystość koloru kontroluje jak bardzo " +"wmieszany jest on w efekt rozmazania." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Ilość szumu" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Ilość szumu do wmieszania w efekt rozmazania; opcja przydatna na ekranach o " +"niskim kontraście lub ze względów estetycznych." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Lekkość szumu" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Lekkość efektu szumu wmieszanego w efekt rozmazania." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Uwaga" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Szum oraz kolor nie mogą być aktywowane na dynamicznie rozmazywanych " +"komponentach, na przykład tym." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Rozmazywanie Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Rozmazuje tło rozszerzenia Dash to Dock, jeśli jest włączone." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Nadpisz tło" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Sprawia, że tło jest przezroczyste lub półprzezroczyste, wyłącz tę opcję aby " +"zamiast tego używać preferencji rozszerzenia Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Styl tła" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "(Pół)przezroczysty styl tła docka." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Wyłączone w ekranie podglądu" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "" +"Wyłącza rozmazywanie rozszerzenia Dash to Dock podczas przechodzenia do " +"ekranu podglądu." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Przezroczysty" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Lekki" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Ciemny" + +#: general.ui:5 +msgid "General" +msgstr "Ogólne" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Preferencje rozmazywania" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Globalne preferencje rozmazywania, wykorzystywane domyślnie przez wszystkie " +"komponenty." + +#: general.ui:117 +msgid "Performance" +msgstr "Wydajność" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Różne opcje w celu poprawy wydajności." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Efekty koloru i szumu" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Globalnie wyłącza efekty szumu i kolorów. Może poprawić wydajność na " +"urządzeniach o niskiej wydajności." + +#: general.ui:135 +msgid "Hack level" +msgstr "Poziom hakowania" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Zmienia zachowanie dynamicznego efektu rozmazania.\n" +"W większości przypadków zalecane jest pozostawienie domyślnej wartości. W " +"przypadku rozmazania aplikacji zalecana jest opcja \"bez artefaktów\".\n" +"Ta opcja wyłączy całkowicie częściowe przerysowania w GNOME i może znacznie " +"wpłynąć na wydajność, ale całkowicie naprawi efekt rozmazania." + +#: general.ui:151 +msgid "Debug" +msgstr "Debugowanie" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Sprawia, że rozszerzenie wypisuje swoje działanie w logach; aktywuj jeśli " +"chcesz zgłosić problem." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Zresetuj ustawienia" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Resetuje ustawienia Blur my Shell bezpowrotnie." + +#: general.ui:187 +msgid "Reset" +msgstr "Resetuj" + +#: general.ui:228 +msgid "High performances" +msgstr "Wysoka wydajność" + +#: general.ui:229 +msgid "Default" +msgstr "Domyślne" + +#: general.ui:230 +msgid "High quality" +msgstr "Wysoka jakość" + +#: general.ui:231 +msgid "No artifact" +msgstr "Bez artefaktów" + +#: menu.ui:6 +msgid "Project page" +msgstr "Strona projektu" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Zgłoś problem" + +#: menu.ui:14 +msgid "License" +msgstr "Licencja" + +#: menu.ui:18 +msgid "Donate" +msgstr "Przekaż darowiznę" + +#: other.ui:5 +msgid "Other" +msgstr "Inne" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Rozmazywanie ekranu zablokowania" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Sprawia, że rozmazywanie ekranu zablokowania wykorzystuje preferencje tego " +"rozszerzenia." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Rozmazywanie podczas zrzucania ekranu" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Dodaje efekt rozmazania do tła wyboru okien w interfejsie zrzutów ekranu." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Rozmazywanie Window List" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "" +"Sprawia, że rozszerzenie Window List jest rozmazane, jeśli jest używane." + +#: overview.ui:5 +msgid "Overview" +msgstr "Podgląd" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Rozmywanie tła" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Dodaje efekt rozmazania do tła podglądu, korzystając z obrazka tapety." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Styl komponentów podglądu" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Półprzezroczysty styl dasha, pola/wyników wyszukiwania i folderów aplikacji." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Rozmycie folderów aplikacji" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Tworzy efekt rozmycia na tle folderów aplikacji." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Styl dialogów folderów aplikacji" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Półprzezroczysty styl dialogów folderów aplikacji." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Nie styluj" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Rozmazywanie panelu" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Rozmazuje górny panel korzystając z obrazka tapety." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Rozmazywanie statyczne" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Używa statycznego rozmazanego obrazka, opcja bardziej stabilna i wydajna." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Wyłącza rozmazywanie panelu podczas przechodzenia do ekranu podglądu." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Zastępuje tło panelu przezroczystym lub półprzezroczystym.\n" +"Zalecane, chyba że chcesz dostosować swój motyw powłoki GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Pprzezroczysty/półprzezroczysty styl tła panelu." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Wyłącz, gdy okno znajduje się w pobliżu" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Wyłącza przezroczystość panelu, gdy w jego pobliżu znajduje się okno." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Kompatybilność" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Różne opcje zachowania kompatybilności z innymi rozszerzeniami." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Rozszerzenie Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Nie wyłącza rozmazywania w ekranie podglądu; opcja najbardziej przydatna " +"przy rozmazywaniu statycznym." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Nazwa okna" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Wybierz okno" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Wybierz okno lub zaznacz je po nazwie klasy." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Dodaj rozmycie tła do aplikacji. To wciąż testowa funkcjonalność.\n" +#~ "Aby otrzymać najlepsze możliwe efekty, upewij się, że wybrano opcje " +#~ "\"Zero artefaktów\" w ustawieniach \"Główne -> Poziom hakowania\"\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Czyni tło półprzeźroczystym; wyłącz tę opcję aby używać preferencji " +#~ "rozszerzenia Dash to Dock." + +#~ msgid "Performances" +#~ msgstr "Wydajność" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Różne opcje dostrajania wydajności." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Pozwala globalnie wyłączyć efekt szumu i koloru; może poprawić to " +#~ "wydajność na słabszych graficznie urządzeniach." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Zmienia zachowanie efektu dynamicznego rozmycia.\n" +#~ "Wartość domyślna jest bardzo zalecana, chyba że używasz rozmycia " +#~ "aplikacji, w którym to przypadku lepsza jest opcja \"Zero artefaktów\".\n" +#~ "Ta opcja całkowicie wyłączy przycięte przerysowania z powłoki GNOME, co " +#~ "może znacząco wpłynąć na wydajność, ale całkowicie naprawi efekt rozmycia." + +#~ msgid "No artefact" +#~ msgstr "Zero artefaktów" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Półprzeźroczysty styl dasha, wyszukiwania i wyników oraz folderów " +#~ "aplikacji." + +#~ msgid "Applications folder blur" +#~ msgstr "Rozmazywanie folderów aplikacji" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Sprawia, że tło folderów aplikacji jest rozmazywane." + +#~ msgid "Dialog opacity" +#~ msgstr "Nieprzeźroczystość dialogów" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "Nieprzeźroczystość okienka folderów aplikacji." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Zastąp tło panelu, aby użyć przezroczystego.\n" +#~ "Zalecane, chyba że chcesz dostosować swój motyw GNOME." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Dodaje efekt rozmazania do aplikacji. Ta opcja jest obecnie w fazie beta, " +#~ "zawiera błędy i działa jedynie dla aplikacji które o nią poproszą lub dla " +#~ "tych dodanych do listy poniżej." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Zmienia zachowanie efektu dynamicznego rozmazywania. Bardzo zalecana jest " +#~ "domyślna wartość." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Lista aplikacji które chcesz rozmazać, jedna na wiersz. Aby uzyskać nazwę " +#~ "klasy aplikacji, w środowisku xorg użyj `xprop|grep WM_CLASS` - ostatnią " +#~ "nazwę możesz wkleić tutaj." diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 00000000..8a958ed6 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,608 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# Natália Mendes Carlos , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: saulo marcos \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Aplicações" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Desfocar aplicações (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Adiciona desfoque aos aplicativos. Ainda em estágio de testes.\n" +"Para ter os melhores resultados possíveis, certifique-se de escolher a opção " +"\"Sem artefatos\" em \"Geral → Nível do hack\" nas preferências.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Opacidade" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"A opacidade da janela com o efeito de desfoque, um valor maior será legível." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Desfoque geral" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Força o desfoque a ser propriamente mostrado em todo o espaço de trabalho " +"por um todo.\n" +"Isso pode causar lentidão relativa à performance." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Habilitar tudo por padrão" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Adiciona desfoque por trás de todas as janelas por padrão.\n" +"Não é recomendada por conta de problemas com estabilidade e performance." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Lista liberada" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Lista de janelas para desfocar." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Adicionar janela" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Lista bloqueada" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Lista de janelas que não serão desfocadas." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Customizar propriedades" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Usa propriedades customizadas de desfoque ao invés das definidas nas " +"propriedades gerais." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Intensidade do desfoque." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Brilho" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"O brilho do efeito de desfoque, um valor alto pode tornar o texto difícil de " +"ler." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Cor" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Altera a cor do desfoque. A opacidade da cor controla o quanto esta é " +"misturada ao efeito de desfoque." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Quantidade de ruído" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"A quantidade de ruído a adicionar ao efeito de desfoque, útil em telas de " +"baixo contraste ou para efeito estético." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Claridade do Ruído" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "A claridade do ruído adicionada ao efeito de desfoque." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Aviso" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Ruído e cores não podem ser ativados em componentes desfocados de forma " +"dinâmica, como esse." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Desfoque do Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Desfoca o plano de fundo da extensão Dash to Dock, caso seja usado." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Sobrepor plano de fundo" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Torna o plano de fundo transparente ou semitransparente, desative isso para " +"usar as preferências do Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Estilo do plano de fundo" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "O estilo transparente/semitransparente para o plano de fundo do dock." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Desativar na visão geral" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Desativa o desfoque do Dash to Dock ao entrar na visão geral." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Transparente" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Claro" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Escuro" + +#: general.ui:5 +msgid "General" +msgstr "Geral" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Preferências de desfoque" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Preferências globais de desfoque, utilizadas por todos os componentes por " +"padrão." + +#: general.ui:117 +msgid "Performance" +msgstr "Desempenho" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Opções variadas para ajustar o desempenho." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Efeitos de cor e ruído" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Desativa globalmente os efeitos de ruído e cor que podem melhorar o " +"desempenho em sistemas de baixo custo." + +#: general.ui:135 +msgid "Hack level" +msgstr "Nível do hack" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Altera o comportamento do efeito de desfoque dinâmico.\n" +"O valor padrão é altamente recomendado, a menos que você use o desfoque de " +"aplicações, caso em que “Sem artefato” é melhor.\n" +"Esta opção desabilitará totalmente os redesenhos recortados no shell do " +"GNOME e pode afetar significativamente o desempenho, mas corrigirá " +"completamente o efeito de desfoque." + +#: general.ui:151 +msgid "Debug" +msgstr "Depuração" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Deixa os logs da extensão no modo verbose. Ative quando precisar reportar um " +"problema." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Redefinir preferências" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" +"Desfaz as preferências de desfoque do Blur-my-Shell de maneira irreversível." + +#: general.ui:187 +msgid "Reset" +msgstr "Redefinir" + +#: general.ui:228 +msgid "High performances" +msgstr "Alta performance" + +#: general.ui:229 +msgid "Default" +msgstr "Padrão" + +#: general.ui:230 +msgid "High quality" +msgstr "Alta qualidade" + +#: general.ui:231 +msgid "No artifact" +msgstr "Sem artefato" + +#: menu.ui:6 +msgid "Project page" +msgstr "Página do projeto" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Reportar um Bug" + +#: menu.ui:14 +msgid "License" +msgstr "Licença" + +#: menu.ui:18 +msgid "Donate" +msgstr "Doar" + +#: other.ui:5 +msgid "Other" +msgstr "Outros" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Desfoque da tela de bloqueio" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Altera o desfoque da tela de bloqueio para utilizar as preferências dessa " +"extensão." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Desfoque da captura de tela" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Adiciona desfoque ao plano de fundo do seletor de janelas na interface da " +"captura de tela." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Desfoque da extensão Window List" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Torna a extensão Window List desfocada, caso seja usada." + +#: overview.ui:5 +msgid "Overview" +msgstr "Visão Geral" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Desfoque do plano de fundo" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Desfoca o plano de fundo da visão geral utilizando a imagem do papel de " +"parede." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Estilo dos componentes da visão geral" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"O estilo semitransparente para o dash, entrada/resultados de pesquisa e " +"pastas de aplicativos." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Desfoque da pasta do aplicativo" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" +"Torna o plano de fundo das caixas de diálogo da pasta do aplicativo " +"desfocado." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Estilo das caixas de diálogo da pasta do aplicativo" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" +"O estilo semitransparente para as caixas de diálogo da pasta do aplicativo." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Não estilizar" + +#: panel.ui:5 +msgid "Panel" +msgstr "Painel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Desfoque do painel" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Desfoca o painel superior utilizando a imagem de fundo." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Desfoque estático" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Utiliza uma imagem desfocada estática. Maior desempenho e estabilidade." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Desativa o desfoque do painel quando entrar na visão geral." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Substitua o plano de fundo do painel para usar um transparente ou " +"semitransparente.\n" +"Recomendado, a menos que você queira personalizar seu tema GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" +"O estilo transparente/semitransparente para o plano de fundo do painel." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Desativar quando uma janela estiver próxima" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Desabilita a transparência do painel quando uma janela está próxima." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Compatibilidade" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Várias opções para providenciar compatibilidade com outras extensões." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Extensão Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Não desativa o desfoque na visão geral. Funciona melhor com o desfoque " +"estático." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Nome da janela" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Selecionar janela" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Escolha uma janela ou a selecione pela sua classname." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Adiciona o desfoque às aplicações. É ainda uma funcionalidade beta.\n" +#~ "Para obter os melhores resultados possíveis, escolha a opção \"Sem " +#~ "artefato\" em \"Geral→ nível Hack\" preferência." + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Deixa o plano de fundo semitransparente. Desative isso para utilizar as " +#~ "preferências do Dash to Dock." + +#~ msgid "Performances" +#~ msgstr "Desempenhos" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Várias opções para ajustar o desempenho." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Desativa globalmente o uso de efeitos de ruído e cor. Isso pode melhorar " +#~ "o desempenho em dispositivos mais fracos." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Mudanças no comportamento do efeito de desfoque dinâmico.\n" +#~ "Valor padrão é fortemente recomendado, a menos que você use a aplicação " +#~ "de desfoque, caso em que \"Sem artefato\" é melhor.\n" +#~ "Essa opção desabilitará completamente imagens recortadas do GNOME shell, " +#~ "o que pode impactar na performance significativamente, mas concertará o " +#~ "efeito de desfoque." + +#~ msgid "No artefact" +#~ msgstr "Sem artefato" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "O efeito semitransparente para a dash, barra de pesquisa/resultados e " +#~ "pastas de aplicativos." + +#~ msgid "Applications folder blur" +#~ msgstr "Desfoque nas pastas de aplicativos" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Torna o plano de fundo da pasta de aplicativos desfocado." + +#~ msgid "Dialog opacity" +#~ msgstr "Opacidade do diálogo" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "A opacidade do popup da pasta de aplicativos." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Anula o plano de fundo de painel com outro transparente.\n" +#~ "Recomendado a menos que você queira customizar o tema do seu GNOME." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Adiciona desfoque às aplicações. Esta funcionalidade ainda está em " +#~ "\"beta\", possui diversos bugs e é aplicada somente às aplicações que " +#~ "solicitarem ou as que estiverem na lista abaixo." + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "Adiciona desfoque atrás de todas as janelas por padrão. Não recomendado " +#~ "pois pode ocasionar problemas de estabilidade e performance." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Muda o comportamento do efeito dinâmico de desfoque. O valor padrão é " +#~ "recomendado." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Desativa o desfoque do painel quando uma janela estiver próxima a ele." diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 00000000..4f334f44 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,610 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Приложения" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Размытие приложений (бета)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Добавляет размытие к приложениям. Это все еще бета-версия функции.\n" +"Чтобы получить наилучшие результаты, убедитесь, что выбрали опцию \"Без " +"артефактов\" в настройках \"Общие → Уровень взлома\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Непрозрачность" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Непрозрачность окна поверх эффекта размытия, более высокое значение будет " +"более четким." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Размытие в Обзоре" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Заставляет размытие правильно отображаться на всех рабочих столах в Обзоре.\n" +"Это может вызвать некоторые задержки или проблемы с производительностью." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Включить для всех по умолчанию" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"По умолчанию добавляет размытие для всех окон.\n" +"Не рекомендуется из-за проблем с производительностью и стабильностью." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Белый список" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Список окон для размытия." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Добавить окно" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Черный список" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Список окон, которые не нужно размывать." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Настройка свойств" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Использовать пользовательские свойства размытия вместо тех, которые заданы " +"на странице Общие." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Сигма" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Интенсивность размытия." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Яркость" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Яркость эффекта размытия, высокое значение может сделать текст " +"трудночитаемым." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Цвет" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Изменяет цвет размытия. Непрозрачность цвета определяет, насколько он " +"смешивается с эффектом размытия." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Уровень шума" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Уровень шума, добавляемый к эффекту размытия, полезен на экранах с низкой " +"контрастностью или в эстетических целях." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Светлота шума" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Светлота шума усиливает эффект размытия." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Уведомление" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Шум и цвет не могут быть активированы на динамически размытых компонентах, " +"таких как этот." + +#: dash.ui:5 +msgid "Dash" +msgstr "Панель приложений" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Размытие \"Dash to Dock\"" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Размытие фона расширения Dash to Dock, если оно используется." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Переопределить фон" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Делает фон прозрачным или полупрозрачным, отключите его, чтобы вместо него " +"использовать настройки Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Стиль фона" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Прозрачный/полупрозрачный стиль для фона панели приложений." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Отключить в Обзоре" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Отключает размытие из Dash to Dock при входе в Обзор." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Прозрачный" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Светлый" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Темный" + +#: general.ui:5 +msgid "General" +msgstr "Общие" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Параметры размытия" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Глобальные настройки размытия, используемые всеми компонентами по умолчанию." + +#: general.ui:117 +msgid "Performance" +msgstr "Производительность" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Различные опции для настройки производительности." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Цветовые и шумовые эффекты" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Глобально отключает шумовые и цветовые эффекты, что может повысить " +"производительность на системах низкого класса." + +#: general.ui:135 +msgid "Hack level" +msgstr "Уровень взлома" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Изменяет поведение эффекта динамического размытия.\n" +"Настоятельно рекомендуется использовать значение по умолчанию, если вы не " +"используете размытие приложений, в противном случае лучше выбрать значение " +"\"Без артефактов\".\n" +"Эта опция полностью отключает обрезанные перерисовки в оболочке GNOME, что " +"может значительно повлиять на производительность, но полностью исправляет " +"эффект размытия." + +#: general.ui:151 +msgid "Debug" +msgstr "Отладка" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Делает работу расширения подробной в журналах, активируется, когда вам нужно " +"сообщить о проблеме." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Сброс настроек" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Необратимо сбрасывает настройки Blur my Shell." + +#: general.ui:187 +msgid "Reset" +msgstr "Сбросить" + +#: general.ui:228 +msgid "High performances" +msgstr "Высокая производительность" + +#: general.ui:229 +msgid "Default" +msgstr "По умолчанию" + +#: general.ui:230 +msgid "High quality" +msgstr "Высокое качество" + +#: general.ui:231 +msgid "No artifact" +msgstr "Без артефактов" + +#: menu.ui:6 +msgid "Project page" +msgstr "Страница проекта" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Сообщить об ошибке" + +#: menu.ui:14 +msgid "License" +msgstr "Лицензия" + +#: menu.ui:18 +msgid "Donate" +msgstr "Пожертвовать" + +#: other.ui:5 +msgid "Other" +msgstr "Прочее" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Размытие экрана блокировки" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Использовать настройки этого расширения для изменения размытия экрана " +"блокировки." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Размытие при PrintScreen" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Добавляет размытие к фону выбора окна в пользовательском интерфейсе " +"скриншотов." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Размытие расширения \"Window List\"" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Делает расширение Window List размытым, если оно используется." + +#: overview.ui:5 +msgid "Overview" +msgstr "Обзор" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Размытие фона" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Добавляет размытие к фону Обзора, используя картинку обоев." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Стилизация компонентов Обзора" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "Полупрозрачный стиль для панели приложений, поиска и папок приложений." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Размытие папки приложений" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Делает фон диалоговых окон папок приложений размытым." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Стиль диалоговых окон папок приложений" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Полупрозрачный стиль для диалоговых окон папок приложений." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Не стилизовать" + +#: panel.ui:5 +msgid "Panel" +msgstr "Верхняя панель" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Размытие верхней панели" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Размытие верхней панели с помощью фонового изображения." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Статичное размытие" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Используется статичное размытие изображения, более производительное и " +"стабильное." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Отключает размытие верхней панели при входе в Обзор." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Переопределяет фон верхней панели, чтобы использовать прозрачный или " +"полупрозрачный фон.\n" +"Рекомендуется, если вы не хотите настраивать тему GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Прозрачный/полупрозрачный стиль для фона верхней панели." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Отключить, когда рядом находится окно" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "" +"Отключает прозрачность верхней панели, когда рядом с ней находится окно." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Совместимость" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Различные опции для обеспечения совместимости с другими расширениями." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Расширение \"Hidetopbar\"" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Не отключает размытие в Обзоре, лучше всего использовать со статическим " +"размытием." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Название окна" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Выбрать окно" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Выберите окно или выделите его по имени класса." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "Добавляет размытие к приложениям. Это все еще бета-функционал.\n" +#~ "Чтобы получить наилучшие результаты, убедитесь, что выбрали опцию \"Без " +#~ "артефактов\" в настройке \"Общие → Уровень взлома\".\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Делает фон полупрозрачным, отключите его, чтобы вместо него использовать " +#~ "настройки Dash to Dock." + +#~ msgid "Performances" +#~ msgstr "Производительность" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Различные опции для настройки производительности." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Позволяют глобально отключить использование шумовых и цветовых эффектов, " +#~ "это может улучшить производительность для графики низкого уровня." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "Изменяет поведение эффекта динамического размытия.\n" +#~ "Значение по умолчанию очень рекомендуется, если только вы не используете " +#~ "размытие приложений, в этом случае лучше выбрать \"Без артефактов\".\n" +#~ "Эта опция полностью отключает обрезанные перерисовки из оболочки GNOME, " +#~ "что может значительно повлиять на производительность, но полностью " +#~ "исправляет эффект размытия." + +#~ msgid "No artefact" +#~ msgstr "Без артефактов" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Делает панель приложений, поиск и значок папки приложений полупрозрачными." + +#~ msgid "Applications folder blur" +#~ msgstr "Размытие папки приложений" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Делает фон значков папок размытым." + +#~ msgid "Dialog opacity" +#~ msgstr "Непрозрачность диалогового окна" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "Непрозрачность всплывающего окна папки приложений." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "Переопределяет фон верхней панели, чтобы использовать прозрачный фон.\n" +#~ "Рекомендуется, если вы не хотите настраивать тему GNOME." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Добавляет размытие приложений. Это пока бета-функция, она довольно " +#~ "глючная и применяется только к тем приложениям, которые просят об этом, " +#~ "или к тем, которые заданы в белом списке ниже." + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "По умолчанию добавляет размытие для всех окон. Не рекомендуется из-за " +#~ "проблем с производительностью и стабильностью." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Изменяет поведение эффекта динамического размытия. Значение по умолчанию " +#~ "является очень рекомендуемым." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Отключает размытие верхней панели, когда рядом с ней находится окно." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Список приложений для размытия, по одному на строку. Чтобы получить имя " +#~ "класса приложения, в xorg вы можете использовать `xprop|grep WM_CLASS` и " +#~ "вставить последнее имя сюда." diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 00000000..8f3c2f0e --- /dev/null +++ b/po/sl.po @@ -0,0 +1,496 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Oman Luka \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Aplikacije" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Zamegljenost aplikacij (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Aplikacijam doda zameglitev. Ta funkcionalnost je še vedno v fazi beta.\n" +"Za najboljše rezultate izberite med možnostmi \"Splošno → Stopnja " +"prilagajanja\" opcijo \"Brez tujkov\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Motnost" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Motnost okna, ki gradi na učinku zameglitve, višja vrednost bo bolj zaznavna." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Moten predogled" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Prisili zameglitev, da je pravilno prikazana na vseh delovnih površinah v " +"pregledu.\n" +"To lahko povzroči počasnejše prikazovanje elementov ali težave z delovanjem." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Privzeto omogoči vse" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Privzeto doda zameglitev na vsa prikazana okna.\n" +"Zaradi težav z zmogljivostjo in stabilnostjo tega ne možnosti ne priporočamo." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Seznam dovoljenih" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Seznam oken, ki jih bomo zameglili." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Dodaj okno" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Seznam izločenih" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Seznam oken, ki jih ne bomo zameglili." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Prilagodite lastnosti" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Namesto lastnosti zameglitve, ki so nastavljena na strani \"Splošno\" " +"uporabi prilagojene lastnosti." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Jakost zameglitve." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Svetlost" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Svetlost efekta zameglitve, višja vrednost lahko povzroči, da je besedilo " +"težje berljivo." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Barva" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Spremeni barvo zameglitve. Prosojnost barve nadzoruje, kako je vključena v " +"efekt zameglitve." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Količina šuma" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Količina šuma, ki je dodan efektu zameglitve; uporabno za estetski namen na " +"ekranih z nizkim kontrastom." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Svetlost šuma" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Svetlost šuma, ki je dodan efektu zameglitve." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Zaznamek" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Šum in barva ne moreta biti aktivirana na dinamično zamegljenihi delih, kot " +"te slednji." + +#: dash.ui:5 +msgid "Dash" +msgstr "Nadzorna plošča" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Zameglitev razširitve \"Dash to Dock\"" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Zameglitev ozadja razširitve \"Dash to Dock\", če je uporabljena." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Prepiši ozadje" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Napravi ozadje bodisi prozorno ali polprozorno, onemogočite, da uporabite " +"možnosti nastavljene pri razširitvi \"Dash to Dock\"." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Stil ozadja" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Prozoren ali polprozoren stil ozadja vrstice." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Onemogoči v pregledu" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Onemogoči zameglitev \"Dash do Dock\" razširitve pri vstopu v pregled." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Prozoren" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Svetel" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Temen" + +#: general.ui:5 +msgid "General" +msgstr "Splošen" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Lastnosti zameglitve" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Globalne nastavitve zameglitve, ki jih privzeto uporabljajo vse komponente." + +#: general.ui:117 +msgid "Performance" +msgstr "Zmogljivost" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Različne možnosti za prilagoditev delovanja." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Učinki barve in šuma" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Globalno onemogoči učinke šuma in barve, kar lahko izboljša zmogljivost v " +"sistemih nižje zmogljivosti." + +#: general.ui:135 +msgid "Hack level" +msgstr "Stopnja trikov" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Spremeni obnašanje učinka dinamične zameglitve.\n" +"Priporočamo privzeto vrednost, razen če uporabljate zameglitev aplikacije; v " +"tem primeru je boljša možnost »Brez tujkov«.\n" +"Ta možnost bo v celoti onemogočila motnje v ponovnem nalaganju lupine GNOME, " +"lahko vpliva na zmogljivost, vendar bo popolnoma popravila učinek " +"zamegljenosti." + +#: general.ui:151 +msgid "Debug" +msgstr "Razhroščevanje" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Povzroči številne zapise razširitve v dnevnikih; aktivirati, kadar želite " +"prijaviti napako." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Ponastavi nastavitve" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Nepovratno povrne nastavitve razširitve \"Blur my Shell\"." + +#: general.ui:187 +msgid "Reset" +msgstr "Ponastavi" + +#: general.ui:228 +msgid "High performances" +msgstr "Visoka zmogljivost" + +#: general.ui:229 +msgid "Default" +msgstr "Privzeto" + +#: general.ui:230 +msgid "High quality" +msgstr "Visoka kvaliteta" + +#: general.ui:231 +msgid "No artifact" +msgstr "Brez tujkov" + +#: menu.ui:6 +msgid "Project page" +msgstr "Projektna stran" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Javi napako" + +#: menu.ui:14 +msgid "License" +msgstr "Licenca" + +#: menu.ui:18 +msgid "Donate" +msgstr "Podari" + +#: other.ui:5 +msgid "Other" +msgstr "Drugo" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Zameglitev prijavnega okna" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Spremeni zameglitev prijavnega okna tako, da uporablja nastavitve razširitve." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Zameglitev zaslonske slike" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Dodaj zameglitev v ozadnje izbirnika okna v grafičnem vmesniku zaslonske " +"slike." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Seznam oken, ki naj jih zamegli" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Če je v uporabi, zamegli seznam oken razširitev." + +#: overview.ui:5 +msgid "Overview" +msgstr "Pregled" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Zameglitev ozadnja" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Zamegli ozadje v pregledu, pri čemer uporabi sliko ozadja." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Stil komponente pregleda" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Delno prosojen stil plošče, iskalnega vnosa/rezultatov in mape z " +"aplikacijami." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Zamegljenost mape aplikacij" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Naredi ozadje mape aplikacij zamegljen." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Stil dialogov mape aplikacij" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Delno prosojen stil dialogov mape aplikacij." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Ne oblikuj" + +#: panel.ui:5 +msgid "Panel" +msgstr "Plošča" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Zamegljenost plošče" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Zamegli vrhnjo plošo z uporabo slike ozadja." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statična zameglitev" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Uporabi statično zamegljeno sliko; boljša zmogljivost in stabilnost." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Onemogoči zameglitev plošče ko vstopamo v pregled." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Preglasite ozadje plošče, če želite uporabiti prozorno ali polprosojno.\n" +"Priporočeno, razen če želite prilagoditi svojo temo GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Prozoren/polprosojen slog za ozadje plošče." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Onemogoči, ko je v okolici okno" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Onemogoči prosojnost plošče, ko je blizu nje okno." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Združljivost" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "" +"Različne možnosti za zagotavljanje združljivosti z drugimi razširitvami." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Razširitev \"HideTopBar\"" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Ne onemogoči zameglitve pregleda, najbolj uporabno s statično zameglitvijo." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Ime okna" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Izberi okno" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Izberi okno ali ga označi z uporabo njegovega razreda." diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 00000000..1f687c4b --- /dev/null +++ b/po/sv.po @@ -0,0 +1,500 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: \"Artur O.\" \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Applikationer" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Oskärpa för program (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Lägger oskärpa till applikationer. Detta är fortfarande beta " +"funktionalitet.\n" +"För bästa resultat, se till att välja \"Ingen artefakt\" under \"Allmänt → " +"Hack nivå\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Opacitet" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Fönstrets opacitet efter oskärpa effekten har applicerats, ett högre värde " +"gör fönstret mer läsbart." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Oskärpa på översiktsläget" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Tvingar oskärpan att visas korrekt på alla arbetsytor på översiktsläget.\n" +"Detta kan orsaka vissa latens- eller prestandaproblem." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Aktivera alla som standard" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Lägger till oskärpa bakom alla fönster som standard.\n" +"Rekommenderas inte på grund av prestanda och stabilitetsproblem." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Vitlista" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "En lista över fönster som ska suddas ut." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Lägg till fönster" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Svartlista" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "En lista över fönster som inte ska suddas ut." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Anpassa egenskaper" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Använder anpassade egenskaper för oskärpa i stället för de som anges på " +"sidan Allmänt." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Oskärpans intensitet." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Ljusstyrka" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Ljusstyrkan på oskärpeeffekten, ett högt värde kan göra texten svårare att " +"läsa." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Färg" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Ändrar färgen på oskärpan. Färgens opacitet styr hur mycket den blandas in i " +"oskärpeeffekten." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Brusmängd" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Mängden brus som ska läggas till i oskärpeeffekten, användbart på skärmar " +"med låg kontrast eller för estetiska ändamål." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Brus-ljustyrka" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Brusets ljushet till oskärpeeffekten." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Notis" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Brus och färg kan inte aktiveras på dynamiskt suddade komponenter, som denna." + +#: dash.ui:5 +msgid "Dash" +msgstr "Dash" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Dash to Dock oskärpa" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Sudda bakgrunden på Dash to Dock-tilläget om den används." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Åsidosätt bakgrund" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Gör bakgrunden antingen genomskinlig eller halvgenomskinlig. Inaktivera " +"detta för att istället använda Dash to Dock-inställningarna." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Bakgrundsstil" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Den transparenta/semi-transparenta stilen för dock-bakgrunden." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Inaktivera i översiktsläget" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Inaktiverar oskärpan från Dash to Dock när du går in i översiktsläget." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Transparent" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Ljust" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Mörkt" + +#: general.ui:5 +msgid "General" +msgstr "Allmänt" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Oskärpa-inställningar" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Globala oskärpa-inställningar, används som standard av alla komponenter." + +#: general.ui:117 +msgid "Performance" +msgstr "Prestanda" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Olika alternativ för att justera prestandan." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Färg- och bruseffekter" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Inaktiverar globalt brus- och färg-effekter, vilket kan förbättra prestandan " +"på system med låg kapacitet." + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack nivå" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Ändrar beteendet för den dynamiska oskärpeeffekten.\n" +"Standardvärdet rekommenderas starkt om du inte använder oskärpa för program, " +"i vilket fall \"Ingen artifact\" skulle vara bättre.\n" +"Denna inställning kommer att helt inaktivera clipped redraws i GNOME shell " +"och kan ha en betydande inverkan på prestanda, men kommer helt att åtgärda " +"oskärpeeffekten." + +#: general.ui:151 +msgid "Debug" +msgstr "Felsökning" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Gör tillägget detaljerat i loggarna, aktivera när du behöver rapportera ett " +"problem." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Återställ inställningar" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "" +"Återställer inställningarna för Blur my Shell på ett oåterkalleligt sätt." + +#: general.ui:187 +msgid "Reset" +msgstr "Återställa" + +#: general.ui:228 +msgid "High performances" +msgstr "Hög prestanda" + +#: general.ui:229 +msgid "Default" +msgstr "Standard" + +#: general.ui:230 +msgid "High quality" +msgstr "Hög kvalitet" + +#: general.ui:231 +msgid "No artifact" +msgstr "Ingen artefakt" + +#: menu.ui:6 +msgid "Project page" +msgstr "Projektsida" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Rapportera ett fel" + +#: menu.ui:14 +msgid "License" +msgstr "Licens" + +#: menu.ui:18 +msgid "Donate" +msgstr "Donera" + +#: other.ui:5 +msgid "Other" +msgstr "Övrigt" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Oskärpa på låsskärmen" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Ändra oskärpan på låsskärmen så att den använder denna tilläggsinställning." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Screenshot-oskärpa" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Lägg till oskärpa på bakgrunden för inställningsfönstret i " +"skärmdumpgränssnittet." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Oskärpa för \"Window list\"-tilläget" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Gör \"window-list\"-tilläget oskarpt om det används." + +#: overview.ui:5 +msgid "Overview" +msgstr "Översiktsläge" + +#: overview.ui:10 +msgid "Background blur" +msgstr "bakgrundsoskärpa" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Lägg till oskärpa i översiktlägets bakgrund genom att använda " +"bakgrundsbilden." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Stil på översiktlägets komponent" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Genomskicklighetens stil för dash, sökning, sökresultat och " +"applikationsmappar." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Oskärpa för applikationsmappar" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Gör bakgrunden i dialoger för applikationsmappar suddig." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Stil för dialoger för applikationsmappar" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Halvtransparensens stil för dialoger för applikationsmappar." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Styla inte" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Paneloskärpa" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Gör den övre panelen suddig genom att använda bakgrundsbilden." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statisk oskärpa" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Använder en statisk suddig bild, mer presterande och stabil." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "" +"Inaktiverar oskärpa från panelen när man kommer in till översiktsläget." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Åsidosätt panelens bakgrund för att använda en transparent eller " +"halvtransparent sådan.\n" +"Rekommenderas om man inte vill anpassa GNOME-temat." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Transparensens/halvtransparensens stil för panelbakgrunden." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Inaktivera när ett fönster är nära" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Inaktiverar genomskinligheten för panelen när ett fönster är nära den." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Kompatibilitet" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Olika alternativ för kompatibilitet med andra tillägg." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hidetopbar-tillägg" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Inaktiverar inte oskärpan i översiktsläget, fungerar bäst med statisk " +"oskärpa." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Fönsternamn" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Välj fönster" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Välj ett fönster eller välj det efter klassnamnet." diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 00000000..c381df21 --- /dev/null +++ b/po/ta.po @@ -0,0 +1,597 @@ +# Blur-my-shell Tamil PO Translation. +# Copyright (C) 2022 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# K.B.Dharun Krishna , 2022. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Arun \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "பயன்பாடுகள்" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "பயன்பாடுகள் மங்கலாக்குதல் (பீட்டா)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"பயன்பாட்டில் மங்கலைச் சேர்க்கவும். இது இன்னும் பீட்டா செயல்பாடு. \n" +"சாத்தியமான சிறந்த முடிவுகளைப் பெற, \"பொது → ஹேக் லெவல்\" விருப்பத்தேர்வில் " +"\"ஆர்ட்டிஃபாக்ட் இல்லை\" என்ற விருப்பத்தைத் தேர்வுசெய்யவும்.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "ஒளிபுகாநிலை" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"மங்கலான விளைவின் மேல் உள்ள சாளரத்தின் ஒளிபுகாநிலை, அதிக மதிப்பு இன்னும் தெளிவாகத் " +"தெரியும்." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "மேலோட்டப் பார்வையில் மங்கலாக்கு" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"மேலோட்டத்தில் அனைத்து பணியிடங்களிலும் மங்கலானது சரியாகக் காட்டப்பட வேண்டும்.\n" +"இது சில தாமதம் அல்லது செயல்திறன் சிக்கல்களை ஏற்படுத்தலாம்." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "முன்னிருப்பாக அனைத்தையும் இயக்கு" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"முன்னிருப்பாக எல்லா சாளரங்களுக்கும் பின்னால் மங்கலைச் சேர்க்கிறது.\n" +"செயல்திறன் மற்றும் நிலைப்புத்தன்மை பிரச்சனைகள் காரணமாக பரிந்துரைக்கப்படவில்லை." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "அனுமதிப்பட்டியல்" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "மங்கலாக்க வேண்டிய சாளரங்களின் பட்டியல்." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "சாளரத்தைச் சேர்க்கவும்" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "பிளாக்லிஸ்ட்" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "மங்கலாக்கப்படக் கூடாத சாளரங்களின் பட்டியல்." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "பண்புகளைத் தனிப்பயனாக்குங்கள்" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"பொதுப் பக்கத்தில் அமைக்கப்படுவதற்குப் பதிலாக தனிப்பயனாக்கப்பட்ட மங்கலான பண்புகளைப் " +"பயன்படுத்துகிறது." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "சிக்மா" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "மங்கலின் தீவிரம்." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "பிரகாசம்" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "மங்கலான விளைவின் பிரகாசம், அதிக மதிப்பு உரையைப் படிக்க கடினமாக்கலாம்." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "நிறம்" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"மங்கலின் நிறத்தை மாற்றுகிறது. வண்ணத்தின் ஒளிபுகாநிலை, அது மங்கலான விளைவுடன் எவ்வளவு " +"கலக்கப்படுகிறது என்பதைக் கட்டுப்படுத்துகிறது." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "சத்தம் அளவு" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"மங்கலான விளைவைச் சேர்க்கும் சத்தத்தின் அளவு, குறைந்த-கான்ட்ராஸ்ட் திரைகளில் அல்லது அழகியல் " +"நோக்கத்திற்காக பயனுள்ளதாக இருக்கும்." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "இரைச்சல் லேசான தன்மை" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "சத்தத்தின் லேசான தன்மை மங்கலான விளைவைக் கூட்டியது." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "அறிவிப்பு" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "இது போன்ற மாறும் மங்கலான கூறுகளில் இரைச்சல் மற்றும் வண்ணத்தை செயல்படுத்த முடியாது." + +#: dash.ui:5 +msgid "Dash" +msgstr "கோடு" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "டேஷ் டு டாக் மங்கல்" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "டாஷ் டு டாக் நீட்டிப்பு பயன்படுத்தப்பட்டால் அதன் பின்புலத்தை மங்கலாக்குங்கள்." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "பின்னணியை மேலெழுதவும்" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"பின்னணியை வெளிப்படையானதாகவோ அல்லது அரை-வெளிப்படையாகவோ மாற்றுகிறது, அதற்குப் பதிலாக " +"டாஷ் டு டாக் விருப்பங்களைப் பயன்படுத்த இதை முடக்கவும்." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "பின்னணி நடை" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "கப்பல்துறை பின்னணிக்கான வெளிப்படையான/அரை-வெளிப்படையான பாணி." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "மேலோட்டத்தில் முடக்கு" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "மேலோட்டத்தை உள்ளிடும்போது டாஷ் முதல் டாக் வரை மங்கலை முடக்குகிறது." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "வெளிப்படை" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "ஒளி" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "இருள்" + +#: general.ui:5 +msgid "General" +msgstr "பொது" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "மங்கலான விருப்பத்தேர்வுகள்" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"உலகளாவிய மங்கலான விருப்பத்தேர்வுகள், இயல்பாகவே அனைத்து கூறுகளாலும் பயன்படுத்தப்படுகின்றன." + +#: general.ui:117 +msgid "Performance" +msgstr "செயலாக்கம்" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "செயல்திறனை மாற்றுவதற்கான பல்வேறு விருப்பங்கள்." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "நிறம் மற்றும் இரைச்சல் விளைவுகள்" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"உலகளவில் சத்தம் மற்றும் வண்ண விளைவுகளை முடக்குகிறது, இது குறைந்த-இறுதி அமைப்புகளில் " +"செயல்திறனை மேம்படுத்தலாம்." + +#: general.ui:135 +msgid "Hack level" +msgstr "ஹேக் லெவல்" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"டைனமிக் மங்கலான விளைவின் நடத்தையை மாற்றுகிறது. \n" +"நீங்கள் பயன்பாட்டு மங்கலைப் பயன்படுத்தாத வரை, இயல்புநிலை மதிப்பு மிகவும் " +"பரிந்துரைக்கப்படுகிறது, இதில் \"கலைப்பொருள் இல்லை\" என்பது சிறந்தது. \n" +"இந்த விருப்பம் GNOME ஷெல்லில் கிளிப் செய்யப்பட்ட ரீடிராக்களை முழுவதுமாக முடக்கும், மேலும் " +"செயல்திறனை கணிசமாக பாதிக்கலாம் ஆனால் மங்கலான விளைவை முழுமையாக சரி செய்யும்." + +#: general.ui:151 +msgid "Debug" +msgstr "பிழைத்திருத்தம் செய்" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"பதிவுகளில் நீட்டிப்பை வாய்மொழியாக மாற்றுகிறது, சிக்கலைப் புகாரளிக்க வேண்டியிருக்கும் " +"போது செயல்படுத்தவும்." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "விருப்பங்களை மீட்டமைக்கவும்" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "மங்கலான எனது ஷெல்லின் விருப்பங்களை மீளமுடியாமல் மீட்டமைக்கிறது." + +#: general.ui:187 +msgid "Reset" +msgstr "மீட்டமைக்கவும்" + +#: general.ui:228 +msgid "High performances" +msgstr "உயர் செயல்திறன்" + +#: general.ui:229 +msgid "Default" +msgstr "இயல்புநிலை" + +#: general.ui:230 +msgid "High quality" +msgstr "உயர் தரம்" + +#: general.ui:231 +msgid "No artifact" +msgstr "கலைப்பொருள் இல்லை" + +#: menu.ui:6 +msgid "Project page" +msgstr "திட்டப் பக்கம்" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "பிழையைப் புகாரளிக்கவும்" + +#: menu.ui:14 +msgid "License" +msgstr "உரிமம்" + +#: menu.ui:18 +msgid "Donate" +msgstr "நன்கொடையளி" + +#: other.ui:5 +msgid "Other" +msgstr "மற்றவை" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "லாக்ஸ்கிரீன் மங்கலானது" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "இந்த நீட்டிப்பு விருப்பங்களைப் பயன்படுத்த பூட்டுத் திரையின் மங்கலை மாற்றவும்." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "ஸ்கிரீன்ஷாட் மங்கலானது" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "ஸ்கிரீன்ஷாட் UI இல் சாளரத் தேர்வியின் பின்னணியில் மங்கலைச் சேர்க்கவும்." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "சாளர பட்டியல் நீட்டிப்பு மங்கலானது" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "சாளரப் பட்டியல் நீட்டிப்பைப் பயன்படுத்தினால், அதை மங்கலாக்கவும்." + +#: overview.ui:5 +msgid "Overview" +msgstr "கண்ணோட்டம்" + +#: overview.ui:10 +msgid "Background blur" +msgstr "பின்னணி தெளிவின்மை" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "வால்பேப்பர் படத்தைப் பயன்படுத்தி மேலோட்டப் பின்னணியில் மங்கலைச் சேர்க்கவும்." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "மேலோட்டக் கூறுகளின் பாணி" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"கோடு, தேடல் உள்ளீடு/முடிவுகள் மற்றும் பயன்பாட்டுக் கோப்புறைகளுக்கான அரை-வெளிப்படையான " +"பாணி." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "பயன்பாட்டுக் கோப்புறை மங்கல்" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "பயன்பாட்டு கோப்புறை உரையாடலின் பின்னணியை மங்கலாக்கும்." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "பயன்பாட்டு கோப்புறை உரையாடல்கள் நடை" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "பயன்பாட்டு கோப்புறை உரையாடல்களுக்கான அரை-வெளிப்படையான பாணி." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "ஸ்டைல் வேண்டாம்" + +#: panel.ui:5 +msgid "Panel" +msgstr "பேனல்" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "பேனல் தெளிவின்மை" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "பின்னணி படத்தைப் பயன்படுத்தி மேல் பேனலை மங்கலாக்குங்கள்." + +#: panel.ui:26 +msgid "Static blur" +msgstr "நிலையான தெளிவின்மை" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "நிலையான மங்கலான படத்தைப் பயன்படுத்துகிறது, அதிக செயல்திறன் மற்றும் நிலையானது." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "மேலோட்டப் பார்வையை உள்ளிடும்போது பேனலில் இருந்து மங்கலானதை முடக்கும்." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"வெளிப்படையான அல்லது அரை-வெளிப்படையான ஒன்றைப் பயன்படுத்த பேனலின் பின்னணியை " +"மேலெழுதவும். \n" +"உங்கள் GNOME தீம் தனிப்பயனாக்க விரும்பினால் தவிர பரிந்துரைக்கப்படுகிறது." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "பேனல் பின்னணிக்கான வெளிப்படையான/அரை-வெளிப்படையான பாணி." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "ஒரு சாளரம் அருகில் இருக்கும்போது முடக்கவும்" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "சாளரம் அருகில் இருக்கும்போது பேனலின் வெளிப்படைத்தன்மையை முடக்குகிறது." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "இணக்கத்தன்மை" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "பிற நீட்டிப்புகளுடன் இணக்கத்தன்மையை வழங்க பல்வேறு விருப்பங்கள்." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "ஹைடோப்பார் நீட்டிப்பு" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "மேலோட்டத்தில் மங்கலை முடக்காது, நிலையான மங்கலுடன் சிறப்பாகப் பயன்படுத்தப்படுகிறது." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "சாளரத்தின் பெயர்" + +#: window-row.ui:8 +msgid "Select window" +msgstr "சாளரத்தைத் தேர்ந்தெடுக்கவும்" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "ஒரு சாளரத்தைத் தேர்ந்தெடுக்கவும் அல்லது அதன் வகுப்புப் பெயரால் தேர்ந்தெடுக்கவும்." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "பயன்பாடுகளில் மங்கலைச் சேர்க்கவும். இது இன்னும் பீட்டா செயல்பாடுதான்.\n" +#~ "சாத்தியமான சிறந்த முடிவுகளைப் பெற, \"பொது → ஹேக் லெவல்\" விருப்பத்தேர்வில் " +#~ "\"கலைப்பொருள் இல்லை\" என்ற விருப்பத்தைத் தேர்ந்தெடுக்கவும்.\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "பின்னணியை அரை-வெளிப்படையாக்குகிறது, அதற்குப் பதிலாக டாஷ் டு டாக் விருப்பங்களைப் " +#~ "பயன்படுத்த இதை முடக்கவும்." + +#~ msgid "Performances" +#~ msgstr "செயல்திறன்" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "செயல்திறனை மாற்ற பல்வேறு விருப்பங்கள்." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "சத்தம் மற்றும் வண்ண விளைவுகளின் பயன்பாட்டை உலகளவில் முடக்குவதற்கு அனுமதி அளிக்கிறது, " +#~ "இது குறைந்த-இறுதி வரைகலையின் செயல்திறனை மேம்படுத்தலாம்." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "டைனமிக் மங்கலான விளைவின் நடத்தையை மாற்றுகிறது.\n" +#~ "இயல்புநிலை மதிப்பு மிகவும் பரிந்துரைக்கப்படுகிறது, நீங்கள் பயன்பாட்டு மங்கலைப் " +#~ "பயன்படுத்தாவிட்டால், \"கலைப்பொருள் இல்லை\" சிறந்தது.\n" +#~ "இந்த விருப்பம் க்னோம் ஷெல்லில் இருந்து க்ளிப் செய்யப்பட்ட மறு வரைவுகளை முழுவதுமாக " +#~ "முடக்கும், மேலும் செயல்திறனை கணிசமாக பாதிக்கலாம் ஆனால் மங்கலான விளைவை முழுவதுமாக " +#~ "சரிசெய்யும்." + +#~ msgid "No artefact" +#~ msgstr "கலைப்பொருள் இல்லை" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "கோடு, தேடல் நுழைவு/முடிவுகள் மற்றும் பயன்பாடுகள் கோப்புறைகளுக்கான அரை-வெளிப்படையான " +#~ "பாணி." + +#~ msgid "Applications folder blur" +#~ msgstr "பயன்பாடுகளின் கோப்புறை மங்கலாகிறது" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "கோப்புறை ஐகான்களின் பின்னணியை மங்கலாக்குகிறது." + +#~ msgid "Dialog opacity" +#~ msgstr "உரையாடல் ஒளிபுகாநிலை" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "பயன்பாடுகள் கோப்புறை பாப்அப்பின் ஒளிபுகாநிலை." + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "வெளிப்படையான ஒன்றைப் பயன்படுத்த பேனலின் பின்னணியை மேலெழுதவும்.\n" +#~ "உங்கள் க்னோம் தீம் தனிப்பயனாக்க விரும்பினால் தவிர பரிந்துரைக்கப்படுகிறது." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "பயன்பாடுகளில் மங்கலைச் சேர்க்கவும். இது இன்னும் ஒரு பீட்டா செயல்பாடாகும், மிகவும் " +#~ "தரமற்றதாக உள்ளது மற்றும் அதைக் கேட்கும் பயன்பாடுகள் அல்லது கீழே உள்ள அனுமதிப்பட்டியலில் " +#~ "அமைக்கப்பட்டுள்ளவற்றுக்கு மட்டுமே இது பொருந்தும்." + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "முன்னிருப்பாக அனைத்து சாளரங்களுக்கும் பின்னால் மங்கலைச் சேர்க்கிறது. செயல்திறன் மற்றும் " +#~ "நிலைத்தன்மை சிக்கல்கள் காரணமாக பரிந்துரைக்கப்படவில்லை." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "டைனமிக் மங்கலான விளைவின் நடத்தையை மாற்றுகிறது. இயல்புநிலை மதிப்பு மிகவும் " +#~ "பரிந்துரைக்கப்படுகிறது." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "ஒரு சாளரம் அதன் அருகில் இருக்கும்போது பேனலில் இருந்து மங்கலானதை முடக்குகிறது." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "மங்கலாக்க வேண்டிய பயன்பாடுகளின் பட்டியல், வரிக்கு ஒன்று. பயன்பாட்டு வகுப்பின் பெயரைப் " +#~ "பெற, xorg இன் கீழ் நீங்கள் `xprop|grep WM_CLASS` ஐப் பயன்படுத்தி கடைசி பெயரை இங்கே " +#~ "ஒட்டலாம்." diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 00000000..1e7d0883 --- /dev/null +++ b/po/tr.po @@ -0,0 +1,569 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Taylan Tatlı \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Uygulamalar" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Uygulama bulanıklığı (beta)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Uygulamalara bulanıklık ekler. Bu hala beta işlevselliğidir.\n" +"Mümkün olan en iyi sonuçları elde etmek için, \"Genel → Hack düzeyi\" " +"tercihinde \"Artefakt yok\" seçeneğini seçtiğinizden emin olun.\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Matlık" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Bulanıklaştırma etkisinin üstündeki pencerenin matlığı, daha yüksek değer " +"daha okunaklı olacaktır." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Genel görünümde bulanıklık" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Bulanıklığın genel görünümdeki tüm çalışma alanlarında düzgün şekilde " +"gösterilmesini zorlar.\n" +"Bu, bazı gecikme veya performans sorunlarına neden olabilir." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Öntanımlı olarak tümünü etkinleştir" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Öntanımlı olarak tüm pencerelerin arkasına bulanıklık ekler.\n" +"Performans ve kararlılık sorunları nedeniyle önerilmez." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Beyaz liste" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Bulanıklaştırılacak pencerelerin listesi." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Pencere Ekle" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Kara liste" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Bulanıklaştırılmaması gereken pencerelerin listesi." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Özellikleri özelleştir" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Genel sayfasında ayarlananlar yerine özelleştirilmiş bulanıklık " +"özelliklerini kullanır." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Sigma" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Bulanıklık yoğunluğu." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Parlaklık" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Bulanıklık etkisinin parlaklığı, yüksek değer metnin okunmasını " +"zorlaştırabilir." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Renk" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Bulanıklığın rengini değiştirir. Rengin matlığı, bulanıklık etkisiyle ne " +"kadar karıştırılacağını denetler." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Gürültü miktarı" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Bulanıklık etkisinin gürültü miktarı, düşük karşıtlıklı ekranlarda veya " +"estetik amaçlar için yararlıdır." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Gürültü hafifliği" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Bulanıklık etkisine eklenen gürültünün hafifliği." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Dikkat" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Bunun gibi dinamik olarak bulanıklaştırılmış bileşenlerde gürültü ve renk " +"etkinleştirilemez." + +#: dash.ui:5 +msgid "Dash" +msgstr "Rıhtım" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Dash to Dock bulanıklığı" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Kullanılıyorsa, Dash to Dock uzantısının arka planını bulanıklaştır." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Arka planı geçersiz kıl" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Arka planını saydam veya yarı saydam hale getirir, Dash to Dock kullanmak " +"için bunu devre dışı bırakın." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Arka plan biçemi" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Rıhtım arka planı için saydam/yarı saydam biçem." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Genel görünümde devre dışı bırak" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Genel bakışa geçişte Dash to Dock bulanıklığını devre dışı bırakır." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Saydam" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Açık" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Koyu" + +#: general.ui:5 +msgid "General" +msgstr "Genel" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Bulanıklık tercihleri" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Varsayılan olarak tüm bileşenler tarafından kullanılan genel bulanıklık " +"tercihleri." + +#: general.ui:117 +msgid "Performance" +msgstr "Performans" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Performansı ayarlamak için çeşitli seçenekler." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Renk ve gürültü etkileri" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Düşük özellikli sistemlerde performansı artırabilecek gürültü ve renk " +"etkilerini küresel olarak devre dışı bırakır." + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack düzeyi" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Dinamik bulanıklaştırma etkisinin davranışını değiştirir.\n" +"Uygulama bulanıklığı kullanmadığınız sürece öntanımlı değer şiddetle tavsiye " +"edilir, bu durumda \"Artifakt Yok\" daha iyidir.\n" +"Bu seçenek GNOME kabuğunda kırpılmış yeniden çizimleri tamamen devre dışı " +"bırakır ve performansı önemli ölçüde etkileyebilir, ancak bulanıklık " +"etkisini tamamen düzeltir." + +#: general.ui:151 +msgid "Debug" +msgstr "Hata ayıklama" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Uzantının detaylı günlük kaydını yapar, bir sorunu bildirmeniz gerektiğinde " +"etkinleştirin." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Tercihleri sıfırla" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Blur my Shell tercihlerini geri döndürülemez şekilde sıfırlar." + +#: general.ui:187 +msgid "Reset" +msgstr "Sıfırla" + +#: general.ui:228 +msgid "High performances" +msgstr "Yüksek performans" + +#: general.ui:229 +msgid "Default" +msgstr "Varsayılan" + +#: general.ui:230 +msgid "High quality" +msgstr "Yüksek kalite" + +#: general.ui:231 +msgid "No artifact" +msgstr "Artefakt yok" + +#: menu.ui:6 +msgid "Project page" +msgstr "Proje sayfası" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Hata Raporla" + +#: menu.ui:14 +msgid "License" +msgstr "Lisans" + +#: menu.ui:18 +msgid "Donate" +msgstr "Bağış" + +#: other.ui:5 +msgid "Other" +msgstr "Diğer" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Kilit ekranı bulanıklığı" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Bu uzantının tercihlerini kullanmak için kilit ekranının bulanıklığını " +"değiştirin." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Ekran görüntüsü bulanıklığı" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Ekran görüntüsü kullanıcı arayüzünde pencere seçicinin arka planına " +"bulanıklık ekleyin." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Pencere listesi uzantısı bulanıklığı" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Kullanılıyorsa, window-list uzantısını bulanık hale getirin." + +#: overview.ui:5 +msgid "Overview" +msgstr "Genel Görünüm" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Arka plan bulanıklığı" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "" +"Duvar kağıdı resmini kullanarak genel bakış arka planına bulanıklık ekleyin." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Genel görünüm bileşen biçemi" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Gösterge paneli, arama girişi/sonuçları ve uygulama klasörleri için yarı " +"saydam biçem." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Uygulama klasörü bulanıklığı" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Uygulama klasörü iletişim kutusunun arka planını bulanıklaştırır." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Uygulama klasörü iletişim kutuları biçemi" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Uygulama klasörü iletişim iletişimi için yarı saydam biçem." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Biçem yapma" + +#: panel.ui:5 +msgid "Panel" +msgstr "Panel" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Panel bulanıklığı" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Arka plan görüntüsünü kullanarak üst paneli bulanıklaştırın." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Statik bulanıklık" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "Statik bulanık bir görüntü kullanır, daha performanslı ve kararlıdır." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Genel görünüme girerken panelden bulanıklığı kaldırır." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Saydam veya yarı saydam bir arka plan kullanmak için panelin arka planını " +"geçersiz kıl.\n" +"GNOME temanızı özelleştirmek istemiyorsanız önerilir." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Panel arka planı için saydam/yarı saydam biçem." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Bir pencere yakınken devre dışı bırak" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Bir pencere yakındayken panelin saydamlığını devre dışı bırakır." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Uyumluluk" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Diğer uzantılarla uyumluluğu sağlamak için çeşitli seçenekler." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hidetopbar uzantısı" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Genel görünümde bulanıklığı devre dışı bırakmaz, en iyi statik bulanıklıkla " +"kullanılır." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Pencere Adı" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Pencere seç" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Bir pencere seç veya sınıf adına göre seç." + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "" +#~ "Arka planı yarı saydam yapar, Dash to Dock tercihlerini kullanmak için " +#~ "bunu devre dışı bırakın." + +#~ msgid "Performances" +#~ msgstr "Performans" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "Performansı ayarlamak için çeşitli seçenekler." + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "" +#~ "Gürültü ve renk efektlerinin kullanımını genel olarak devre dışı " +#~ "bırakmaya izin verir; bu, düşük kaliteli grafikler için performansları " +#~ "iyileştirebilir." + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "" +#~ "Rıhtım, arama girişi/sonuçları ve uygulama klasörleri için yarı saydam " +#~ "stil." + +#~ msgid "Applications folder blur" +#~ msgstr "Uygulama klasörü bulanıklığı" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "Klasör simgelerinin arka planını bulanıklaştırır." + +#~ msgid "Dialog opacity" +#~ msgstr "İletişim penceresi opaklığı" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "Uygulama klasörü açılır penceresinin opaklığı." + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "Uygulamalara bulanıklık ekleyin. Bu hâlâ bir beta işlevidir, oldukça " +#~ "sorunludur ve yalnızca bunu isteyen uygulamalara veya aşağıdaki beyaz " +#~ "listede belirtilenlere uygulanır." + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "" +#~ "Dinamik bulanıklık efektinin davranışını değiştirir. Varsayılan değer " +#~ "şiddetle tavsiye edilir." + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "" +#~ "Yakınında bir pencere olduğunda paneldeki bulanıklığı devre dışı bırakır." + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "Her satırda bir tane olacak şekilde bulanıklaştırılacak uygulamaların " +#~ "listesi. Bir uygulamanın sınıf adını almak için xorg altında `xprop|grep " +#~ "WM_CLASS` komutunu kullanabilir ve son ismi buraya yapıştırabilirsiniz." diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 00000000..8b4897f0 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,495 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: chtholine \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "Застосунки" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "Розмиття застосунків (бета)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"Надає розмиття застосункам. Це все ще бета-версія функції.\n" +"Щоб отримати найкращі результати, переконайтеся, що ви вибрали опцію \"Без " +"артефактів\" у налаштуваннях \"Загальні → Рівень злому\".\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "Непрозорість" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "" +"Непрозорість вікна поверх ефекту розмиття, більше значення буде більш чітким." + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "Розмиття при огляді" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"Примушує коректно відображати розмиття на всіх робочих областях огляду.\n" +"Це може спричинити деякі затримки або проблеми з продуктивністю." + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "Застосувати для всіх за замовчуванням" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"Додає розмиття за всіма вікнами за замовчуванням.\n" +"Не рекомендується через проблеми з продуктивністю та стабільністю." + +#: applications.ui:85 +msgid "Whitelist" +msgstr "Білий список" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "Список вікон для розмиття." + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "Додати вікно" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "Чорний список" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "Список вікон без розмиття." + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "Налаштування властивостей" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "" +"Використовує користувацькі параметри замість встановлених на сторінці " +"Загальні." + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "Сигма" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "Інтенсивність розмиття." + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "Яскравість" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "" +"Яскравість ефекту розмиття, високе значення може ускладнити читабельність." + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "Колір" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "" +"Змінює колір розмиття. Непрозорість кольору визначає, наскільки він " +"зливається з ефектом розмиття." + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "Рівень шуму" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "" +"Рівень шуму для ефекту розмиття, корисний на екранах із низьким контрастом " +"або в естетичних цілях." + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "Легкість шуму" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "Легкість шуму доданого до ефекту розмиття." + +#: customize-row.ui:113 +msgid "Notice" +msgstr "Увага" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "" +"Шум і колір не можна активувати на динамічно розмитих компонентах, таких як " +"цей." + +#: dash.ui:5 +msgid "Dash" +msgstr "Панель застосунків" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Розмиття Dash to Dock" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "Розмиття фону розширення Dash to Dock при використанні." + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "Перевизначення фону" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "" +"Робить фон прозорим або напівпрозорим, вимкніть цю опцію, щоб " +"використовувати параметри Dash to Dock." + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "Стиль фону" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "Прозорий/напівпрозорий стиль для фону Dash to Dock." + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "Вимкнути в огляді" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "Вимикає розмиття Dash to Dock при вході в огляд." + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "Прозорий" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "Cвітлий" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "Темний" + +#: general.ui:5 +msgid "General" +msgstr "Загальні" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "Налаштування розмиття" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "" +"Глобальні налаштування розмиття, що використовуються всіма компонентами за " +"замовчуванням." + +#: general.ui:117 +msgid "Performance" +msgstr "Продуктивність" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "Опції налаштування продуктивності." + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "Кольорові та шумові ефекти" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" +"Глобально вимикає шумові та кольорові ефекти, що може покращити " +"продуктивність на малопотужних системах." + +#: general.ui:135 +msgid "Hack level" +msgstr "Рівень злому" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" +"Змінює поведінку ефекту динамічного розмиття.\n" +"Наполегливо рекомендується залишити значення за замовчуванням. При " +"використанні розмиття додатків краще вибрати \"Без артефактів\".\n" +"Цей параметр повністю вимкне обрізані перемальовування у оболонці GNOME, що " +"може суттєво вплинути на продуктивність, але повністю виправить ефект " +"розмиття." + +#: general.ui:151 +msgid "Debug" +msgstr "Налагодження" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "" +"Робить розширення докладним у логах, активується, коли потрібно повідомити " +"про проблему." + +#: general.ui:167 +msgid "Reset preferences" +msgstr "Скинути налаштування" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "Необоротно скидає налаштування Blur my Shell." + +#: general.ui:187 +msgid "Reset" +msgstr "Скидання" + +#: general.ui:228 +msgid "High performances" +msgstr "Висока продуктивність" + +#: general.ui:229 +msgid "Default" +msgstr "За замовчуванням" + +#: general.ui:230 +msgid "High quality" +msgstr "Висока якість" + +#: general.ui:231 +msgid "No artifact" +msgstr "Відсутність артефакту" + +#: menu.ui:6 +msgid "Project page" +msgstr "Сторінка проекту" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "Повідомити про помилку" + +#: menu.ui:14 +msgid "License" +msgstr "Ліцензія" + +#: menu.ui:18 +msgid "Donate" +msgstr "Подяка" + +#: other.ui:5 +msgid "Other" +msgstr "Інше" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "Розмиття екрана блокування" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "" +"Зміна розмиття екрана блокування для використання налаштувань цього " +"розширення." + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "Розмиття знімку екрана" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "" +"Додавання розмиття до фону виділеного вікна в інтерфейсі знімку екрана." + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "Розмиття розширення Window List" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "Розмиття розширення Window List при його використанні." + +#: overview.ui:5 +msgid "Overview" +msgstr "Огляд" + +#: overview.ui:10 +msgid "Background blur" +msgstr "Розмиття фону" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "Розмиття фону огляду, використовуючи зображення шпалер." + +#: overview.ui:26 +msgid "Overview components style" +msgstr "Стиль компонентів огляду" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" +"Напівпрозорий стиль для панелі застосунків, пошуку та папок застосунків." + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "Розмиття папки застосунків" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "Розмиття фону папок застосунків." + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "Стиль діалогових вікон папок застосунків" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "Напівпрозорий стиль для діалогових вікон папок застосунків." + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "Не стилізувати" + +#: panel.ui:5 +msgid "Panel" +msgstr "Верхня панель" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "Розмиття верхньої панелі" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "Розмиття верхньої панелі за допомогою фонового зображення." + +#: panel.ui:26 +msgid "Static blur" +msgstr "Статичне розмиття" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "" +"Використання статичного розмитого зображення, більш продуктивне та стабільне." + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "Вимикає розмиття верхньої панелі під час входу в огляд." + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" +"Замінює тло панелі на прозоре або напівпрозоре.\n" +"Рекомендується, якщо ви не хочете змінювати тему GNOME." + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "Прозорий/напівпрозорий стиль для фону верхньої панелі." + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "Вимкнути, коли вікно поруч" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "Вимикнення прозорості панелі, коли біля неї знаходиться вікно." + +#: panel.ui:97 +msgid "Compatibility" +msgstr "Сумісність" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "Опції для забезпечення сумісності з іншими розширеннями." + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Розширення Hidetopbar" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "" +"Не вимикає розмиття в огляді, найкраще використовувати зі статичним " +"розмиттям." + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "Назва вікна" + +#: window-row.ui:8 +msgid "Select window" +msgstr "Обрати вікно" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "Виберіть вікно або знайдіть за назвою класу." diff --git a/po/zh_Hans.po b/po/zh_Hans.po new file mode 100644 index 00000000..2fd17b5a --- /dev/null +++ b/po/zh_Hans.po @@ -0,0 +1,557 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the blur-my-shell@aunetx package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: blur-my-shell@aunetx\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-29 16:20+0200\n" +"PO-Revision-Date: 2023-06-29 14:17+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.18.1\n" + +#: applications.ui:5 +msgid "Applications" +msgstr "应用程序" + +#: applications.ui:10 +msgid "Applications blur (beta)" +msgstr "应用程序模糊(实验性)" + +#: applications.ui:11 +msgid "" +"Adds blur to the applications. This is still beta functionality.\n" +"To get the best results possible, make sure to choose the option “No " +"artifact” in the “General → Hack level” preference.\n" +" " +msgstr "" +"对应用程序添加模糊效果。这是一个仍处于测试阶段的功能。\n" +"若想获得最佳效果,记得将 Hack 级别设置为\n" +" " + +#: applications.ui:28 +msgid "Opacity" +msgstr "不透明度" + +#: applications.ui:29 +msgid "" +"The opacity of the window on top of the blur effect, a higher value will be " +"more legible." +msgstr "窗口的不透明度放在模糊效果之上,值越高越清晰。" + +#: applications.ui:51 +msgid "Blur on overview" +msgstr "概述上的模糊" + +#: applications.ui:52 +msgid "" +"Forces the blur to be properly shown on all workspaces on overview.\n" +"This may cause some latency or performance issues." +msgstr "" +"强制模糊在概览的所有工作区上正确显示。\n" +"这可能会导致一些延迟或性能问题。" + +#: applications.ui:67 +msgid "Enable all by default" +msgstr "默认全部启用" + +#: applications.ui:68 +msgid "" +"Adds blur behind all windows by default.\n" +"Not recommended because of performance and stability issues." +msgstr "" +"默认情况下,在所有窗口后面添加模糊。\n" +"由于性能和稳定性问题,不建议这样做。" + +#: applications.ui:85 +msgid "Whitelist" +msgstr "白名单" + +#: applications.ui:86 +msgid "A list of windows to blur." +msgstr "要模糊的窗口列表。" + +#: applications.ui:104 applications.ui:141 +msgid "Add Window" +msgstr "添加窗口" + +#: applications.ui:122 +msgid "Blacklist" +msgstr "黑名单" + +#: applications.ui:123 +msgid "A list of windows not to blur." +msgstr "不模糊的窗口列表。" + +#: customize-row.ui:4 +msgid "Customize properties" +msgstr "自定义属性" + +#: customize-row.ui:5 +msgid "" +"Uses customized blur properties, instead of the ones set in the General page." +msgstr "使用自定义的模糊属性,而不是在 常规 页面中指定的属性。" + +#: customize-row.ui:10 general.ui:15 +msgid "Sigma" +msgstr "强度" + +#: customize-row.ui:11 general.ui:16 +msgid "The intensity of the blur." +msgstr "模糊效果的强度。" + +#: customize-row.ui:31 general.ui:35 +msgid "Brightness" +msgstr "亮度" + +#: customize-row.ui:32 general.ui:36 +msgid "" +"The brightness of the blur effect, a high value might make the text harder " +"to read." +msgstr "模糊效果的亮度,数值越高文字越难以阅读。" + +#: customize-row.ui:52 general.ui:55 +msgid "Color" +msgstr "颜色" + +#: customize-row.ui:53 general.ui:56 +msgid "" +"Changes the color of the blur. The opacity of the color controls how much it " +"is blended into the blur effect." +msgstr "更改模糊效果的颜色。颜色的不透明度决定了它将混合到模糊效果中的程度。" + +#: customize-row.ui:71 general.ui:73 +msgid "Noise amount" +msgstr "噪声数量" + +#: customize-row.ui:72 general.ui:74 +msgid "" +"The amount of noise to add to the blur effect, useful on low-contrast " +"screens or for aesthetic purpose." +msgstr "对模糊效果添加的噪声的数量,尤其在低对比度的屏幕上或美学效果有用。" + +#: customize-row.ui:92 general.ui:94 +msgid "Noise lightness" +msgstr "噪声亮度" + +#: customize-row.ui:93 general.ui:95 +msgid "The lightness of the noise added to the blur effect." +msgstr "对模糊效果添加的噪声的亮度。" + +#: customize-row.ui:113 +msgid "Notice" +msgstr "注意" + +#: customize-row.ui:114 +msgid "" +"Noise and color can't be activated on dynamically blurred components, such " +"as this one." +msgstr "噪声和颜色无法在动态模糊的组件上启用,比如当前这个。" + +#: dash.ui:5 +msgid "Dash" +msgstr "任务栏" + +#: dash.ui:10 +msgid "Dash to Dock blur" +msgstr "Dash to Dock 模糊" + +#: dash.ui:11 +msgid "Blur the background of the Dash to Dock extension, if it is used." +msgstr "如果 Dash to Dock 扩展被使用,将其背景进行模糊。" + +#: dash.ui:26 panel.ui:56 +msgid "Override background" +msgstr "覆盖背景" + +#: dash.ui:27 +msgid "" +"Makes the background either transparent or semi-transparent, disable this to " +"use Dash to Dock preferences instead." +msgstr "使背景透明或半透明,禁用此选项以改用 Dash to Dock 的首选项。" + +#: dash.ui:33 panel.ui:64 +msgid "Background style" +msgstr "背景样式" + +#: dash.ui:34 +msgid "The transparent/semi-transparent style for the dock background." +msgstr "" + +#: dash.ui:50 panel.ui:41 +msgid "Disable in overview" +msgstr "在总览中禁用" + +#: dash.ui:51 +msgid "Disables the blur from Dash to Dock when entering the overview." +msgstr "在进入总览时禁用 Dash to Dock 的模糊。" + +#: dash.ui:68 overview.ui:82 overview.ui:89 panel.ui:135 +msgid "Transparent" +msgstr "透明" + +#: dash.ui:69 overview.ui:80 overview.ui:90 panel.ui:136 +msgid "Light" +msgstr "亮色" + +#: dash.ui:70 overview.ui:81 overview.ui:91 panel.ui:137 +msgid "Dark" +msgstr "暗色" + +#: general.ui:5 +msgid "General" +msgstr "常规" + +#: general.ui:10 +msgid "Blur preferences" +msgstr "模糊首选项" + +#: general.ui:11 +msgid "Global blur preferences, used by all components by default." +msgstr "全局模糊首选项,默认被所有组件使用。" + +#: general.ui:117 +msgid "Performance" +msgstr "性能" + +#: general.ui:118 +msgid "Various options to tweak the performance." +msgstr "" + +#: general.ui:122 +msgid "Color and noise effects" +msgstr "颜色及噪声效果" + +#: general.ui:123 +msgid "" +"Globally disables noise and color effects which may improve performance on " +"low-end systems." +msgstr "" + +#: general.ui:135 +msgid "Hack level" +msgstr "Hack 级别" + +#: general.ui:136 +msgid "" +"Changes the behaviour of the dynamic blur effect.\n" +"The default value is highly recommended unless you use application blur, in " +"which case “No artifact” is better.\n" +"This option will entirely disable clipped redraws in GNOME shell, and may " +"impact performance significantly but will completely fix the blur effect." +msgstr "" + +#: general.ui:151 +msgid "Debug" +msgstr "调试" + +#: general.ui:152 +msgid "" +"Makes the extension verbose in logs, activate when you need to report an " +"issue." +msgstr "让扩展输出详细日志,在提交缺陷时启用此选项。" + +#: general.ui:167 +msgid "Reset preferences" +msgstr "重置首选项" + +#: general.ui:168 +msgid "Resets preferences of Blur my Shell irreversibly." +msgstr "不可逆转地重置 Blur my Shell 的首选项。" + +#: general.ui:187 +msgid "Reset" +msgstr "重置" + +#: general.ui:228 +msgid "High performances" +msgstr "高性能" + +#: general.ui:229 +msgid "Default" +msgstr "默认" + +#: general.ui:230 +msgid "High quality" +msgstr "高品质" + +#: general.ui:231 +msgid "No artifact" +msgstr "" + +#: menu.ui:6 +msgid "Project page" +msgstr "项目页面" + +#: menu.ui:10 +msgid "Report a Bug" +msgstr "报告问题" + +#: menu.ui:14 +msgid "License" +msgstr "许可证" + +#: menu.ui:18 +msgid "Donate" +msgstr "捐助" + +#: other.ui:5 +msgid "Other" +msgstr "其它" + +#: other.ui:10 +msgid "Lockscreen blur" +msgstr "锁屏界面模糊" + +#: other.ui:11 +msgid "Change the blur of the lockscreen to use this extension's preferences." +msgstr "更改锁屏的模糊效果以使用此扩展的首选项。" + +#: other.ui:28 +msgid "Screenshot blur" +msgstr "截图界面模糊" + +#: other.ui:29 +msgid "Add blur to the background of the window selector in the screenshot UI." +msgstr "为截图的窗口选择界面的背景添加模糊。" + +#: other.ui:46 +msgid "Window list extension blur" +msgstr "应用程序列表效果" + +#: other.ui:47 +msgid "Make the window-list extension blurred, if it is used." +msgstr "模糊 window-list 扩展(如果启用)。" + +#: overview.ui:5 +msgid "Overview" +msgstr "概览" + +#: overview.ui:10 +msgid "Background blur" +msgstr "背景模糊" + +#: overview.ui:11 +msgid "Add blur to the overview background, using the wallpaper picture." +msgstr "模糊概览界面的背景,使用壁纸图片。" + +#: overview.ui:26 +msgid "Overview components style" +msgstr "概览界面组件风格" + +#: overview.ui:27 +msgid "" +"The semi-transparent style for the dash, search entry/results, and " +"application folders." +msgstr "" + +#: overview.ui:44 +msgid "Application folder blur" +msgstr "应用程序文件夹模糊" + +#: overview.ui:45 +msgid "Makes the background of application folder dialogs blurred." +msgstr "" + +#: overview.ui:60 +msgid "Application folder dialogs style" +msgstr "" + +#: overview.ui:61 +msgid "The semi-transparent style for the application folder dialogs." +msgstr "" + +#: overview.ui:79 overview.ui:88 +msgid "Do not style" +msgstr "原始风格" + +#: panel.ui:5 +msgid "Panel" +msgstr "面板" + +#: panel.ui:10 +msgid "Panel blur" +msgstr "面板模糊" + +#: panel.ui:11 +msgid "Blur the top panel using the background image." +msgstr "使用背景图片模糊顶部面板。" + +#: panel.ui:26 +msgid "Static blur" +msgstr "静态模糊" + +#: panel.ui:27 +msgid "Uses a static blurred image, more performant and stable." +msgstr "使用静态的模糊图片,性能更好且更稳定。" + +#: panel.ui:42 +msgid "Disables the blur from the panel when entering the overview." +msgstr "进入概览界面时禁用面板模糊。" + +#: panel.ui:57 +msgid "" +"Override the background of the panel to use a transparent or semi-" +"transparent one.\n" +"Recommended unless you want to customize your GNOME theme." +msgstr "" + +#: panel.ui:65 +msgid "The transparent/semi-transparent style for the panel background." +msgstr "" + +#: panel.ui:79 +msgid "Disable when a window is near" +msgstr "当窗口接近时禁用" + +#: panel.ui:80 +msgid "Disables the transparency of the panel when a window is near it." +msgstr "当窗口靠近面板时禁用面板的透明度。" + +#: panel.ui:97 +msgid "Compatibility" +msgstr "兼容性" + +#: panel.ui:98 +msgid "Various options to provide compatibility with other extensions." +msgstr "提供与其它扩展兼容性的一些选项。" + +#: panel.ui:103 +msgid "Hidetopbar extension" +msgstr "Hide Top Bar 扩展" + +#: panel.ui:104 +msgid "Does not disable the blur in overview, best used with static blur." +msgstr "在概览界面时不禁用模糊,最好与静态模糊一起使用。" + +#: panel.ui:118 +msgid "Blur original panel with Dash to Panel" +msgstr "" + +#: panel.ui:119 +msgid "" +"Enables the blurring of the original panel with Dash to Panel, if selected " +"in the extension's options." +msgstr "" + +#: panel.ui:138 +msgid "Contrasted" +msgstr "" + +#: window-row.ui:4 +msgid "Window Name" +msgstr "窗口名称" + +#: window-row.ui:8 +msgid "Select window" +msgstr "选择窗口" + +#: window-row.ui:9 +msgid "Pick a window or select it by its classname." +msgstr "挑选一个窗口或通过其类别名称选择它。" + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality.\n" +#~ "To get the best results possible, make sure to choose option “No " +#~ "artefact” in the “General → Hack level” preference.\n" +#~ " " +#~ msgstr "" +#~ "为应用程序添加模糊。这仍然是一个测试版功能。\n" +#~ "为了获得可能的最佳结果,请确保在“常规→黑客级别”首选项中选择“无伪影”选" +#~ "项。\n" +#~ " " + +#~ msgid "" +#~ "Makes the background semi-transparent, disable this to use Dash to Dock " +#~ "preferences instead." +#~ msgstr "让背景半透明。禁用此选项以使用 Dash to Dock 的选项。" + +#~ msgid "Performances" +#~ msgstr "性能" + +#~ msgid "Various options to tweak the performances." +#~ msgstr "用来增强性能的选项。" + +#~ msgid "" +#~ "Permits to disable globally the use of noise and color effects, this may " +#~ "improve performances for low-end graphic." +#~ msgstr "允许全局禁用噪声和颜色效果,可能会在低端图形设备上增强性能。" + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect.\n" +#~ "Default value is very recommended, unless you use application blur in " +#~ "which case “No artefact” is better.\n" +#~ "This option will entirely disable clipped redraws from GNOME shell, and " +#~ "may impact performances significantly but will entirely fix the blur " +#~ "effect." +#~ msgstr "" +#~ "更改动态模糊效果的行为。\n" +#~ "非常推荐使用默认值,除非您使用应用程序模糊,在这种情况下,“无伪影”更好。\n" +#~ "此选项将完全禁用从 GNOME shell 剪切的重绘,并且可能会显著影响性能,但会完" +#~ "全修复模糊效果。" + +#~ msgid "No artefact" +#~ msgstr "无伪影" + +#~ msgid "" +#~ "The semi-transparent style for the dash, search entry/results, and " +#~ "applications folders." +#~ msgstr "Dash、搜索框/搜索结果和应用文件夹的半透明风格。" + +#~ msgid "Applications folder blur" +#~ msgstr "应用文件夹模糊" + +#~ msgid "Makes the background of folder icons blurred." +#~ msgstr "模糊文件夹图标的背景。" + +#~ msgid "Dialog opacity" +#~ msgstr "对话框不透明度" + +#~ msgid "The opacity of the applications folder popup." +#~ msgstr "应用文件夹右键菜单的不透明度。" + +#~ msgid "" +#~ "Override the background of the panel to use a transparent one.\n" +#~ "Recommended unless you want to customize your GNOME theme." +#~ msgstr "" +#~ "覆盖面板的背景以使用透明面板。\n" +#~ "建议使用,除非你想自定义 GNOME 主题。" + +#~ msgid "" +#~ "Add blur to the applications. This is still a beta functionnality, is " +#~ "quite buggy and is only applied to the apps that ask it, or to the ones " +#~ "set in the whitelist below." +#~ msgstr "" +#~ "为应用程序添加模糊。这仍然是一个实验性功能并存在一些问题,只对要求启用该功" +#~ "能的应用或者在下方白名单中指定的应用启动。" + +#~ msgid "" +#~ "Adds blur behind all windows by default. Not recommended because of " +#~ "performance and stability issues." +#~ msgstr "" +#~ "默认情况下在所有窗口后面添加模糊。由于性能和稳定性问题,不推荐使用。" + +#~ msgid "" +#~ "Changes the behaviour of dynamic blur effect. Default value is very " +#~ "recommended." +#~ msgstr "更改动态模糊效果的行为。默认选项是被强烈推荐的。" + +#~ msgid "Disables the blur from the panel when a window is near it." +#~ msgstr "当有窗口接近时,禁用面板的模糊。" + +#~ msgid "" +#~ "A list of the applications to blur, one per line. To get an application " +#~ "class name, under xorg you can use `xprop|grep WM_CLASS` and paste the " +#~ "last name here." +#~ msgstr "" +#~ "要启用模糊的应用程序的列表,一行一个。要在 Xorg 下获取某个应用程序的类名," +#~ "你可以使用“xprop|grep WM_CLASS”然后将结果中的最后一个字符串粘贴在这里。" diff --git a/resources/icons/hicolor/scalable/actions/add-window-symbolic.svg b/resources/icons/hicolor/scalable/actions/add-window-symbolic.svg new file mode 100644 index 00000000..bdab3095 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/add-window-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/icons/hicolor/scalable/actions/applications-symbolic.svg b/resources/icons/hicolor/scalable/actions/applications-symbolic.svg new file mode 100644 index 00000000..87f307f5 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/applications-symbolic.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + diff --git a/resources/icons/hicolor/scalable/actions/bottom-panel-symbolic.svg b/resources/icons/hicolor/scalable/actions/bottom-panel-symbolic.svg new file mode 100644 index 00000000..2eda98b7 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/bottom-panel-symbolic.svg @@ -0,0 +1,44 @@ + + + + + + + + diff --git a/resources/icons/hicolor/scalable/actions/dash-symbolic.svg b/resources/icons/hicolor/scalable/actions/dash-symbolic.svg new file mode 100644 index 00000000..5a78b467 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/dash-symbolic.svg @@ -0,0 +1,44 @@ + + + + + + + + diff --git a/resources/icons/hicolor/scalable/actions/general-symbolic.svg b/resources/icons/hicolor/scalable/actions/general-symbolic.svg new file mode 100644 index 00000000..e11da07f --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/general-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + diff --git a/resources/icons/hicolor/scalable/actions/heart-filled-symbolic.svg b/resources/icons/hicolor/scalable/actions/heart-filled-symbolic.svg new file mode 100644 index 00000000..8378c9cb --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/heart-filled-symbolic.svg @@ -0,0 +1,40 @@ + + diff --git a/resources/icons/hicolor/scalable/actions/other-symbolic.svg b/resources/icons/hicolor/scalable/actions/other-symbolic.svg new file mode 100644 index 00000000..45e703e4 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/other-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/icons/hicolor/scalable/actions/overview-symbolic.svg b/resources/icons/hicolor/scalable/actions/overview-symbolic.svg new file mode 100644 index 00000000..445f6621 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/overview-symbolic.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + diff --git a/resources/icons/hicolor/scalable/actions/remove-window-symbolic.svg b/resources/icons/hicolor/scalable/actions/remove-window-symbolic.svg new file mode 100644 index 00000000..a8da14f5 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/remove-window-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/icons/hicolor/scalable/actions/reset-symbolic.svg b/resources/icons/hicolor/scalable/actions/reset-symbolic.svg new file mode 100644 index 00000000..e443de4f --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/reset-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/resources/icons/hicolor/scalable/actions/select-mode-symbolic.svg b/resources/icons/hicolor/scalable/actions/select-mode-symbolic.svg new file mode 100644 index 00000000..cad2da87 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/select-mode-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/resources/icons/hicolor/scalable/actions/select-window-symbolic.svg b/resources/icons/hicolor/scalable/actions/select-window-symbolic.svg new file mode 100644 index 00000000..cad2da87 --- /dev/null +++ b/resources/icons/hicolor/scalable/actions/select-window-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/resources/ui/applications.ui b/resources/ui/applications.ui new file mode 100644 index 00000000..0b4b83ca --- /dev/null +++ b/resources/ui/applications.ui @@ -0,0 +1,163 @@ + + + + + + 25 + 255 + 1 + + \ No newline at end of file diff --git a/resources/ui/customize-row.ui b/resources/ui/customize-row.ui new file mode 100644 index 00000000..313bc48e --- /dev/null +++ b/resources/ui/customize-row.ui @@ -0,0 +1,143 @@ + + + + + + 0 + 200 + 1 + + + + 0.0 + 1.0 + 0.01 + + + + 0.0 + 1.0 + 0.01 + + + + 0.0 + 2.0 + 0.01 + + \ No newline at end of file diff --git a/resources/ui/dash.ui b/resources/ui/dash.ui new file mode 100644 index 00000000..5eac21b9 --- /dev/null +++ b/resources/ui/dash.ui @@ -0,0 +1,73 @@ + + + + + + + Transparent + Light + Dark + + + \ No newline at end of file diff --git a/resources/ui/general.ui b/resources/ui/general.ui new file mode 100644 index 00000000..73c6b297 --- /dev/null +++ b/resources/ui/general.ui @@ -0,0 +1,234 @@ + + + + + + 0 + 200 + 1 + + + + 0.0 + 1.0 + 0.01 + + + + 0.0 + 1.0 + 0.01 + + + + 0.0 + 2.0 + 0.01 + + + + + High performances + Default + High quality + No artifact + + + \ No newline at end of file diff --git a/resources/ui/menu.ui b/resources/ui/menu.ui new file mode 100644 index 00000000..e7b92105 --- /dev/null +++ b/resources/ui/menu.ui @@ -0,0 +1,37 @@ + + + +
+ + Project page + prefs.open-readme + + + Report a Bug + prefs.open-bug-report + + + License + prefs.open-license + + + Donate + + GitHub + prefs.donate-github + + + Ko-fi + prefs.donate-kofi + + +
+
+ + + info_menu_model + heart-filled-symbolic + + + +
\ No newline at end of file diff --git a/resources/ui/other.ui b/resources/ui/other.ui new file mode 100644 index 00000000..d1d24f85 --- /dev/null +++ b/resources/ui/other.ui @@ -0,0 +1,62 @@ + + + + \ No newline at end of file diff --git a/resources/ui/overview.ui b/resources/ui/overview.ui new file mode 100644 index 00000000..191c70ba --- /dev/null +++ b/resources/ui/overview.ui @@ -0,0 +1,94 @@ + + + + + + + Do not style + Light + Dark + Transparent + + + + + + Do not style + Transparent + Light + Dark + + + \ No newline at end of file diff --git a/resources/ui/panel.ui b/resources/ui/panel.ui new file mode 100644 index 00000000..41d9cd14 --- /dev/null +++ b/resources/ui/panel.ui @@ -0,0 +1,141 @@ + + + + + + + Transparent + Light + Dark + Contrasted + + + \ No newline at end of file diff --git a/resources/ui/window-row.ui b/resources/ui/window-row.ui new file mode 100644 index 00000000..c4d8201c --- /dev/null +++ b/resources/ui/window-row.ui @@ -0,0 +1,43 @@ + + + + + + Could not pick window, make sure that the extension is enabled. + + \ No newline at end of file diff --git a/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml b/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml new file mode 100644 index 00000000..254af245 --- /dev/null +++ b/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml @@ -0,0 +1,467 @@ + + + + + + + 30 + Global sigma (gaussian blur radius) to use + + + + 0.6 + Global brightness to use + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + true + Boolean, controls wether or not the color and noise effects are in use globally + + + + 1 + Level of hacks to use (from 0 to 3, 3 disabling clipped redraws entirely) + + + + false + Boolean, set to true to activate debug mode (more verbose journalctl logs) + + + + + + + + + + + + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + 1 + Enum to select the style of the components in overview (0 not styled, 1 light, 2 dark, 3 transparent) + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + 1 + Enum to select the style of the appfolder dialogs (0 not styled, 1 transparent, 2 light, 3 dark) + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + true + Boolean, whether to use a static or dynamic blur for this component + + + + true + Boolean, whether to disable blur from this component when opening the overview or not + + + + true + Boolean, whether to override the background or not + + + + 0 + Enum to select the style of the panel (0 transparent, 1 light, 2 dark, 3 contrasted) + + + + false + Boolean, whether to disable blur from this component when a window is close to the panel + + + + + + + + false + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + true + Boolean, whether to use static or dynamic blur for this component + + + + true + Boolean, whether to override the background or not + + + + 1 + Enum to select the style of dash to dock (0 transparent, 1 light, 2 dark) + + + + false + Boolean, whether to disable blur from this component when opening the overview or not + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + true + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 1. + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + 230 + Opacity of the window actor on top of the blur effect + + + + false + Wether or not to blur applications on the overview + + + + false + Wether or not to blur all applications by default + + + + [] + List of applications to blur + + + + ["Plank"] + List of applications not to blur + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + + + + + true + Boolean, whether to blur activate the blur for this component or not + + + + false + Boolean, whether to customize the blur effect sigma/brightness or use general values + + + + 30 + Sigma (gaussian blur radius) to use for the blur effect + + + + 0.6 + Brightness to use for the blur effect + + + + (0.,0.,0.,0.) + Color to mix with the blur effect + + + + 0. + Amount of noise to add to the blur effect + + + + 0. + Lightness of the noise added to the blur effect + + + + + + + + false + Boolean, whether to try compatibility with hidetopbar@mathieu.bidon.ca or not + + + + + + + + true + Boolean, whether to blur the original panel (if option selected) with Dash to Panel + + + \ No newline at end of file diff --git a/src/components/appfolders.js b/src/components/appfolders.js new file mode 100644 index 00000000..b69f49e5 --- /dev/null +++ b/src/components/appfolders.js @@ -0,0 +1,265 @@ +'use strict'; + +const { Shell, GLib, Clutter } = imports.gi; +const Main = imports.ui.main; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const { PaintSignals } = Me.imports.effects.paint_signals; +const Tweener = imports.tweener.tweener; + +const transparent = Clutter.Color.from_pixel(0x00000000); +const FOLDER_DIALOG_ANIMATION_TIME = 200; +const FRAME_UPDATE_PERIOD = 16; + +const DIALOGS_STYLES = [ + "", + "appfolder-dialogs-transparent", + "appfolder-dialogs-light", + "appfolder-dialogs-dark" +]; + +let original_zoomAndFadeIn = null; +let original_zoomAndFadeOut = null; +let sigma; +let brightness; + +let _zoomAndFadeIn = function () { + let [sourceX, sourceY] = + this._source.get_transformed_position(); + let [dialogX, dialogY] = + this.child.get_transformed_position(); + + this.child.set({ + translation_x: sourceX - dialogX, + translation_y: sourceY - dialogY, + scale_x: this._source.width / this.child.width, + scale_y: this._source.height / this.child.height, + opacity: 0, + }); + + this.set_background_color(transparent); + + let blur_effect = this.get_effect("appfolder-blur"); + + blur_effect.sigma = 0; + blur_effect.brightness = 1.0; + Tweener.addTween(blur_effect, + { + sigma: sigma, + brightness: brightness, + time: FOLDER_DIALOG_ANIMATION_TIME / 1000, + transition: 'easeOutQuad' + } + ); + + this.child.ease({ + translation_x: 0, + translation_y: 0, + scale_x: 1, + scale_y: 1, + opacity: 255, + duration: FOLDER_DIALOG_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + + this._needsZoomAndFade = false; + + if (this._sourceMappedId === 0) { + this._sourceMappedId = this._source.connect( + 'notify::mapped', this._zoomAndFadeOut.bind(this)); + } +}; + +let _zoomAndFadeOut = function () { + if (!this._isOpen) + return; + + if (!this._source.mapped) { + this.hide(); + return; + } + + let [sourceX, sourceY] = + this._source.get_transformed_position(); + let [dialogX, dialogY] = + this.child.get_transformed_position(); + + this.set_background_color(transparent); + + let blur_effect = this.get_effect("appfolder-blur"); + Tweener.addTween(blur_effect, + { + sigma: 0, + brightness: 1.0, + time: FOLDER_DIALOG_ANIMATION_TIME / 1000, + transition: 'easeInQuad' + } + ); + + this.child.ease({ + translation_x: sourceX - dialogX, + translation_y: sourceY - dialogY, + scale_x: this._source.width / this.child.width, + scale_y: this._source.height / this.child.height, + opacity: 0, + duration: FOLDER_DIALOG_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => { + this.child.set({ + translation_x: 0, + translation_y: 0, + scale_x: 1, + scale_y: 1, + opacity: 255, + }); + this.hide(); + + this._popdownCallbacks.forEach(func => func()); + this._popdownCallbacks = []; + }, + }); + + this._needsZoomAndFade = false; +}; + + +var AppFoldersBlur = class AppFoldersBlur { + constructor(connections, prefs) { + this.connections = connections; + this.paint_signals = new PaintSignals(connections); + this.prefs = prefs; + } + + enable() { + this._log("blurring appfolders"); + + brightness = this.prefs.appfolder.CUSTOMIZE + ? this.prefs.appfolder.BRIGHTNESS + : this.prefs.BRIGHTNESS; + sigma = this.prefs.appfolder.CUSTOMIZE + ? this.prefs.appfolder.SIGMA + : this.prefs.SIGMA; + + let appDisplay = Main.overview._overview.controls._appDisplay; + + if (appDisplay._folderIcons.length > 0) { + this.blur_appfolders(); + } + + this.connections.connect( + appDisplay, 'view-loaded', this.blur_appfolders.bind(this) + ); + } + + blur_appfolders() { + let appDisplay = Main.overview._overview.controls._appDisplay; + + if (this.prefs.HACKS_LEVEL === 1 || this.prefs.HACKS_LEVEL === 2) + this._log(`appfolders hack level ${this.prefs.HACKS_LEVEL}`); + + appDisplay._folderIcons.forEach(icon => { + icon._ensureFolderDialog(); + + if (original_zoomAndFadeIn == null) { + original_zoomAndFadeIn = icon._dialog._zoomAndFadeIn; + } + if (original_zoomAndFadeOut == null) { + original_zoomAndFadeOut = icon._dialog._zoomAndFadeOut; + } + + let blur_effect = new Shell.BlurEffect({ + name: "appfolder-blur", + sigma: sigma, + brightness: brightness, + mode: Shell.BlurMode.BACKGROUND + }); + + icon._dialog.remove_effect_by_name("appfolder-blur"); + icon._dialog.add_effect(blur_effect); + + DIALOGS_STYLES.forEach( + style => icon._dialog._viewBox.remove_style_class_name(style) + ); + + icon._dialog._viewBox.add_style_class_name( + DIALOGS_STYLES[this.prefs.appfolder.STYLE_DIALOGS] + ); + + // finally override the builtin functions + + icon._dialog._zoomAndFadeIn = _zoomAndFadeIn; + icon._dialog._zoomAndFadeOut = _zoomAndFadeOut; + + + // HACK + // + //`Shell.BlurEffect` does not repaint when shadows are under it. [1] + // + // This does not entirely fix this bug (shadows caused by windows + // still cause artifacts), but it prevents the shadows of the panel + // buttons to cause artifacts on the panel itself + // + // [1]: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 + + if (this.prefs.HACKS_LEVEL === 1 || this.prefs.HACKS_LEVEL === 2) { + this.paint_signals.disconnect_all_for_actor(icon._dialog); + this.paint_signals.connect(icon._dialog, blur_effect); + } else { + this.paint_signals.disconnect_all(); + } + }); + }; + + set_sigma(s) { + sigma = s; + if (this.prefs.appfolder.BLUR) + this.blur_appfolders(); + } + + set_brightness(b) { + brightness = b; + if (this.prefs.appfolder.BLUR) + this.blur_appfolders(); + } + + // not implemented for dynamic blur + set_color(c) { } + set_noise_amount(n) { } + set_noise_lightness(l) { } + + disable() { + this._log("removing blur from appfolders"); + + let appDisplay = Main.overview._overview.controls._appDisplay; + + if (original_zoomAndFadeIn != null) { + appDisplay._folderIcons.forEach(icon => { + if (icon._dialog) + icon._dialog._zoomAndFadeIn = original_zoomAndFadeIn; + }); + } + + if (original_zoomAndFadeOut != null) { + appDisplay._folderIcons.forEach(icon => { + if (icon._dialog) + icon._dialog._zoomAndFadeOut = original_zoomAndFadeOut; + }); + } + + appDisplay._folderIcons.forEach(icon => { + if (icon._dialog) { + icon._dialog.remove_effect_by_name("appfolder-blur"); + DIALOGS_STYLES.forEach( + s => icon._dialog._viewBox.remove_style_class_name(s) + ); + } + }); + + this.connections.disconnect_all(); + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > appfolders] ${str}`); + } +}; diff --git a/src/components/applications.js b/src/components/applications.js new file mode 100644 index 00000000..c040451b --- /dev/null +++ b/src/components/applications.js @@ -0,0 +1,541 @@ +'use strict'; + +const { Shell, Clutter, Meta, GLib } = imports.gi; +const Main = imports.ui.main; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const { PaintSignals } = Me.imports.effects.paint_signals; +const { ApplicationsService } = Me.imports.dbus.services; + +var ApplicationsBlur = class ApplicationsBlur { + constructor(connections, prefs) { + this.connections = connections; + this.prefs = prefs; + this.paint_signals = new PaintSignals(connections); + + // stores every blurred window + this.window_map = new Map(); + // stores every blur actor + this.blur_actor_map = new Map(); + } + + enable() { + this._log("blurring applications..."); + + // export dbus service for preferences + this.service = new ApplicationsService; + this.service.export(); + + // blur already existing windows + this.update_all_windows(); + + // blur every new window + this.connections.connect( + global.display, + 'window-created', + (_meta_display, meta_window) => { + this._log("window created"); + + if (meta_window) { + let window_actor = meta_window.get_compositor_private(); + this.track_new(window_actor, meta_window); + } + } + ); + + this.connect_to_overview(); + } + + /// Connect to the overview being opened/closed to force the blur being + /// shown on every window of the workspaces viewer. + connect_to_overview() { + this.connections.disconnect_all_for(Main.overview); + + if (this.prefs.applications.BLUR_ON_OVERVIEW) { + // when the overview is opened, show every window actors (which + // allows the blur to be shown too) + this.connections.connect( + Main.overview, 'showing', + _ => this.window_map.forEach((meta_window, _pid) => { + let window_actor = meta_window.get_compositor_private(); + window_actor.show(); + }) + ); + + // when the overview is closed, hide every actor that is not on the + // current workspace (to mimic the original behaviour) + this.connections.connect( + Main.overview, 'hidden', + _ => { + let active_workspace = + global.workspace_manager.get_active_workspace(); + + this.window_map.forEach((meta_window, _pid) => { + let window_actor = meta_window.get_compositor_private(); + + if ( + meta_window.get_workspace() !== active_workspace + ) + window_actor.hide(); + }); + } + ); + } + } + + /// Iterate through all existing windows and add blur as needed. + update_all_windows() { + // remove all previously blurred windows, in the case where the + // whitelist was changed + this.window_map.forEach(((_meta_window, pid) => { + this.remove_blur(pid); + })); + + for ( + let i = 0; + i < global.workspace_manager.get_n_workspaces(); + ++i + ) { + let workspace = global.workspace_manager.get_workspace_by_index(i); + let windows = workspace.list_windows(); + + windows.forEach(meta_window => { + let window_actor = meta_window.get_compositor_private(); + + // disconnect previous signals + this.connections.disconnect_all_for(window_actor); + + this.track_new(window_actor, meta_window); + }); + } + } + + /// Adds the needed signals to every new tracked window, and adds blur if + /// needed. + track_new(window_actor, meta_window) { + let pid = ("" + Math.random()).slice(2, 16); + + window_actor['blur_provider_pid'] = pid; + meta_window['blur_provider_pid'] = pid; + + // remove the blur when the window is destroyed + this.connections.connect(window_actor, 'destroy', window_actor => { + let pid = window_actor.blur_provider_pid; + if (this.blur_actor_map.has(pid)) { + this.remove_blur(pid); + } + this.window_map.delete(pid); + }); + + // update the blur when mutter-hint or wm-class is changed + for (const prop of ['mutter-hints', 'wm-class']) { + this.connections.connect( + meta_window, + `notify::${prop}`, + _ => { + let pid = meta_window.blur_provider_pid; + this._log(`${prop} changed for pid ${pid}`); + + let window_actor = meta_window.get_compositor_private(); + this.check_blur(pid, window_actor, meta_window); + } + ); + } + + // update the position and size when the window size changes + this.connections.connect(meta_window, 'size-changed', () => { + if (this.blur_actor_map.has(pid)) { + let allocation = this.compute_allocation(meta_window); + let blur_actor = this.blur_actor_map.get(pid); + blur_actor.x = allocation.x; + blur_actor.y = allocation.y; + blur_actor.width = allocation.width; + blur_actor.height = allocation.height; + } + }); + + this.check_blur(pid, window_actor, meta_window); + } + + /// Checks if the given actor needs to be blurred. + /// + /// In order to be blurred, a window either: + /// - is whitelisted in the user preferences if not enable-all + /// - is not blacklisted if enable-all + /// - has a correct mutter hint, set to `blur-provider=sigma_value` + check_blur(pid, window_actor, meta_window) { + let mutter_hint = meta_window.get_mutter_hints(); + let window_wm_class = meta_window.get_wm_class(); + + let enable_all = this.prefs.applications.ENABLE_ALL; + let whitelist = this.prefs.applications.WHITELIST; + let blacklist = this.prefs.applications.BLACKLIST; + + this._log(`checking blur for ${pid}`); + + // either the window is included in whitelist + if (window_wm_class !== "" + && ((enable_all && !blacklist.includes(window_wm_class)) + || (!enable_all && whitelist.includes(window_wm_class)) + ) + && [ + Meta.FrameType.NORMAL, + Meta.FrameType.DIALOG, + Meta.FrameType.MODAL_DIALOG + ].includes(meta_window.get_frame_type()) + ) { + this._log(`application ${pid} listed, blurring it`); + + // get blur effect parameters + + let brightness, sigma; + + if (this.prefs.applications.CUSTOMIZE) { + brightness = this.prefs.applications.BRIGHTNESS; + sigma = this.prefs.applications.SIGMA; + } else { + brightness = this.prefs.BRIGHTNESS; + sigma = this.prefs.SIGMA; + } + + this.update_blur(pid, window_actor, meta_window, brightness, sigma); + } + + // or blur is asked by window itself + else if ( + mutter_hint != null && + mutter_hint.includes("blur-provider") + ) { + this._log(`application ${pid} has hint ${mutter_hint}, parsing`); + + // get blur effect parameters + let [brightness, sigma] = this.parse_xprop(mutter_hint); + + this.update_blur(pid, window_actor, meta_window, brightness, sigma); + } + + // remove blur if the mutter hint is no longer valid, and the window + // is not explicitly whitelisted or un-blacklisted + else if (this.blur_actor_map.has(pid)) { + this.remove_blur(pid); + } + } + + /// When given the xprop property, returns the brightness and sigma values + /// matching. If one of the two values is invalid, or missing, then it uses + /// default values. + /// + /// An xprop property is valid if it is in one of the following formats: + /// + /// blur-provider=sigma:60,brightness:0.9 + /// blur-provider=s:10,brightness:0.492 + /// blur-provider=b:1.0,s:16 + /// + /// Brightness is a floating-point between 0.0 and 1.0 included. + /// Sigma is an integer between 0 and 999 included. + /// + /// If sigma is set to 0, then the blur is removed. + /// Setting "default" instead of the two values will make the + /// extension use its default value. + /// + /// Note that no space can be inserted. + /// + parse_xprop(property) { + // set brightness and sigma to default values + let brightness, sigma; + if (this.prefs.applications.CUSTOMIZE) { + brightness = this.prefs.applications.BRIGHTNESS; + sigma = this.prefs.applications.SIGMA; + } else { + brightness = this.prefs.BRIGHTNESS; + sigma = this.prefs.SIGMA; + } + + // get the argument of the property + let arg = property.match("blur-provider=(.*)"); + this._log(`argument = ${arg}`); + + // if argument is valid, parse it + if (arg != null) { + // verify if there is only one value: in this case, this is sigma + let maybe_sigma = parseInt(arg[1]); + + if ( + !isNaN(maybe_sigma) && + maybe_sigma >= 0 && + maybe_sigma <= 999 + ) { + sigma = maybe_sigma; + } else { + // perform pattern matching + let res_b = arg[1].match("(brightness|b):(default|0?1?\.[0-9]*)"); + let res_s = arg[1].match("(sigma|s):(default|\\d{1,3})"); + + // if values are valid and not default, change them to the xprop one + if ( + res_b != null && res_b[2] !== 'default' + ) { + brightness = parseFloat(res_b[2]); + } + + if ( + res_s != null && res_s[2] !== 'default' + ) { + sigma = parseInt(res_s[2]); + } + } + } + + this._log(`brightness = ${brightness}, sigma = ${sigma}`); + + return [brightness, sigma]; + } + + /// Updates the blur on a window which needs to be blurred. + update_blur(pid, window_actor, meta_window, brightness, sigma) { + // the window is already blurred, update its blur effect + if (this.blur_actor_map.has(pid)) { + // window is already blurred, but sigma is null: remove the blur + if (sigma === 0) { + this.remove_blur(pid); + } + // window is already blurred and sigma is non-null: update it + else { + this.update_blur_effect( + this.blur_actor_map.get(pid), + brightness, + sigma + ); + } + } + + // the window is not blurred, and sigma is a non-null value: blur it + else if (sigma !== 0) { + // window is not blurred, blur it + this.create_blur_effect( + pid, + window_actor, + meta_window, + brightness, + sigma + ); + } + } + + /// Add the blur effect to the window. + create_blur_effect(pid, window_actor, meta_window, brightness, sigma) { + let blur_effect = new Shell.BlurEffect({ + sigma: sigma, + brightness: brightness, + mode: Shell.BlurMode.BACKGROUND + }); + + let blur_actor = this.create_blur_actor( + meta_window, + window_actor, + blur_effect + ); + + // if hacks are selected, force to repaint the window + if (this.prefs.HACKS_LEVEL === 1 || this.prefs.HACKS_LEVEL === 2) { + this._log("applications hack level 1 or 2"); + + this.paint_signals.disconnect_all(); + this.paint_signals.connect(blur_actor, blur_effect); + } else { + this.paint_signals.disconnect_all(); + } + + // insert the blurred widget + window_actor.insert_child_at_index(blur_actor, 0); + + // make sure window is blurred in overview + if (this.prefs.applications.BLUR_ON_OVERVIEW) + this.enforce_window_visibility_on_overview_for(window_actor); + + // set the window actor's opacity + this.set_window_opacity(window_actor, this.prefs.applications.OPACITY); + + // register the blur actor/effect + blur_actor['blur_provider_pid'] = pid; + this.blur_actor_map.set(pid, blur_actor); + this.window_map.set(pid, meta_window); + + // hide the blur if window is invisible + if (!window_actor.visible) { + blur_actor.hide(); + } + + // hide the blur if window becomes invisible + this.connections.connect( + window_actor, + 'notify::visible', + window_actor => { + let pid = window_actor.blur_provider_pid; + if (window_actor.visible) { + this.blur_actor_map.get(pid).show(); + } else { + this.blur_actor_map.get(pid).hide(); + } + } + ); + } + + /// Makes sure that, when the overview is visible, the window actor will + /// stay visible no matter what. + /// We can instead hide the last child of the window actor, which will + /// improve performances without hiding the blur effect. + enforce_window_visibility_on_overview_for(window_actor) { + this.connections.connect(window_actor, 'notify::visible', + _ => { + if (this.prefs.applications.BLUR_ON_OVERVIEW) { + if ( + !window_actor.visible + && Main.overview.visible + ) { + window_actor.show(); + window_actor.get_last_child().hide(); + } + else if ( + window_actor.visible + ) + window_actor.get_last_child().show(); + } + } + ); + } + + /// Set the opacity of the window actor that sits on top of the blur effect. + set_window_opacity(window_actor, opacity) { + window_actor.get_children().forEach(child => { + if (child.name !== "blur-actor") + child.opacity = opacity; + }); + } + + /// Compute the size and position for a blur actor. + /// On wayland, it seems like we need to divide by the scale to get the + /// correct result. + compute_allocation(meta_window) { + const is_wayland = Meta.is_wayland_compositor(); + const monitor_index = meta_window.get_monitor(); + const scale = is_wayland + ? Main.layoutManager.monitors[monitor_index].geometry_scale + : 1; + + let frame = meta_window.get_frame_rect(); + let buffer = meta_window.get_buffer_rect(); + + return { + x: (frame.x - buffer.x) / scale, + y: (frame.y - buffer.y) / scale, + width: frame.width / scale, + height: frame.height / scale + }; + } + + /// Returns a new already blurred widget, configured to follow the size and + /// position of its target window. + create_blur_actor(meta_window, window_actor, blur_effect) { + // compute the size and position + let allocation = this.compute_allocation(meta_window); + + // create the actor + let blur_actor = new Clutter.Actor({ + x: allocation.x, + y: allocation.y, + width: allocation.width, + height: allocation.height + }); + + // add the effect + blur_actor.add_effect_with_name('blur-effect', blur_effect); + + return blur_actor; + } + + /// Updates the blur effect by overwriting its sigma and brightness values. + update_blur_effect(blur_actor, brightness, sigma) { + let effect = blur_actor.get_effect('blur-effect'); + effect.sigma = sigma; + effect.brightness = brightness; + } + + /// Removes the blur actor from the shell and unregister it. + remove_blur(pid) { + this._log(`removing blur for pid ${pid}`); + + let meta_window = this.window_map.get(pid); + // disconnect needed signals and untrack window + if (meta_window) { + this.window_map.delete(pid); + let window_actor = meta_window.get_compositor_private(); + + let blur_actor = this.blur_actor_map.get(pid); + if (blur_actor) { + this.blur_actor_map.delete(pid); + + if (window_actor) { + // reset the opacity + this.set_window_opacity(window_actor, 255); + + // remove the blurred actor + window_actor.remove_child(blur_actor); + + // disconnect the signals about overview animation etc + this.connections.disconnect_all_for(window_actor); + } + } + } + } + + disable() { + this._log("removing blur from applications..."); + + this.service?.unexport(); + + this.blur_actor_map.forEach(((_blur_actor, pid) => { + this.remove_blur(pid); + })); + + this.connections.disconnect_all(); + this.paint_signals.disconnect_all(); + } + + /// Update the opacity of all window actors. + set_opacity() { + let opacity = this.prefs.applications.OPACITY; + + this.window_map.forEach(((meta_window, _pid) => { + let window_actor = meta_window.get_compositor_private(); + this.set_window_opacity(window_actor, opacity); + })); + } + + /// Updates each blur effect to use new sigma value + // FIXME set_sigma and set_brightness are called when the extension is + // loaded and when sigma is changed, and do not respect the per-app + // xprop behaviour + set_sigma(s) { + this.blur_actor_map.forEach((actor, _) => { + actor.get_effect('blur-effect').set_sigma(s); + }); + } + + /// Updates each blur effect to use new brightness value + set_brightness(b) { + this.blur_actor_map.forEach((actor, _) => { + actor.get_effect('blur-effect').set_brightness(b); + }); + } + + // not implemented for dynamic blur + set_color(c) { } + set_noise_amount(n) { } + set_noise_lightness(l) { } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > applications] ${str}`); + } +}; diff --git a/src/components/dash_to_dock.js b/src/components/dash_to_dock.js new file mode 100644 index 00000000..a4bdfadd --- /dev/null +++ b/src/components/dash_to_dock.js @@ -0,0 +1,320 @@ +'use strict'; + +const { St, Shell, GLib } = imports.gi; +const Main = imports.ui.main; +const Signals = imports.signals; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const { PaintSignals } = Me.imports.effects.paint_signals; + +const DASH_STYLES = [ + "transparent-dash", + "light-dash", + "dark-dash" +]; + + +/// This type of object is created for every dash found, and talks to the main +/// DashBlur thanks to signals. +/// +/// This allows to dynamically track the created dashes for each screen. +class DashInfos { + constructor(dash_blur, dash, background_parent, effect, prefs) { + // the parent DashBlur object, to communicate + this.dash_blur = dash_blur; + // the blurred dash + this.dash = dash; + this.background_parent = background_parent; + this.effect = effect; + this.prefs = prefs; + this.old_style = this.dash._background.style; + + dash_blur.connections.connect(dash_blur, 'remove-dashes', () => { + this._log("removing blur from dash"); + this.dash.get_parent().remove_child(this.background_parent); + this.dash._background.style = this.old_style; + + DASH_STYLES.forEach( + style => this.dash.remove_style_class_name(style) + ); + }); + + dash_blur.connections.connect(dash_blur, 'update-sigma', () => { + this.effect.sigma = this.dash_blur.sigma; + }); + + dash_blur.connections.connect(dash_blur, 'update-brightness', () => { + this.effect.brightness = this.dash_blur.brightness; + }); + + dash_blur.connections.connect(dash_blur, 'override-background', () => { + this.dash._background.style = null; + + DASH_STYLES.forEach( + style => this.dash.remove_style_class_name(style) + ); + + this.dash.set_style_class_name( + DASH_STYLES[this.prefs.dash_to_dock.STYLE_DASH_TO_DOCK] + ); + }); + + dash_blur.connections.connect(dash_blur, 'reset-background', () => { + this.dash._background.style = this.old_style; + + DASH_STYLES.forEach( + style => this.dash.remove_style_class_name(style) + ); + }); + + dash_blur.connections.connect(dash_blur, 'show', () => { + this.effect.sigma = this.dash_blur.sigma; + }); + + dash_blur.connections.connect(dash_blur, 'hide', () => { + this.effect.sigma = 0; + }); + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > dash] ${str}`); + } +} + +var DashBlur = class DashBlur { + constructor(connections, prefs) { + this.dashes = []; + this.connections = connections; + this.prefs = prefs; + this.paint_signals = new PaintSignals(connections); + this.sigma = this.prefs.dash_to_dock.CUSTOMIZE + ? this.prefs.dash_to_dock.SIGMA + : this.prefs.SIGMA; + this.brightness = this.prefs.dash_to_dock.CUSTOMIZE + ? this.prefs.dash_to_dock.BRIGHTNESS + : this.prefs.BRIGHTNESS; + this.enabled = false; + } + + enable() { + this.connections.connect(Main.uiGroup, 'actor-added', (_, actor) => { + if ( + (actor.get_name() === "dashtodockContainer") && + (actor.constructor.name === 'DashToDock') + ) + this.try_blur(actor); + }); + + this.blur_existing_dashes(); + this.connect_to_overview(); + + this.enabled = true; + } + + // Finds all existing dashes on every monitor, and call `try_blur` on them + // We cannot only blur `Main.overview.dash`, as there could be several + blur_existing_dashes() { + this._log("searching for dash"); + + // blur every dash found, filtered by name + Main.uiGroup.get_children().filter((child) => { + return (child.get_name() === "dashtodockContainer") && + (child.constructor.name === 'DashToDock'); + }).forEach(this.try_blur.bind(this)); + } + + // Tries to blur the dash contained in the given actor + try_blur(dash_container) { + let dash_box = dash_container._slider.get_child(); + + // verify that we did not already blur that dash + if (!dash_box.get_children().some((child) => { + return child.get_name() === "dash-blurred-background-parent"; + })) { + this._log("dash to dock found, blurring it"); + + // finally blur the dash + let dash = dash_box.get_children().find(child => { + return child.get_name() === 'dash'; + }); + + this.dashes.push(this.blur_dash_from(dash, dash_container)); + } + } + + // Blurs the dash and returns a `DashInfos` containing its information + blur_dash_from(dash, dash_container) { + // the effect to be applied + let effect = new Shell.BlurEffect({ + brightness: this.brightness, + sigma: this.sigma, + mode: Shell.BlurMode.BACKGROUND + }); + + // dash background parent, not visible + let background_parent = new St.Widget({ + name: 'dash-blurred-background-parent', + style_class: 'dash-blurred-background-parent', + width: 0, + height: 0 + }); + + // dash background widget + let background = new St.Widget({ + name: 'dash-blurred-background', + style_class: 'dash-blurred-background', + x: 0, + y: dash_container._slider.y, + width: dash.width, + height: dash.height, + }); + + // updates size and position on change + this.connections.connect(dash_container._slider, 'notify::y', _ => { + background.y = dash_container._slider.y; + }); + this.connections.connect(dash, 'notify::width', _ => { + background.width = dash.width; + }); + this.connections.connect(dash, 'notify::height', _ => { + background.height = dash.height; + }); + + // add the widget to the dash + background.add_effect(effect); + background_parent.add_child(background); + dash.get_parent().insert_child_at_index(background_parent, 0); + + // HACK + // + //`Shell.BlurEffect` does not repaint when shadows are under it. [1] + // + // This does not entirely fix this bug (shadows caused by windows + // still cause artifacts), but it prevents the shadows of the panel + // buttons to cause artifacts on the panel itself + // + // [1]: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 + + if (this.prefs.HACKS_LEVEL === 1) { + this._log("dash hack level 1"); + this.paint_signals.disconnect_all(); + + let rp = () => { + effect.queue_repaint(); + }; + + dash._box.get_children().forEach((icon) => { + try { + let zone = icon.get_child_at_index(0); + + this.connections.connect(zone, [ + 'enter-event', 'leave-event', 'button-press-event' + ], rp); + } catch (e) { + this._log(`${e}, continuing`); + } + }); + + this.connections.connect(dash._box, 'actor-added', (_, actor) => { + try { + let zone = actor.get_child_at_index(0); + + this.connections.connect(zone, [ + 'enter-event', 'leave-event', 'button-press-event' + ], rp); + } catch (e) { + this._log(`${e}, continuing`); + } + }); + + let show_apps = dash._showAppsIcon; + + this.connections.connect(show_apps, [ + 'enter-event', 'leave-event', 'button-press-event' + ], rp); + + this.connections.connect(dash, 'leave-event', rp); + } else if (this.prefs.HACKS_LEVEL === 2) { + this._log("dash hack level 2"); + + this.paint_signals.connect(background, effect); + } else { + this.paint_signals.disconnect_all(); + } + + // create infos + let infos = new DashInfos( + this, dash, background_parent, effect, this.prefs + ); + + // update the background + this.update_background(); + + // returns infos + return infos; + } + + /// Connect when overview if opened/closed to hide/show the blur accordingly + connect_to_overview() { + this.connections.disconnect_all_for(Main.overview); + + if (this.prefs.dash_to_dock.UNBLUR_IN_OVERVIEW) { + this.connections.connect( + Main.overview, 'showing', this.hide.bind(this) + ); + this.connections.connect( + Main.overview, 'hidden', this.show.bind(this) + ); + } + }; + + /// Updates the background to either remove it or not, according to the + /// user preferences. + update_background() { + if (this.prefs.dash_to_dock.OVERRIDE_BACKGROUND) + this.emit('override-background', true); + else + this.emit('reset-background', true); + } + + set_sigma(sigma) { + this.sigma = sigma; + this.emit('update-sigma', true); + } + + set_brightness(brightness) { + this.brightness = brightness; + this.emit('update-brightness', true); + } + + // not implemented for dynamic blur + set_color(c) { } + set_noise_amount(n) { } + set_noise_lightness(l) { } + + disable() { + this._log("removing blur from dashes"); + + this.emit('remove-dashes', true); + + this.dashes = []; + this.connections.disconnect_all(); + + this.enabled = false; + } + + show() { + this.emit('show', true); + } + hide() { + this.emit('hide', true); + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > dash manager] ${str}`); + } +}; + +Signals.addSignalMethods(DashBlur.prototype); \ No newline at end of file diff --git a/src/components/lockscreen.js b/src/components/lockscreen.js new file mode 100644 index 00000000..b52acb63 --- /dev/null +++ b/src/components/lockscreen.js @@ -0,0 +1,171 @@ +'use strict'; + +const { St, Shell } = imports.gi; +const Main = imports.ui.main; +const Background = imports.ui.background; +const UnlockDialog = imports.ui.unlockDialog.UnlockDialog; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const ColorEffect = Me.imports.effects.color_effect.ColorEffect; +const NoiseEffect = Me.imports.effects.noise_effect.NoiseEffect; + +let sigma; +let brightness; +let color; +let noise; +let lightness; + +const original_createBackground = + UnlockDialog.prototype._createBackground; +const original_updateBackgroundEffects = + UnlockDialog.prototype._updateBackgroundEffects; + + +var LockscreenBlur = class LockscreenBlur { + constructor(connections, prefs) { + this.connections = connections; + this.prefs = prefs; + } + + enable() { + this._log("blurring lockscreen"); + + brightness = this.prefs.lockscreen.CUSTOMIZE + ? this.prefs.lockscreen.BRIGHTNESS + : this.prefs.BRIGHTNESS; + sigma = this.prefs.lockscreen.CUSTOMIZE + ? this.prefs.lockscreen.SIGMA + : this.prefs.SIGMA; + color = this.prefs.lockscreen.CUSTOMIZE + ? this.prefs.lockscreen.COLOR + : this.prefs.COLOR; + noise = this.prefs.lockscreen.CUSTOMIZE + ? this.prefs.lockscreen.NOISE_AMOUNT + : this.prefs.NOISE_AMOUNT; + lightness = this.prefs.lockscreen.CUSTOMIZE + ? this.prefs.lockscreen.NOISE_LIGHTNESS + : this.prefs.NOISE_LIGHTNESS; + + this.update_lockscreen(); + } + + update_lockscreen() { + UnlockDialog.prototype._createBackground = + this._createBackground; + UnlockDialog.prototype._updateBackgroundEffects = + this._updateBackgroundEffects; + } + + _createBackground(monitorIndex) { + let monitor = Main.layoutManager.monitors[monitorIndex]; + let widget = new St.Widget({ + style_class: "screen-shield-background", + x: monitor.x, + y: monitor.y, + width: monitor.width, + height: monitor.height, + }); + + let blur_effect = new Shell.BlurEffect({ + name: 'blur', + sigma: sigma, + brightness: brightness + }); + + // store the scale in the effect in order to retrieve later + blur_effect.scale = monitor.geometry_scale; + + let color_effect = new ColorEffect({ + name: 'color', + color: color + }); + + let noise_effect = new NoiseEffect({ + name: 'noise', + noise: noise, + lightness: lightness + }); + + widget.add_effect(color_effect); + widget.add_effect(noise_effect); + widget.add_effect(blur_effect); + + let bgManager = new Background.BackgroundManager({ + container: widget, + monitorIndex, + controlPosition: false, + }); + + this._bgManagers.push(bgManager); + + this._backgroundGroup.add_child(widget); + } + + _updateBackgroundEffects() { + for (const widget of this._backgroundGroup) { + const color_effect = widget.get_effect('blur'); + const noise_effect = widget.get_effect('blur'); + const blur_effect = widget.get_effect('blur'); + + if (color_effect) + color_effect.set({ + color: color + }); + + if (noise_effect) { + noise_effect.set({ + noise: noise, + lightness: lightness, + }); + } + + if (blur_effect) { + blur_effect.set({ + brightness: brightness, + sigma: sigma * blur_effect.scale, + }); + } + } + } + + set_sigma(s) { + sigma = s; + this.update_lockscreen(); + } + + set_brightness(b) { + brightness = b; + this.update_lockscreen(); + } + + set_color(c) { + color = c; + this.update_lockscreen(); + } + + set_noise_amount(n) { + noise = n; + this.update_lockscreen(); + } + + set_noise_lightness(l) { + lightness = l; + this.update_lockscreen(); + } + + disable() { + this._log("removing blur from lockscreen"); + + UnlockDialog.prototype._createBackground = + original_createBackground; + UnlockDialog.prototype._updateBackgroundEffects = + original_updateBackgroundEffects; + + this.connections.disconnect_all(); + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > lockscreen] ${str}`); + } +}; diff --git a/src/components/overview.js b/src/components/overview.js new file mode 100644 index 00000000..91fd6133 --- /dev/null +++ b/src/components/overview.js @@ -0,0 +1,322 @@ +'use strict'; + +const { Shell, Gio, Meta, GLib } = imports.gi; +const Main = imports.ui.main; + +const { WorkspaceAnimationController } = imports.ui.workspaceAnimation; +const wac_proto = WorkspaceAnimationController.prototype; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const ColorEffect = Me.imports.effects.color_effect.ColorEffect; +const NoiseEffect = Me.imports.effects.noise_effect.NoiseEffect; + +const OVERVIEW_COMPONENTS_STYLE = [ + "", + "overview-components-light", + "overview-components-dark", + "overview-components-transparent" +]; + + +var OverviewBlur = class OverviewBlur { + constructor(connections, prefs) { + this.connections = connections; + this.effects = []; + this.prefs = prefs; + this._workspace_switch_bg_actors = []; + this.enabled = false; + } + + enable() { + this._log("blurring overview"); + + // connect to every background change (even without changing image) + // FIXME this signal is fired very often, so we should find another one + // fired only when necessary (but that still catches all cases) + this.connections.connect( + Main.layoutManager._backgroundGroup, + 'notify', + _ => { + this._log("updated background"); + this.update_backgrounds(); + } + ); + + // connect to the overview being opened (fix a bug with blur being gray + // with multipe monitors under wayland) + this.connections.connect( + Main.overview, + 'shown', + _ => { + if ( + GLib.getenv('XDG_SESSION_TYPE') == "wayland" && + Main.layoutManager.monitors.length > 1 + ) { + this.toogle_actors_visibility(); + } + } + ); + + // connect to monitors change + this.connections.connect( + Main.layoutManager, + 'monitors-changed', + _ => { + if (Main.screenShield && !Main.screenShield.locked) { + this._log("changed monitors"); + this.update_backgrounds(); + } + } + ); + + // add css class name for workspace-switch background + Main.uiGroup.add_style_class_name("blurred-overview"); + + // add css class name to make components semi-transparent if wanted + this.update_components_classname(); + + // update backgrounds when the component is enabled + this.update_backgrounds(); + + + // part for the workspace animation switch + + // make sure not to do this part if the extension was enabled prior, as + // the functions would call themselves and cause infinite recursion + if (!this.enabled) { + // store original workspace switching methods for restoring them on + // disable() + this._original_PrepareSwitch = wac_proto._prepareWorkspaceSwitch; + this._original_FinishSwitch = wac_proto._finishWorkspaceSwitch; + + const w_m = global.workspace_manager; + const outer_this = this; + + // create a blurred background actor for each monitor during a workspace + // switch + wac_proto._prepareWorkspaceSwitch = function (...params) { + outer_this._log("prepare workspace switch"); + outer_this._original_PrepareSwitch.apply(this, params); + + // this permits to show the blur behind windows that are on + // workspaces on the left and right + if ( + outer_this.prefs.applications.BLUR + ) { + let ws_index = w_m.get_active_workspace_index(); + [ws_index - 1, ws_index + 1].forEach( + i => w_m.get_workspace_by_index(i)?.list_windows().forEach( + window => window.get_compositor_private().show() + ) + ); + } + + Main.layoutManager.monitors.forEach(monitor => { + if ( + !( + Meta.prefs_get_workspaces_only_on_primary() && + (monitor !== Main.layoutManager.primaryMonitor) + ) + ) { + const bg_actor = outer_this.create_background_actor( + monitor + ); + + Main.uiGroup.insert_child_above( + bg_actor, + global.window_group + ); + + // store the actors so that we can delete them later + outer_this._workspace_switch_bg_actors.push(bg_actor); + } + }); + }; + + // remove the workspace-switch actors when the switch is done + wac_proto._finishWorkspaceSwitch = function (...params) { + outer_this._log("finish workspace switch"); + outer_this._original_FinishSwitch.apply(this, params); + + // this hides windows that are not on the current workspace + if ( + outer_this.prefs.applications.BLUR + ) + for (let i = 0; i < w_m.get_n_workspaces(); i++) { + if (i != w_m.get_active_workspace_index()) + w_m.get_workspace_by_index(i)?.list_windows().forEach( + window => window.get_compositor_private().hide() + ); + } + + outer_this._workspace_switch_bg_actors.forEach(actor => { + actor.destroy(); + }); + outer_this._workspace_switch_bg_actors = []; + }; + } + + this.enabled = true; + } + + update_backgrounds() { + // remove every old background + Main.layoutManager.overviewGroup.get_children().forEach(actor => { + if (actor.constructor.name === 'Meta_BackgroundActor') { + Main.layoutManager.overviewGroup.remove_child(actor); + actor.destroy(); + } + }); + this.effects = []; + + // add new backgrounds + Main.layoutManager.monitors.forEach(monitor => { + const bg_actor = this.create_background_actor(monitor); + + Main.layoutManager.overviewGroup.insert_child_at_index( + bg_actor, + monitor.index + ); + }); + } + + create_background_actor(monitor) { + let bg_actor = new Meta.BackgroundActor; + let background_group = Main.layoutManager._backgroundGroup + .get_children() + .filter((child) => child instanceof Meta.BackgroundActor); + let background = + background_group[ + Main.layoutManager.monitors.length - monitor.index - 1 + ]; + + if (!background) { + this._log("could not get background for overview"); + return bg_actor; + } + + bg_actor.set_content(background.get_content()); + + let blur_effect = new Shell.BlurEffect({ + brightness: this.prefs.overview.CUSTOMIZE + ? this.prefs.overview.BRIGHTNESS + : this.prefs.BRIGHTNESS, + sigma: this.prefs.overview.CUSTOMIZE + ? this.prefs.overview.SIGMA + : this.prefs.SIGMA + * monitor.geometry_scale, + mode: Shell.BlurMode.ACTOR + }); + + // store the scale in the effect in order to retrieve it in set_sigma + blur_effect.scale = monitor.geometry_scale; + + let color_effect = new ColorEffect({ + color: this.prefs.overview.CUSTOMIZE + ? this.prefs.overview.COLOR + : this.prefs.COLOR + }); + + let noise_effect = new NoiseEffect({ + noise: this.prefs.overview.CUSTOMIZE + ? this.prefs.overview.NOISE_AMOUNT + : this.prefs.NOISE_AMOUNT, + lightness: this.prefs.overview.CUSTOMIZE + ? this.prefs.overview.NOISE_LIGHTNESS + : this.prefs.NOISE_LIGHTNESS + }); + + bg_actor.add_effect(color_effect); + bg_actor.add_effect(noise_effect); + bg_actor.add_effect(blur_effect); + this.effects.push({ blur_effect, color_effect, noise_effect }); + + bg_actor.set_x(monitor.x); + bg_actor.set_y(monitor.y); + + return bg_actor; + } + + /// Updates the classname to style overview components with semi-transparent + /// backgrounds. + update_components_classname() { + OVERVIEW_COMPONENTS_STYLE.forEach( + style => Main.uiGroup.remove_style_class_name(style) + ); + + Main.uiGroup.add_style_class_name( + OVERVIEW_COMPONENTS_STYLE[this.prefs.overview.STYLE_COMPONENTS] + ); + } + + toogle_actors_visibility() { + Main.layoutManager.overviewGroup.get_children().forEach(child => { + if (child.constructor.name === 'Meta_BackgroundActor') { + child.hide(); + child.show(); + } + }); + } + + set_sigma(s) { + this.effects.forEach(effect => { + effect.blur_effect.sigma = s * effect.blur_effect.scale; + }); + } + + set_brightness(b) { + this.effects.forEach(effect => { + effect.blur_effect.brightness = b; + }); + } + + set_color(c) { + this.effects.forEach(effect => { + effect.color_effect.color = c; + }); + } + + set_noise_amount(n) { + this.effects.forEach(effect => { + effect.noise_effect.noise = n; + }); + } + + set_noise_lightness(l) { + this.effects.forEach(effect => { + effect.noise_effect.lightness = l; + }); + } + + disable() { + this._log("removing blur from overview"); + Main.layoutManager.overviewGroup.get_children().forEach(actor => { + if (actor.constructor.name === 'Meta_BackgroundActor') { + Main.layoutManager.overviewGroup.remove_child(actor); + } + }); + Main.uiGroup.remove_style_class_name("blurred-overview"); + OVERVIEW_COMPONENTS_STYLE.forEach( + style => Main.uiGroup.remove_style_class_name(style) + ); + + // make sure to absolutely not do this if the component was not enabled + // prior, as this would cause infinite recursion + if (this.enabled) { + // restore original behavior + if (this._original_PrepareSwitch) + wac_proto._prepareWorkspaceSwitch = this._original_PrepareSwitch; + if (this._original_FinishSwitch) + wac_proto._finishWorkspaceSwitch = this._original_FinishSwitch; + } + + this.effects = []; + this.connections.disconnect_all(); + this.enabled = false; + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > overview] ${str}`); + } +}; diff --git a/src/components/panel.js b/src/components/panel.js new file mode 100644 index 00000000..408e532e --- /dev/null +++ b/src/components/panel.js @@ -0,0 +1,663 @@ +'use strict'; + +const { St, Shell, Meta, Gio, GLib } = imports.gi; +const Main = imports.ui.main; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const { PaintSignals } = Me.imports.effects.paint_signals; +const ColorEffect = Me.imports.effects.color_effect.ColorEffect; +const NoiseEffect = Me.imports.effects.noise_effect.NoiseEffect; + +const DASH_TO_PANEL_UUID = 'dash-to-panel@jderose9.github.com'; + +const PANEL_STYLES = [ + "transparent-panel", + "light-panel", + "dark-panel", + "contrasted-panel" +]; + + +var PanelBlur = class PanelBlur { + constructor(connections, prefs) { + this.connections = connections; + this.window_signal_ids = new Map(); + this.prefs = prefs; + this.actors_list = []; + this.enabled = false; + } + + enable() { + this._log("blurring top panel"); + + // check for panels when Dash to Panel is activated + this.connections.connect( + Main.extensionManager, + 'extension-state-changed', + (_, extension) => { + if (extension.uuid === DASH_TO_PANEL_UUID + && extension.state === 1 + ) { + this.connections.connect( + global.dashToPanel, + 'panels-created', + _ => this.blur_dtp_panels() + ); + + this.blur_existing_panels(); + } + } + ); + + this.blur_existing_panels(); + + // connect to overview being opened/closed, and dynamically show or not + // the blur when a window is near a panel + this.connect_to_windows_and_overview(); + + // connect to every background change (even without changing image) + // FIXME this signal is fired very often, so we should find another one + // fired only when necessary (but that still catches all cases) + this.connections.connect( + Main.layoutManager._backgroundGroup, + 'notify', + _ => this.actors_list.forEach(actors => + this.update_wallpaper(actors) + ) + ); + + // connect to monitors change + this.connections.connect( + Main.layoutManager, + 'monitors-changed', + _ => { + if (Main.screenShield && !Main.screenShield.locked) { + this.reset(); + } + } + ); + + this.enabled = true; + } + + reset() { + this._log("resetting..."); + + this.disable(); + setTimeout(_ => this.enable(), 1); + } + + /// Check for already existing panels and blur them if they are not already + blur_existing_panels() { + // check if dash-to-panel is present + if (global.dashToPanel) { + // blur already existing ones + if (global.dashToPanel.panels) + this.blur_dtp_panels(); + } else { + // if no dash-to-panel, blur the main and only panel + this.maybe_blur_panel(Main.panel); + } + } + + blur_dtp_panels() { + // FIXME when Dash to Panel changes its size, it seems it creates new + // panels; but I can't get to delete old widgets + + // blur every panel found + global.dashToPanel.panels.forEach(p => { + this.maybe_blur_panel(p.panel); + }); + + // if main panel is not included in the previous panels, blur it + if ( + !global.dashToPanel.panels + .map(p => p.panel) + .includes(Main.panel) + && + this.prefs.dash_to_panel.BLUR_ORIGINAL_PANEL + ) + this.maybe_blur_panel(Main.panel); + }; + + /// Blur a panel only if it is not already blurred (contained in the list) + maybe_blur_panel(panel) { + // check if the panel is contained in the list + let actors = this.actors_list.find( + actors => actors.widgets.panel == panel + ); + + if (!actors) + // if the actors is not blurred, blur it + this.blur_panel(panel); + else + // if it is blurred, update the blur anyway + this.change_blur_type(actors); + } + + /// Blur a panel + blur_panel(panel) { + let panel_box = panel.get_parent(); + let is_dtp_panel = false; + if (!panel_box.name) { + is_dtp_panel = true; + panel_box = panel_box.get_parent(); + } + + let monitor = this.find_monitor_for(panel); + if (!monitor) + return; + + let background_parent = new St.Widget({ + name: 'topbar-blurred-background-parent', + x: 0, y: 0, width: 0, height: 0 + }); + + let background = this.prefs.panel.STATIC_BLUR + ? new Meta.BackgroundActor + : new St.Widget; + + background_parent.add_child(background); + + // insert background parent + panel_box.insert_child_at_index(background_parent, 0); + + let blur = new Shell.BlurEffect({ + brightness: this.prefs.panel.CUSTOMIZE + ? this.prefs.panel.BRIGHTNESS + : this.prefs.BRIGHTNESS, + sigma: this.prefs.panel.CUSTOMIZE + ? this.prefs.panel.SIGMA + : this.prefs.SIGMA + * monitor.geometry_scale, + mode: this.prefs.panel.STATIC_BLUR + ? Shell.BlurMode.ACTOR + : Shell.BlurMode.BACKGROUND + }); + + // store the scale in the effect in order to retrieve it in set_sigma + blur.scale = monitor.geometry_scale; + + let color = new ColorEffect({ + color: this.prefs.panel.CUSTOMIZE + ? this.prefs.panel.COLOR + : this.prefs.COLOR + }); + + let noise = new NoiseEffect({ + noise: this.prefs.panel.CUSTOMIZE + ? this.prefs.panel.NOISE_AMOUNT + : this.prefs.NOISE_AMOUNT, + lightness: this.prefs.panel.CUSTOMIZE + ? this.prefs.panel.NOISE_LIGHTNESS + : this.prefs.NOISE_LIGHTNESS + }); + + let paint_signals = new PaintSignals(this.connections); + + let actors = { + widgets: { panel, panel_box, background, background_parent }, + effects: { blur, color, noise }, + paint_signals, + monitor, + is_dtp_panel + }; + + this.actors_list.push(actors); + + // perform updates + this.change_blur_type(actors); + + // connect to panel, panel_box and its parent position or size change + // this should fire update_size every time one of its params change + this.connections.connect( + panel, + 'notify::position', + _ => this.update_size(actors) + ); + this.connections.connect( + panel_box, + ['notify::size', 'notify::position'], + _ => this.update_size(actors) + ); + this.connections.connect( + panel_box.get_parent(), + 'notify::position', + _ => this.update_size(actors) + ); + } + + update_all_blur_type() { + this.actors_list.forEach(actors => this.change_blur_type(actors)); + } + + change_blur_type(actors) { + let is_static = this.prefs.panel.STATIC_BLUR; + + // reset widgets to right state + actors.widgets.background_parent.remove_child(actors.widgets.background); + actors.widgets.background.remove_effect(actors.effects.blur); + actors.widgets.background.remove_effect(actors.effects.color); + actors.widgets.background.remove_effect(actors.effects.noise); + + // create new background actor + actors.widgets.background = is_static + ? new Meta.BackgroundActor + : new St.Widget; + + // change blur mode + actors.effects.blur.set_mode(is_static ? 0 : 1); + + // disable other effects if the blur is dynamic, as they makes it opaque + actors.effects.color._static = is_static; + actors.effects.noise._static = is_static; + actors.effects.color.update_enabled(); + actors.effects.noise.update_enabled(); + + // add the effects in order + actors.widgets.background.add_effect(actors.effects.color); + actors.widgets.background.add_effect(actors.effects.noise); + actors.widgets.background.add_effect(actors.effects.blur); + + // add the background actor behing the panel + actors.widgets.background_parent.add_child(actors.widgets.background); + + // perform updates + this.update_wallpaper(actors); + this.update_size(actors); + + + // HACK + // + //`Shell.BlurEffect` does not repaint when shadows are under it. [1] + // + // This does not entirely fix this bug (shadows caused by windows + // still cause artifacts), but it prevents the shadows of the panel + // buttons to cause artifacts on the panel itself + // + // [1]: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 + + if (!is_static) { + if (this.prefs.HACKS_LEVEL === 1) { + this._log("panel hack level 1"); + actors.paint_signals.disconnect_all(); + + let rp = () => { actors.effects.blur.queue_repaint(); }; + + this.connections.connect(actors.widgets.panel, [ + 'enter-event', 'leave-event', 'button-press-event' + ], rp); + + actors.widgets.panel.get_children().forEach(child => { + this.connections.connect(child, [ + 'enter-event', 'leave-event', 'button-press-event' + ], rp); + }); + } else if (this.prefs.HACKS_LEVEL === 2) { + this._log("panel hack level 2"); + actors.paint_signals.disconnect_all(); + + actors.paint_signals.connect( + actors.widgets.background, actors.effects.blur + ); + } else { + actors.paint_signals.disconnect_all(); + } + } + } + + update_wallpaper(actors) { + // if static blur, get right wallpaper and update blur with it + if (this.prefs.panel.STATIC_BLUR) { + let bg = Main.layoutManager._backgroundGroup.get_child_at_index( + Main.layoutManager.monitors.length + - this.find_monitor_for(actors.widgets.panel).index - 1 + ); + if (bg) + actors.widgets.background.set_content(bg.get_content()); + else + this._log("could not get background for panel"); + } + } + + update_size(actors) { + let panel = actors.widgets.panel; + let panel_box = actors.widgets.panel_box; + let background = actors.widgets.background; + let monitor = this.find_monitor_for(panel); + if (!monitor) + return; + + let [width, height] = panel_box.get_size(); + background.width = width; + background.height = height; + + // if static blur, need to clip the background + if (this.prefs.panel.STATIC_BLUR) { + // an alternative to panel.get_transformed_position, because it + // sometimes yields NaN (probably when the actor is not fully + // positionned yet) + let [p_x, p_y] = panel_box.get_position(); + let [p_p_x, p_p_y] = panel_box.get_parent().get_position(); + let x = p_x + p_p_x - monitor.x; + let y = p_y + p_p_y - monitor.y; + + background.set_clip(x, y, width, height); + background.x = -x; + background.y = -y; + + // fixes a bug where the blur is washed away when changing the sigma + this.invalidate_blur(actors); + } else { + background.x = panel.x; + background.y = panel.y; + } + + // update the monitor panel is on + actors.monitor = this.find_monitor_for(panel); + } + + /// An helper function to find the monitor in which an actor is situated, + /// there might be a pre-existing function in GLib already + find_monitor_for(actor) { + let extents = actor.get_transformed_extents(); + let rect = new Meta.Rectangle({ + x: extents.get_x(), + y: extents.get_y(), + width: extents.get_width(), + height: extents.get_height(), + }); + + let index = global.display.get_monitor_index_for_rect(rect); + + return Main.layoutManager.monitors[index]; + } + + /// Connect when overview if opened/closed to hide/show the blur accordingly + /// + /// If HIDETOPBAR is set, we need just to hide the blur when showing appgrid + /// (so no shadow is cropped) + connect_to_overview() { + // may be called when panel blur is disabled, if hidetopbar + // compatibility is toggled on/off + // if this is the case, do nothing as only the panel blur interfers with + // hidetopbar + if ( + this.prefs.panel.BLUR && + this.prefs.panel.UNBLUR_IN_OVERVIEW + ) { + if (!this.prefs.hidetopbar.COMPATIBILITY) { + this.connections.connect( + Main.overview, 'showing', this.hide.bind(this) + ); + this.connections.connect( + Main.overview, 'hidden', this.show.bind(this) + ); + } else { + let appDisplay = Main.overview._overview._controls._appDisplay; + + this.connections.connect( + appDisplay, 'show', this.hide.bind(this) + ); + this.connections.connect( + appDisplay, 'hide', this.show.bind(this) + ); + } + + } + } + + /// Connect to windows disable transparency when a window is too close + connect_to_windows() { + if ( + this.prefs.panel.OVERRIDE_BACKGROUND_DYNAMICALLY + ) { + // connect to overview opening/closing + this.connections.connect(Main.overview, ['showing', 'hiding'], + this.update_visibility.bind(this) + ); + + // connect to session mode update + this.connections.connect(Main.sessionMode, 'updated', + this.update_visibility.bind(this) + ); + + // manage already-existing windows + for (const meta_window_actor of global.get_window_actors()) { + this.on_window_actor_added( + meta_window_actor.get_parent(), meta_window_actor + ); + } + + // manage windows at their creation/removal + this.connections.connect(global.window_group, 'actor-added', + this.on_window_actor_added.bind(this) + ); + this.connections.connect(global.window_group, 'actor-removed', + this.on_window_actor_removed.bind(this) + ); + + // connect to a workspace change + this.connections.connect(global.window_manager, 'switch-workspace', + this.update_visibility.bind(this) + ); + + // perform early update + this.update_visibility(); + } else { + // reset transparency for every panels + this.actors_list.forEach( + actors => this.set_should_override_panel(actors, true) + ); + } + } + + /// An helper to connect to both the windows and overview signals. + /// This is the only function that should be directly called, to prevent + /// inconsistencies with signals not being disconnected. + connect_to_windows_and_overview() { + this.disconnect_from_windows_and_overview(); + this.connect_to_overview(); + this.connect_to_windows(); + } + + /// Disconnect all the connections created by connect_to_windows + disconnect_from_windows_and_overview() { + // disconnect the connections to actors + for (const actor of [ + Main.overview, Main.sessionMode, + global.window_group, global.window_manager, + Main.overview._overview._controls._appDisplay + ]) { + this.connections.disconnect_all_for(actor); + } + + // disconnect the connections from windows + for (const [actor, ids] of this.window_signal_ids) { + for (const id of ids) { + actor.disconnect(id); + } + } + this.window_signal_ids = new Map(); + } + + /// Callback when a new window is added + on_window_actor_added(container, meta_window_actor) { + this.window_signal_ids.set(meta_window_actor, [ + meta_window_actor.connect('notify::allocation', + _ => this.update_visibility() + ), + meta_window_actor.connect('notify::visible', + _ => this.update_visibility() + ) + ]); + this.update_visibility(); + } + + /// Callback when a window is removed + on_window_actor_removed(container, meta_window_actor) { + for (const signalId of this.window_signal_ids.get(meta_window_actor)) { + meta_window_actor.disconnect(signalId); + } + this.window_signal_ids.delete(meta_window_actor); + this.update_visibility(); + } + + /// Update the visibility of the blur effect + update_visibility() { + if ( + Main.panel.has_style_pseudo_class('overview') + || !Main.sessionMode.hasWindows + ) { + this.actors_list.forEach( + actors => this.set_should_override_panel(actors, true) + ); + return; + } + + if (!Main.layoutManager.primaryMonitor) + return; + + // get all the windows in the active workspace that are visible + const workspace = global.workspace_manager.get_active_workspace(); + const windows = workspace.list_windows().filter(meta_window => + meta_window.showing_on_its_workspace() + && !meta_window.is_hidden() + && meta_window.get_window_type() !== Meta.WindowType.DESKTOP + // exclude Desktop Icons NG + && meta_window.get_gtk_application_id() !== "com.rastersoft.ding" + ); + + // check if at least one window is near enough to each panel and act + // accordingly + const scale = St.ThemeContext.get_for_stage(global.stage).scale_factor; + this.actors_list + // do not apply for dtp panels, as it would only cause bugs and it + // can be done from its preferences anyway + .filter(actors => !actors.is_dtp_panel) + .forEach(actors => { + let panel = actors.widgets.panel; + let panel_top = panel.get_transformed_position()[1]; + let panel_bottom = panel_top + panel.get_height(); + + // check if at least a window is near enough the panel + let window_overlap_panel = false; + windows.forEach(meta_window => { + let window_monitor_i = meta_window.get_monitor(); + let same_monitor = actors.monitor.index == window_monitor_i; + + let window_vertical_pos = meta_window.get_frame_rect().y; + + // if so, and if in the same monitor, then it overlaps + if (same_monitor + && + window_vertical_pos < panel_bottom + 5 * scale + ) + window_overlap_panel = true; + }); + + // if no window overlaps, then the panel is transparent + this.set_should_override_panel( + actors, !window_overlap_panel + ); + }); + } + + /// Choose wether or not the panel background should be overriden, in + /// respect to its argument and the `override-background` setting. + set_should_override_panel(actors, should_override) { + let panel = actors.widgets.panel; + + PANEL_STYLES.forEach(style => panel.remove_style_class_name(style)); + + if ( + this.prefs.panel.OVERRIDE_BACKGROUND + && + should_override + ) + panel.add_style_class_name( + PANEL_STYLES[this.prefs.panel.STYLE_PANEL] + ); + } + + /// Fixes a bug where the blur is washed away when changing the sigma, or + /// enabling/disabling other effects. + invalidate_blur(actors) { + if (this.prefs.panel.STATIC_BLUR && actors.widgets.background) + actors.widgets.background.get_content().invalidate(); + } + + invalidate_all_blur() { + this.actors_list.forEach(actors => this.invalidate_blur(actors)); + } + + set_sigma(s) { + this.actors_list.forEach(actors => { + actors.effects.blur.sigma = s * actors.effects.blur.scale; + this.invalidate_blur(actors); + }); + } + + set_brightness(b) { + this.actors_list.forEach(actors => { + actors.effects.blur.brightness = b; + }); + } + + set_color(c) { + this.actors_list.forEach(actors => { + actors.effects.color.color = c; + }); + } + + set_noise_amount(n) { + this.actors_list.forEach(actors => { + actors.effects.noise.noise = n; + }); + } + + set_noise_lightness(l) { + this.actors_list.forEach(actors => { + actors.effects.noise.lightness = l; + }); + } + + show() { + this.actors_list.forEach(actors => { + actors.widgets.background_parent.show(); + }); + } + + hide() { + this.actors_list.forEach(actors => { + actors.widgets.background_parent.hide(); + }); + } + + disable() { + this._log("removing blur from top panel"); + + this.disconnect_from_windows_and_overview(); + + this.actors_list.forEach(actors => { + this.set_should_override_panel(actors, false); + try { + actors.widgets.panel_box.remove_child( + actors.widgets.background_parent + ); + } catch (e) { } + + }); + + this.actors_list = []; + + this.connections.disconnect_all(); + + this.enabled = false; + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > panel] ${str}`); + } +}; diff --git a/src/components/screenshot.js b/src/components/screenshot.js new file mode 100644 index 00000000..333eccd4 --- /dev/null +++ b/src/components/screenshot.js @@ -0,0 +1,166 @@ +'use strict'; + +const { Shell, Gio, Meta } = imports.gi; +const Main = imports.ui.main; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const ColorEffect = Me.imports.effects.color_effect.ColorEffect; +const NoiseEffect = Me.imports.effects.noise_effect.NoiseEffect; + + +var ScreenshotBlur = class ScreenshotBlur { + constructor(connections, prefs) { + this.connections = connections; + this.effects = []; + this.prefs = prefs; + } + + enable() { + this._log("blurring screenshot's window selector"); + + // connect to every background change (even without changing image) + // FIXME this signal is fired very often, so we should find another one + // fired only when necessary (but that still catches all cases) + this.connections.connect( + Main.layoutManager._backgroundGroup, + 'notify', + _ => { + this._log("updated background for screenshot's window selector"); + this.update_backgrounds(); + } + ); + + // connect to monitors change + this.connections.connect( + Main.layoutManager, + 'monitors-changed', + _ => { + if (Main.screenShield && !Main.screenShield.locked) { + this._log("changed monitors for screenshot's window selector"); + this.update_backgrounds(); + } + } + ); + + // update backgrounds when the component is enabled + this.update_backgrounds(); + } + + update_backgrounds() { + // remove every old background + this.remove(); + + // add new backgrounds + for (let i = 0; i < Main.screenshotUI._windowSelectors.length; i++) { + const actor = Main.screenshotUI._windowSelectors[i]; + const monitor = Main.layoutManager.monitors[i]; + + if (!monitor) + continue; + + const bg_actor = this.create_background_actor(monitor); + actor.insert_child_at_index(bg_actor, 0); + actor._blur_actor = bg_actor; + } + } + + create_background_actor(monitor) { + let bg_actor = new Meta.BackgroundActor; + let background = Main.layoutManager._backgroundGroup.get_child_at_index( + Main.layoutManager.monitors.length - monitor.index - 1 + ); + + if (!background) { + this._log("could not get background for screenshot's window selector"); + return bg_actor; + } + + bg_actor.set_content(background.get_content()); + + let blur_effect = new Shell.BlurEffect({ + brightness: this.prefs.screenshot.CUSTOMIZE + ? this.prefs.screenshot.BRIGHTNESS + : this.prefs.BRIGHTNESS, + sigma: this.prefs.screenshot.CUSTOMIZE + ? this.prefs.screenshot.SIGMA + : this.prefs.SIGMA + * monitor.geometry_scale, + mode: Shell.BlurMode.ACTOR + }); + + // store the scale in the effect in order to retrieve it in set_sigma + blur_effect.scale = monitor.geometry_scale; + + let color_effect = new ColorEffect({ + color: this.prefs.screenshot.CUSTOMIZE + ? this.prefs.screenshot.COLOR + : this.prefs.COLOR + }); + + let noise_effect = new NoiseEffect({ + noise: this.prefs.screenshot.CUSTOMIZE + ? this.prefs.screenshot.NOISE_AMOUNT + : this.prefs.NOISE_AMOUNT, + lightness: this.prefs.screenshot.CUSTOMIZE + ? this.prefs.screenshot.NOISE_LIGHTNESS + : this.prefs.NOISE_LIGHTNESS + }); + + bg_actor.add_effect(color_effect); + bg_actor.add_effect(noise_effect); + bg_actor.add_effect(blur_effect); + this.effects.push({ blur_effect, color_effect, noise_effect }); + + return bg_actor; + } + + set_sigma(s) { + this.effects.forEach(effect => { + effect.blur_effect.sigma = s * effect.blur_effect; + }); + } + + set_brightness(b) { + this.effects.forEach(effect => { + effect.blur_effect.brightness = b; + }); + } + + set_color(c) { + this.effects.forEach(effect => { + effect.color_effect.color = c; + }); + } + + set_noise_amount(n) { + this.effects.forEach(effect => { + effect.noise_effect.noise = n; + }); + } + + set_noise_lightness(l) { + this.effects.forEach(effect => { + effect.noise_effect.lightness = l; + }); + } + + remove() { + Main.screenshotUI._windowSelectors.forEach(actor => { + if (actor._blur_actor) + actor.remove_child(actor._blur_actor); + }); + this.effects = []; + } + + disable() { + this._log("removing blur from screenshot's window selector"); + + this.remove(); + this.connections.disconnect_all(); + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > screenshot] ${str}`); + } +}; diff --git a/src/components/window_list.js b/src/components/window_list.js new file mode 100644 index 00000000..94883daa --- /dev/null +++ b/src/components/window_list.js @@ -0,0 +1,165 @@ +'use strict'; + +const { St, Shell, Meta, Gio } = imports.gi; +const Main = imports.ui.main; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const { PaintSignals } = Me.imports.effects.paint_signals; + + +var WindowListBlur = class WindowListBlur { + constructor(connections, prefs) { + this.connections = connections; + this.prefs = prefs; + this.paint_signals = new PaintSignals(connections); + this.effects = []; + } + + enable() { + this._log("blurring window list"); + + // blur if window-list is found + Main.layoutManager.uiGroup.get_children().forEach( + child => this.try_blur(child) + ); + + // listen to new actors in `Main.layoutManager.uiGroup` and blur it if + // if is window-list + this.connections.connect( + Main.layoutManager.uiGroup, + 'actor-added', + (_, child) => this.try_blur(child) + ); + + // connect to overview + this.connections.connect(Main.overview, 'showing', _ => { + this.hide(); + }); + this.connections.connect(Main.overview, 'hidden', _ => { + this.show(); + }); + } + + try_blur(child) { + if ( + child.constructor.name === "WindowList" && + child.style !== "background:transparent;" + ) { + this._log("found window list to blur"); + + let blur_effect = new Shell.BlurEffect({ + name: 'window-list-blur', + sigma: this.prefs.window_list.CUSTOMIZE + ? this.prefs.window_list.SIGMA + : this.prefs.SIGMA, + brightness: this.prefs.window_list.CUSTOMIZE + ? this.prefs.window_list.BRIGHTNESS + : this.prefs.BRIGHTNESS, + mode: Shell.BlurMode.BACKGROUND + }); + + child.set_style("background:transparent;"); + child.add_effect(blur_effect); + this.effects.push({ blur_effect }); + + child._windowList.get_children().forEach( + window => this.blur_window_button(window) + ); + + this.connections.connect( + child._windowList, + 'actor-added', + (_, window) => this.blur_window_button(window) + ); + + + // HACK + // + //`Shell.BlurEffect` does not repaint when shadows are under it. [1] + // + // This does not entirely fix this bug (shadows caused by windows + // still cause artifacts), but it prevents the shadows of the panel + // buttons to cause artifacts on the panel itself + // + // [1]: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 + + if (this.prefs.HACKS_LEVEL === 1) { + this._log("window list hack level 1"); + + this.paint_signals.connect(child, blur_effect); + + } else if (this.prefs.HACKS_LEVEL === 2) { + this._log("window list hack level 2"); + + this.paint_signals.connect(child, blur_effect); + } else { + this.paint_signals.disconnect_all(); + } + } + } + + blur_window_button(window) { + window.get_child_at_index(0).set_style( + "box-shadow:none; background-color:rgba(0,0,0,0.2); border-radius:5px;" + ); + } + + try_remove_blur(child) { + if ( + child.constructor.name === "WindowList" && + child.style === "background:transparent;" + ) { + child.style = null; + child.remove_effect_by_name('window-list-blur'); + + child._windowList.get_children().forEach( + child => child.get_child_at_index(0).set_style(null) + ); + } + } + + set_sigma(s) { + this.effects.forEach(effect => { + effect.blur_effect.sigma = s; + }); + } + + set_brightness(b) { + this.effects.forEach(effect => { + effect.blur_effect.brightness = b; + }); + } + + // not implemented for dynamic blur + set_color(c) { } + set_noise_amount(n) { } + set_noise_lightness(l) { } + + hide() { + this.set_sigma(0); + } + + show() { + this.set_sigma( + this.prefs.window_list.CUSTOMIZE + ? this.prefs.window_list.SIGMA + : this.prefs.SIGMA + ); + } + + disable() { + this._log("removing blur from window list"); + + Main.layoutManager.uiGroup.get_children().forEach( + child => this.try_remove_blur(child) + ); + + this.effects = []; + this.connections.disconnect_all(); + } + + _log(str) { + if (this.prefs.DEBUG) + log(`[Blur my Shell > window list] ${str}`); + } +}; \ No newline at end of file diff --git a/src/connections.js b/src/connections.js deleted file mode 100644 index ebaa32b7..00000000 --- a/src/connections.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -const GObject = imports.gi.GObject; - -var Connections = class Connections { - constructor() { - this.buffer = []; - } - - process_connection(actor, id) { - let infos = { - actor: actor, - id: id - }; - - if (actor.connect && (!(actor instanceof GObject.Object) || GObject.signal_lookup('destroy', actor))) { - let destroy_id = actor.connect('destroy', () => { - actor.disconnect(id); - actor.disconnect(destroy_id); - - let index = this.buffer.indexOf(infos); - if (index >= 0) { - this.buffer.splice(index, 1) - } - }) - } - - this.buffer.push(infos) - } - - connect(actor, signal, handler) { - let id = actor.connect(signal, handler); - - this.process_connection(actor, id); - } - - connect_after(actor, signal, handler) { - let id = actor.connect_after(signal, handler); - - this.process_connection(actor, id); - } - - disconnect_all() { - this.buffer.forEach((connection) => { - try { - connection.actor.disconnect(connection.id) - } catch (e) { - this._log(`error removing connection: ${e}; continuing`) - } - }) - this.buffer = []; - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} \ No newline at end of file diff --git a/src/conveniences/connections.js b/src/conveniences/connections.js new file mode 100644 index 00000000..ec2f51f7 --- /dev/null +++ b/src/conveniences/connections.js @@ -0,0 +1,104 @@ +'use strict'; + +const GObject = imports.gi.GObject; + +/// An object to easily manage signals. +var Connections = class Connections { + constructor() { + this.buffer = []; + } + + /// Adds a connection. + /// + /// Takes as arguments: + /// - an actor, which fires the signal + /// - signal(s) (string or array of strings), which are watched for + /// - a callback, which is called when the signal is fired + connect(actor, signals, handler) { + if (signals instanceof Array) { + signals.forEach(signal => { + let id = actor.connect(signal, handler); + this.process_connection(actor, id); + }); + } else { + let id = actor.connect(signals, handler); + this.process_connection(actor, id); + } + + } + + /// Process the given actor and id. + /// + /// This makes sure that the signal is disconnected when the actor is + /// destroyed, and that the signal can be managed through other Connections + /// methods. + process_connection(actor, id) { + let infos = { + actor: actor, + id: id + }; + + // remove the signal when the actor is destroyed + if ( + actor.connect && + ( + !(actor instanceof GObject.Object) || + GObject.signal_lookup('destroy', actor) + ) + ) { + let destroy_id = actor.connect('destroy', () => { + actor.disconnect(id); + actor.disconnect(destroy_id); + + let index = this.buffer.indexOf(infos); + if (index >= 0) { + this.buffer.splice(index, 1); + } + }); + } + + this.buffer.push(infos); + } + + /// Disconnects every connection found for an actor. + disconnect_all_for(actor) { + // get every connection stored for the actor + let actor_connections = this.buffer.filter( + infos => infos.actor === actor + ); + + // remove each of them + actor_connections.forEach((connection) => { + // disconnect + try { + connection.actor.disconnect(connection.id); + } catch (e) { + this._log(`error removing connection: ${e}; continuing`); + } + + // remove from buffer + let index = this.buffer.indexOf(connection); + this.buffer.splice(index, 1); + }); + } + + /// Disconnect every connection for each actor. + disconnect_all() { + this.buffer.forEach((connection) => { + // disconnect + try { + connection.actor.disconnect(connection.id); + } catch (e) { + this._log(`error removing connection: ${e}; continuing`); + } + }); + + // reset buffer + this.buffer = []; + } + + _log(str) { + // no need to check if DEBUG here as this._log is only used on error + log(`[Blur my Shell > connections] ${str}`); + } +}; \ No newline at end of file diff --git a/src/conveniences/keys.js b/src/conveniences/keys.js new file mode 100644 index 00000000..775479da --- /dev/null +++ b/src/conveniences/keys.js @@ -0,0 +1,136 @@ +'use strict'; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); + +const { Type } = Me.imports.conveniences.settings; + +// This lists the preferences keys +var Keys = [ + { + component: "general", schemas: [ + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + { type: Type.B, name: "color-and-noise" }, + { type: Type.I, name: "hacks-level" }, + { type: Type.B, name: "debug" }, + ] + }, + { + component: "overview", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + { type: Type.I, name: "style-components" }, + ] + }, + { + component: "appfolder", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + { type: Type.I, name: "style-dialogs" }, + ] + }, + { + component: "panel", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + { type: Type.B, name: "static-blur" }, + { type: Type.B, name: "unblur-in-overview" }, + { type: Type.B, name: "override-background" }, + { type: Type.I, name: "style-panel" }, + { type: Type.B, name: "override-background-dynamically" }, + ] + }, + { + component: "dash-to-dock", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + { type: Type.B, name: "static-blur" }, + { type: Type.B, name: "unblur-in-overview" }, + { type: Type.B, name: "override-background" }, + { type: Type.I, name: "style-dash-to-dock" }, + ] + }, + { + component: "applications", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + { type: Type.I, name: "opacity" }, + { type: Type.B, name: "blur-on-overview" }, + { type: Type.B, name: "enable-all" }, + { type: Type.AS, name: "whitelist" }, + { type: Type.AS, name: "blacklist" }, + ] + }, + { + component: "lockscreen", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + ] + }, + { + component: "window-list", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + ] + }, + { + component: "screenshot", schemas: [ + { type: Type.B, name: "blur" }, + { type: Type.B, name: "customize" }, + { type: Type.I, name: "sigma" }, + { type: Type.D, name: "brightness" }, + { type: Type.C, name: "color" }, + { type: Type.D, name: "noise-amount" }, + { type: Type.D, name: "noise-lightness" }, + ] + }, + { + component: "hidetopbar", schemas: [ + { type: Type.B, name: "compatibility" }, + ] + }, + { + component: "dash-to-panel", schemas: [ + { type: Type.B, name: "blur-original-panel" }, + ] + }, +]; \ No newline at end of file diff --git a/src/conveniences/settings.js b/src/conveniences/settings.js new file mode 100644 index 00000000..5c07472f --- /dev/null +++ b/src/conveniences/settings.js @@ -0,0 +1,185 @@ +'use strict'; + +const { Gio, GLib } = imports.gi; +const Signals = imports.signals; + +const ExtensionUtils = imports.misc.extensionUtils; + +/// An enum non-extensively describing the type of gsettings key. +var Type = { + B: 'Boolean', + I: 'Integer', + D: 'Double', + S: 'String', + C: 'Color', + AS: 'StringArray' +}; + +/// An object to get and manage the gsettings preferences. +/// +/// Should be initialized with an array of keys, for example: +/// +/// let prefs = new Prefs([ +/// { type: Type.I, name: "panel-corner-radius" }, +/// { type: Type.B, name: "debug" } +/// ]); +/// +/// Each {type, name} object represents a gsettings key, which must be created +/// in the gschemas.xml file of the extension. +var Prefs = class Prefs { + constructor(keys) { + let settings = this.settings = ExtensionUtils.getSettings(); + this.keys = keys; + + this.keys.forEach(bundle => { + let component = this; + let component_settings = settings; + if (bundle.component !== "general") { + let bundle_component = bundle.component.replaceAll('-', '_'); + this[bundle_component] = { + settings: this.settings.get_child(bundle.component) + }; + component = this[bundle_component]; + component_settings = settings.get_child(bundle.component); + } + + + bundle.schemas.forEach(key => { + let property_name = this.get_property_name(key.name); + + switch (key.type) { + case Type.B: + Object.defineProperty(component, property_name, { + get() { + return component_settings.get_boolean(key.name); + }, + set(v) { + component_settings.set_boolean(key.name, v); + } + }); + break; + + case Type.I: + Object.defineProperty(component, property_name, { + get() { + return component_settings.get_int(key.name); + }, + set(v) { + component_settings.set_int(key.name, v); + } + }); + break; + + case Type.D: + Object.defineProperty(component, property_name, { + get() { + return component_settings.get_double(key.name); + }, + set(v) { + component_settings.set_double(key.name, v); + } + }); + break; + + case Type.S: + Object.defineProperty(component, property_name, { + get() { + return component_settings.get_string(key.name); + }, + set(v) { + component_settings.set_string(key.name, v); + } + }); + break; + + case Type.C: + Object.defineProperty(component, property_name, { + // returns the array [red, blue, green, alpha] with + // values between 0 and 1 + get() { + let val = component_settings.get_value(key.name); + return val.deep_unpack(); + }, + // takes an array [red, blue, green, alpha] with + // values between 0 and 1 + set(v) { + let val = new GLib.Variant("(dddd)", v); + component_settings.set_value(key.name, val); + } + }); + break; + + case Type.AS: + Object.defineProperty(component, property_name, { + get() { + let val = component_settings.get_value(key.name); + return val.deep_unpack(); + }, + set(v) { + let val = new GLib.Variant("as", v); + component_settings.set_value(key.name, val); + } + }); + break; + } + + component[property_name + '_reset'] = function () { + return component_settings.reset(key.name); + }; + + component[property_name + '_changed'] = function (cb) { + return component_settings.connect('changed::' + key.name, cb); + }; + + component[property_name + '_disconnect'] = function () { + return component_settings.disconnect.apply( + component_settings, arguments + ); + }; + }); + }); + }; + + /// Reset the preferences. + reset() { + this.keys.forEach(bundle => { + let component = this; + if (bundle.component !== "general") { + let bundle_component = bundle.component.replaceAll('-', '_'); + component = this[bundle_component]; + } + + bundle.schemas.forEach(key => { + let property_name = this.get_property_name(key.name); + component[property_name + '_reset'](); + }); + }); + + this.emit('reset', true); + } + + /// From the gschema name, returns the name of the associated property on + /// the Prefs object. + get_property_name(name) { + return name.replaceAll('-', '_').toUpperCase(); + } + + /// Remove all connections managed by the Prefs object, i.e. created with + /// `prefs.PROPERTY_changed(callback)`. + disconnect_all_settings() { + this.keys.forEach(bundle => { + let component = this; + if (bundle.component !== "general") { + let bundle_component = bundle.component.replaceAll('-', '_'); + component = this[bundle_component]; + } + + bundle.schemas.forEach(key => { + let property_name = this.get_property_name(key.name); + component[property_name + '_disconnect'](); + }); + }); + } +}; + +Signals.addSignalMethods(Prefs.prototype); \ No newline at end of file diff --git a/src/dash.js b/src/dash.js deleted file mode 100644 index 36cf68e7..00000000 --- a/src/dash.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; - -const { St, Shell, Meta } = imports.gi; -const Main = imports.ui.main; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Settings = Me.imports.settings; -let prefs = new Settings.Prefs; - -const default_sigma = 30; -const default_brightness = 0.6; - -var DashBlur = class DashBlur { - constructor(connections) { - this.connections = connections; - } - - enable() { - this._log("blurring dash"); - this.update() - } - - update() { - if (Main.overview.dash.constructor.name == "Dash") { - Main.overview.dash.get_child_at_index(0).style = "background-color:rgba(0,0,0," + prefs.DASH_OPACITY.get() + ")"; - } - } - - disable() { - this._log("removing blur from dash"); - - if (Main.overview.dash.constructor.name == "Dash") { - if (!Main.screenShield.locked) { - try { - Main.overview.dash.get_child_at_index(0).style = null; - } catch (e) { - this._log(e) - } - } - } - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} \ No newline at end of file diff --git a/src/dash_to_dock.js b/src/dash_to_dock.js deleted file mode 100644 index b791d3c5..00000000 --- a/src/dash_to_dock.js +++ /dev/null @@ -1,242 +0,0 @@ -'use strict'; - -const { St, Shell, GLib } = imports.gi; -const Main = imports.ui.main; -const Signals = imports.signals; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Settings = Me.imports.settings; -let prefs = new Settings.Prefs; - -const default_sigma = 30; -const default_brightness = 0.6; - -// useful -const setTimeout = function (func, delay, ...args) { - return GLib.timeout_add(GLib.PRIORITY_DEFAULT, delay, () => { - func(...args); - return GLib.SOURCE_REMOVE; - }); -}; - -class DashInfos { - constructor(dash_blur, dash, dash_box, background_parent, effect) { - this.dash_blur = dash_blur; - this.dash = dash; - this.dash_box = dash_box; - this.background_parent = background_parent; - this.effect = effect; - - dash_blur.connections.connect(dash_blur, 'remove-dashes', () => { - this._log("removing blur from dash"); - this.dash.get_parent().remove_child(this.background_parent); - this.dash_box.style = null; - }); - - dash_blur.connections.connect(dash_blur, 'update-sigma', () => { - this.effect.sigma = this.dash_blur.sigma; - }); - - dash_blur.connections.connect(dash_blur, 'update-brightness', () => { - this.effect.brightness = this.dash_blur.brightness; - }); - - dash_blur.connections.connect(dash_blur, 'show', () => { - this.effect.sigma = this.dash_blur.sigma; - }); - - dash_blur.connections.connect(dash_blur, 'hide', () => { - this.effect.sigma = 0; - }); - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} - -var DashBlur = class DashBlur { - constructor(connections) { - this.dashes = []; - this.connections = connections; - this.sigma = default_sigma; - this.brightness = default_brightness; - } - - enable() { - this.connections.connect(Main.uiGroup, 'actor-added', (_, actor) => { - this.try_blur(actor); - }); - - this.blur_existing_dashes(); - } - - // Finds all existing dashes on every monitor, and call `try_blur` on them - blur_existing_dashes() { - this._log("searching for dash"); - // blur every dash found - Main.uiGroup.get_children().forEach(child => { - this.try_blur(child); - }); - } - - // Tries to blur the child if it is a dash needing to be blurred - try_blur(dash) { - if (dash.get_name() == "dashtodockContainer" && - (dash.constructor.name == 'DashToDock') && - (dash.get_child_at_index(0).get_child_at_index(0).get_child_at_index(0).get_child_at_index(0).name != 'dash-blurred-background-parent') - ) { - this._log("dash to dock found, blurring it"); - this.dashes.push(this.blur_dash_from(dash)); - } - } - - // Blurs the dash and returns a `DashInfos` containing its informations - blur_dash_from(dash_container) { - // the actual styled dash - let dash = dash_container.get_child_at_index(0).get_child_at_index(0).get_child_at_index(0); - let dash_box = dash.get_child_at_index(0); - - // the effect applied - let effect = new Shell.BlurEffect({ - brightness: this.brightness, - sigma: this.sigma, - mode: 1 - }); - - // dash background parent, not visible - let background_parent = new St.Widget({ - style_class: 'dash-blurred-background-parent', - x: 0, - y: 0, - width: 0, - height: 0, - }); - - // dash background widget - let background = new St.Widget({ - style_class: 'dash-blurred-background', - x: dash_box.x, - y: dash.height - dash_box.height - 8, - width: dash_box.width, - height: dash_box.height, - }); - - setTimeout(() => { - background.height = dash_box.height; - background.width = dash_box.width; - background.x = dash_box.x; - background.y = dash.height - dash_box.height - 8; - }, 100); - - let dash_icons_container = dash.get_child_at_index(1).get_child_at_index(0).get_child_at_index(2); - - // updates size on change - // TODO maybe use `connect_after`? - this.connections.connect(dash_icons_container, 'notify', () => { - background.height = dash_box.height; - background.width = dash_box.width; - background.x = dash_box.x; - background.y = dash.height - dash_box.height - 8; - }); - - // HACK - { - // ! DIRTY PART: hack because `Shell.BlurEffect` does not repaint when shadows are under it - // ! this does not entirely fix this bug (shadows caused by windows still cause artefacts) - // ! but it prevents the shadows of the dash buttons to cause artefacts on the dash itself - // ! note: issue opened at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 - - if (prefs.HACKS_LEVEL.get() == 1) { - this._log("dash hack level 1"); - - let rp = () => { - effect.queue_repaint() - }; - - dash_icons_container.get_children().forEach((icon) => { - let zone = icon.get_child_at_index(0); - this.connections.connect(zone, 'enter-event', rp); - this.connections.connect(zone, 'leave-event', rp); - this.connections.connect(zone, 'button-press-event', rp); - }) - - this.connections.connect(dash_icons_container, 'actor-added', (_, actor) => { - let zone = actor.get_child_at_index(0); - this.connections.connect(zone, 'enter-event', rp); - this.connections.connect(zone, 'leave-event', rp); - this.connections.connect(zone, 'button-press-event', rp); - }) - - let dash_show_apps = dash.get_child_at_index(1).get_child_at_index(1); - - this.connections.connect(dash_show_apps, 'enter-event', rp); - this.connections.connect(dash_show_apps, 'leave-event', rp); - this.connections.connect(dash_show_apps, 'button-press-event', rp); - - this.connections.connect(dash, 'leave-event', rp); - } else if (prefs.HACKS_LEVEL.get() == 2) { - this._log("dash hack level 2"); - - let rp = () => { - effect.queue_repaint(); - }; - - // disabled because of #31 - /* - this.connections.connect(dash, 'paint', rp); - */ - } - - // ! END OF DIRTY PART - } - - // add the widget to the dash - background.add_effect(effect); - background_parent.add_child(background); - dash.get_parent().insert_child_at_index(background_parent, 0); - dash_box.style = "background-color:rgba(0,0,0,0.0);"; - setTimeout(() => { - dash_box.style = "background-color:rgba(0,0,0,0.0);"; - Main.panel._leftCorner.hide(); - Main.panel._rightCorner.hide(); - }, 500); - setTimeout(() => { - dash_box.style = "background-color:rgba(0,0,0,0.0);" - }, 3000); - - // returns infos - return new DashInfos(this, dash, dash_box, background_parent, effect); - } - - set_sigma(sigma) { - this.sigma = sigma; - this.emit('update-sigma', true); - } - - set_brightness(brightness) { - this.brightness = brightness; - this.emit('update-brightness', true); - } - - disable() { - this._log("removing blur from dashes"); - - this.emit('remove-dashes', true); - - this.dashes = []; - } - - show() { - this.emit('show', true); - } - hide() { - this.emit('hide', true); - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} - -Signals.addSignalMethods(DashBlur.prototype); \ No newline at end of file diff --git a/src/dbus/client.js b/src/dbus/client.js new file mode 100644 index 00000000..1aae9bb9 --- /dev/null +++ b/src/dbus/client.js @@ -0,0 +1,60 @@ +'use strict'; + +const Gio = imports.gi.Gio; + +const bus_name = 'org.gnome.Shell'; +const iface_name = 'dev.aunetx.BlurMyShell'; +const obj_path = '/dev/aunetx/BlurMyShell'; + + +/// Call pick() from the DBus service, it will open the Inspector from +/// gnome-shell to pick an actor on stage. +function pick() { + Gio.DBus.session.call( + bus_name, + obj_path, + iface_name, + 'pick', + null, + null, + Gio.DBusCallFlags.NO_AUTO_START, + -1, + null, + null + ); +} + +/// Connect to DBus 'picking' signal, which will be emitted when the inspector +/// is picking a window. +function on_picking(cb) { + const id = Gio.DBus.session.signal_subscribe( + bus_name, + iface_name, + 'picking', + obj_path, + null, + Gio.DBusSignalFlags.NONE, + _ => { + cb(); + Gio.DBus.session.signal_unsubscribe(id); + } + ); +} + +/// Connect to DBus 'picked' signal, which will be emitted when a window is +/// picked. +function on_picked(cb) { + const id = Gio.DBus.session.signal_subscribe( + bus_name, + iface_name, + 'picked', + obj_path, + null, + Gio.DBusSignalFlags.NONE, + (conn, sender, obj_path, iface, signal, params) => { + const val = params.get_child_value(0); + cb(val.get_string()[0]); + Gio.DBus.session.signal_unsubscribe(id); + } + ); +} diff --git a/src/dbus/iface.xml b/src/dbus/iface.xml new file mode 100644 index 00000000..4f298ad1 --- /dev/null +++ b/src/dbus/iface.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/dbus/services.js b/src/dbus/services.js new file mode 100644 index 00000000..bfd7e3be --- /dev/null +++ b/src/dbus/services.js @@ -0,0 +1,93 @@ +'use strict'; + +const { Gio, GLib } = imports.gi; +const Main = imports.ui.main; +const LookingGlass = imports.ui.lookingGlass; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); + +const load_file = path => { + const [, buffer] = GLib.file_get_contents(path); + const contents = imports.byteArray.toString(buffer); + GLib.free(buffer); + return contents; +}; + +const iface = load_file(Me.dir.get_path() + '/dbus/iface.xml'); + +var ApplicationsService = class ApplicationsService { + constructor() { + this.DBusImpl = Gio.DBusExportedObject.wrapJSObject(iface, this); + } + + /// Pick Window for Preferences Page, exported to DBus client. + pick() { + // emit `picking` signal to know we are listening + const send_picking_signal = _ => + this.DBusImpl.emit_signal( + 'picking', + null + ); + + // emit `picked` signal to send wm_class + const send_picked_signal = wm_class => + this.DBusImpl.emit_signal( + 'picked', + new GLib.Variant('(s)', [wm_class]) + ); + + // notify the preferences that we are listening + send_picking_signal(); + + // A very interesting way to pick a window: + // 1. Open LookingGlass to mask all event handles of window + // 2. Use inspector to pick window, thats is also lookingGlass do + // 3. Close LookingGlass when done + // It will restore event handles of window + + // open then hide LookingGlass + const looking_class = Main.createLookingGlass(); + looking_class.open(); + looking_class.hide(); + + // inspect window now + const inspector = new LookingGlass.Inspector(Main.createLookingGlass()); + inspector.connect('target', (me, target, x, y) => { + // remove border effect when window is picked. + const effect_name = 'lookingGlass_RedBorderEffect'; + target + .get_effects() + .filter(e => e.toString().includes(effect_name)) + .forEach(e => target.remove_effect(e)); + + // get wm_class_instance property of window, then pass it to DBus + // client + const type_str = target.toString(); + + let actor = target; + if (type_str.includes('MetaSurfaceActor')) + actor = target.get_parent(); + + if (!actor.toString().includes('WindowActor')) + return send_picked_signal('window-not-found'); + + send_picked_signal( + actor.meta_window.get_wm_class() ?? 'window-not-found' + ); + }); + + // close LookingGlass when we're done + inspector.connect('closed', _ => looking_class.close()); + } + + export() { + this.DBusImpl.export( + Gio.DBus.session, + '/dev/aunetx/BlurMyShell' + ); + } + + unexport() { + this.DBusImpl.unexport(); + } +}; diff --git a/src/effects/color_effect.glsl b/src/effects/color_effect.glsl new file mode 100644 index 00000000..142b89bf --- /dev/null +++ b/src/effects/color_effect.glsl @@ -0,0 +1,13 @@ +uniform sampler2D tex; +uniform float red; +uniform float green; +uniform float blue; +uniform float blend; + +void main() { + vec4 c = texture2D(tex, cogl_tex_coord_in[0].st); + vec3 pix_color = c.xyz; + vec3 color = vec3(red, green, blue); + + cogl_color_out = vec4(mix(pix_color, color, blend), 1.); +} \ No newline at end of file diff --git a/src/effects/color_effect.js b/src/effects/color_effect.js new file mode 100644 index 00000000..a550f908 --- /dev/null +++ b/src/effects/color_effect.js @@ -0,0 +1,186 @@ +'use strict'; + +const { GLib, GObject, Gio, Clutter, Shell } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); +const { Prefs } = Me.imports.conveniences.settings; +const { Keys } = Me.imports.conveniences.keys; + + +const SHADER_PATH = GLib.build_filenamev( + [Me.path, 'effects', 'color_effect.glsl'] +); + +const get_shader_source = _ => { + try { + return Shell.get_file_contents_utf8_sync(SHADER_PATH); + } catch (e) { + log(`[Blur my Shell] error loading shader from ${SHADER_PATH}: ${e}`); + return null; + } +}; + +/// New Clutter Shader Effect that simply mixes a color in, the class applies +/// the GLSL shader programmed into vfunc_get_static_shader_source and applies +/// it to an Actor. +/// +/// Clutter Shader Source Code: +/// https://github.com/GNOME/clutter/blob/master/clutter/clutter-shader-effect.c +/// +/// GJS Doc: +/// https://gjs-docs.gnome.org/clutter10~10_api/clutter.shadereffect +var ColorEffect = new GObject.registerClass({ + GTypeName: "ColorEffect", + Properties: { + 'red': GObject.ParamSpec.double( + `red`, + `Red`, + `Red value in shader`, + GObject.ParamFlags.READWRITE, + 0.0, 1.0, + 0.4, + ), + 'green': GObject.ParamSpec.double( + `green`, + `Green`, + `Green value in shader`, + GObject.ParamFlags.READWRITE, + 0.0, 1.0, + 0.4, + ), + 'blue': GObject.ParamSpec.double( + `blue`, + `Blue`, + `Blue value in shader`, + GObject.ParamFlags.READWRITE, + 0.0, 1.0, + 0.4, + ), + 'blend': GObject.ParamSpec.double( + `blend`, + `Blend`, + `Amount of blending between the colors`, + GObject.ParamFlags.READWRITE, + 0.0, 1.0, + 0.4, + ), + } +}, class ColorShader extends Clutter.ShaderEffect { + _init(params) { + this._red = null; + this._green = null; + this._blue = null; + this._blend = null; + + this._static = true; + this._prefs = new Prefs(Keys); + + // initialize without color as a parameter + + let _color = params.color; + delete params.color; + + super._init(params); + + // set shader source + + this._source = get_shader_source(); + + if (this._source) + this.set_shader_source(this._source); + + // set shader color + + if (_color) + this.color = _color; + + this.update_enabled(); + } + + get red() { + return this._red; + } + + set red(value) { + if (this._red !== value) { + this._red = value; + + this.set_uniform_value('red', parseFloat(this._red - 1e-6)); + } + } + + get green() { + return this._green; + } + + set green(value) { + if (this._green !== value) { + this._green = value; + + this.set_uniform_value('green', parseFloat(this._green - 1e-6)); + } + } + + get blue() { + return this._blue; + } + + set blue(value) { + if (this._blue !== value) { + this._blue = value; + + this.set_uniform_value('blue', parseFloat(this._blue - 1e-6)); + } + } + + get blend() { + return this._blend; + } + + set blend(value) { + if (this._blend !== value) { + this._blend = value; + + this.set_uniform_value('blend', parseFloat(this._blend - 1e-6)); + } + this.update_enabled(); + } + + set color(rgba) { + let [r, g, b, a] = rgba; + this.red = r; + this.green = g; + this.blue = b; + this.blend = a; + } + + get color() { + return [this.red, this.green, this.blue, this.blend]; + } + + /// False set function, only cares about the color. Too hard to change. + set(params) { + this.color = params.color; + } + + update_enabled() { + this.set_enabled( + this.blend > 0 && + this._prefs.COLOR_AND_NOISE && + this._static + ); + } + + + vfunc_paint_target(paint_node = null, paint_context = null) { + this.set_uniform_value("tex", 0); + + if (paint_node && paint_context) + super.vfunc_paint_target(paint_node, paint_context); + else if (paint_node) + super.vfunc_paint_target(paint_node); + else + super.vfunc_paint_target(); + } +}); \ No newline at end of file diff --git a/src/effects/noise_effect.glsl b/src/effects/noise_effect.glsl new file mode 100644 index 00000000..6d701b60 --- /dev/null +++ b/src/effects/noise_effect.glsl @@ -0,0 +1,20 @@ +uniform sampler2D tex; +uniform float noise; +uniform float lightness; + +float PHI = 1.61803398874989484820459; +float SEED = 24; + +float noise_gen(in vec2 xy) { + float r = fract(tan(distance(xy * PHI, xy) * SEED) * xy.x); + r = r != r ? 0.0 : r; + return r; +} + +void main() { + vec4 c = texture2D(tex, cogl_tex_coord_in[0].st); + vec3 pix_color = c.xyz; + float blend = noise * (1. - noise_gen(gl_FragCoord.xy)); + + cogl_color_out = vec4(mix(pix_color, lightness * pix_color, blend), 1.); +} \ No newline at end of file diff --git a/src/effects/noise_effect.js b/src/effects/noise_effect.js new file mode 100644 index 00000000..f7953649 --- /dev/null +++ b/src/effects/noise_effect.js @@ -0,0 +1,106 @@ +'use strict'; + +const { GLib, GObject, Gio, Clutter, Shell } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); +const { Prefs } = Me.imports.conveniences.settings; +const { Keys } = Me.imports.conveniences.keys; + + +const SHADER_PATH = GLib.build_filenamev( + [Me.path, 'effects', 'noise_effect.glsl'] +); + +const get_shader_source = _ => { + try { + return Shell.get_file_contents_utf8_sync(SHADER_PATH); + } catch (e) { + log(`[Blur my Shell] error loading shader from ${SHADER_PATH}: ${e}`); + return null; + } +}; + +var NoiseEffect = new GObject.registerClass({ + GTypeName: "NoiseEffect", + Properties: { + 'noise': GObject.ParamSpec.double( + `noise`, + `Noise`, + `Amount of noise integrated with the image`, + GObject.ParamFlags.READWRITE, + 0.0, 1.0, + 0.4, + ), + 'lightness': GObject.ParamSpec.double( + `lightness`, + `Lightness`, + `Lightness of the grey used for the noise`, + GObject.ParamFlags.READWRITE, + 0.0, 2.0, + 0.4, + ), + } +}, class NoiseShader extends Clutter.ShaderEffect { + _init(params) { + this._noise = null; + this._lightness = null; + + this._static = true; + this._prefs = new Prefs(Keys); + + super._init(params); + + // set shader source + this._source = get_shader_source(); + if (this._source) + this.set_shader_source(this._source); + + this.update_enabled(); + } + + get noise() { + return this._noise; + } + + set noise(value) { + if (this._noise !== value) { + this._noise = value; + + this.set_uniform_value('noise', parseFloat(this._noise - 1e-6)); + } + this.update_enabled(); + } + + get lightness() { + return this._lightness; + } + + set lightness(value) { + if (this._lightness !== value) { + this._lightness = value; + + this.set_uniform_value('lightness', parseFloat(this._lightness - 1e-6)); + } + } + + update_enabled() { + this.set_enabled( + this.noise > 0 && + this._prefs.COLOR_AND_NOISE && + this._static + ); + } + + + vfunc_paint_target(paint_node = null, paint_context = null) { + this.set_uniform_value("tex", 0); + + if (paint_node && paint_context) + super.vfunc_paint_target(paint_node, paint_context); + else if (paint_node) + super.vfunc_paint_target(paint_node); + else + super.vfunc_paint_target(); + } +}); \ No newline at end of file diff --git a/src/effects/paint_signals.js b/src/effects/paint_signals.js new file mode 100644 index 00000000..8c836fd2 --- /dev/null +++ b/src/effects/paint_signals.js @@ -0,0 +1,90 @@ +'use strict'; + +const { GObject, Clutter } = imports.gi; + + +var PaintSignals = class PaintSignals { + constructor(connections) { + this.buffer = []; + this.connections = connections; + } + + connect(actor, blur_effect) { + let paint_effect = new EmitPaintSignal(); + let infos = { + actor: actor, + paint_effect: paint_effect + }; + let counter = 0; + + actor.add_effect(paint_effect); + this.connections.connect(paint_effect, 'update-blur', () => { + try { + // checking if blur_effect.queue_repaint() has been recently called + if (counter === 0) { + counter = 2; + blur_effect.queue_repaint(); + } + else counter--; + } catch (e) { } + }); + + // remove the actor from buffer when it is destroyed + if ( + actor.connect && + ( + !(actor instanceof GObject.Object) || + GObject.signal_lookup('destroy', actor) + ) + ) + this.connections.connect(actor, 'destroy', () => { + this.buffer.forEach(infos => { + if (infos.actor === actor) { + // remove from buffer + let index = this.buffer.indexOf(infos); + this.buffer.splice(index, 1); + } + }); + }); + + this.buffer.push(infos); + } + + disconnect_all_for_actor(actor) { + this.buffer.forEach(infos => { + if (infos.actor === actor) { + this.connections.disconnect_all_for(infos.paint_effect); + infos.actor.remove_effect(infos.paint_effect); + + // remove from buffer + let index = this.buffer.indexOf(infos); + this.buffer.splice(index, 1); + } + }); + } + + disconnect_all() { + this.buffer.forEach(infos => { + this.connections.disconnect_all_for(infos.paint_effect); + infos.actor.remove_effect(infos.paint_effect); + }); + + this.buffer = []; + } +}; + +var EmitPaintSignal = GObject.registerClass({ + GTypeName: 'EmitPaintSignal', + Signals: { + 'update-blur': { + param_types: [] + }, + } +}, + class EmitPaintSignal extends Clutter.Effect { + vfunc_paint(node, paint_context, paint_flags) { + this.emit("update-blur"); + super.vfunc_paint(node, paint_context, paint_flags); + } + } +); \ No newline at end of file diff --git a/src/extension.js b/src/extension.js index e221e29c..068fbd32 100644 --- a/src/extension.js +++ b/src/extension.js @@ -1,157 +1,648 @@ 'use strict'; -const { St, Shell } = imports.gi; +const { St, Shell, Gio, Gtk, Meta, Clutter } = imports.gi; const Main = imports.ui.main; const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Settings = Me.imports.settings; -const Connections = Me.imports.connections; +const { Connections } = Me.imports.conveniences.connections; +const { Prefs } = Me.imports.conveniences.settings; +const { Keys } = Me.imports.conveniences.keys; -const Panel = Me.imports.panel; -const Dash = Me.imports.dash; -const Overview = Me.imports.overview; -const DashToDock = Me.imports.dash_to_dock; -const Lockscreen = Me.imports.lockscreen; +const Panel = Me.imports.components.panel; +const Overview = Me.imports.components.overview; +const DashToDock = Me.imports.components.dash_to_dock; +const Lockscreen = Me.imports.components.lockscreen; +const AppFolders = Me.imports.components.appfolders; +const WindowList = Me.imports.components.window_list; +const Applications = Me.imports.components.applications; +const Screenshot = Me.imports.components.screenshot; +// This lists the components that need to be connected in order to either use +// general sigma/brightness or their own. +const INDEPENDENT_COMPONENTS = [ + "overview", "appfolder", "panel", "dash_to_dock", "applications", + "lockscreen", "window_list", "screenshot" +]; + + +/// The main extension class, created when the GNOME Shell is loaded. class Extension { - constructor() { - this._connections = new Connections.Connections; - this._prefs = new Settings.Prefs; - - this._panel_blur = new Panel.PanelBlur(this._connections); - this._dash_blur = new Dash.DashBlur(this._connections); - this._dash_to_dock_blur = new DashToDock.DashBlur(this._connections); - this._overview_blur = new Overview.OverviewBlur(this._connections); - this._lockscreen_blur = new Lockscreen.LockscreenBlur(this._connections); - } + constructor() { } + /// Enables the extension enable() { + // add the extension to global to make it accessible to other extensions + // create it first as it is very useful when debugging crashes + + global.blur_my_shell = this; + + // create a Prefs instance, to manage extension's preferences + // it needs to be loaded before logging, as it checks for DEBUG + + this._prefs = new Prefs(Keys); + this._log("enabling extension..."); - this._connect_to_settings(); + // create main extension Connections instance - if (this._prefs.BLUR_PANEL.get()) { - this._panel_blur.enable() - } - if (this._prefs.BLUR_DASH.get()) { - this._dash_blur.enable(); - this._dash_to_dock_blur.enable(); - } - if (this._prefs.BLUR_OVERVIEW.get()) { - this._overview_blur.enable() - } - if (this._prefs.BLUR_LOCKSCREEN.get()) { - this._lockscreen_blur.enable() - } + this._connection = new Connections; + + // store it in a global array + + this._connections = [this._connection]; + + // create an instance of each component, with its associated Connections + + let init = _ => { + // create a Connections instance, to manage signals + let connection = new Connections; - this._update_sigma(); - this._update_brightness(); + // store it to keeps track of them globally + this._connections.push(connection); - this._connect_to_overview(); + return [connection, this._prefs]; + }; - this._log("extension enabled."); + this._panel_blur = new Panel.PanelBlur(...init()); + this._dash_to_dock_blur = new DashToDock.DashBlur(...init()); + this._overview_blur = new Overview.OverviewBlur(...init()); + this._lockscreen_blur = new Lockscreen.LockscreenBlur(...init()); + this._appfolder_blur = new AppFolders.AppFoldersBlur(...init()); + this._window_list_blur = new WindowList.WindowListBlur(...init()); + this._applications_blur = new Applications.ApplicationsBlur(...init()); + this._screenshot_blur = new Screenshot.ScreenshotBlur(...init()); + + // maybe disable clipped redraw + + this._update_clipped_redraws(); + + // connect each component to preferences change + + this._connect_to_settings(); + + // enable every component + // if the shell is still starting up, wait for it to be entirely loaded; + // this should prevent bugs like #136 and #137 + if (Main.layoutManager._startingUp) { + this._connection.connect( + Main.layoutManager, + 'startup-complete', + this._enable_components.bind(this) + ); + } else { + this._enable_components(); + } + + // try to enable the components as soon as possible anyway, this way the + // overview may load before the user sees it + try { + if (this._prefs.overview.BLUR && !this._overview_blur.enabled) + this._overview_blur.enable(); + } catch (e) { } + try { + if (this._prefs.dash_to_dock.BLUR + && !this._dash_to_dock_blur.enabled) + this._dash_to_dock_blur.enable(); + } catch (e) { } + try { + if (this._prefs.panel.BLUR && !this._panel_blur.enabled) + this._panel_blur.enable(); + } catch (e) { } } + /// Disables the extension disable() { this._log("disabling extension..."); + // disable every component + this._panel_blur.disable(); - this._dash_blur.disable(); this._dash_to_dock_blur.disable(); this._overview_blur.disable(); this._lockscreen_blur.disable(); + this._appfolder_blur.disable(); + this._window_list_blur.disable(); + this._applications_blur.disable(); + this._screenshot_blur.disable(); + + // untrack them - this._disconnect_settings(); - this._connections.disconnect_all(); + this._panel_blur = null; + this._dash_to_dock_blur = null; + this._overview_blur = null; + this._lockscreen_blur = null; + this._appfolder_blur = null; + this._window_list_blur = null; + this._applications_blur = null; + + // make sure no settings change can re-enable them + + this._prefs.disconnect_all_settings(); + + // force disconnecting every signal, even if component crashed + + this._connections.forEach((connections) => { + connections.disconnect_all(); + }); + this._connections = []; + + // remove the clipped redraws flag + + this._reenable_clipped_redraws(); + + // remove the extension from GJS's global + + delete global.blur_my_shell; this._log("extension disabled."); + + this._prefs = null; + } + + /// Restart the extension. + _restart() { + this._log("restarting..."); + + this.disable(); + this.enable(); + + this._log("restarted."); + } + + /// Add or remove the clutter debug flag to disable clipped redraws. + /// This will entirely fix the blur effect, but should not be used except if + /// the user really needs it, as clipped redraws are a huge performance + /// boost for the compositor. + _update_clipped_redraws() { + if (this._prefs.HACKS_LEVEL === 3) + this._disable_clipped_redraws(); + else + this._reenable_clipped_redraws(); + } + + /// Add the Clutter debug flag. + _disable_clipped_redraws() { + Meta.add_clutter_debug_flags( + null, Clutter.DrawDebugFlag.DISABLE_CLIPPED_REDRAWS, null + ); + } + + /// Remove the Clutter debug flag. + _reenable_clipped_redraws() { + Meta.remove_clutter_debug_flags( + null, Clutter.DrawDebugFlag.DISABLE_CLIPPED_REDRAWS, null + ); + } + + /// Enables every component needed, should be called when the shell is + /// entirely loaded as the `enable` methods interact with it. + _enable_components() { + // enable each component if needed, and if it is not already enabled + + if (this._prefs.panel.BLUR && !this._panel_blur.enabled) + this._panel_blur.enable(); + + if (this._prefs.dash_to_dock.BLUR && !this._dash_to_dock_blur.enabled) + this._dash_to_dock_blur.enable(); + + if (this._prefs.overview.BLUR && !this._overview_blur.enabled) + this._overview_blur.enable(); + + if (this._prefs.lockscreen.BLUR) + this._lockscreen_blur.enable(); + + if (this._prefs.appfolder.BLUR) + this._appfolder_blur.enable(); + + if (this._prefs.applications.BLUR) + this._applications_blur.enable(); + + if (this._prefs.window_list.BLUR) + this._window_list_blur.enable(); + + if (this._prefs.screenshot.BLUR) + this._screenshot_blur.enable(); + + this._log("all components enabled."); } + /// Updates needed things in each component when a preference changed _connect_to_settings() { - this._prefs.SIGMA.changed(() => { - this._update_sigma() + + // global blur values changed, update everybody + + this._prefs.SIGMA_changed(() => { + this._update_sigma(); + }); + this._prefs.BRIGHTNESS_changed(() => { + this._update_brightness(); + }); + this._prefs.COLOR_changed(() => { + this._update_color(); + }); + this._prefs.NOISE_AMOUNT_changed(() => { + this._update_noise_amount(); + }); + this._prefs.NOISE_LIGHTNESS_changed(() => { + this._update_noise_lightness(); + }); + this._prefs.COLOR_AND_NOISE_changed(() => { + // both updating noise amount and color calls `update_enabled` on + // each color and noise effects + this._update_noise_amount(); + this._update_color(); + }); + + // restart the extension when hacks level is changed, easier than + // restarting individual components and should not happen often either + this._prefs.HACKS_LEVEL_changed(_ => this._restart()); + + // connect each component to use the proper sigma/brightness/color + + INDEPENDENT_COMPONENTS.forEach(component => { + this._connect_to_individual_settings(component); + }); + + // other component's preferences changed + + // ---------- OVERVIEW ---------- + + // toggled on/off + this._prefs.overview.BLUR_changed(() => { + if (this._prefs.overview.BLUR) { + this._overview_blur.enable(); + } else { + this._overview_blur.disable(); + } + }); + + // overview components style changed + this._prefs.overview.STYLE_COMPONENTS_changed(() => { + if (this._prefs.overview.BLUR) { + this._overview_blur.update_components_classname(); + } + }); + + + // ---------- APPFOLDER ---------- + + // toggled on/off + this._prefs.appfolder.BLUR_changed(() => { + if (this._prefs.appfolder.BLUR) { + this._appfolder_blur.enable(); + } else { + this._appfolder_blur.disable(); + } }); - this._prefs.BRIGHTNESS.changed(() => { - this._update_brightness() + + // appfolder dialogs style changed + this._prefs.appfolder.STYLE_DIALOGS_changed(() => { + if (this._prefs.appfolder.BLUR) + this._appfolder_blur.blur_appfolders(); + }); + + + // ---------- PANEL ---------- + + // toggled on/off + this._prefs.panel.BLUR_changed(() => { + if (this._prefs.panel.BLUR) { + this._panel_blur.enable(); + } else { + this._panel_blur.disable(); + } + }); + + this._prefs.COLOR_AND_NOISE_changed(() => { + // permits making sure that the blur is not washed out when disabling + // the other effects + if (this._prefs.panel.BLUR) + this._panel_blur.invalidate_all_blur(); + }); + + // static blur toggled on/off + this._prefs.panel.STATIC_BLUR_changed(() => { + if (this._prefs.panel.BLUR) + this._panel_blur.update_all_blur_type(); }); - this._prefs.BLUR_DASH.changed(() => { - if (this._prefs.BLUR_DASH.get()) { - this._dash_blur.enable(); + // panel blur's overview connection toggled on/off + this._prefs.panel.UNBLUR_IN_OVERVIEW_changed(() => { + this._panel_blur.connect_to_windows_and_overview(); + }); + + // panel override background toggled on/off + this._prefs.panel.OVERRIDE_BACKGROUND_changed(() => { + if (this._prefs.panel.BLUR) + this._panel_blur.connect_to_windows_and_overview(); + }); + + // panel style changed + this._prefs.panel.STYLE_PANEL_changed(() => { + if (this._prefs.panel.BLUR) + this._panel_blur.connect_to_windows_and_overview(); + }); + + // panel background's dynamic overriding toggled on/off + this._prefs.panel.OVERRIDE_BACKGROUND_DYNAMICALLY_changed(() => { + if (this._prefs.panel.BLUR) + this._panel_blur.connect_to_windows_and_overview(); + }); + + + // ---------- DASH TO DOCK ---------- + + // toggled on/off + this._prefs.dash_to_dock.BLUR_changed(() => { + if (this._prefs.dash_to_dock.BLUR) { this._dash_to_dock_blur.enable(); } else { - this._dash_blur.disable(); this._dash_to_dock_blur.disable(); } }); - this._prefs.BLUR_PANEL.changed(() => { - if (this._prefs.BLUR_PANEL.get()) { - this._panel_blur.enable() + + // TODO implement static blur for dash + // static blur toggled on/off + this._prefs.dash_to_dock.STATIC_BLUR_changed(() => { + //if (this._prefs.dash_to_dock.BLUR) + // this._dash_to_dock_blur.change_blur_type(); + }); + + // dash-to-dock override background toggled on/off + this._prefs.dash_to_dock.OVERRIDE_BACKGROUND_changed(() => { + if (this._prefs.dash_to_dock.BLUR) + this._dash_to_dock_blur.update_background(); + }); + + // dash-to-dock style changed + this._prefs.dash_to_dock.STYLE_DASH_TO_DOCK_changed(() => { + if (this._prefs.dash_to_dock.BLUR) + this._dash_to_dock_blur.update_background(); + }); + + // dash-to-dock blur's overview connection toggled on/off + this._prefs.dash_to_dock.UNBLUR_IN_OVERVIEW_changed(() => { + if (this._prefs.dash_to_dock.BLUR) + this._dash_to_dock_blur.connect_to_overview(); + }); + + + // ---------- APPLICATIONS ---------- + + // toggled on/off + this._prefs.applications.BLUR_changed(() => { + if (this._prefs.applications.BLUR) { + this._applications_blur.enable(); } else { - this._panel_blur.disable() + this._applications_blur.disable(); } }); - this._prefs.BLUR_OVERVIEW.changed(() => { - if (this._prefs.BLUR_OVERVIEW.get()) { - this._overview_blur.enable() + + // application opacity changed + this._prefs.applications.OPACITY_changed(_ => { + if (this._prefs.applications.BLUR) + this._applications_blur.set_opacity( + this._prefs.applications.OPACITY + ); + }); + + // application blur-on-overview changed + this._prefs.applications.BLUR_ON_OVERVIEW_changed(_ => { + if (this._prefs.applications.BLUR) + this._applications_blur.connect_to_overview(); + }); + + // application enable-all changed + this._prefs.applications.ENABLE_ALL_changed(_ => { + if (this._prefs.applications.BLUR) + this._applications_blur.update_all_windows(); + }); + + // application whitelist changed + this._prefs.applications.WHITELIST_changed(_ => { + if ( + this._prefs.applications.BLUR + && !this._prefs.applications.ENABLE_ALL + ) + this._applications_blur.update_all_windows(); + }); + + // application blacklist changed + this._prefs.applications.BLACKLIST_changed(_ => { + if ( + this._prefs.applications.BLUR + && this._prefs.applications.ENABLE_ALL + ) + this._applications_blur.update_all_windows(); + }); + + + // ---------- LOCKSCREEN ---------- + + // toggled on/off + this._prefs.lockscreen.BLUR_changed(() => { + if (this._prefs.lockscreen.BLUR) { + this._lockscreen_blur.enable(); } else { - this._overview_blur.disable() + this._lockscreen_blur.disable(); } }); - this._prefs.BLUR_LOCKSCREEN.changed(() => { - if (this._prefs.BLUR_LOCKSCREEN.get()) { - this._lockscreen_blur.enable() + + + // ---------- WINDOW LIST ---------- + + // toggled on/off + this._prefs.window_list.BLUR_changed(() => { + if (this._prefs.window_list.BLUR) { + this._window_list_blur.enable(); } else { - this._lockscreen_blur.disable() + this._window_list_blur.disable(); } }); - this._prefs.DASH_OPACITY.changed(() => { - this._dash_blur.update() + + + // ---------- HIDETOPBAR ---------- + + // toggled on/off + this._prefs.hidetopbar.COMPATIBILITY_changed(() => { + // no need to verify if it is enabled or not, it is done anyway + this._panel_blur.connect_to_windows_and_overview(); + }); + + + // ---------- DASH TO PANEL ---------- + + // toggled on/off + this._prefs.dash_to_panel.BLUR_ORIGINAL_PANEL_changed(() => { + if (this._prefs.panel.BLUR) + this._panel_blur.reset(); }); - this._prefs.STATIC_BLUR.changed(() => { - this._panel_blur.change_blur_type() + + + // ---------- SCREENSHOT ---------- + + // toggled on/off + this._prefs.screenshot.BLUR_changed(() => { + if (this._prefs.screenshot.BLUR) { + this._screenshot_blur.enable(); + } else { + this._screenshot_blur.disable(); + } }); } - _disconnect_settings() { - this._prefs.SIGMA.disconnect(); - this._prefs.BRIGHTNESS.disconnect(); + /// Select the component by its name and connect it to its preferences + /// changes for general values, sigma and brightness. + /// + /// Doing this in such a way is less accessible but prevents a lot of + /// boilerplate and headaches. + _connect_to_individual_settings(name) { + // get component and preferences needed + let component = this['_' + name + '_blur']; + let component_prefs = this._prefs[name]; + + // general values switch is toggled + component_prefs.CUSTOMIZE_changed(() => { + if (component_prefs.CUSTOMIZE) { + component.set_sigma(component_prefs.SIGMA); + component.set_brightness(component_prefs.BRIGHTNESS); + component.set_color(component_prefs.COLOR); + component.set_noise_amount(component_prefs.NOISE_AMOUNT); + component.set_noise_lightness(component_prefs.NOISE_LIGHTNESS); + } + else { + component.set_sigma(this._prefs.SIGMA); + component.set_brightness(this._prefs.BRIGHTNESS); + component.set_color(this._prefs.COLOR); + component.set_noise_amount(this._prefs.NOISE_AMOUNT); + component.set_noise_lightness(this._prefs.NOISE_LIGHTNESS); + } + }); + + // sigma is changed + component_prefs.SIGMA_changed(() => { + if (component_prefs.CUSTOMIZE) + component.set_sigma(component_prefs.SIGMA); + else + component.set_sigma(this._prefs.SIGMA); + }); + + // brightness is changed + component_prefs.BRIGHTNESS_changed(() => { + if (component_prefs.CUSTOMIZE) + component.set_brightness(component_prefs.BRIGHTNESS); + else + component.set_brightness(this._prefs.BRIGHTNESS); + }); + + // color is changed + component_prefs.COLOR_changed(() => { + if (component_prefs.CUSTOMIZE) + component.set_color(component_prefs.COLOR); + else + component.set_color(this._prefs.COLOR); + }); + + // noise amount is changed + component_prefs.NOISE_AMOUNT_changed(() => { + if (component_prefs.CUSTOMIZE) + component.set_noise_amount(component_prefs.NOISE_AMOUNT); + else + component.set_noise_amount(this._prefs.NOISE_AMOUNT); + }); + + // noise lightness is changed + component_prefs.NOISE_LIGHTNESS_changed(() => { + if (component_prefs.CUSTOMIZE) + component.set_noise_lightness(component_prefs.NOISE_LIGHTNESS); + else + component.set_noise_lightness(this._prefs.NOISE_LIGHTNESS); + }); } + /// Update each component's sigma value _update_sigma() { - let sigma = this._prefs.SIGMA.get(); + INDEPENDENT_COMPONENTS.forEach(name => { + // get component and preferences needed + let component = this['_' + name + '_blur']; + let component_prefs = this._prefs[name]; - this._panel_blur.set_sigma(sigma); - this._dash_to_dock_blur.set_sigma(sigma); - this._overview_blur.set_sigma(sigma); - this._lockscreen_blur.set_sigma(sigma); + // update sigma accordingly + if (component_prefs.CUSTOMIZE) { + component.set_sigma(component_prefs.SIGMA); + } + else { + component.set_sigma(this._prefs.SIGMA); + } + }); } + /// Update each component's brightness value _update_brightness() { - let brightness = this._prefs.BRIGHTNESS.get(); + INDEPENDENT_COMPONENTS.forEach(name => { + // get component and preferences needed + let component = this['_' + name + '_blur']; + let component_prefs = this._prefs[name]; + + // update brightness accordingly + if (component_prefs.CUSTOMIZE) + component.set_brightness(component_prefs.BRIGHTNESS); + else + component.set_brightness(this._prefs.BRIGHTNESS); + }); + } + + /// Update each component's color value + _update_color() { + INDEPENDENT_COMPONENTS.forEach(name => { + // get component and preferences needed + let component = this['_' + name + '_blur']; + let component_prefs = this._prefs[name]; - this._panel_blur.set_brightness(brightness); - this._dash_to_dock_blur.set_brightness(brightness); - this._overview_blur.set_brightness(brightness); - this._lockscreen_blur.set_brightness(brightness); + // update color accordingly + if (component_prefs.CUSTOMIZE) + component.set_color(component_prefs.COLOR); + else + component.set_color(this._prefs.COLOR); + }); } - _connect_to_overview() { - this._connections.connect(Main.overview, 'showing', () => { - this._panel_blur.hide(); - //this._dash_to_dock_blur.hide(); + /// Update each component's noise amount value + _update_noise_amount() { + INDEPENDENT_COMPONENTS.forEach(name => { + // get component and preferences needed + let component = this['_' + name + '_blur']; + let component_prefs = this._prefs[name]; + + // update color accordingly + if (component_prefs.CUSTOMIZE) + component.set_noise_amount(component_prefs.NOISE_AMOUNT); + else + component.set_noise_amount(this._prefs.NOISE_AMOUNT); }); - this._connections.connect(Main.overview, 'hidden', () => { - this._panel_blur.show(); - //this._dash_to_dock_blur.show(); + } + + /// Update each component's noise lightness value + _update_noise_lightness() { + INDEPENDENT_COMPONENTS.forEach(name => { + // get component and preferences needed + let component = this['_' + name + '_blur']; + let component_prefs = this._prefs[name]; + + // update color accordingly + if (component_prefs.CUSTOMIZE) + component.set_noise_lightness(component_prefs.NOISE_LIGHTNESS); + else + component.set_noise_lightness(this._prefs.NOISE_LIGHTNESS); }); } _log(str) { - log(`[Blur my Shell] ${str}`) + if (this._prefs.DEBUG) + log(`[Blur my Shell > extension] ${str}`); } -}; +} // Called on gnome-shell loading, even if extension is deactivated diff --git a/src/lockscreen.js b/src/lockscreen.js deleted file mode 100644 index 1c9cc2e8..00000000 --- a/src/lockscreen.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - -const { St, Shell } = imports.gi; -const Main = imports.ui.main; -const Background = imports.ui.background; - -const themeContext = St.ThemeContext.get_for_stage(global.stage); - -let sigma = 30; -let brightness = 0.6; - -const original_createBackground = imports.ui.unlockDialog.UnlockDialog.prototype._updateBackgroundEffects; - -var LockscreenBlur = class LockscreenBlur { - constructor(connections) { - this.connections = connections; - } - - enable() { - this._log("blurring lockscreen"); - - this.update_lockscreen() - } - - update_lockscreen() { - imports.ui.unlockDialog.UnlockDialog.prototype._updateBackgroundEffects = this._createBackground; - } - - - _createBackground() { - for (const widget of this._backgroundGroup.get_children()) { - widget.get_effect('blur').set({ - brightness: brightness, - sigma: sigma * themeContext.scale_factor, - }); - } - } - - _createBackground_old(monitorIndex) { - let monitor = Main.layoutManager.monitors[monitorIndex]; - let widget = new St.Widget({ - style_class: 'screen-shield-background', - x: monitor.x, - y: monitor.y, - width: monitor.width, - height: monitor.height, - }); - - let bgManager = new Background.BackgroundManager({ - container: widget, - monitorIndex, - controlPosition: false, - }); - - this._bgManagers.push(bgManager); - - this._backgroundGroup.add_child(widget); - - let effect = new Shell.BlurEffect({ - brightness: brightness, - sigma: sigma * themeContext.scale_factor, - mode: 0 - }); - - this._scaleChangedId = themeContext.connect('notify::scale-factor', () => { - effect.sigma = sigma * themeContext.scale_factor; - }); - - widget.add_effect(effect); - } - - set_sigma(s) { - sigma = s; - this.update_lockscreen(); - } - - set_brightness(b) { - brightness = b; - this.update_lockscreen(); - } - - disable() { - this._log("removing blur from lockscreen"); - - imports.ui.unlockDialog.UnlockDialog.prototype._updateBackgroundEffects = original_createBackground; - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} \ No newline at end of file diff --git a/src/metadata.json b/src/metadata.json deleted file mode 100644 index 6e7868c1..00000000 --- a/src/metadata.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "description": "Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.\n\nContains some bugs due to the implementation of the blur effect on gnome shell, see https: //gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 for more informations.\n\nAdded support for Gnome 40, and a way to entirely remove artifacts from top panel :)", - "name": "Blur my Shell", - "shell-version": [ - "40" - ], - "url": "https://github.com/aunetx/gnome-shell-extension-blur-my-shell", - "uuid": "blur-my-shell@aunetx" -} \ No newline at end of file diff --git a/src/overview.js b/src/overview.js deleted file mode 100644 index ed100579..00000000 --- a/src/overview.js +++ /dev/null @@ -1,100 +0,0 @@ -'use strict'; - -const { Shell, GLib, Gio, Meta } = imports.gi; -const Main = imports.ui.main; -const backgroundSettings = new Gio.Settings({ schema: 'org.gnome.desktop.background' }); - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Settings = Me.imports.settings; -let prefs = new Settings.Prefs; - -// useful -const setTimeout = function (func, delay, ...args) { - return GLib.timeout_add(GLib.PRIORITY_DEFAULT, delay, () => { - func(...args); - return GLib.SOURCE_REMOVE; - }); -}; - -const default_sigma = 30; -const default_brightness = 0.6; - -var OverviewBlur = class OverviewBlur { - constructor(connections) { - this.connections = connections; - this.effects = []; - } - - enable() { - this._log("blurring overview"); - - this.connections.connect(backgroundSettings, 'changed', () => { - this._log("updated background"); - setTimeout(() => { this.update_backgrounds() }, 100); - }); - - this.connections.connect(Main.layoutManager, 'monitors-changed', () => { - if (!Main.screenShield.locked) { - this._log("changed monitors"); - this.update_backgrounds() - } - }); - - this.update_backgrounds(); - } - - update_backgrounds() { - // remove every old background - Main.layoutManager.overviewGroup.get_children().forEach(actor => { - if (actor.constructor.name == 'Meta_BackgroundActor') { - Main.layoutManager.overviewGroup.remove_child(actor) - }; - this.effects = []; - }); - - // add new backgrounds - Main.layoutManager.monitors.forEach(monitor => { - let bg_actor = new Meta.BackgroundActor - let background = Main.layoutManager._backgroundGroup.get_child_at_index(Main.layoutManager.monitors.length - monitor.index - 1); - bg_actor.set_content(background.get_content()); - let effect = new Shell.BlurEffect({ - brightness: prefs.BRIGHTNESS.get(), - sigma: prefs.SIGMA.get(), - mode: 0 - }); - bg_actor.add_effect(effect); - this.effects.push(effect); - - bg_actor.set_x(monitor.x); - bg_actor.set_y(monitor.y); - - Main.layoutManager.overviewGroup.insert_child_at_index(bg_actor, monitor.index); - }); - } - - set_sigma(s) { - this.effects.forEach(effect => { - effect.sigma = s - }); - } - - set_brightness(b) { - this.effects.forEach(effect => { - effect.brightness = b - }); - } - - disable() { - this._log("removing blur from overview"); - Main.layoutManager.overviewGroup.get_children().forEach(actor => { - if (actor.constructor.name == 'Meta_BackgroundActor') { - Main.layoutManager.overviewGroup.remove_child(actor) - } - }); - this.effects = [] - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} \ No newline at end of file diff --git a/src/panel.js b/src/panel.js deleted file mode 100644 index 8249db0d..00000000 --- a/src/panel.js +++ /dev/null @@ -1,188 +0,0 @@ -'use strict'; - -const { St, Shell, Meta, Gio, GLib } = imports.gi; -const Main = imports.ui.main; -const backgroundSettings = new Gio.Settings({ schema: 'org.gnome.desktop.background' }) - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Settings = Me.imports.settings; -let prefs = new Settings.Prefs; - -const default_sigma = 30; -const default_brightness = 0.6; - -// useful -const setTimeout = function (func, delay, ...args) { - return GLib.timeout_add(GLib.PRIORITY_DEFAULT, delay, () => { - func(...args); - return GLib.SOURCE_REMOVE; - }); -}; - -var PanelBlur = class PanelBlur { - constructor(connections) { - this.connections = connections; - this.effect = new Shell.BlurEffect({ - brightness: default_brightness, - sigma: default_sigma, - mode: prefs.STATIC_BLUR.get() ? 0 : 1 - }); - this.background_parent = new St.Widget({ - style_class: 'topbar-blurred-background-parent', - x: this.monitor.x, - y: this.monitor.y, - width: this.monitor.width, - height: 0, - }); - this.background = prefs.STATIC_BLUR.get() ? new Meta.BackgroundActor : new St.Widget({ - style_class: 'topbar-blurred-background', - x: 0, - y: 0, - width: this.monitor.width, - height: Main.panel.height, - }); - this.background_parent.add_child(this.background); - } - - enable() { - this._log("blurring top panel"); - - // insert background parent - Main.panel.get_parent().insert_child_at_index(this.background_parent, 0); - // hide corners, can't style them - Main.panel._leftCorner.hide(); - Main.panel._rightCorner.hide(); - // remove background - Main.panel.add_style_class_name('transparent-panel'); - - // perform updates - this.change_blur_type(); - - // connect to size, monitor or wallpaper changes - this.connections.connect(Main.panel, 'notify::height', () => { - this.update_size(prefs.STATIC_BLUR.get()); - }); - this.connections.connect(Main.layoutManager, 'monitors-changed', () => { - this.update_wallpaper(prefs.STATIC_BLUR.get()); - this.update_size(prefs.STATIC_BLUR.get()); - }); - this.connections.connect(backgroundSettings, 'changed', () => { - setTimeout(() => { this.update_wallpaper(prefs.STATIC_BLUR.get()) }, 100); - }); - } - - change_blur_type() { - let is_static = prefs.STATIC_BLUR.get(); - - this.background_parent.remove_child(this.background); - this.background.remove_effect(this.effect); - this.background = is_static ? new Meta.BackgroundActor : new St.Widget({ - style_class: 'topbar-blurred-background', - x: 0, - y: 0, - width: this.monitor.width, - height: Main.panel.height, - }); - this.effect.set_mode(is_static ? 0 : 1); - this.background.add_effect(this.effect); - this.background_parent.add_child(this.background); - - this.update_wallpaper(is_static); - this.update_size(is_static); - - // HACK - if (!is_static) { - // ! DIRTY PART: hack because `Shell.BlurEffect` does not repaint when shadows are under it - // ! this does not entirely fix this bug (shadows caused by windows still cause artefacts) - // ! but it prevents the shadows of the panel buttons to cause artefacts on the panel itself - // ! note: issue opened at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857 - - if (prefs.HACKS_LEVEL.get() == 1) { - this._log("panel hack level 1"); - - let rp = () => { - this.effect.queue_repaint() - }; - - this.connections.connect(Main.panel, 'enter-event', rp); - this.connections.connect(Main.panel, 'leave-event', rp); - this.connections.connect(Main.panel, 'button-press-event', rp); - - Main.panel.get_children().forEach(child => { - this.connections.connect(child, 'enter-event', rp); - this.connections.connect(child, 'leave-event', rp); - this.connections.connect(child, 'button-press-event', rp); - }); - } else if (prefs.HACKS_LEVEL.get() == 2) { - this._log("panel hack level 2"); - - // disabled because of #31 - /* - Main.panel.get_children().forEach(child => { - this.connections.connect(child, 'paint', () => { - this.effect.queue_repaint(); - }); - }); - */ - } - - // ! END OF DIRTY PART - } - } - - update_wallpaper(is_static) { - if (is_static) { - let bg = Main.layoutManager._backgroundGroup.get_child_at_index(this.monitor.index); - this.background.set_content(bg.get_content()); - } - } - - update_size(is_static) { - this.background_parent.width = this.monitor.width; - this.background.width = this.monitor.width; - this.background.height = Main.panel.height; - if (is_static) { - this.background.set_clip( - this.monitor.x, - this.monitor.y, - this.monitor.width, - Main.panel.height - ); - } - } - - get monitor() { - return Main.layoutManager.primaryMonitor - } - - set_sigma(s) { - this.effect.sigma = s; - } - - set_brightness(b) { - this.effect.brightness = b; - } - - disable() { - this._log("removing blur from top panel"); - - Main.panel._leftCorner.show(); - Main.panel._rightCorner.show(); - Main.panel.remove_style_class_name('transparent-panel'); - - try { - this.background_parent.get_parent().remove_child(this.background_parent); - } catch (e) { } - } - - show() { - this.background_parent.show(); - } - hide() { - this.background_parent.hide(); - } - - _log(str) { - log(`[Blur my Shell] ${str}`) - } -} \ No newline at end of file diff --git a/src/preferences/applications.js b/src/preferences/applications.js new file mode 100644 index 00000000..9c012971 --- /dev/null +++ b/src/preferences/applications.js @@ -0,0 +1,175 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); +const { WindowRow } = Me.imports.preferences.window_row; + + +const make_array = prefs_group => { + let list_box = prefs_group + .get_first_child() + .get_last_child() + .get_first_child(); + + let elements = []; + let i = 0; + let element = list_box.get_row_at_index(i); + while (element) { + elements.push(element); + i++; + element = list_box.get_row_at_index(i); + } + + return elements; +}; + + +var Applications = GObject.registerClass({ + GTypeName: 'Applications', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'applications.ui'])}`, + InternalChildren: [ + 'blur', + 'customize', + 'opacity', + 'blur_on_overview', + 'enable_all', + 'whitelist', + 'add_window_whitelist', + 'blacklist', + 'add_window_blacklist' + ], +}, class Applications extends Adw.PreferencesPage { + constructor(preferences, preferences_window) { + super({}); + this._preferences_window = preferences_window; + + this.preferences = preferences; + + this.preferences.applications.settings.bind( + 'blur', this._blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.applications.settings.bind( + 'opacity', this._opacity, 'value', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.applications.settings.bind( + 'blur-on-overview', this._blur_on_overview, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.applications.settings.bind( + 'enable-all', this._enable_all, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._customize.connect_to(this.preferences.applications, false); + + // connect 'enable all' button to whitelist/blacklist visibility + this._enable_all.bind_property( + 'active', this._whitelist, 'visible', + GObject.BindingFlags.INVERT_BOOLEAN + ); + this._enable_all.bind_property( + 'active', this._blacklist, 'visible', + GObject.BindingFlags.DEFAULT + ); + + // make sure that blacklist / whitelist is correctly hidden + if (this._enable_all.active) + this._whitelist.visible = false; + this._blacklist.visible = !this._whitelist.visible; + + // listen to app row addition + this._add_window_whitelist.connect('clicked', + _ => this.add_to_whitelist() + ); + this._add_window_blacklist.connect('clicked', + _ => this.add_to_blacklist() + ); + + // add initial applications + this.add_widgets_from_lists(); + + this.preferences.connect('reset', _ => { + this.remove_all_widgets(); + this.add_widgets_from_lists(); + }); + } + + // A way to retriew the whitelist widgets. + get _whitelist_elements() { + return make_array(this._whitelist); + } + + // A way to retriew the blacklist widgets. + get _blacklist_elements() { + return make_array(this._blacklist); + } + + add_widgets_from_lists() { + this.preferences.applications.WHITELIST.forEach( + app_name => this.add_to_whitelist(app_name) + ); + + this.preferences.applications.BLACKLIST.forEach( + app_name => this.add_to_blacklist(app_name) + ); + + } + + close_all_expanded_rows() { + this._whitelist_elements.forEach( + element => element.set_expanded(false) + ); + this._blacklist_elements.forEach( + element => element.set_expanded(false) + ); + } + + remove_all_widgets() { + this._whitelist_elements.forEach( + element => this._whitelist.remove(element) + ); + this._blacklist_elements.forEach( + element => this._blacklist.remove(element) + ); + } + + add_to_whitelist(app_name = null) { + let window_row = new WindowRow('whitelist', this, app_name); + this._whitelist.add(window_row); + } + + add_to_blacklist(app_name = null) { + let window_row = new WindowRow('blacklist', this, app_name); + this._blacklist.add(window_row); + } + + update_whitelist_titles() { + let titles = this._whitelist_elements + .map(element => element._window_class.buffer.text) + .filter(title => title != ""); + + this.preferences.applications.WHITELIST = titles; + } + + update_blacklist_titles() { + let titles = this._blacklist_elements + .map(element => element._window_class.buffer.text) + .filter(title => title != ""); + + this.preferences.applications.BLACKLIST = titles; + } + + remove_from_whitelist(widget) { + this._whitelist.remove(widget); + this.update_whitelist_titles(); + } + + remove_from_blacklist(widget) { + this._blacklist.remove(widget); + this.update_blacklist_titles(); + } +}); \ No newline at end of file diff --git a/src/preferences/customize_row.js b/src/preferences/customize_row.js new file mode 100644 index 00000000..f51fa438 --- /dev/null +++ b/src/preferences/customize_row.js @@ -0,0 +1,168 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio, Gtk } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); +const { Prefs } = Me.imports.conveniences.settings; +const { Keys } = Me.imports.conveniences.keys; + + +/// Given a component (described by its preferences node), a gschema key and +/// a Gtk.ColorButton, binds everything transparently. +let bind_color = function (component, key, widget) { + let property_name = key.replaceAll('-', '_').toUpperCase(); + + let parse_color = _ => { + let [r, g, b, a] = component[property_name]; + let w = widget.rgba; + w.red = r; + w.green = g; + w.blue = b; + w.alpha = a; + widget.rgba = w; + }; + component.settings.connect('changed::' + key, parse_color); + + widget.connect('color-set', _ => { + let c = widget.rgba; + component[property_name] = [c.red, c.green, c.blue, c.alpha]; + }); + + parse_color(); +}; + +var CustomizeRow = GObject.registerClass({ + GTypeName: 'CustomizeRow', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'customize-row.ui'])}`, + InternalChildren: [ + 'sigma', + 'brightness', + 'color', + 'color_row', + 'noise_amount', + 'noise_amount_row', + 'noise_lightness', + 'noise_lightness_row', + 'noise_color_notice' + ], +}, class CustomizeRow extends Adw.ExpanderRow { + /// Makes the required connections between the widgets and the preferences. + /// + /// This function may be bound to another object than CustomizeRow, if we + /// are using it for the General page; some things will then change (no + /// expansion row, and no notice) + /// + /// The color_and_noise parameter is either a boolean (true by default) or + /// a widget; and permits selecting weather or not we want to show the color + /// and noise buttons to the user. If it is a widget, it means we need to + /// dynamically update their visibility, according to the widget's state. + connect_to(component_prefs, color_and_noise = true) { + let s = component_prefs.settings; + + // is not fired if in General page + if (this instanceof CustomizeRow) + // bind the customize button + s.bind( + 'customize', this, 'enable-expansion', + Gio.SettingsBindFlags.DEFAULT + ); + + // bind sigma and brightness + s.bind( + 'sigma', this._sigma, 'value', + Gio.SettingsBindFlags.DEFAULT + ); + s.bind( + 'brightness', this._brightness, 'value', + Gio.SettingsBindFlags.DEFAULT + ); + + // bind the color button + bind_color(component_prefs, 'color', this._color); + + // bind noise sliders + s.bind( + 'noise-amount', this._noise_amount, 'value', + Gio.SettingsBindFlags.DEFAULT + ); + s.bind( + 'noise-lightness', this._noise_lightness, 'value', + Gio.SettingsBindFlags.DEFAULT + ); + + // color_and_noise is either a boolean or a widget, if true, or it is a + // widget, this will appropriately show the required preferences about + // setting the color and noise + if (color_and_noise) { + // if we gave the static_blur widget, we are dealing with the panel, + // and binding it to enable/disable the required components when + // switching between static and dynamic blur + if (color_and_noise instanceof Gtk.Switch) { + // bind its state to dynamically toggle the notice and rows + color_and_noise.bind_property( + 'state', this._color_row, 'visible', + GObject.BindingFlags.SYNC_CREATE + ); + color_and_noise.bind_property( + 'state', this._noise_amount_row, 'visible', + GObject.BindingFlags.SYNC_CREATE + ); + color_and_noise.bind_property( + 'state', this._noise_lightness_row, 'visible', + GObject.BindingFlags.SYNC_CREATE + ); + color_and_noise.bind_property( + 'state', this._noise_color_notice, 'visible', + GObject.BindingFlags.INVERT_BOOLEAN + ); + + // only way to get the correct state when first opening the + // window... + setTimeout(_ => { + let is_visible = color_and_noise.state; + this._color_row.visible = is_visible; + this._noise_amount_row.visible = is_visible; + this._noise_lightness_row.visible = is_visible; + this._noise_color_notice.visible = !is_visible; + }, 10); + } + + // if in General page, there is no notice at all + if (this instanceof CustomizeRow) { + // disable the notice + this._noise_color_notice.visible = false; + } + } else { + // enable the notice and disable color and noise preferences + this._color_row.visible = false; + this._noise_amount_row.visible = false; + this._noise_lightness_row.visible = false; + this._noise_color_notice.visible = true; + } + + const Preferences = new Prefs(Keys); + + // now we bind the color-and-noise preference to the sensitivity of the + // associated widgets, this will grey them out if the user choose not to + // have color and noise enabled + // note: I would love to bind to the visibility instead, but this part + // is already dirty enough, it would look like I obfuscate my code + // intentionally... (I am not) + Preferences.settings.bind( + 'color-and-noise', + this._color_row, 'sensitive', + Gio.SettingsBindFlags.DEFAULT + ); + Preferences.settings.bind( + 'color-and-noise', + this._noise_amount_row, 'sensitive', + Gio.SettingsBindFlags.DEFAULT + ); + Preferences.settings.bind( + 'color-and-noise', + this._noise_lightness_row, 'sensitive', + Gio.SettingsBindFlags.DEFAULT + ); + }; +}); diff --git a/src/preferences/dash.js b/src/preferences/dash.js new file mode 100644 index 00000000..b00181bd --- /dev/null +++ b/src/preferences/dash.js @@ -0,0 +1,45 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); + + +var Dash = GObject.registerClass({ + GTypeName: 'Dash', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'dash.ui'])}`, + InternalChildren: [ + 'blur', + 'customize', + 'override_background', + 'style_dash_to_dock', + 'unblur_in_overview' + ], +}, class Dash extends Adw.PreferencesPage { + constructor(preferences) { + super({}); + + this.preferences = preferences; + + this.preferences.dash_to_dock.settings.bind( + 'blur', this._blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.dash_to_dock.settings.bind( + 'override-background', + this._override_background, 'enable-expansion', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.dash_to_dock.settings.bind( + 'style-dash-to-dock', this._style_dash_to_dock, 'selected', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.dash_to_dock.settings.bind( + 'unblur-in-overview', this._unblur_in_overview, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._customize.connect_to(this.preferences.dash_to_dock, false); + } +}); \ No newline at end of file diff --git a/src/preferences/general.js b/src/preferences/general.js new file mode 100644 index 00000000..74f494a9 --- /dev/null +++ b/src/preferences/general.js @@ -0,0 +1,50 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); +const { CustomizeRow } = Me.imports.preferences.customize_row; + + +var General = GObject.registerClass({ + GTypeName: 'General', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'general.ui'])}`, + InternalChildren: [ + 'sigma', + 'brightness', + 'color', + 'color_row', + 'noise_amount', + 'noise_amount_row', + 'noise_lightness', + 'noise_lightness_row', + 'color_and_noise', + 'hack_level', + 'debug', + 'reset' + ], +}, class General extends Adw.PreferencesPage { + constructor(preferences) { + super({}); + + this.preferences = preferences; + + CustomizeRow.prototype.connect_to.call(this, this.preferences); + + this.preferences.settings.bind( + 'color-and-noise', this._color_and_noise, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.settings.bind( + 'hacks-level', this._hack_level, 'selected', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.settings.bind( + 'debug', this._debug, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._reset.connect('clicked', _ => this.preferences.reset()); + } +}); \ No newline at end of file diff --git a/src/preferences/menu.js b/src/preferences/menu.js new file mode 100644 index 00000000..53473b87 --- /dev/null +++ b/src/preferences/menu.js @@ -0,0 +1,68 @@ +'use strict'; + +const { Gdk, Gtk, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); + +function addMenu(window) { + const builder = new Gtk.Builder(); + + // add a dummy page and remove it immediately, to access headerbar + builder.add_from_file(`${Me.path}/ui/menu.ui`); + let menu_util = builder.get_object('menu_util'); + window.add(menu_util); + try { + addMenuToHeader(window, builder); + } catch (error) { + // could not add menu... not so bad + } + window.remove(menu_util); +} + +function addMenuToHeader(window, builder) { + // a little hack to get to the headerbar + const page = builder.get_object('menu_util'); + const pages_stack = page.get_parent(); // AdwViewStack + const content_stack = pages_stack.get_parent().get_parent(); // GtkStack + const preferences = content_stack.get_parent(); // GtkBox + const headerbar = preferences.get_first_child(); // AdwHeaderBar + headerbar.pack_start(builder.get_object('info_menu')); + + // setup menu actions + const actionGroup = new Gio.SimpleActionGroup(); + window.insert_action_group('prefs', actionGroup); + + // a list of actions with their associated link + const actions = [ + { + name: 'open-bug-report', + link: 'https://github.com/aunetx/blur-my-shell/issues' + }, + { + name: 'open-readme', + link: 'https://github.com/aunetx/blur-my-shell' + }, + { + name: 'open-license', + link: 'https://github.com/aunetx/blur-my-shell/blob/master/LICENSE' + }, + { + name: 'donate-github', + link: 'https://github.com/sponsors/aunetx' + }, + { + name: 'donate-kofi', + link: 'https://ko-fi.com/aunetx' + }, + ]; + + actions.forEach(action => { + let act = new Gio.SimpleAction({ name: action.name }); + act.connect( + 'activate', + _ => Gtk.show_uri(window, action.link, Gdk.CURRENT_TIME) + ); + actionGroup.add_action(act); + }); +} diff --git a/src/preferences/other.js b/src/preferences/other.js new file mode 100644 index 00000000..4ba3a884 --- /dev/null +++ b/src/preferences/other.js @@ -0,0 +1,51 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); + + +var Other = GObject.registerClass({ + GTypeName: 'Other', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'other.ui'])}`, + InternalChildren: [ + 'lockscreen_blur', + 'lockscreen_customize', + + 'screenshot_blur', + 'screenshot_customize', + + 'window_list_blur', + 'window_list_customize', + ], +}, class Overview extends Adw.PreferencesPage { + constructor(preferences) { + super({}); + + this.preferences = preferences; + + this.preferences.lockscreen.settings.bind( + 'blur', this._lockscreen_blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._lockscreen_customize.connect_to(this.preferences.lockscreen); + + this.preferences.screenshot.settings.bind( + 'blur', this._screenshot_blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._screenshot_customize.connect_to(this.preferences.screenshot); + + this.preferences.window_list.settings.bind( + 'blur', this._window_list_blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._window_list_customize.connect_to( + this.preferences.window_list, false + ); + } +}); \ No newline at end of file diff --git a/src/preferences/overview.js b/src/preferences/overview.js new file mode 100644 index 00000000..f60b61e5 --- /dev/null +++ b/src/preferences/overview.js @@ -0,0 +1,49 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); + + +var Overview = GObject.registerClass({ + GTypeName: 'Overview', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'overview.ui'])}`, + InternalChildren: [ + 'overview_blur', + 'overview_customize', + 'overview_style_components', + + 'appfolder_blur', + 'appfolder_customize', + 'appfolder_style_dialogs' + ], +}, class Overview extends Adw.PreferencesPage { + constructor(preferences) { + super({}); + + this.preferences = preferences; + + this.preferences.overview.settings.bind( + 'blur', this._overview_blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.overview.settings.bind( + 'style-components', this._overview_style_components, 'selected', + Gio.SettingsBindFlags.DEFAULT + ); + + this._overview_customize.connect_to(this.preferences.overview); + + this.preferences.appfolder.settings.bind( + 'blur', this._appfolder_blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.appfolder.settings.bind( + 'style-dialogs', this._appfolder_style_dialogs, 'selected', + Gio.SettingsBindFlags.DEFAULT + ); + + this._appfolder_customize.connect_to(this.preferences.appfolder, false); + } +}); \ No newline at end of file diff --git a/src/preferences/panel.js b/src/preferences/panel.js new file mode 100644 index 00000000..9c949ef7 --- /dev/null +++ b/src/preferences/panel.js @@ -0,0 +1,67 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); + + +var Panel = GObject.registerClass({ + GTypeName: 'Panel', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'panel.ui'])}`, + InternalChildren: [ + 'blur', + 'customize', + 'static_blur', + 'unblur_in_overview', + 'override_background', + 'style_panel', + 'override_background_dynamically', + 'hidetopbar_compatibility', + 'dtp_blur_original_panel' + ], +}, class Panel extends Adw.PreferencesPage { + constructor(preferences) { + super({}); + + this.preferences = preferences; + + this.preferences.panel.settings.bind( + 'blur', this._blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.panel.settings.bind( + 'static-blur', this._static_blur, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.panel.settings.bind( + 'unblur-in-overview', this._unblur_in_overview, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.panel.settings.bind( + 'override-background', + this._override_background, 'enable-expansion', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.panel.settings.bind( + 'style-panel', this._style_panel, 'selected', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.panel.settings.bind( + 'override-background-dynamically', + this._override_background_dynamically, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + + this._customize.connect_to(this.preferences.panel, this._static_blur); + + this.preferences.hidetopbar.settings.bind( + 'compatibility', this._hidetopbar_compatibility, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + this.preferences.dash_to_panel.settings.bind( + 'blur-original-panel', this._dtp_blur_original_panel, 'state', + Gio.SettingsBindFlags.DEFAULT + ); + } +}); \ No newline at end of file diff --git a/src/preferences/window_row.js b/src/preferences/window_row.js new file mode 100644 index 00000000..9415c8ee --- /dev/null +++ b/src/preferences/window_row.js @@ -0,0 +1,108 @@ +'use strict'; + +const { Adw, GLib, GObject, Gio, Gtk } = imports.gi; +const ExtensionUtils = imports.misc.extensionUtils; + +const Me = ExtensionUtils.getCurrentExtension(); +const { pick, on_picking, on_picked } = Me.imports.dbus.client; + + +var WindowRow = GObject.registerClass({ + GTypeName: 'WindowRow', + Template: `file://${GLib.build_filenamev([Me.path, 'ui', 'window-row.ui'])}`, + InternalChildren: [ + 'window_picker', + 'window_class', + 'picking_failure_toast' + ], +}, class WindowRow extends Adw.ExpanderRow { + constructor(list, app_page, app_name) { + super({}); + this._list = list; + this._app_page = app_page; + + // add a 'remove' button before the text + let action_row = this.child.get_first_child().get_first_child(); + let remove_button = new Gtk.Button({ + 'icon-name': 'remove-window-symbolic', + 'width-request': 38, + 'height-request': 38, + 'margin-top': 6, + 'margin-bottom': 6, + }); + remove_button.add_css_class('circular'); + remove_button.add_css_class('flat'); + action_row.add_prefix(remove_button); + + // connect the button to the whitelist / blacklist removal + remove_button.connect('clicked', _ => this._remove_row()); + + // bind row title to text buffer + this._window_class.buffer.bind_property( + 'text', this, 'title', + Gio.SettingsBindFlags.BIDIRECTIONNAL + ); + + // set application name if it exists, or open the revealer and pick one + if (app_name) + this._window_class.buffer.text = app_name; + else { + app_page.close_all_expanded_rows(); + this.set_expanded(true); + this._do_pick_window(true); + } + + // pick a window when the picker button is clicked + this._window_picker.connect('clicked', _ => this._do_pick_window()); + + // update list on text buffer change + this._window_class.connect('changed', + _ => this._update_rows_titles() + ); + } + + _remove_row() { + this._app_page["remove_from_" + this._list](this); + } + + _update_rows_titles() { + this._app_page["update_" + this._list + "_titles"](this); + } + + _do_pick_window(remove_if_failed = false) { + // a mechanism to know if the extension is listening correcly + let has_responded = false; + let should_take_answer = true; + setTimeout(_ => { + if (!has_responded) { + // show toast about failure + this._app_page._preferences_window.add_toast( + this._picking_failure_toast + ); + + // prevent title from changing with later picks + should_take_answer = false; + + // remove row if asked + if (remove_if_failed) + this._remove_row(); + } + }, 15); + + on_picking(_ => + has_responded = true + ); + + on_picked(wm_class => { + if (should_take_answer) { + if (wm_class == 'window-not-found') { + log("Can't pick window from here"); + return; + } + this._window_class.buffer.text = wm_class; + } + }); + + pick(); + } +}); diff --git a/src/prefs.js b/src/prefs.js index ce736774..10dc0800 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -1,134 +1,43 @@ 'use strict'; -const { GObject, Gtk } = imports.gi; - +const { Adw, Gdk, GLib, Gtk, GObject, Gio } = imports.gi; const ExtensionUtils = imports.misc.extensionUtils; -const Extension = ExtensionUtils.getCurrentExtension(); -let Settings = Extension.imports.settings; -let config = new Settings.Prefs(); - -const PrefsWidget = GObject.registerClass({ - GTypeName: 'PrefsWidget', - Template: Extension.dir.get_child('prefs.ui').get_uri(), - InternalChildren: [ - 'sigma_scale', - 'brightness_scale', - 'blur_dash', - 'blur_panel', - 'blur_overview', - 'blur_lockscreen', - 'hacks_level0', - 'hacks_level1', - 'hacks_level2', - 'dash_opacity_scale', - 'static_blur' - ], -}, class PrefsWidget extends Gtk.Box { - _init(params = {}) { - super._init(params); - - // ! sigma - this._sigma_scale.set_value(config.SIGMA.get()); - - // ! brightness - this._brightness_scale.set_value(config.BRIGHTNESS.get()); - - // ! blur dash - this._blur_dash.set_active(config.BLUR_DASH.get()); - - // ! blur panel - this._blur_panel.set_active(config.BLUR_PANEL.get()); - - // ! blur overview - this._blur_overview.set_active(config.BLUR_OVERVIEW.get()); - - // ! blur lockscreen - this._blur_lockscreen.set_active(config.BLUR_LOCKSCREEN.get()); - - // ! dash hacks - if (config.HACKS_LEVEL.get() == 0) { - this._hacks_level0.set_active(true); - } - else if (config.HACKS_LEVEL.get() == 1) { - this._hacks_level1.set_active(true); - } - else if (config.HACKS_LEVEL.get() == 2) { - this._hacks_level2.set_active(true); - } - else { - this._log(`hack level out-of-bound: ${hack_level}, defaulting to 1.`); - this._hacks_level0.set_active(true); - } - - // ! dash opacity - this._dash_opacity_scale.set_value(config.DASH_OPACITY.get()); - - // ! static panel blur - this._static_blur.set_active(config.STATIC_BLUR.get()); - } - - sigma_changed(w) { - let value = w.get_value(); - config.SIGMA.set(value); - } - - brightness_changed(w) { - let value = w.get_value(); - config.BRIGHTNESS.set(value); - } - - blur_dash_toggled(w) { - let value = w.get_active(); - config.BLUR_DASH.set(value); - } - - blur_panel_toggled(w) { - let value = w.get_active(); - config.BLUR_PANEL.set(value); - } - - blur_overview_toggled(w) { - let value = w.get_active(); - config.BLUR_OVERVIEW.set(value); - } - blur_lockscreen_toggled(w) { - let value = w.get_active(); - config.BLUR_LOCKSCREEN.set(value); - } +const Me = ExtensionUtils.getCurrentExtension(); +const { Prefs } = Me.imports.conveniences.settings; +const { Keys } = Me.imports.conveniences.keys; - hacks_level0_toggled(w) { - let is_active = w.get_active(); - if (is_active) { config.HACKS_LEVEL.set(0) } - } +const { addMenu } = Me.imports.preferences.menu; +const { CustomizeRow } = Me.imports.preferences.customize_row; +const { WindowRow } = Me.imports.preferences.window_row; +const { General } = Me.imports.preferences.general; +const { Panel } = Me.imports.preferences.panel; +const { Overview } = Me.imports.preferences.overview; +const { Dash } = Me.imports.preferences.dash; +const { Applications } = Me.imports.preferences.applications; +const { Other } = Me.imports.preferences.other; - hacks_level1_toggled(w) { - let is_active = w.get_active(); - if (is_active) { config.HACKS_LEVEL.set(1) } - } - hacks_level2_toggled(w) { - let is_active = w.get_active(); - if (is_active) { config.HACKS_LEVEL.set(2) } - } +function init() { + ExtensionUtils.initTranslations(Me.metadata.uuid); - dash_opacity_changed(w) { - let value = w.get_value(); - config.DASH_OPACITY.set(value); - } + // load the icon theme + let iconPath = Me.dir.get_child("icons").get_path(); + let iconTheme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); + iconTheme.add_search_path(iconPath); +} - static_blur_toogled(w) { - let value = w.get_active(); - config.STATIC_BLUR.set(value); - } +function fillPreferencesWindow(window) { + addMenu(window); - _log(str) { - log(`[Blur my Shell] ${str}`) - } -}); + const preferences = new Prefs(Keys); -function init() { } + window.add(new General(preferences)); + window.add(new Panel(preferences)); + window.add(new Overview(preferences)); + window.add(new Dash(preferences)); + window.add(new Applications(preferences, window)); + window.add(new Other(preferences)); -function buildPrefsWidget() { - return new PrefsWidget(); -} \ No newline at end of file + window.search_enabled = true; +} diff --git a/src/prefs.ui b/src/prefs.ui deleted file mode 100644 index 482c3f7d..00000000 --- a/src/prefs.ui +++ /dev/null @@ -1,284 +0,0 @@ - - - - - diff --git a/src/schemas/gschemas.compiled b/src/schemas/gschemas.compiled deleted file mode 100644 index 74887fa3..00000000 Binary files a/src/schemas/gschemas.compiled and /dev/null differ diff --git a/src/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml b/src/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml deleted file mode 100644 index cbf0ada8..00000000 --- a/src/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - 30 - Global sigma (gaussian blur radius) to use - - - - - 0.6 - Global brightness to use - - - - - true - Boolean, whether to blur the dash or not - - - - - true - Boolean, whether to blur the panel or not - - - - - true - Boolean, whether to blur the overview or not - - - - - true - Boolean, whether to blur lockscreen or not - - - - - 1 - Level of hacks to use (from 0 to 2) - - - - - 0.12 - Opacity of dash to use - - - - - true - Boolean, whether to have a static blur on panel or a dynamic one - - - - \ No newline at end of file diff --git a/src/settings.js b/src/settings.js deleted file mode 100644 index f797b6b9..00000000 --- a/src/settings.js +++ /dev/null @@ -1,178 +0,0 @@ -'use strict'; - -const Gio = imports.gi.Gio; -const Extension = imports.misc.extensionUtils.getCurrentExtension(); - -const SCHEMA_PATH = 'org.gnome.shell.extensions.blur-my-shell'; - -function get_local_gsettings(schema_path) { - const GioSSS = Gio.SettingsSchemaSource; - let schemaDir = Extension.dir.get_child('schemas'); - let schemaSource = GioSSS.get_default(); - - if (schemaDir.query_exists(null)) { - schemaSource = GioSSS.new_from_directory( - schemaDir.get_path(), - schemaSource, - false); - } - - let schemaObj = schemaSource.lookup(schema_path, true); - if (!schemaObj) { - throw new Error( - `Schema ${schema_path} could not be found for extension ${Extension.metadata.uuid}` - ); - } - return new Gio.Settings({ - settings_schema: schemaObj - }); -}; - -var Prefs = class Prefs { - constructor() { - var settings = this.settings = get_local_gsettings(SCHEMA_PATH); - this.SIGMA = { - key: 'sigma', - get: function () { - return settings.get_int(this.key); - }, - set: function (v) { - settings.set_int(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - }, - }; - - this.BRIGHTNESS = { - key: 'brightness', - get: function () { - return settings.get_double(this.key); - }, - set: function (v) { - settings.set_double(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - }, - }; - - this.BLUR_DASH = { - key: 'blur-dash', - get: function () { - return settings.get_boolean(this.key); - }, - set: function (v) { - settings.set_boolean(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - } - }; - - this.BLUR_PANEL = { - key: 'blur-panel', - get: function () { - return settings.get_boolean(this.key); - }, - set: function (v) { - settings.set_boolean(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - } - }; - - this.BLUR_OVERVIEW = { - key: 'blur-overview', - get: function () { - return settings.get_boolean(this.key); - }, - set: function (v) { - settings.set_boolean(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - } - }; - - this.BLUR_LOCKSCREEN = { - key: 'blur-lockscreen', - get: function () { - return settings.get_boolean(this.key); - }, - set: function (v) { - settings.set_boolean(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - } - }; - - this.HACKS_LEVEL = { - key: 'hacks-level', - get: function () { - return settings.get_int(this.key); - }, - set: function (v) { - settings.set_int(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - }, - }; - - this.DASH_OPACITY = { - key: 'dash-opacity', - get: function () { - return settings.get_double(this.key); - }, - set: function (v) { - settings.set_double(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - }, - }; - - this.STATIC_BLUR = { - key: 'static-blur', - get: function () { - return settings.get_boolean(this.key); - }, - set: function (v) { - settings.set_boolean(this.key, v); - }, - changed: function (cb) { - return settings.connect('changed::' + this.key, cb); - }, - disconnect: function () { - return settings.disconnect.apply(settings, arguments); - } - }; - } -}; \ No newline at end of file diff --git a/src/stylesheet.css b/src/stylesheet.css index 03c9a270..a3449839 100644 --- a/src/stylesheet.css +++ b/src/stylesheet.css @@ -1,7 +1,321 @@ +/*** PANEL ***/ + +/* +* `.transparent-panel` +*/ #panel.transparent-panel { - background-color: rgba(0, 0, 0, 0); + background: transparent; + transition-duration: 500ms; +} + +/* +* `.dark-panel` +*/ +#panel.dark-panel { + background-color: rgba(100, 100, 100, 0.35); + box-shadow: none; + transition-duration: 500ms; +} + +/* +* `.light-panel` +*/ +#panel.light-panel { + background-color: rgba(200, 200, 200, 0.2); + box-shadow: none; + transition-duration: 500ms; +} + +/* +* `.contrasted-panel` +*/ +#panel.contrasted-panel { + background-color: transparent; + box-shadow: none; transition-duration: 500ms; } -.app-folder { - background-color: rgba(0, 0, 0, 0.12); + +.contrasted-panel .panel-button, +.contrasted-panel .clock, +.contrasted-panel .clock-display StIcon { + color: #ffffff; + border-radius: 14px; + border: 3px solid transparent; + background-color: rgba(0, 0, 0, 0.8); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03); +} + + +.contrasted-panel .clock-display StIcon { + padding: 8px; + margin: 0; +} + +.contrasted-panel .panel-button:hover, +.contrasted-panel .panel-button:hover .clock { + color: #ffffff; + background-color: rgba(0, 0, 0, 0.8); +} + +.contrasted-panel .clock-display { + background-color: transparent !important; + box-shadow: none !important; + border: none !important; +} + +.contrasted-panel .clock { + margin: 0 !important; +} + + +/*** DASH ***/ + +/* +* `.transparent-dash` +*/ +.transparent-dash .dash-background { + background-color: transparent !important; +} + +/* +* `.light-dash` +*/ +.light-dash .dash-background { + background-color: rgba(200, 200, 200, 0.2) !important; +} + +/* +* `.dark-dash` +*/ +.dark-dash .dash-background { + background-color: rgba(100, 100, 100, 0.35) !important; +} + + +/*** OVERVIEW ***/ + +/* +* Add transparency to the workspace animation (between workspaces) +*/ +.blurred-overview .workspace-animation { + background-color: transparent !important; +} + + +/* +* `.overview-components-transparent` +*/ + +.overview-components-transparent .search-entry { + color: white; + background-color: rgba(0, 0, 0, 0); + border-color: transparent; + box-shadow: none; +} + +.overview-components-transparent .search-entry .search-entry-icon { + color: rgba(255, 255, 255, 0.65); +} + +.overview-components-transparent .search-section-content { + border: none; + box-shadow: none; +} + +.overview-components-transparent .search-section-content, +.overview-components-transparent .app-folder .overview-icon { + background-color: rgba(0, 0, 0, 0); +} + +/* prevents the extension from interfering with Just Perfection */ +.overview-components-transparent.just-perfection .search-section-content { + background-color: transparent; +} + +.overview-components-transparent .app-folder .overview-icon { + border-color: transparent; +} + +.overview-components-transparent .app-folder:hover .overview-icon, +.overview-components-transparent .app-folder:focus .overview-icon { + background-color: rgba(230, 230, 230, 0.08); +} + +.overview-components-transparent .app-folder:active .overview-icon, +.overview-components-transparent .app-folder:focus:hover .overview-icon, +.overview-components-transparent .app-folder:drop .overview-icon { + background-color: rgba(230, 230, 230, 0.12); +} + +.overview-components-transparent .app-folder:focus:active .overview-icon { + background-color: rgba(230, 230, 230, 0.15); +} + +/* this shouldn't apply to Dash to Dock */ +.overview-components-transparent StBoxLayout>StWidget>#dash>.dash-background { + background-color: rgba(0, 0, 0, 0); +} + +/* +* `.overview-components-light` +*/ + +.overview-components-light .search-entry { + color: white; + background-color: rgba(200, 200, 200, 0.2); + border-color: transparent; + box-shadow: none; +} + +.overview-components-light .search-entry .search-entry-icon { + color: rgba(255, 255, 255, 0.65); +} + +.overview-components-light .search-section-content { + border: none; + box-shadow: none; +} + +.overview-components-light .search-section-content, +.overview-components-light .app-folder .overview-icon { + background-color: rgba(200, 200, 200, 0.2); +} + +/* prevents the extension from interfering with Just Perfection */ +.overview-components-light.just-perfection .search-section-content { + background-color: transparent; +} + +.overview-components-light .app-folder .overview-icon { + border-color: transparent; +} + +.overview-components-light .app-folder:hover .overview-icon, +.overview-components-light .app-folder:focus .overview-icon { + background-color: rgba(230, 230, 230, 0.2); +} + +.overview-components-light .app-folder:active .overview-icon, +.overview-components-light .app-folder:focus:hover .overview-icon, +.overview-components-light .app-folder:drop .overview-icon { + background-color: rgba(230, 230, 230, 0.25); +} + +.overview-components-light .app-folder:focus:active .overview-icon { + background-color: rgba(230, 230, 230, 0.3); +} + +/* this shouldn't apply to Dash to Dock */ +.overview-components-light StBoxLayout>StWidget>#dash>.dash-background { + background-color: rgba(200, 200, 200, 0.2); +} + + +/* +* `.overview-components-dark` +*/ + +.overview-components-dark .search-entry { + color: white; + background-color: rgba(100, 100, 100, 0.35); + border-color: transparent; + box-shadow: none; +} + +.overview-components-dark .search-entry .search-entry-icon { + color: rgba(255, 255, 255, 0.65); +} + +.overview-components-dark .search-section-content { + border: none; + box-shadow: none; +} + +.overview-components-dark .search-section-content, +.overview-components-dark .app-folder .overview-icon { + background-color: rgba(100, 100, 100, 0.35); +} + +/* prevents the extension from interfering with Just Perfection */ +.overview-components-dark.just-perfection .search-section-content { + background-color: transparent; +} + +.overview-components-dark .app-folder .overview-icon { + border-color: transparent; +} + +.overview-components-dark .app-folder:hover .overview-icon, +.overview-components-dark .app-folder:focus .overview-icon { + background-color: rgba(120, 120, 120, 0.35); +} + +.overview-components-dark .app-folder:active .overview-icon, +.overview-components-dark .app-folder:focus:hover .overview-icon, +.overview-components-dark .app-folder:drop .overview-icon { + background-color: rgba(120, 120, 120, 0.4); +} + +.overview-components-dark .app-folder:focus:active .overview-icon { + background-color: rgba(120, 120, 120, 0.45); +} + +/* this shouldn't apply to Dash to Dock */ +.overview-components-dark StBoxLayout>StWidget>#dash>.dash-background { + background-color: rgba(100, 100, 100, 0.35); +} + + +/*** APPFOLDER DIALOG ***/ + +/* +* `.appfolder-dialogs-transparent` +*/ + +.appfolder-dialogs-transparent { + background-color: rgba(0, 0, 0, 0); + border: none; + box-shadow: none; +} + +.appfolder-dialogs-transparent .folder-name-entry { + color: white; + background-color: rgba(0, 0, 0, 0); + border: 0; + box-shadow: none; +} + +/* +* `.appfolder-dialogs-light` +*/ + +.appfolder-dialogs-light { + background-color: rgba(200, 200, 200, 0.2); + border: none; + box-shadow: none; +} + +.appfolder-dialogs-light .folder-name-entry { + color: white; + background-color: rgba(200, 200, 200, 0.2); + border: 0; + box-shadow: none; +} + + +/* +* `.appfolder-dialogs-dark` +*/ + +.appfolder-dialogs-dark { + background-color: rgba(100, 100, 100, 0.35); + border: none; + box-shadow: none; +} + +.appfolder-dialogs-dark .folder-name-entry { + color: white; + background-color: rgba(100, 100, 100, 0.35); + border: 0; + box-shadow: none; } \ No newline at end of file diff --git a/todo.md b/todo.md deleted file mode 100644 index 713f8cfd..00000000 --- a/todo.md +++ /dev/null @@ -1,58 +0,0 @@ -# Todo - -Nn means how important is the elements: - -- N1 -> MAJOR, needed for release -- N2 -> IMPORTANT, to do soon after release -- N3 -> MINOR, to do when possible - -- [x] blur panel - - [x] fix artefacts when button clicked - - [x] automatically change background/text color so that we don't need `smart transparent topbar` extension - - [ ] blur for each monitor? -> N3 - - [x] allow the use of corners || hide them? -> N3 - - [x] update blur on size changed (required for `hide top bar`) - -- [x] blur `dash to dock` - - [x] update dash blur size when dash size changes - - [x] fix artefacts on mouse hovering - - [x] allow the use of corners || hide them? -> N2 - - [x] blur for each monitor - - [x] update on monitor plug in/out ! NEEDS TESTING - - [x] fix the dash not being able to be enabled again - - [ ] remove icons' shadow on hover? -> N2 - -- [x] blur overview - - [x] remove panel/dash blur on overview - - [x] blur for each monitor - - [x] update on monitor plug in/out ! NEEDS TESTING - - [x] fix effect being disabled when background changes - - [x] make getting out of overview more responsive (so that effects do not blend for some milliseconds) -> N2 - - [x] add an ease in/out animation -> N2 - - [ ] blur app folders popups -> N3 - -- [x] blur lockscreen -> N1 - - [x] set lockscreen blur effect to the same intensity as other components -> N1 - -- [x] blur `dash to panel` -> N2 - -- [x] blur `ubuntu panel` -> N2 - -- [x] blur vanilla dash -> N1 - - [ ] remove borders of vanilla dash -> N2 - -- [x] allow changing blur settings -> N1 - - [x] choose which parts to blur -> N2 - - [ ] define blur settings (sigma/brighness) for each part? (probably not as they are disabled on overview) -> N2 - -- misc - - [ ] fix the "shadows" issue -> [gitlab.gnome.org](https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857) - - [ ] fix the "overview opacity" issue - - [ ] fix the "screenshot" issue -> shows an audit on journalctl - - `sept. 25 17:16:49 main audit[86871]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=86871 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1` - - [x] fix error `The meta of type 'ShellBlurEffect' with name '' is already attached to actor 'StWidget'` at launch - - [x] verify that we proprely disable the extension (no error + no big allocation left) - - [x] use names instead of cached instances for actors and widgets (may be less buggy and painful) - - [x] publish the extension (beta) when ~ready -> N1 - -finally: make `Shell.BlurEffect` fixed and available in `css`