pax_global_header00006660000000000000000000000064145035103430014510gustar00rootroot0000000000000052 comment=4589088da390362906ac9fecb8d4b26f594656d9 HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/000077500000000000000000000000001450351034300210335ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/.gitignore000066400000000000000000000014751450351034300230320ustar00rootroot00000000000000/build /_build .fenv .flatpak-builder __pycache__ *.glade\~ *.glade\# *.o *.1 *.5 .deps /**/*.swp /*.bak /*.gcda /*.gcno /*.o /*.orig /*.rej /*.tab.c /*~ /.*.sw[nop] /.dirstamp /.gitignore /ChangeLog /GPATH /GRTAGS /GSYMS /GTAGS /ID /INSTALL /Makefile /Makefile.in /TAGS /aclocal.m4 /autom4te.cache /build-aux /config /config.cache /config.h /config.h.in /config.log /config.lt /config.status /config.status.lineno /configure /configure.lineno /gtk-doc.m4 /gtk-doc.make /intltool-extract.in /intltool-merge.in /intltool-update.in /libtool /po/*.gmo /po/*.header /po/*.mo /po/*.sed /po/*.sin /po/.intltool-merge-cache /po/Makefile /po/Makefile.in /po/Makefile.in.in /po/Makefile.in.in~ /po/Makevars.template /po/POTFILES /po/Rules-quot /po/grant.pot /po/stamp-it /so_locations /stamp-h1 /tags /builddir /buildflatpak .buildconfig HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/.gitlab-ci.yml000066400000000000000000000011511450351034300234650ustar00rootroot00000000000000include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml' variables: BUNDLE: "hydrapaper.flatpak" test: image: python:3.9 script: - pip install flake8 - flake8 hydrapaper flatpak: image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master' variables: MANIFEST_PATH: "dist/flatpak/org.gabmus.hydrapaper.json" MESON_ARGS: "-Dprofile=Devel" FLATPAK_MODULE: "hydrapaper" RUNTIME_REPO: "https://flathub.org/repo/flathub.flatpakrepo" APP_ID: "org.gabmus.hydrapaper" extends: .flatpak HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/LICENSE000066400000000000000000001045131450351034300220440ustar00rootroot00000000000000 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 . HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/README.md000066400000000000000000000053031450351034300223130ustar00rootroot00000000000000# HydraPaper Wallpaper manager with multimonitor support ![screenshot](https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/website/screenshots/mainwindow.png) ## Installing [![Packaging status](https://repology.org/badge/vertical-allrepos/hydrapaper.svg)](https://repology.org/project/hydrapaper/versions) HydraPaper officially supports the following desktop environments: - GNOME 3 - MATE - Cinnamon - Budgie Experimental support for the sway window manager/Wayland compositor is also present. ### Flatpak universal package [Install **Flatpak** by following the quick setup guide](https://flatpak.org/setup/). Click the following button install HydraPaper from the Flathub store. [![Get it on Flathub](https://raw.githubusercontent.com/flatpak-design-team/flathub-mockups/master/assets/download-button/download.svg?sanitize=true)](https://flathub.org/apps/details/org.gabmus.hydrapaper) ### Installing on Arch Linux and Arch based distros You can find HydraPaper on AUR, as `hydrapaper-git` ([AUR page](https://aur.archlinux.org/packages/hydrapaper-git)). ### Installing on Fedora [Fedora (official repo)](https://apps.fedoraproject.org/packages/hydrapaper): `sudo dnf install hydrapaper` ### Other distros Your best bet is installing via Flatpak. [Check the instructions in the Flatpak section](#flatpak-universal-package). Alternatively ou can either run HydraPaper without installing it (refer to the [Building for testing section](#building-for-testing)), or install it in your system (refer to the [Installing systemwide directly section](#build-and-install-systemwide-directly)). ## Dependencies HydraPaper has these dependencies: - python3 - python-pillow - libadwaita - gtk4 - pandoc (optional, needed to build the man page) ### Building and run from source **Note**: If you're looking to install the app for regular use, [download it from Flathub](https://flathub.org/apps/details/org.gabmus.gfeeds) or from your distribution repositories. These instructions are only for developers and package maintainers. ```bash git clone https://gitlab.gnome.org/GabMus/hydrapaper cd hydrapaper mkdir build cd build meson .. -Dprefix="$PWD/build/mprefix" ninja install ninja run ``` ## Hacking HydraPaper is developed and officially distributed using Flatpak. To hack on HydraPaper, it's highly recommended to use [GNOME Builder](https://www.gtk.org/docs/dev-tools/gnome-builder/). Open it up, clone this repo and run the app using the play button at the top of the window. You might want to check your code with [flake8](https://github.com/pycqa/flake8) before opening a merge request. ```bash flake8 hydrapaper ``` HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/bin/000077500000000000000000000000001450351034300216035ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/bin/hydrapaper.in000077500000000000000000000041431450351034300242770ustar00rootroot00000000000000#!@PYTHON@ # @projectname@ # # Copyright (C) 2019 @authorfullname@ <@authoremail@> # # 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 . import os import sys import signal import gettext import locale sys.path.insert(1, '@pythondir@') VERSION = '@VERSION@' pkgdatadir = '@pkgdatadir@' localedir = '@localedir@' builddir = os.environ.get('MESON_BUILD_ROOT') if builddir: pkgdatadir = os.path.join(builddir, 'data') os.environ['GSETTINGS_SCHEMA_DIR'] = pkgdatadir sys.dont_write_bytecode = True sys.path.insert(1, os.environ['MESON_SOURCE_ROOT']) signal.signal(signal.SIGINT, signal.SIG_DFL) # Why both locale and gettext? # gettext works for the python part # but not for the glade/xml files # they need locale # don't ask me, it's effin weird # I copied this from uberwriter try: locale.bindtextdomain('hydrapaper', localedir) locale.textdomain('hydrapaper') except AttributeError as e: # Python built without gettext support doesn't have bindtextdomain() # and textdomain() print("Couldn't bind the gettext translation domain. Some translations" " won't work. Error: \n{}".format(e)) gettext.textdomain('hydrapaper') gettext.bindtextdomain('hydrapaper', localedir) if __name__ == '__main__': import gi gi.require_version('Gtk', '4.0') gi.require_version('Gdk', '4.0') gi.require_version('Adw', '1') from gi.repository import Gio resource = Gio.Resource.load(os.path.join(pkgdatadir, '@appid@.gresource')) resource._register() from @projectname@ import __main__ __main__.main() HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/bin/meson.build000066400000000000000000000014551450351034300237520ustar00rootroot00000000000000conf = configuration_data() conf.set('VERSION', meson.project_version()) conf.set('localedir', join_paths(prefix, get_option('localedir'))) conf.set('pkgdatadir', pkgdatadir) conf.set('PYTHON', py_installation.full_path()) conf.set('pythondir', join_paths(prefix, pythondir)) conf.set('localedir', join_paths(prefix, localedir)) conf.set('projectname', meson.project_name()) conf.set('authorfullname', authorfullname) conf.set('authoremail', authoremail) conf.set('appid', '.'.join([domain, author, meson.project_name()])) configure_file( input: meson.project_name() + '.in', output: meson.project_name(), configuration: conf, install: true, install_dir: get_option('bindir') ) myprogram = join_paths(meson.project_build_root(), 'bin', meson.project_name()) run_target('run', command: [myprogram] ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/build.sh000077500000000000000000000001241450351034300224660ustar00rootroot00000000000000#!/bin/bash rm -rf build mkdir build cd build meson -Dprefix=$PWD/build/testdir .. HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/000077500000000000000000000000001450351034300217445ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/000077500000000000000000000000001450351034300230575ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/favorite-badge.svg000066400000000000000000000112201450351034300264530ustar00rootroot00000000000000 image/svg+xml Gnome Symbolic Icon Theme org.gabmus.hydrapaper-symbolic.svg000066400000000000000000000022051450351034300315410ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/org.gabmus.hydrapaper.svg000066400000000000000000000305011450351034300300010ustar00rootroot00000000000000 HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/scalable/000077500000000000000000000000001450351034300246255ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/scalable/status/000077500000000000000000000000001450351034300261505ustar00rootroot00000000000000apply-dark-symbolic.svg000066400000000000000000000041571450351034300325040ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/scalable/status slideshowmode-symbolic.svg000066400000000000000000000017121450351034300333000ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/icons/scalable/status HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/meson.build000066400000000000000000000057631450351034300241210ustar00rootroot00000000000000conf = configuration_data() conf.set('bindir', join_paths(prefix, bindir)) conf.set('prettyname', prettyname) conf.set('appid', app_id) conf.set('projectname', meson.project_name()) conf.set('libexecdir', libexecdir) conf.set('apppath', app_id_aspath) desktop_file = configure_file( input: app_id + '.desktop.in', output: app_id + '.desktop.i18n.in', configuration: conf ) i18n.merge_file( input: desktop_file, output: app_id + '.desktop', po_dir: '../po', type: 'desktop', install: true, install_dir: join_paths(datadir, 'applications') ) configure_file( input: app_id + '.service.in', output: app_id + '.service', configuration: conf, install_dir: dbus_service_dir ) configure_file( input: app_id + '.gschema.xml.in', output: app_id + '.gschema.xml', configuration: conf, install_dir: join_paths(datadir, 'glib-2.0/schemas') ) icondir = join_paths(datadir, 'icons/hicolor') install_data( 'icons/'+app_id+'.svg', install_dir: join_paths(icondir, 'scalable/apps') ) install_data( 'icons/'+app_id+'-symbolic.svg', install_dir: join_paths(icondir, 'symbolic/apps') ) subdir('ui') blueprints = custom_target('blueprints', input: files( 'ui/headerbar.blp', 'ui/monitors_flowbox_item.blp', 'ui/shortcutsWindow.blp', 'ui/wallpaper_flowbox_item_popover.blp', 'ui/wallpapers_flowbox.blp', 'ui/wp_mode_popover_menu.blp', 'ui/wallpapers_folders_view.blp', 'ui/wallpaper_flowbox_item.blp', ), output: '.', command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'] ) app_resources = gnome.compile_resources(app_id, app_id + '.gresource.xml', gresource_bundle: true, dependencies: [blueprints, configure_file( input: 'ui/aboutdialog.ui.in', output: 'aboutdialog.ui', configuration: ui_conf )], install: true, install_dir: pkgdatadir ) app_settings = gnome.compile_schemas() #appdata_conf = configuration_data() #appdata_conf.set('authorfullname', authorfullname) #appdata_conf.set('gitrepo', gitrepo) #appdata_conf.set('website', website) #appdata_conf.set('authoremail', authoremail) #appdata_conf.set('prettyname', prettyname) #appdata_conf.set('appid', app_id) #appdata_conf.set('prettylicense', prettylicense) # #configure_file( # input: appdata_file, # output: app_id + '.appdata.xml.', # configuration: appdata_conf, # install: true, # install_dir: join_paths(datadir, 'metainfo') #) ascli_exe = find_program('appstreamcli', required: false) if ascli_exe.found() test( 'validate metainfo file', ascli_exe, args: [ 'validate', #'--no-net', #'--pedantic', 'data/' + app_id + '.appdata.xml' ] ) endif i18n.merge_file( input: app_id + '.appdata.xml.in', output: app_id + '.appdata.xml', po_dir: '../po', install: true, install_dir: join_paths(datadir, 'metainfo') ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/org.gabmus.hydrapaper.appdata.xml.in000066400000000000000000000452401450351034300307130ustar00rootroot00000000000000 org.gabmus.hydrapaper HydraPaper Gabriele Musco Wallpaper manager with multi monitor support CC0-1.0 GPL-3.0+

HydraPaper is a wallpaper manager, specifically designed to work around the lack of functionality of many desktop environments to set a different wallpaper for each monitor in a multi monitor setup. It accomplishes this by scaling and merging different wallpapers into a single one and setting it as spanned.

It currently supports various desktop environments, including GNOME, MATE, Cinnamon and Budgie. Experimental support is included for the sway window manager.

org.gabmus.hydrapaper.desktop https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/static/screenshots/mainwindow.png https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/static/screenshots/folders.png https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/static/screenshots/favorites.png https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/static/screenshots/random.png https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/static/screenshots/preferences.png https://gitlab.gnome.org/GabMus/HydraPaper/-/raw/website/static/screenshots/modes.png https://hydrapaper.gabmus.org https://gitlab.gnome.org/gabmus/hydrapaper/-/issues https://gitlab.gnome.org/gabmus/hydrapaper/-/tree/master/po https://liberapay.com/gabmus/donate gabmus@disroot.org
  • Avoid duplicate wallpapers when setting at random
  • Updated dependencies
  • Show apply button for dark mode in Ubuntu GNOME sessions
  • Added separate apply button for dark mode
  • Show wallpaper names
  • Added search for file name and resolution
  • Wallpaper folder selection popover converted to Flap (auto-hide sidebar)
  • Updated support for libadwaita to version 1.0.0.alpha.4
  • Fixed window size save/restore
  • Added support for heterogeneous DPI scaling
  • Added support for libadwaita 1.0.0-alpha.2
  • 🚀 HydraPaper has been updated to GTK4 and libadwaita!
  • Bug fixes for Fit and Center wallpaper modes
  • Minor improvements to the UI
  • Improved phone compatibility
  • Fix for different wallpaper modes not working on single display setups
  • Fixed random wallpaper
  • Updated to the latest version of libhandy
  • New option to set a single wallpaper as spanned across all the monitors
  • Added Cinnamon support
  • New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with the choice of either a black or a blurred background
  • Various improvements and bug fixes
  • Added Brazilian Portuguese translation
  • Updated to support the latest version of libhandy
  • Added more keyboard shortcuts
  • New icon courtesy of Tobias Bernard
  • New minimal favorite wallpaper badge
  • Various improvements and bug fixes
  • New quick buttons to toggle on/off all wallpaper folders at once
  • Updated flatpak dependencies and GNOME runtime
  • Removed libwnck dependency and functionalities (lower other windows toggle)
  • Various bug fixes
  • You can now set lockscreen wallpapers from the command line
  • New preference to save wallpapers with random names
  • Various bug fixes and improvements
  • Ordering wallpapers folders alphabetically
  • Fixed folder adding
  • You can now add multiple folders at once!
  • Slight design overhaul
  • Added German and Russian translations (courtesy of Alessandra Gallia)
  • Redesigned symbolic icon
  • Initial support for sway (still broken in Flatpak)
  • Small performance improvements
  • Various bug fixes
  • Fixed conflict between desktop and lockscreen wallpapers
  • Merged wallpapers aren't cached anymore. Just keep one and save lots of space
  • Fixed path enable/disable bug
  • Moved app menu to the far right
  • Added view switcher bar when window is too small
  • Added option to set lockscreen wallpapers in GNOME
  • Internationalization support and Italian translation
  • New widgets from Purism's libhandy
  • Removed animated spinner
  • Paths in folders view show only the folder name by default
  • New website
  • Properly implemented MATE support
  • Added post-installation commands
  • Fixing wrong import
  • Fixed support for MATE under Flatpak
  • New icon! Should be closer to GNOME HIG.
  • Exposed random wallpaper functionality from the in-app menu and desktop file
  • Added random wallpaper functionality from command line with -r option
  • Fixing startup error when added folders get deleted
  • Get correct localized Pictures folder on first startup
  • App doesn't crash anymore if a folder doesn't exist
  • Fixed wallpapers not hiding on startup
  • Complete code refactoring
  • Made the whole build system more modular
  • Moved app menu to the headerbar
  • Initial support for keyboard shortcuts
  • Fixed thumbnail creation for PNGs with alpha channel
  • Added option to clear cache
  • Various bug fixes and improvements
  • Improved thumbnail generation and caching for better performance
  • Updated dependencies
  • Added support for command line usage
  • Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)
  • Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)
  • Migrated to GitLab
  • Better filename generation
  • Added support for vertical setups
  • Added symbolic icon
  • Added support for MATE
  • Various bug fixes
  • Design makeover
  • Added longpress/rightclick menu
  • Implemented favorites
  • Added option to temporarely disable paths
  • Added option to minimize/restore all other windows
  • Improved performance
  • Various optimizations for flatpak distribution
  • Removed the dependency on xmltodict
  • Various bug fixes
  • Changed icon
  • Added support for monitors.xml version 1
  • Improved 3+ monitors configuration
  • Remember previously set wallpapers throughout sessions
  • Implemented cache hitting
  • Added checks and user friendly error messages for monitors.xml
  • Bug fixes
  • Added settings window
  • Port to pillow
  • First release
none none none none none none none none none none none none none none none none none none none none none none none none none none none workstation mobile
HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/org.gabmus.hydrapaper.desktop.in000066400000000000000000000010061450351034300301430ustar00rootroot00000000000000[Desktop Entry] Name=@prettyname@ Comment=Wallpaper manager with multimonitor support Exec=@bindir@/@projectname@ %U Icon=@appid@ Terminal=false Type=Application StartupNotify=true #MimeType= Categories=Utility;GTK;GNOME; Keywords=wallpaper;background;monitor; Actions=set-random-wallpapers # Translators: Do NOT translate or transliterate this text (these are enum types)! X-Purism-FormFactor=Workstation;Mobile; [Desktop Action set-random-wallpapers] Name=Set random wallpapers Exec=@bindir@/@projectname@ --random HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/org.gabmus.hydrapaper.gresource.xml000066400000000000000000000026441450351034300306730ustar00rootroot00000000000000 ui/gtk_style.css aboutdialog.ui ui/headerbar.ui ui/wallpapers_flowbox.ui ui/wallpaper_flowbox_item_popover.ui ui/wallpapers_folders_view.ui ui/monitors_flowbox_item.ui ui/wp_mode_popover_menu.ui ui/wallpaper_flowbox_item.ui ui/shortcutsWindow.ui icons/org.gabmus.hydrapaper.svg icons/org.gabmus.hydrapaper-symbolic.svg icons/scalable/status/slideshowmode-symbolic.svg icons/scalable/status/apply-dark-symbolic.svg icons/favorite-badge.svg HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/org.gabmus.hydrapaper.gschema.xml.in000066400000000000000000000004251450351034300307040ustar00rootroot00000000000000 HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/org.gabmus.hydrapaper.service.desktop000066400000000000000000000004361450351034300312030ustar00rootroot00000000000000[Desktop Entry] Name=HydraPaper # TODO: We could include the full path here but Meson requires # newer GLib to generate files for GResource TryExec=hydrapaper Exec=hydrapaper --gapplication-service Type=Application NoDisplay=true Name[en_US]=org.gabmus.hydrapaper.service.desktop HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/org.gabmus.hydrapaper.service.in000066400000000000000000000001201450351034300301260ustar00rootroot00000000000000[D-BUS Service] Name=@appid@ Exec=@bindir@/@projectname@ --gapplication-service HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/000077500000000000000000000000001450351034300223615ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/aboutdialog.ui.in000066400000000000000000000025551450351034300256260ustar00rootroot00000000000000 False @prettyname@ @VERSION@ @authorfullname@, et al. @PACKAGE_URL@ @CONTRIBUTORS@ @TRANSLATORS@ @DESIGNERS@ @APPID@ gpl-3-0 HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/gtk_style.css000066400000000000000000000005041450351034300250770ustar00rootroot00000000000000.wallpapers-flowbox { padding-top: 24px; } .slideshow-btn-inactive > button > image { color: @theme_unfocused_fg_color; } .slideshow-btn-active > button > image { color: @success_color; } .linked button { margin-top: 0; margin-bottom: 0; } .bigger_bold { font-size: 1.2rem; font-weight: bold; } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/headerbar.blp000066400000000000000000000075541450351034300250100ustar00rootroot00000000000000using Gtk 4.0; using Adw 1; menu generalMenu { section { item (_("Single Spanned Wallpaper Mode"), "app.spanned_mode") item (_("Set Random Wallpapers"), "app.set_random_wallpaper") } section { item (_("Preferences"), "app.settings") item (_("Keyboard Shortcuts"), "app.shortcuts") item (_("About HydraPaper"), "app.about") } } template GHeaderbar : WindowHandle { HeaderBar headerbar { show-title-buttons: true; [title] Adw.Squeezer squeezer { notify::visible-child => on_squeeze(); Adw.ViewSwitcher stack_switcher { policy: wide; } Label nobox {} } ToggleButton wallpaper_folders_btn { tooltip-text: _("Wallpaper Folders"); icon-name: "folder-symbolic"; toggled => on_wallpaper_folders_btn_clicked(); } ToggleButton search_toggle { tooltip-text: _("Search"); icon-name: "system-search-symbolic"; } [end] MenuButton menu_btn { tooltip-text: _("Menu"); icon-name: "open-menu-symbolic"; menu-model: generalMenu; } [end] Box { styles ["linked"] orientation: horizontal; valign: center; Button apply_dark_btn { tooltip-text: _("Apply for Dark Mode"); icon-name: "apply-dark-symbolic"; clicked => on_apply_dark_btn_clicked(); } Button apply_btn { tooltip-text: _("Apply"); icon-name: "object-select-symbolic"; clicked => on_apply_btn_clicked(); } } [end] Button add_to_slideshow_btn { styles ["suggested-action"] visible: false; icon-name: "list-add-symbolic"; tooltip-text: _("Add to Slideshow"); clicked => on_add_to_slideshow(); } [end] MenuButton slideshow_menu_btn { icon-name: "slideshowmode-symbolic"; popover: slideshow_popover; tooltip-text: _("Manage Slideshow Mode"); } Popover slideshow_popover { height-request: 350; width-request: 250; Box slideshow_popover_inner_box { orientation: vertical; spacing: 6; ScrolledWindow { styles ["frame"] hscrollbar-policy: never; vexpand: true; ListBox slideshow_listbox { vexpand: true; show-separators: true; selection-mode: none; } } Grid { row-spacing: 6; column-spacing: 6; orientation: horizontal; hexpand: true; Label { layout { row: 0; column: 0; } hexpand: true; xalign: 0.0; label: _("Slideshow Mode"); } Switch slideshow_switch { layout { row: 0; column: 1; } halign: center; state-set => on_slideshow_mode_changed(); } Label { layout { row: 1; column: 0; } hexpand: true; xalign: 0.0; label: _("Wallpaper duration"); } SpinButton slideshow_time_spinbutton { layout { row: 1; column: 1; } numeric: true; value-changed => on_slideshow_time_spinbutton_changed(); } } } } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/meson.build000066400000000000000000000020151450351034300245210ustar00rootroot00000000000000LIBEXEC_DIR = join_paths(get_option('prefix'), get_option('libexecdir')) EXTENSION_DIR = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name()) ui_conf = configuration_data() ui_conf.set('PACKAGE_URL', website) ui_conf.set('DATA_DIR', pkgdatadir) ui_conf.set('EXTENSION_DIR', EXTENSION_DIR) ui_conf.set('LOCALE_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale')) ui_conf.set('APPID', app_id) ui_conf.set('libexecdir', LIBEXEC_DIR) # this is for development version # ui_conf.set('VERSION', ''.join([run_command(['git', 'describe', '--long', '--tags']).stdout(), get_option('profile')])) ui_conf.set('VERSION', meson.project_version()) ui_conf.set('CONTRIBUTORS', contributors) ui_conf.set('TRANSLATORS', translators) ui_conf.set('DESIGNERS', designers) ui_conf.set('authorfullname', authorfullname) ui_conf.set('prettyname', prettyname) # this has been moved to /data/meson.build #configure_file( # input: 'aboutdialog.ui.in', # output: 'aboutdialog.ui', # configuration: ui_conf #) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/monitors_flowbox_item.blp000066400000000000000000000010641450351034300275110ustar00rootroot00000000000000using Gtk 4.0; template MonitorsFlowboxItem : FlowBoxChild { Box main_box { halign: center; margin-start: 24; margin-end: 24; hexpand: false; orientation: vertical; Overlay overlay { vexpand: true; Image image {} [overlay] MenuButton wp_mode_btn { styles ["circular"] tooltip-text: _("Wallpaper Mode"); halign: end; valign: end; icon-name: "view-more-horizontal"; } } Label label {} } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/shortcutsWindow.blp000066400000000000000000000021411450351034300263040ustar00rootroot00000000000000using Gtk 4.0; ShortcutsWindow shortcuts-hydrapaper { ShortcutsSection { visible: true; section-name: "shortcuts"; ShortcutsGroup { title: _("General"); ShortcutsShortcut { accelerator: "question"; title: C_("shortcut window", "Open keyboard shortcuts"); } ShortcutsShortcut { accelerator: "F10"; title: C_("shortcut window", "Open menu"); } ShortcutsShortcut { accelerator: "f"; title: C_("shortcut window", "Search"); } ShortcutsShortcut { accelerator: "comma"; title: C_("shortcut window", "Open preferences"); } ShortcutsShortcut { accelerator: "Q"; title: C_("shortcut window", "Quit"); } ShortcutsShortcut { accelerator: "R"; title: C_("shortcut window", "Set random wallpapers"); } } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/wallpaper_flowbox_item.blp000066400000000000000000000015721450351034300276320ustar00rootroot00000000000000using Gtk 4.0; template WallpaperBox : FlowBoxChild { halign: fill; valign: fill; width-request: 250; height-request: 250; Box { orientation: vertical; Overlay container_box { halign: center; valign: center; width-request: 250; height-request: 250; Picture wp_image { width-request: 250; can-shrink: true; } [overlay] Image heart_icon { icon-size: large; visible: false; halign: start; valign: center; margin-start: 12; resource: "/org/gabmus/hydrapaper/icons/favorite-badge.svg"; } } Label label { ellipsize: end; wrap: false; justify: center; halign: center; max-width-chars: 25; } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/wallpaper_flowbox_item_popover.blp000066400000000000000000000017601450351034300314030ustar00rootroot00000000000000using Gtk 4.0; template WallpaperFlowboxItemPopover : Popover { autohide: true; Box flowbox_item_popover_content { orientation: vertical; margin-start: 12; margin-end: 12; margin-top: 12; margin-bottom: 12; spacing: 6; Label wallpaper_name_label { styles ["bigger_bold"] justify: center; ellipsize: end; single-line-mode: true; max-width-chars: 50; } Button favorite_btn { label: _("Add Favorite"); halign: center; clicked => on_favorite_btn_clicked(); } Box { orientation: horizontal; spacing: 6; Label { styles ["dim-label"] label: _("Path:"); xalign: 0.0; } Entry wallpaper_path_entry { editable: false; max-width-chars: 30; hexpand: true; } } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/wallpapers_flowbox.blp000066400000000000000000000005601450351034300267730ustar00rootroot00000000000000using Gtk 4.0; template WallpapersFlowbox : ScrolledWindow { styles ["view"] hscrollbar_policy: never; Viewport { FlowBox flowbox { styles ["view", "wallpapers-flowbox"] valign: start; hexpand: true; activate-on-single-click: true; child-activated => on_flowbox_child_activated(); } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/wallpapers_folders_view.blp000066400000000000000000000026621450351034300300100ustar00rootroot00000000000000using Gtk 4.0; template WallpapersFoldersView : Box { styles ["background"] orientation: vertical; spacing: 6; ScrolledWindow { hscrollbar-policy: never; vexpand: true; ListBox listbox { styles ["navigation-sidebar"] row-selected => on_listbox_row_selected(); } } ActionBar { Box { styles ["linked"] margin-top: 12; margin-bottom: 12; homogeneous: true; Button add_btn { tooltip-text: _("Add Folder"); icon-name: "list-add-symbolic"; clicked => on_add_btn_clicked(); } Button del_btn { sensitive: false; tooltip-text: _("Remove Folder"); icon-name: "user-trash-symbolic"; clicked => on_del_btn_clicked(); } } [end] Box { styles ["linked"] margin-top: 12; margin-bottom: 12; Button activate_all_btn { tooltip-text: _("Activate All Folders"); icon-name: "emblem-ok-symbolic"; clicked => on_activate_all_btn_clicked(); } Button deactivate_all_btn { tooltip-text: _("Deactivate All Folders"); icon-name: "window-close-symbolic"; clicked => on_deactivate_all_btn_clicked(); } } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/data/ui/wp_mode_popover_menu.blp000066400000000000000000000027511450351034300273150ustar00rootroot00000000000000using Gtk 4.0; template WallpaperModePopoverContent : ScrolledWindow { hscrollbar-policy: never; vscrollbar-policy: never; Stack { StackPage main { name: "main"; child: Box menu_box { margin-start: 6; margin-end: 6; margin-top: 6; margin-bottom: 6; orientation: vertical; spacing: 6; Label { styles ["dim-label"] xalign: 0.0; label: _("Wallpaper Mode"); } CheckButton radio_zoom { halign: start; label: _("Zoom"); active: true; } CheckButton radio_fit_black { halign: start; label: _("Fit (black background)"); group: radio_zoom; } CheckButton radio_fit_blur { halign: start; label: _("Fit (blur)"); group: radio_zoom; } CheckButton radio_center_black { halign: start; label: _("Center (black backgrond)"); group: radio_zoom; } CheckButton radio_center_blur { halign: start; label: _("Center (blur)"); group: radio_zoom; } }; } } } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/dist/000077500000000000000000000000001450351034300217765ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/dist/flatpak/000077500000000000000000000000001450351034300234205ustar00rootroot00000000000000org.gabmus.hydrapaper-readroot.json000066400000000000000000000104321450351034300322530ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/dist/flatpak{ "app-id": "org.gabmus.hydrapaper", "command": "hydrapaper", "runtime": "org.gnome.Platform", "runtime-version": "3.36", "sdk": "org.gnome.Sdk", "finish-args": [ "--share=ipc", "--socket=x11", "--socket=wayland", "--talk-name=org.gnome.SettingsDaemon", "--talk-name=org.freedesktop.Flatpak", "--filesystem=home:ro", "--filesystem=host", "--filesystem=xdg-run/dconf", "--filesystem=~/.config/dconf:ro", "--filesystem=~/.config/sway/config:rw", "--filesystem=~/.swaylock/config:rw", "--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf" ], "modules": [ { "name": "libhandy", "buildsystem": "meson", "config-opts": [ "--buildtype=release" ], "sources": [ { "type": "git", "url": "https://gitlab.gnome.org/GNOME/libhandy", "tag": "0.84.0" } ] }, { "name": "python-pillow", "buildsystem": "simple", "ensure-writable": [ "/lib/python*/site-packages/easy-install.pth", "/lib/python*/site-packages/setuptools.pth", "/app/lib/python*/site-packages/easy-install.pth", "/app/lib/python*/site-packages/setuptools.pth" ], "build-commands": [ "python3 setup.py install --prefix=/app --root=/" ], "sources": [ { "type": "git", "url": "https://github.com/python-pillow/Pillow", "tag": "7.2.0" }, { "type": "shell", "commands": [ "sed -i 's/if not platform_/if not dirs/' setup.py" ] } ] }, { "name": "mate-desktop-background-gschema", "buildsystem": "simple", "build-commands": [ "mkdir -p /app/share/glib-2.0/schemas/", "sed 's#@datadir@#\\/usr\\/share#g' schemas/org.mate.background.gschema.xml.in > schemas/org.mate.background.gschema.xml", "install schemas/org.mate.background.gschema.xml /app/share/glib-2.0/schemas/", "glib-compile-schemas /app/share/glib-2.0/schemas" ], "sources": [ { "type": "git", "url": "https://github.com/mate-desktop/mate-desktop", "tag": "v1.24.0" } ] }, { "name": "cinnamon-desktop-background-gschema", "buildsystem": "simple", "build-commands": [ "glib-mkenums --comments '' --fhead '' --vhead $' <@type@ id=\\'org.cinnamon.desktop.@EnumName@\\'>' --vprod $' ' --vtail ' ' --ftail '' libcinnamon-desktop/cdesktop-enums.h > org.cinnamon.desktop.enums.xml", "install org.cinnamon.desktop.enums.xml /app/share/glib-2.0/schemas/", "sed 's#@datadir@#\\/usr\\/share#g;s#_summary#summary#g;s#_description#description#g' schemas/org.cinnamon.desktop.background.gschema.xml.in.in > org.cinnamon.desktop.background.gschema.xml", "install org.cinnamon.desktop.background.gschema.xml /app/share/glib-2.0/schemas/", "glib-compile-schemas /app/share/glib-2.0/schemas" ], "sources": [ { "type": "git", "url": "https://github.com/linuxmint/cinnamon-desktop", "tag": "4.6.3" } ] }, { "name": "hydrapaper", "buildsystem": "meson", "builddir": true, "config-opts": [ "--buildtype=release" ], "sources": [ { "type": "git", "url": "https://gitlab.gnome.org/GabMus/HydraPaper", "tag": "1.12" } ] } ] } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/dist/flatpak/org.gabmus.hydrapaper.json000066400000000000000000000035451450351034300305240ustar00rootroot00000000000000{ "app-id": "org.gabmus.hydrapaper", "command": "hydrapaper", "runtime": "org.gnome.Platform", "runtime-version": "45", "sdk": "org.gnome.Sdk", "finish-args": [ "--share=ipc", "--socket=fallback-x11", "--socket=wayland", "--device=dri", "--talk-name=org.gnome.SettingsDaemon", "--talk-name=org.freedesktop.Flatpak", "--talk-name=org.gnome.Mutter.DisplayConfig", "--filesystem=home:ro", "--filesystem=xdg-config/autostart", "--filesystem=/usr/share/gnome:ro", "--filesystem=xdg-run/dconf", "--filesystem=~/.config/dconf:ro", "--filesystem=~/.config/sway/config:rw", "--filesystem=~/.swaylock/config:rw", "--persist=/usr/share/backgrounds", "--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf", "--own-name=org.gabmus.hydrapaper", "--own-name=org.gabmus.hydrapaper.Daemon" ], "modules": [ "python-deps.json", { "name": "blueprint-compiler", "buildsystem": "meson", "sources": [ { "type": "archive", "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler/-/archive/v0.10.0/blueprint-compiler-v0.10.0.tar.gz", "sha256": "2bc729b36897d0959a9890fb0997c9847aa9d2fc9356520bd8a46ed0b51ff4c0" } ] }, { "name": "hydrapaper", "buildsystem": "meson", "builddir": true, "config-opts": [ "--buildtype=release" ], "sources": [ { "type": "git", "url": "https://gitlab.gnome.org/GabMus/HydraPaper", "tag": "3.3.2" } ] } ] } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/dist/flatpak/python-deps.json000066400000000000000000000021311450351034300265620ustar00rootroot00000000000000{ "name": "poetry-deps", "buildsystem": "simple", "build-commands": [ "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} pillow setuptools wheel" ], "sources": [ { "type": "file", "url": "https://files.pythonhosted.org/packages/b8/8b/31273bf66016be6ad22bb7345c37ff350276cfd46e389a0c2ac5da9d9073/wheel-0.41.2-py3-none-any.whl", "sha256": "75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8" }, { "type": "file", "url": "https://files.pythonhosted.org/packages/bb/26/7945080113158354380a12ce26873dd6c1ebd88d47f5bc24e2c5bb38c16a/setuptools-68.2.2-py3-none-any.whl", "sha256": "b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a" }, { "type": "file", "url": "https://files.pythonhosted.org/packages/64/9e/7e638579cce7dc346632f020914141a164a872be813481f058883ee8d421/Pillow-10.0.1.tar.gz", "sha256": "d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d" } ] }HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/docs/000077500000000000000000000000001450351034300217635ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/docs/hydrapaper.1.md000066400000000000000000000026021450351034300246030ustar00rootroot00000000000000% HydraPaper(1) | General Commands Manual NAME ==== HydraPaper - Wallpaper manager with multi monitor support SYNOPSIS ======== `hydrapaper [-h] [-c WALLPAPER_PATH [WALLPAPER_PATH ...]] [-m WALLPAPER_MODES [WALLPAPER_MODES ...]] [-r] [-l]` DESCRIPTION =========== HydraPaper is a wallpaper manager, specifically designed to work around the lack of functionality of many desktop environments to set a different wallpaper for each monitor in a multi monitor setup. It accomplishes this by scaling and merging different wallpapers into a single one and setting it as spanned. It currently supports various desktop environments, including GNOME, MATE, Cinnamon and Budgie. Experimental support is included for the sway window manager. OPTIONS ======= `-h, --help` : Show the help message and exit `-c, --cli WALLPAPER_PATHS...` : Set wallpapers from the command line `-m, --modes WALLPAPER_MODES...` : Specify the modes for the wallpapers (`zoom`, `center_black`, `center_blur`, `fit_black`, `fit_blur`) `-r, --random` : Set wallpapers randomly BUGS ==== Bugs can be reported and filed at https://gitlab.gnome.org/gabmus/hydrapaper/issues If you are not using the flatpak version of HydraPaper, or if you are using an otherwise out of date or downstream version of it, please make sure that the bug you want to report hasn't been already fixed or otherwise caused by a downstream patch. HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/docs/meson.build000066400000000000000000000011331450351034300241230ustar00rootroot00000000000000# compile markdown to groff pandoc_exe = find_program('pandoc', required: false) if pandoc_exe.found() message('Compiling man page from markdown to groff') r = run_command( 'pandoc', '-s', '-t', 'man', meson.project_name() + '.1.md', '-o', meson.project_name() + '.1' ) if r.returncode() != 0 warning('Failed to compile man page') else message('Man page compilation succeeded, installing') install_man('hydrapaper.1') endif else warning('Pandoc not found, skipping man page compilation') endif HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/000077500000000000000000000000001450351034300231725ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/__main__.py000066400000000000000000000176471450351034300253030ustar00rootroot00000000000000from gettext import gettext as _ import sys import argparse from gi.repository import Gtk, Gio, GLib from hydrapaper.confManager import ConfManager from hydrapaper.app_window import HydraPaperAppWindow from hydrapaper.get_gnome_dark_mode import get_gnome_dark_mode from hydrapaper.preferences_window import PreferencesWindow from hydrapaper.is_image import is_image from hydrapaper.monitor_parser import build_monitors_autodetect from hydrapaper.apply_wallpapers import apply_wallpapers from hydrapaper.base_app import BaseApp, AppAction class HydraPaperApplication(BaseApp): def __init__(self, **kwargs): self.confman = ConfManager() super().__init__( app_id='org.gabmus.hydrapaper', app_name='HydraPaper', app_actions=[ AppAction( name='spanned_mode', func=self.toggle_spanned_mode, accel=None, stateful=True, state_type=AppAction.StateType.BOOL, state_default=self.confman.conf['spanned_mode'] ), AppAction( name='set_random_wallpaper', func=lambda *args: self.apply_random(), accel='r' ), AppAction( name='settings', func=self.show_preferences_window, accel='comma' ), AppAction( name='shortcuts', func=self.show_shortcuts_window, accel='question' ), AppAction( name='about', func=self.show_about_dialog ), AppAction( name='quit', func=self.on_destroy_window, accel='q' ), AppAction( name='search', func=self.toggle_search, accel='f' ) ], flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE, css_resource='/org/gabmus/hydrapaper/ui/gtk_style.css' ) def toggle_search(self, *args): self.window.headerbar.search_toggle.set_active( not self.window.headerbar.search_toggle.get_active() ) def show_about_dialog(self, *args): about_builder = Gtk.Builder.new_from_resource( '/org/gabmus/hydrapaper/aboutdialog.ui' ) dialog = about_builder.get_object('aboutdialog') dialog.set_modal(True) dialog.set_transient_for(self.window) dialog.present() def on_destroy_window(self, *args): self.window.on_destroy() self.quit() def show_shortcuts_window(self, *args): shortcuts_win = Gtk.Builder.new_from_resource( '/org/gabmus/hydrapaper/ui/shortcutsWindow.ui' ).get_object('shortcuts-hydrapaper') shortcuts_win.props.section_name = 'shortcuts' shortcuts_win.set_transient_for(self.window) # shortcuts_win.set_attached_to(self.window) shortcuts_win.set_modal(True) shortcuts_win.present() shortcuts_win.show() def show_preferences_window(self, *args): preferences_win = PreferencesWindow(self.window) preferences_win.present() def apply_random(self): from random import sample monitors = build_monitors_autodetect() all_wallpapers = self.confman.wallpapers wallpapers = sample(all_wallpapers, len(monitors)) self.apply_from_cli(wallpapers) def apply_from_cli(self, wlist_cli, modes=None): # check all the passed wallpapers to be correct monitors = build_monitors_autodetect() if len(wlist_cli) < len(monitors): print( _('Error: you passed {0} wallpapers for {1} monitors').format( len(wlist_cli), len(monitors) ) ) exit(1) if modes is None: modes = ['zoom' for i in range(len(monitors))] elif len(modes) < len(wlist_cli): print( _('Error: you passed {0} modes for {1} wallpapers').format( len(modes), len(wlist_cli) ) ) exit(1) for monitor, mode in zip(monitors, modes): if mode not in ('zoom', 'fit_black', 'fit_blur', 'center_black', 'center_blur'): print( _('Error: wallpaper mode {0} is not valid. ' 'Allowed values are: zoom, fit_black, fit_blur, ' 'center_black, center_blur').format( mode ) ) exit(1) monitor.mode = mode for wpath in wlist_cli: if not is_image(wpath): print(_('Error: {0} is not a valid image path').format(wpath)) exit(1) for monitor, n_wp in zip(monitors, wlist_cli): monitor.wallpaper = n_wp n_monitors = {} for m in monitors: n_monitors[m.name] = m.wallpaper self.confman.conf['monitors'] = n_monitors self.confman.save_conf() print('>'*20) apply_wallpapers(monitors) def do_activate(self): super().do_activate() self.window = HydraPaperAppWindow() self.window.connect('close-request', self.on_destroy_window) self.add_window(self.window) if self.args: if self.args.wallpaper_path: self.apply_from_cli( self.args.wallpaper_path[0], self.args.wallpaper_modes[0] if self.args.wallpaper_modes else None, ) self.quit() exit(0) if self.args.set_random: self.apply_random() self.quit() exit(0) self.window.present() self.window.show() def toggle_spanned_mode(self, action: Gio.SimpleAction, *args): action.change_state( GLib.Variant.new_boolean(not action.get_state().get_boolean()) ) self.confman.conf['spanned_mode'] = action.get_state().get_boolean() self.confman.emit('hydrapaper_spanned_mode_changed', '') def do_command_line(self, args): """ GTK.Application command line handler called if Gio.ApplicationFlags.HANDLES_COMMAND_LINE is set. must call the self.do_activate() to get the application up and running. """ # call the default commandline handler Gtk.Application.do_command_line(self, args) # make a command line parser parser = argparse.ArgumentParser() parser.add_argument( '-c', '--cli', dest='wallpaper_path', nargs='+', action='append', help=_('set wallpapers from command line') ) parser.add_argument( '-m', '--modes', dest='wallpaper_modes', nargs='+', action='append', help=_('specify the modes for the wallpapers (zoom, center_black, ' 'center_blur, fit_black, fit_blur)') ) parser.add_argument( '-r', '--random', dest='set_random', action='store_true', help=_('set wallpapers randomly') ) # parse the command line stored in args, # but skip the first element (the filename) self.args = parser.parse_args(args.get_arguments()[1:]) # call the main program do_activate() to start up the app self.do_activate() return 0 def main(): application = HydraPaperApplication() try: ret = application.run(sys.argv) except SystemExit as e: ret = e.code sys.exit(ret) if __name__ == '__main__': main() HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/app_window.py000066400000000000000000000062341450351034300257200ustar00rootroot00000000000000from gi.repository import Gtk, Adw from hydrapaper.confManager import ConfManager from hydrapaper.main_stack import HydraPaperMainStack from hydrapaper.monitors_flowbox import HydraPaperMonitorsFlowbox from hydrapaper.apply_wallpapers import apply_wallpapers from hydrapaper.headerbar import HydraPaperHeaderbar from hydrapaper.base_app import BaseWindow, AppShortcut from hydrapaper.search_bar import HpSearchBar class HydraPaperAppWindow(BaseWindow): def __init__(self): super().__init__( app_name='HydraPaper', icon_name='org.gabmus.hydrapaper', shortcuts=[AppShortcut( 'F10', lambda *args: self.headerbar.menu_button.popup() )] ) self.confman = ConfManager() self.content_box = Gtk.Box( orientation=Gtk.Orientation.VERTICAL, hexpand=True, vexpand=True ) self.folders_flap = Adw.Flap( flap_position=Gtk.PackType.START, fold_policy=Adw.FlapFoldPolicy.ALWAYS, modal=True, reveal_flap=False, swipe_to_open=True, swipe_to_close=True ) self.folders_flap.set_content(self.content_box) self.bottom_bar = Adw.ViewSwitcherBar() self.headerbar = HydraPaperHeaderbar( self, self.apply_handler, self.folders_flap ) self.searchbar = HpSearchBar(self.headerbar.search_toggle) self.main_stack = HydraPaperMainStack(self.searchbar) self.stack_switcher = self.headerbar.stack_switcher self.folders_view = self.headerbar.folders_view self.stack_switcher.set_stack(self.main_stack.stack) self.bottom_bar.set_stack(self.main_stack.stack) self.monitors_flowbox = HydraPaperMonitorsFlowbox() self.append(self.headerbar) self.append(self.searchbar) self.content_box.append(self.monitors_flowbox) self.content_box.append(self.main_stack) self.content_box.append(self.bottom_bar) self.append(self.folders_flap) self.confman.connect( 'dark_mode_changed', lambda *args: self.set_dark_mode(self.confman.conf['dark_mode']) ) self.set_dark_mode(self.confman.conf['dark_mode']) def present(self): super().present() self.set_default_size( self.confman.conf['windowsize']['width'], self.confman.conf['windowsize']['height'] ) def emit_destroy(self, *args): self.emit('destroy') def show(self, **kwargs): super().show(**kwargs) self.main_stack.main_flowbox.show_hide_wallpapers() def apply_handler(self, _, set_dark=False): apply_wallpapers( monitors=self.monitors_flowbox.get_monitors(), widgets_to_freeze=[ self.headerbar.apply_btn, self.headerbar.apply_dark_btn, self.folders_view ], set_dark=set_dark ) self.monitors_flowbox.dump_to_config() def on_destroy(self, *args): self.confman.conf['windowsize'] = { 'width': self.get_width(), 'height': self.get_height() } self.confman.save_conf() HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/apply_wallpapers.py000066400000000000000000000046201450351034300271250ustar00rootroot00000000000000from threading import Thread from gi.repository import GLib from hashlib import sha256 from os.path import isfile from hydrapaper.wallpaper_merger import ( set_wallpaper_gnome, set_wallpaper_cinnamon, set_wallpaper_mate, set_wallpaper_sway, multi_setup_pillow, # cut_image ) from hydrapaper.confManager import ConfManager from hydrapaper.get_desktop_environment import get_desktop_environment def widgets_set_sensitive(widgets, state: bool): for w in widgets: w.set_sensitive(state) def _apply_wallpapers_worker( monitors, widgets_to_freeze=[], force_random_name=False, set_dark=False ): confman = ConfManager() random_name = confman.conf['random_wallpapers_names'] or force_random_name desktop_environment = get_desktop_environment() set_wallpaper = lambda *args: set_wallpaper_gnome(*args, set_dark=set_dark) if desktop_environment == 'mate': set_wallpaper = set_wallpaper_mate elif desktop_environment == 'cinnamon': set_wallpaper = set_wallpaper_cinnamon elif desktop_environment == 'sway': set_wallpaper_sway(monitors) GLib.idle_add(widgets_set_sensitive, widgets_to_freeze, True) return # add other DE cases as `elif` here wp_fname = 'merged_wallpaper' + ('_dark' if set_dark else '') if random_name: wp_fname = sha256( '_'.join([m.__repr__() for m in monitors]).encode() ).hexdigest() save_path = '{0}/{1}.png'.format(confman.cache_path, wp_fname) if not random_name or not isfile(save_path): multi_setup_pillow(monitors, save_path) set_wallpaper(save_path) GLib.idle_add(widgets_set_sensitive, widgets_to_freeze, True) def apply_wallpapers( monitors, widgets_to_freeze=[], force_random_name=False, skip_save=False, set_dark=None ): for m in monitors: if m.wallpaper is None: return t = Thread( group=None, target=_apply_wallpapers_worker, name=None, args=(monitors, widgets_to_freeze, force_random_name, set_dark) ) widgets_set_sensitive(widgets_to_freeze, False) t.start() if not skip_save: confman = ConfManager() confman.conf['last_wps'] = { 'spanned': monitors[0].spanned, 'wps': { m.name: {'wp': m.wallpaper, 'mode': m.mode} for m in monitors } } confman.save_conf_async() HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/base_app.py000066400000000000000000000103331450351034300253160ustar00rootroot00000000000000from gi.repository import Adw, Gtk, GLib, Gio, Gdk from typing import Callable, Optional, List, Any from enum import Enum, auto class AppAction: class StateType(Enum): BOOL = auto() RADIO = auto() def __init__( self, name: str, func: Callable, accel: Optional[str] = None, stateful: bool = False, state_type: Optional[StateType] = None, state_default: Any = None ): self.name = name self.func = func self.accel = accel self.stateful = stateful self.state_type = state_type self.state_default = state_default assert(not self.stateful or self.state_default is not None) def get_action(self): action = None if self.stateful: parameter_type = None variant = None if self.state_type == AppAction.StateType.BOOL: variant = GLib.Variant.new_boolean(self.state_default) elif self.state_type == AppAction.StateType.RADIO: parameter_type = GLib.VariantType.new('s') variant = GLib.Variant('s', self.state_default) action = Gio.SimpleAction.new_stateful( self.name, parameter_type, variant ) else: action = Gio.SimpleAction.new(self.name, None) action.connect('activate', self.func) return action class BaseApp(Gtk.Application): def __init__( self, app_id: str, app_name: str, app_actions: List[AppAction] = [], flags: int = 0, css_resource: Optional[str] = None ): self.app_actions = app_actions self.css_resource = css_resource super().__init__(application_id=app_id, flags=flags) GLib.set_application_name(app_name) GLib.set_prgname(app_id) def do_startup(self): Gtk.Application.do_startup(self) Adw.init() for a in self.app_actions: action = a.get_action() self.add_action(action) if a.accel is not None: self.set_accels_for_action(f'app.{a.name}', [a.accel]) def load_css(self): if self.css_resource is None: return provider = Gtk.CssProvider() provider.load_from_resource(self.css_resource) display = Gdk.Display.get_default() if display is not None: Gtk.StyleContext.add_provider_for_display( display, provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ) def do_activate(self): self.load_css() class AppShortcut: def __init__(self, keystroke: str, callback: Callable): self.keystroke = keystroke self.callback = callback def bind(self, widget: Gtk.Widget): assert hasattr(widget, '_shortcut_controller') _, key, mod = Gtk.accelerator_parse(self.keystroke) trigger = Gtk.KeyvalTrigger.new(key, mod) cb = Gtk.CallbackAction.new(self.callback) shortcut = Gtk.Shortcut.new(trigger, cb) widget._shortcut_controller.add_shortcut(shortcut) @classmethod def create_controller(cls, widget: Gtk.Widget): widget._shortcut_controller = Gtk.ShortcutController() widget._shortcut_controller.set_scope(Gtk.ShortcutScope.GLOBAL) widget.add_controller(widget._shortcut_controller) class BaseWindow(Adw.ApplicationWindow): def __init__( self, app_name: str, icon_name: str, shortcuts: List[AppShortcut] = [] ): super().__init__() self.set_title(app_name) self.set_icon_name(icon_name) AppShortcut.create_controller(self) for shortcut in shortcuts: shortcut.bind(self) self.main_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.set_content(self.main_box) self.append = self.main_box.append self.prepend = self.main_box.prepend self.remove = self.main_box.remove def set_dark_mode(self, dark_mode: bool = False): Adw.StyleManager.get_default().set_color_scheme( Adw.ColorScheme.FORCE_DARK if dark_mode else Adw.ColorScheme.DEFAULT ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/base_preferences.py000066400000000000000000000246771450351034300270570ustar00rootroot00000000000000from gettext import gettext as _ from gi.repository import Gtk, Adw, Gio, GObject from hydrapaper.confManager import ConfManager from typing import Optional, Union, List, Callable class MActionRow(Adw.ActionRow): def __init__(self, title: str, subtitle: Optional[str] = None, **kwargs): self.title = title self.subtitle = subtitle super().__init__( title=self.title, title_lines=0, subtitle_lines=0, **kwargs ) if self.subtitle: self.set_subtitle(self.subtitle) class PreferencesButtonRow(MActionRow): """ A preferences row with a title and a button title: the title shown button_label: a label to show inside the button onclick: the function that will be called when the button is pressed subtitle: an optional subtitle to be shown button_style_class: the style class of the button. Common options: `suggested-action`, `destructive-action` signal: an optional signal to let ConfManager emit when the button is pressed """ def __init__( self, title: str, button_label: str, onclick: Callable, subtitle: Optional[str] = None, button_style_class: Optional[str] = None, signal: Optional[str] = None ): super().__init__(title, subtitle) self.button_label = button_label self.confman = ConfManager() self.signal = signal self.onclick = onclick self.button = Gtk.Button( label=self.button_label, valign=Gtk.Align.CENTER ) if button_style_class: self.button.get_style_context().add_class(button_style_class) self.button.connect('clicked', self.on_button_clicked) self.add_suffix(self.button) def on_button_clicked(self, btn): self.onclick(self.confman) if self.signal: self.confman.emit(self.signal, '') self.confman.save_conf() class PreferencesEntryRow(MActionRow): """ A preferences row with a title and a button title: the title shown conf_key: the key of the configuration dictionary/json in ConfManager subtitle: an optional subtitle to be shown onchange: an optional function that will be called when the entry changes signal: an optional signal to let ConfManager emit when the entry changes """ def __init__( self, title: str, conf_key: str, subtitle: Optional[str] = None, onchange: Optional[Callable] = None, signal: Optional[str] = None ): super().__init__(title, subtitle) self.conf_key = conf_key self.confman = ConfManager() self.signal = signal self.onchange = onchange self.entry = Gtk.Entry(valign=Gtk.Align.CENTER) self.entry.set_text(self.confman.conf[self.conf_key]) self.entry.connect('changed', self.on_entry_changed) self.add_suffix(self.entry) def on_entry_changed(self, *args): self.confman.conf[self.conf_key] = self.entry.get_text().strip() if self.onchange is not None: self.onchange(self.confman) if self.signal: self.confman.emit(self.signal, '') self.confman.save_conf() class PreferencesFileChooserRow(MActionRow): """ A preferences row with a title and a file chooser button title: the title shown conf_key: the key of the configuration dictionary/json in ConfManager subtitle: an optional subtitle to be shown signal: an optional signal to let ConfManager emit when the value changes file_chooser_title: the title of the file chooser dialog file_chooser_action: the title of the file chooser dialog """ def __init__( self, title: str, conf_key: str, subtitle: Optional[str] = None, signal: Optional[str] = None, file_chooser_title: str = _('Choose a folder'), file_chooser_action: Gtk.FileChooserAction = Gtk.FileChooserAction.SELECT_FOLDER ): super().__init__(title, subtitle) self.confman = ConfManager() self.signal = signal self.conf_key = conf_key self.file_chooser_btn = Gtk.FileChooserButton.new( file_chooser_title, file_chooser_action ) self.file_chooser_btn.set_current_folder_uri( 'file://'+self.confman.conf[self.conf_key] ) self.file_chooser_btn.connect('file-set', self.on_file_set) self.add(self.file_chooser_btn) def on_file_set(self, *args): self.confman.conf[self.conf_key] = self.file_chooser_btn.get_filename() if self.signal: self.confman.emit(self.signal, '') self.confman.save_conf() class PreferencesSpinButtonRow(MActionRow): """ A preferences row with a title and a spin button title: the title shown min_v: minimum num value max_v: maximum num value conf_key: the key of the configuration dictionary/json in ConfManager subtitle: an optional subtitle to be shown signal: an optional signal to let ConfManager emit when the value changes """ def __init__( self, title: str, min_v: int, max_v: int, conf_key: str, subtitle: Optional[str] = None, signal: Optional[str] = None ): super().__init__(title, subtitle) self.confman = ConfManager() self.signal = signal self.conf_key = conf_key self.adjustment = Gtk.Adjustment.new( self.confman.conf[self.conf_key], # initial value min_v, # minimum value max_v, # maximum value 1, # step increment 10, # page increment (page up, page down? large steps anyway) 0 ) self.spin_button = Gtk.SpinButton( adjustment=self.adjustment, valign=Gtk.Align.CENTER ) self.spin_button.connect('value-changed', self.on_value_changed) self.add_suffix(self.spin_button) def on_value_changed(self, *args): self.confman.conf[self.conf_key] = self.spin_button.get_value_as_int() if self.signal: self.confman.emit(self.signal, self.confman.conf[self.conf_key]) self.confman.save_conf() class PreferencesComboRow(Adw.ComboRow): """ A preferences row with a title and a combo box title: the title shown values: a list of acceptable values value_names: a list of user facing names for the values provided above conf_key: the key of the configuration dictionary/json in ConfManager subtitle: an optional subtitle to be shown signal: an optional signal to let ConfManager emit when the value changes """ class ItemWrapper(GObject.Object): def __init__(self, name: str, value: str): super().__init__() self.name = name self.value = value def __init__( self, title: str, values: List[str], value_names: List[str], conf_key: str, subtitle: Optional[str] = None, signal: Optional[str] = None ): self.confman = ConfManager() self.signal = signal self.conf_key = conf_key self.list_store = Gio.ListStore( item_type=PreferencesComboRow.ItemWrapper ) self.items_l = list() for name, value in zip(value_names, values): i = PreferencesComboRow.ItemWrapper(name, value) self.items_l.append(i) self.list_store.append(i) self.factory = Gtk.SignalListItemFactory() self.factory.connect('setup', self._on_setup_listitem) self.factory.connect('bind', self._on_bind_listitem) self.title = title self.subtitle = subtitle super().__init__( model=self.list_store, factory=self.factory, title=title ) if self.subtitle: self.set_subtitle(self.subtitle) self.set_selected(values.index(self.confman.conf[self.conf_key])) self.connect('notify::selected-item', self.on_selection_changed) def _on_setup_listitem( self, factory: Gtk.ListItemFactory, list_item: Gtk.ListItem ): label = Gtk.Label() list_item.set_child(label) list_item.row_w = label def _on_bind_listitem( self, factory: Gtk.ListItemFactory, list_item: Gtk.ListItem ): label = list_item.get_child() label.set_text(list_item.get_item().name) def on_selection_changed(self, *args): value = self.get_selected_item().value if value is not None: self.confman.conf[self.conf_key] = value if self.signal: self.confman.emit(self.signal, '') self.confman.save_conf() class PreferencesToggleRow(MActionRow): """ A preferences row with a title and a toggle title: the title shown conf_key: the key of the configuration dictionary/json in ConfManager subtitle: an optional subtitle to be shown signal: an optional signal to let ConfManager emit when the configuration is set """ def __init__( self, title: str, conf_key: str, subtitle: Optional[str] = None, signal: Optional[str] = None ): super().__init__(title, subtitle) self.confman = ConfManager() self.conf_key = conf_key self.signal = signal self.toggle = Gtk.Switch(valign=Gtk.Align.CENTER) self.toggle.set_active(self.confman.conf.get(self.conf_key, False)) self.toggle.connect('state-set', self.on_toggle_state_set) self.add_suffix(self.toggle) self.set_activatable_widget(self.toggle) def on_toggle_state_set(self, toggle, state): self.confman.conf[self.conf_key] = state self.confman.save_conf() if self.signal is not None: self.confman.emit(self.signal, '') class MPreferencesGroup(Adw.PreferencesGroup): def __init__( self, title: str, rows: List[Union[MActionRow, PreferencesComboRow, Adw.ActionRow]] ): self.title = title self.rows = rows super().__init__(title=self.title) for row in self.rows: self.add(row) class MPreferencesPage(Adw.PreferencesPage): def __init__( self, title: str, pref_groups: List[MPreferencesGroup], icon_name: Optional[str] = None ): self.title = title self.icon_name = icon_name self.pref_groups = pref_groups super().__init__(title=self.title) if self.icon_name: self.set_icon_name(self.icon_name) for group in self.pref_groups: self.add(group) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/confManager.py000066400000000000000000000130361450351034300257670ustar00rootroot00000000000000from hydrapaper.is_flatpak import is_flatpak from .singleton import Singleton from gi.repository import GObject, GLib from pathlib import Path from os.path import isfile, isdir from .is_image import is_image from os import makedirs, listdir, system from os import environ as Env import json import os from threading import Thread pictures_dir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_PICTURES) if not pictures_dir: system('xdg-user-dirs-update') pictures_dir = GLib.get_user_special_dir( GLib.UserDirectory.DIRECTORY_PICTURES ) if not pictures_dir: pictures_dir = f'{Env.get("HOME")}/Pictures' class ConfManagerSignaler(GObject.Object): __gsignals__ = { 'dark_mode_changed': ( GObject.SignalFlags.RUN_FIRST, None, (str,) ), 'hydrapaper_flowbox_wallpaper_selected': ( GObject.SIGNAL_RUN_FIRST, None, (str,) ), 'hydrapaper_populate_wallpapers': ( GObject.SIGNAL_RUN_FIRST, None, (str,) ), 'hydrapaper_show_hide_wallpapers': ( GObject.SIGNAL_RUN_FIRST, None, (str,) ), 'hydrapaper_set_folders_popover_labels': ( GObject.SIGNAL_RUN_FIRST, None, (str,) ), 'hydrapaper_reload_monitor_thumbs': ( GObject.SIGNAL_RUN_FIRST, None, (str,) ), 'hydrapaper_spanned_mode_changed': ( GObject.SIGNAL_RUN_FIRST, None, (str,) ) } class ConfManager(metaclass=Singleton): BASE_SCHEMA = { 'wallpapers_paths': [ { 'path': pictures_dir, 'active': True } ], 'dark_mode': False, 'monitors': {}, 'favorites': [], 'folders_popover_full_path': False, 'big_monitor_thumbnails': True, 'random_wallpapers_names': False, 'spanned_mode': False, 'windowsize': { 'width': 600, 'height': 400 }, 'enable_daemon': False, 'last_wps': { 'spanned': False, 'wps': {} }, # saved when applying wallpapers, retrieved by daemon 'Daemon': { 'wallpaper_rotation_enabled': False, 'wallpaper_rotation_sleep_time': 30, 'rotating_wallpapers': [] # list of lists of rotating wallpapers } } def __init__(self): self.signaler = ConfManagerSignaler() self.emit = self.signaler.emit self.connect = self.signaler.connect self.config_home = os.getenv('XDG_CONFIG_HOME', f'{Env.get("HOME")}/.config') self.cache_home = os.getenv('XDG_CACHE_HOME', f'{Env.get("HOME")}/.cache') self.path = Path( f'{self.config_home}/org.gabmus.hydrapaper.json' ) self.cache_path = f'{self.cache_home}/org.gabmus.hydrapaper' self.thumbs_cache_path = f'{self.cache_path}/thumbnails/' if isfile(str(self.path)): try: with open(self.path) as fd: self.conf = json.loads(fd.read()) fd.close() # verify that the file has all of the schema keys for k in self.BASE_SCHEMA.keys(): if k not in self.conf.keys(): if type(self.BASE_SCHEMA[k]) in [list, dict]: self.conf[k] = self.BASE_SCHEMA[k].copy() else: self.conf[k] = self.BASE_SCHEMA[k] # verify that monitors is a dict of dicts if len(self.conf['monitors']) > 0: for m_name in self.conf['monitors']: if not isinstance(self.conf['monitors'][m_name], dict): if isinstance(self.conf['monitors'][m_name], str): self.conf['monitors'][m_name] = { 'wallpaper': self.conf['monitors'][m_name], 'mode': 'zoom' } else: self.conf['monitors'][m_name] = { 'wallpaper': '', 'mode': 'zoom' } except Exception: self.conf = self.BASE_SCHEMA.copy() self.save_conf() else: self.conf = self.BASE_SCHEMA.copy() self.save_conf() for p in [self.cache_path, self.thumbs_cache_path]: if not isdir(p): makedirs(p) self.windows_to_restore = [] self.wallpapers = [] self.populate_wallpapers() def save_conf(self): with open(self.path, 'w') as fd: fd.write(json.dumps(self.conf)) fd.close() def save_conf_async(self): Thread(target=self.save_conf).start() def populate_wallpapers(self): self.wallpapers = [] for index, folder in enumerate(self.conf['wallpapers_paths']): if isdir(folder['path']): for f in listdir(folder['path']): f_path = f'{folder["path"]}/{f}' if is_image(f_path): self.wallpapers.append(f_path) else: self.conf['wallpapers_paths'].pop(index) self.emit( 'hydrapaper_populate_wallpapers', 'notimportant' ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/folder_store.py000066400000000000000000000042611450351034300262360ustar00rootroot00000000000000from pathlib import Path from typing import List, Union from gi.repository import Gtk, Gio, GObject from hydrapaper.confManager import ConfManager class FolderObj(GObject.Object): __gtype_name__ = 'FolderObj' def __init__(self, path: Union[Path, str], active: bool = True): if isinstance(path, str): path = Path(path) assert(path.is_dir()) assert(path.is_absolute()) self.path = path self.__active = active super().__init__() @GObject.Property(type=bool, default=False) def folder_active(self) -> bool: return self.__active @folder_active.setter def folder_active(self, n_active: bool): self.__active = n_active class FolderStore(Gtk.SortListModel): def __init__(self): self.confman = ConfManager() self.sorter = Gtk.CustomSorter() self.sorter.set_sort_func(self.__sort_func) self.list_store = Gio.ListStore(item_type=FolderObj) super().__init__(model=self.list_store, sorter=self.sorter) self.populate() def populate(self): self.empty() for folder in self.confman.conf['wallpapers_paths']: obj = FolderObj(folder['path'], folder['active']) self.add_folder(obj) def __sort_func(self, f1: FolderObj, f2: FolderObj, *_) -> int: return -1 if f1.path < f2.path else 1 def invalidate_sort(self): self.sorter.set_sort_func(self.__sort_func) def empty(self): self.list_store.remove_all() def add_folder(self, folder: FolderObj): self.list_store.append(folder) def remove_folder_by_path(self, target: Union[Path, str]): if isinstance(target, str): target = Path(target) for i, folder in enumerate(self.list_store): if not folder: continue if folder.path == target: self.list_store.remove(i) return def remove_folder(self, folder: FolderObj): self.remove_folder_by_path(folder.path) def get_active_folders(self) -> List[Path]: return [ folder.path for folder in self.list_store if folder and folder.folder_active ] HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/get_desktop_environment.py000066400000000000000000000006421450351034300305020ustar00rootroot00000000000000from os import environ as Env def get_desktop_environment(): desktop_environment = '' candidates = [ 'XDG_SESSION_DESKTOP', 'DESKTOP_SESSION', 'XDG_CURRENT_DESKTOP' ] for c in candidates: desktop_environment = Env.get(c) if not not desktop_environment: break if not desktop_environment: desktop_environment = '' return desktop_environment.lower() HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/get_gnome_dark_mode.py000066400000000000000000000011301450351034300275100ustar00rootroot00000000000000from subprocess import PIPE, Popen from gi.repository import Gio from hydrapaper.is_flatpak import is_flatpak def get_gnome_dark_mode() -> bool: if is_flatpak(): out, _ = Popen([ 'flatpak-spawn', '--host', 'gsettings', 'get', 'org.gnome.desktop.interface', 'color-scheme' ], stdout=PIPE).communicate() return out.decode().strip().strip("'") == 'prefer-dark' gs = Gio.Settings.new('org.gnome.desktop.interface') scheme = str(gs.get_string('color-scheme')) return scheme == 'prefer-dark' HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/headerbar.py000066400000000000000000000130131450351034300254570ustar00rootroot00000000000000from gi.repository import Gtk from hydrapaper.get_desktop_environment import get_desktop_environment from hydrapaper.wallpapers_folders_view import HydraPaperWallpapersFoldersView from hydrapaper.confManager import ConfManager from hydrapaper.slideshow_listbox_row import SlideshowListboxRow @Gtk.Template(resource_path='/org/gabmus/hydrapaper/ui/headerbar.ui') class HydraPaperHeaderbar(Gtk.WindowHandle): __gtype_name__ = 'GHeaderbar' headerbar = Gtk.Template.Child() stack_switcher = Gtk.Template.Child() squeezer = Gtk.Template.Child() nobox = Gtk.Template.Child() apply_btn = Gtk.Template.Child() menu_btn = Gtk.Template.Child() wallpaper_folders_btn = Gtk.Template.Child() add_to_slideshow_btn = Gtk.Template.Child() slideshow_menu_btn = Gtk.Template.Child() slideshow_switch = Gtk.Template.Child() slideshow_time_spinbutton = Gtk.Template.Child() slideshow_listbox = Gtk.Template.Child() search_toggle = Gtk.Template.Child() apply_dark_btn = Gtk.Template.Child() def __init__(self, window, apply_handler, folders_flap): super().__init__() self.confman = ConfManager() self.pack_start = self.headerbar.pack_start self.pack_end = self.headerbar.pack_end self.set_title_widget = self.headerbar.set_title_widget self.apply_handler_func = apply_handler self.folders_flap = folders_flap self.bottom_bar = window.bottom_bar self.folders_view = HydraPaperWallpapersFoldersView(window) self.folders_flap.set_flap(self.folders_view) self.folders_flap.connect( 'notify::reveal-flap', lambda *args: self.wallpaper_folders_btn.set_active( self.folders_flap.get_reveal_flap() ) ) if True: # TODO: rework background worker self.slideshow_menu_btn.set_visible(False) self.slideshow_switch.set_state( self.confman.conf['Daemon']['wallpaper_rotation_enabled'] ) self.slideshow_time_spinbutton.set_increments(1, 10) self.slideshow_time_spinbutton.set_range(0, 300000) self.slideshow_time_spinbutton.set_value( self.confman.conf['Daemon']['wallpaper_rotation_sleep_time'] ) self.slideshow_listbox.populate = self.populate_slideshow_listbox self.on_slideshow_mode_changed() self.populate_slideshow_listbox() self.apply_dark_btn.set_visible( 'gnome' in get_desktop_environment() or 'ubuntu' in get_desktop_environment() ) def signal_daemon(self): if True: # TODO: rework background worker return @Gtk.Template.Callback() def on_slideshow_time_spinbutton_changed(self, *args): self.confman.conf['Daemon']['wallpaper_rotation_sleep_time'] = \ self.slideshow_time_spinbutton.get_value() self.confman.save_conf() self.signal_daemon() @Gtk.Template.Callback() def on_add_to_slideshow(self, *args): monitors = self.get_root().monitors_flowbox.get_monitors() pics = [{ 'wallpaper': m.wallpaper, 'mode': m.mode, 'single_spanned': self.confman.conf['spanned_mode'] } for m in monitors] # pics = [m.wallpaper for m in monitors] if None in pics: return self.confman.conf['Daemon']['rotating_wallpapers'].append(pics) self.confman.save_conf() self.signal_daemon() self.populate_slideshow_listbox() def populate_slideshow_listbox(self, *args): child = self.slideshow_listbox.get_first_child() while child is not None: self.slideshow_listbox.remove(child) child = self.slideshow_listbox.get_first_child() for pics in self.confman.conf['Daemon']['rotating_wallpapers']: self.slideshow_listbox.append( SlideshowListboxRow([pic['wallpaper'] for pic in pics]) ) self.signal_daemon() @Gtk.Template.Callback() def on_slideshow_mode_changed(self, *args): n_state = self.slideshow_switch.get_active() if True: # TODO: rework background worker n_state = False self.confman.conf['Daemon']['wallpaper_rotation_enabled'] = n_state self.confman.save_conf_async() sc = self.slideshow_menu_btn.get_style_context() for c in [f'slideshow-btn-{p}active' for p in ('', 'in')]: sc.remove_class(c) if n_state: sc.add_class('slideshow-btn-active') self.add_to_slideshow_btn.set_visible(True) self.apply_btn.set_visible(False) else: sc.add_class('slideshow-btn-inactive') self.add_to_slideshow_btn.set_visible(False) self.apply_btn.set_visible(True) self.signal_daemon() @Gtk.Template.Callback() def on_squeeze(self, *args): self.bottom_bar.set_reveal( self.squeezer.get_visible_child() == self.nobox ) def apply_handler(self, *args, **kwargs): self.apply_handler_func(*args, **kwargs) self.confman.save_conf() self.signal_daemon() @Gtk.Template.Callback() def on_apply_btn_clicked(self, btn): self.apply_handler(self.apply_dark_btn) @Gtk.Template.Callback() def on_apply_dark_btn_clicked(self, btn): self.apply_handler(self.apply_btn, set_dark=True) @Gtk.Template.Callback() def on_wallpaper_folders_btn_clicked(self, *args): self.folders_flap.set_reveal_flap( self.wallpaper_folders_btn.get_active() ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/is_flatpak.py000066400000000000000000000003161450351034300256610ustar00rootroot00000000000000from os import environ from os.path import isfile def is_flatpak() -> bool: return ( 'XDG_RUNTIME_DIR' in environ.keys() and isfile(f'{environ["XDG_RUNTIME_DIR"]}/flatpak-info') ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/is_image.py000066400000000000000000000004051450351034300253200ustar00rootroot00000000000000from pathlib import Path IMAGE_EXTENSIONS = [ '.jpg', '.jpeg', '.png', '.tiff', # '.svg' ] def is_image(p): p = Path(p) return ( p.suffix.lower() in IMAGE_EXTENSIONS and p.exists() and not p.is_dir() ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/listbox_helper.py000066400000000000000000000002461450351034300265710ustar00rootroot00000000000000def empty_listbox(listbox): while True: row = listbox.get_row_at_index(0) if row: listbox.remove(row) else: break HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/main_stack.py000066400000000000000000000016511450351034300256600ustar00rootroot00000000000000from gettext import gettext as _ from gi.repository import Adw from hydrapaper.wallpapers_flowbox import HydraPaperWallpapersFlowbox from hydrapaper.search_bar import HpSearchBar class HydraPaperMainStack(Adw.Bin): def __init__(self, searchbar: HpSearchBar): super().__init__(vexpand=True, hexpand=True) self.stack = Adw.ViewStack(vexpand=True, hexpand=True) self.set_child(self.stack) self.main_flowbox = HydraPaperWallpapersFlowbox(searchbar) self.favs_flowbox = HydraPaperWallpapersFlowbox( searchbar, is_favorites=True ) self.stack.add_titled( self.main_flowbox, 'Wallpapers', _('Wallpapers') ).set_icon_name( 'preferences-desktop-wallpaper-symbolic' ) self.stack.add_titled( self.favs_flowbox, 'Favorites', _('Favorites') ).set_icon_name( 'emblem-favorite-symbolic' ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/monitor_parser.py000066400000000000000000000107431450351034300266140ustar00rootroot00000000000000from gettext import gettext as _ from gi.repository import Gdk from subprocess import run, PIPE import json from hydrapaper.get_desktop_environment import get_desktop_environment from hydrapaper.confManager import ConfManager from hydrapaper.is_flatpak import is_flatpak from hydrapaper.wallpaper_merger import get_combined_resolution from os import environ as Env import dbus confman = ConfManager() class Monitor: def __init__( self, width, height, scaling, offset_x, offset_y, index, name, mode='zoom', primary=False, spanned=False ): self.width = int(width) self.height = int(height) self.scaling = int(scaling) self.primary = primary self.offset_x = int(offset_x) self.offset_y = int(offset_y) self.index = index self.name = name self.mode = mode self.wallpaper = None self.spanned = spanned if self.name in confman.conf['monitors'].keys(): self.wallpaper = \ confman.conf['monitors'][self.name]['wallpaper'] self.mode = confman.conf['monitors'][self.name]['mode'] def __repr__(self): return ( 'HydraPaper Monitor Object: ' f'Name: {self.name}; ' f'Resolution: {self.width} x {self.height}; ' f'Scaling: {self.scaling}; ' f'Offset: {self.offset_x} x {self.offset_y}; ' f'Wallpaper path: {self.wallpaper}; ' f'Mode: {self.mode}; ' f'Spanned: {self.spanned}.' ) def build_monitors_from_swaymsg(): cmd = 'swaymsg -rt get_outputs' if is_flatpak(): cmd = 'flatpak-spawn --host ' + cmd res = run(cmd.split(' '), stdout=PIPE) outputs = json.loads(res.stdout.decode()) monitors = [ Monitor( out['rect']['width'], out['rect']['height'], out['scale'], out['rect']['x'], out['rect']['y'], i, out['name'], 'zoom', out['primary'] ) for i, out in enumerate(outputs) ] return monitors def get_layout_mode(): """ Scale factor can be either 1 on X11, or another value if the whole desktop on Wayland where it's treated as if every monitor has the highest dpi mode available """ desktop_environment = get_desktop_environment() if ( Env.get('XDG_SESSION_TYPE') != 'x11' and desktop_environment in ['gnome', 'ubuntu-wayland'] ): bus = dbus.SessionBus() object_display_config = bus.get_object( 'org.gnome.Mutter.DisplayConfig', '/org/gnome/Mutter/DisplayConfig' ) interface_display_config = dbus.Interface( object_display_config, dbus_interface='org.gnome.Mutter.DisplayConfig' ) state = interface_display_config.GetCurrentState() return int(state[3].get('layout-mode')) else: return 1 def build_monitors_from_gdk(): monitors = [] num_monitors = 0 max_scale_factor = 0 try: display = Gdk.Display.get_default() monitors = list(display.get_monitors()) num_monitors = len(monitors) except Exception: print(_('Error parsing monitors (Gdk)')) import traceback traceback.print_exc() monitors = None return if get_layout_mode() == 1: max_scale_factor = max([m.get_scale_factor() for m in monitors]) else: max_scale_factor = 1 res = list() for i in range(num_monitors): rect = monitors[i].get_geometry() res.append(Monitor( rect.width, rect.height, max_scale_factor, rect.x, rect.y, i, f'Monitor {i} ({monitors[i].get_model()})', 'zoom', i == 0 # first monitor will be the primary, doesn't mean much )) return res def build_monitors_autodetect(): desktop_environment = get_desktop_environment() if desktop_environment == 'sway': return build_monitors_from_swaymsg() else: return build_monitors_from_gdk() def build_combined_spanned_monitor(monitors=None): if monitors is None: monitors = build_monitors_autodetect() return Monitor( *get_combined_resolution(monitors), 1, 0, 0, 0, _('Combined spanned monitor'), 'zoom', True, True ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/monitors_flowbox.py000066400000000000000000000145321450351034300271630ustar00rootroot00000000000000from gi.repository import Gtk, GdkPixbuf from hydrapaper.confManager import ConfManager from hydrapaper.monitor_parser import ( build_monitors_autodetect, build_combined_spanned_monitor ) from hydrapaper.is_image import is_image from hashlib import sha256 from os.path import isfile WALLPAPER_MODE_VALUES = [ 'zoom', 'fit_black', 'fit_blur', 'center_black', 'center_blur' ] @Gtk.Template( resource_path='/org/gabmus/hydrapaper/ui/wp_mode_popover_menu.ui' ) class WallpaperModePopoverContent(Gtk.ScrolledWindow): __gtype_name__ = 'WallpaperModePopoverContent' radio_zoom = Gtk.Template.Child() radio_fit_black = Gtk.Template.Child() radio_fit_blur = Gtk.Template.Child() radio_center_black = Gtk.Template.Child() radio_center_blur = Gtk.Template.Child() def __init__(self): super().__init__() self.radios_dict = { 'zoom': self.radio_zoom, 'fit_black': self.radio_fit_black, 'fit_blur': self.radio_fit_blur, 'center_black': self.radio_center_black, 'center_blur': self.radio_center_blur } self.radios = list(self.radios_dict.values()) class WallpaperModePopover(Gtk.PopoverMenu): def __init__(self): super().__init__(autohide=True) self.content = WallpaperModePopoverContent() self.radios_dict = self.content.radios_dict self.radios = self.content.radios self.set_child(self.content) @Gtk.Template( resource_path='/org/gabmus/hydrapaper/ui/monitors_flowbox_item.ui' ) class HydraPaperMonitorsFlowboxItem(Gtk.FlowBoxChild): __gtype_name__ = 'MonitorsFlowboxItem' main_box = Gtk.Template.Child() overlay = Gtk.Template.Child() image = Gtk.Template.Child() wp_mode_btn = Gtk.Template.Child() label = Gtk.Template.Child() def __init__(self, monitor, **kwargs): super().__init__(**kwargs) self.confman = ConfManager() self.monitor = monitor self.label.set_text(self.monitor.name) self.wp_mode_popover = WallpaperModePopover() self.wp_mode_btn.set_popover(self.wp_mode_popover) for radio, value in zip( self.wp_mode_popover.radios, WALLPAPER_MODE_VALUES ): radio.connect( 'toggled', self.on_wp_mode_changed, value ) self.set_picture() def on_wp_mode_changed(self, radio, value): # check that the signal is sent from a radio that has been turned on # and not turned off by another radio if radio.get_active(): self.monitor.mode = value def set_picture(self, n_wp=None): wp_size = 256 if self.confman.conf['big_monitor_thumbnails'] else 64 self.image.set_pixel_size(wp_size) if n_wp and is_image(n_wp): self.monitor.wallpaper = n_wp if self.monitor.wallpaper and is_image(self.monitor.wallpaper): thumb_path = '{0}/{1}.png'.format( self.confman.thumbs_cache_path, sha256( f'HydraPaperThumb{self.monitor.wallpaper}'.encode() ).hexdigest() ) if not isfile(thumb_path): thumb_path = self.monitor.wallpaper pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale( thumb_path, wp_size, wp_size, True ) self.image.set_from_pixbuf(pixbuf) else: self.image.set_from_icon_name( 'image-x-generic-symbolic' ) self.wp_mode_popover.radios_dict[self.monitor.mode].set_active(True) class HydraPaperMonitorsFlowbox(Gtk.FlowBox): def __init__(self, **kwargs): super().__init__(**kwargs) self.confman = ConfManager() self.monitors = build_monitors_autodetect() self.spanned_monitor = build_combined_spanned_monitor() self.set_min_children_per_line(1) self.set_max_children_per_line(len(self.monitors)) self.set_halign(Gtk.Align.FILL) self.set_hexpand(True) self.set_homogeneous(False) self.set_vexpand(False) self.set_activate_on_single_click(True) self.confman.connect( 'hydrapaper_flowbox_wallpaper_selected', self.change_selected_wp ) self.confman.connect( 'hydrapaper_reload_monitor_thumbs', self.reload_children_pictures ) self.confman.connect( 'hydrapaper_spanned_mode_changed', self.populate ) self.populate() def populate(self, *args): while True: item = self.get_child_at_index(0) if item is not None: self.remove(item) else: break if self.confman.conf['spanned_mode']: self.insert( HydraPaperMonitorsFlowboxItem( self.spanned_monitor ), -1 ) self.set_max_children_per_line(1) else: for m in self.monitors: self.insert( HydraPaperMonitorsFlowboxItem(m), -1 ) self.set_max_children_per_line(len(self.monitors)) self.select_child(self.get_child_at_index(0)) def get_monitors(self): return ( [self.spanned_monitor] if self.confman.conf['spanned_mode'] else self.monitors ) def reload_children_pictures(self, *args): i = 0 child = self.get_child_at_index(i) while child is not None: child.set_picture() i += 1 child = self.get_child_at_index(i) def dump_to_config(self): n_monitors = self.confman.conf['monitors'].copy() for m in self.monitors: n_monitors[m.name] = { 'wallpaper': m.wallpaper, 'mode': m.mode } self.confman.conf['monitors'] = n_monitors self.confman.save_conf() def change_selected_wp(self, signaler, n_wp, *args): selected_monitor_widget = self.get_selected_children()[0] if not selected_monitor_widget: return for i, m in enumerate(self.monitors): if m.name == selected_monitor_widget.monitor.name: self.monitors[i].wallpaper = n_wp break selected_monitor_widget.set_picture(n_wp) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/preferences_window.py000066400000000000000000000077221450351034300274440ustar00rootroot00000000000000from gettext import gettext as _ from gi.repository import Gtk, Adw from os.path import isfile, abspath, join from os import remove, listdir from os import environ as Env from subprocess import run from hydrapaper.base_preferences import ( MPreferencesPage, MPreferencesGroup, PreferencesButtonRow, PreferencesToggleRow ) from typing import Optional class GeneralPreferencesPage(MPreferencesPage): def __init__(self): general_rows = [ PreferencesToggleRow( title=_('Save each wallpaper separately'), subtitle=_( 'Warning: this feature will use a lot of disk ' 'space. Periodically clear the cache to ' 'mitigate this problem' ), conf_key='random_wallpapers_names' ) ] super().__init__( title=_('General'), icon_name='preferences-other-symbolic', pref_groups=[ MPreferencesGroup( title=_('General preferences'), rows=general_rows ), MPreferencesGroup( title=_('Cache and favorites'), rows=[ PreferencesButtonRow( title=_('Clear favorites'), button_label=_('Clear'), onclick=self.clear_favorites, button_style_class='destructive-action', signal='hydrapaper_populate_wallpapers' ), PreferencesButtonRow( title=_('Clear caches'), button_label=_('Clear'), onclick=self.clear_caches, button_style_class='destructive-action', signal='hydrapaper_populate_wallpapers' ) ] ) ] ) def clear_favorites(self, confman, *args): confman.conf['favorites'] = [] def clear_caches(self, confman, *args): for p in [confman.cache_path, confman.thumbs_cache_path]: files = [ abspath(join(p, f)) for f in listdir(p) ] for f in files: if isfile(f): remove(f) class AppearancePreferencesPage(MPreferencesPage): def __init__(self): super().__init__( title=_('Appearance'), icon_name='applications-graphics-symbolic', pref_groups=[ MPreferencesGroup( title=_('Appearance preferences'), rows=[ PreferencesToggleRow( title=_('Dark mode'), conf_key='dark_mode', signal='dark_mode_changed' ), PreferencesToggleRow( title=_( 'Use big thumbnails for the monitors previews' ), conf_key='big_monitor_thumbnails', signal='hydrapaper_reload_monitor_thumbs' ), PreferencesToggleRow( title=_('Show full path in folder view'), conf_key='folders_popover_full_path', signal='hydrapaper_set_folders_popover_labels' ) ] ) ] ) class PreferencesWindow(Adw.PreferencesWindow): def __init__(self, parent_win: Optional[Gtk.Window]): super().__init__(default_width=640, default_height=700) if parent_win: self.set_transient_for(parent_win) self.set_modal(True) self.pages = [ GeneralPreferencesPage(), AppearancePreferencesPage() ] for p in self.pages: self.add(p) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/search_bar.py000066400000000000000000000013641450351034300256410ustar00rootroot00000000000000from gi.repository import Gtk class HpSearchBar(Gtk.SearchBar): def __init__(self, toggle: Gtk.ToggleButton): self.toggle = toggle self.entry = Gtk.SearchEntry() super().__init__(hexpand=True, search_mode_enabled=False) self.set_child(self.entry) self.connect_entry(self.entry) self.toggle.connect('toggled', self.on_toggle_toggled) self.connect( 'notify::search-mode-enabled', self.on_search_mode_toggled ) def get_text(self) -> str: return self.entry.get_text() def on_toggle_toggled(self, *args): self.set_search_mode(self.toggle.get_active()) def on_search_mode_toggled(self, *args): self.toggle.set_active(self.get_search_mode()) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/set_wallpaper_portal.py000066400000000000000000000007771450351034300300020ustar00rootroot00000000000000import dbus def set_wallpaper(path): bus = dbus.SessionBus() portal_desktop = bus.get_object( 'org.freedesktop.portal.Desktop', '/org/freedesktop/portal/desktop' ) interface_wp = dbus.Interface( portal_desktop, dbus_interface='org.freedesktop.portal.Wallpaper' ) with open(path.replace('file://', ''), 'rb') as fd: interface_wp.SetWallpaperFile('', fd.fileno(), { 'show-preview': False, 'set-on': 'background' }) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/singleton.py000066400000000000000000000003301450351034300255420ustar00rootroot00000000000000class Singleton(type): instance = None def __call__(cls, *args, **kwargs): if not cls.instance: cls.instance = super(Singleton, cls).__call__(*args, **kwargs) return cls.instance HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/slideshow_listbox_row.py000066400000000000000000000070311450351034300302010ustar00rootroot00000000000000from gettext import gettext as _ from gi.repository import Gtk from os.path import isfile from hydrapaper.confManager import ConfManager class SlideshowListboxRow(Gtk.ListBoxRow): def __init__(self, pictures=[], **kwargs): super().__init__(**kwargs) self.confman = ConfManager() self.pictures = pictures self.main_box = Gtk.Box( orientation=Gtk.Orientation.HORIZONTAL, spacing=6, margin_top=6, margin_bottom=6, margin_start=6, margin_end=6 ) self.pic_box = Gtk.Box( orientation=Gtk.Orientation.VERTICAL, hexpand=True ) self.btn_box = Gtk.Box( orientation=Gtk.Orientation.VERTICAL, margin_start=12, margin_end=12, valign=Gtk.Align.CENTER, vexpand=True ) self.btn_box.get_style_context().add_class('linked') self.move_up_btn = Gtk.Button( icon_name='go-up-symbolic', tooltip_text=_('Move up') ) self.move_up_btn.connect('clicked', self.on_move_up_clicked) self.remove_btn = Gtk.Button( icon_name='list-remove-symbolic', tooltip_text=_('Remove') ) self.remove_btn.connect('clicked', self.on_remove_clicked) self.move_down_btn = Gtk.Button( icon_name='go-down-symbolic', tooltip_text=_('Move down') ) self.move_down_btn.connect('clicked', self.on_move_down_clicked) self.btn_box.append(self.move_up_btn) self.btn_box.append(self.remove_btn) self.btn_box.append(self.move_down_btn) self.main_box.append(self.pic_box) self.main_box.append(self.btn_box) self.set_child(self.main_box) self.set_pictures() def repopulate_listbox(self): self.get_parent().populate() def find_index_in_conf(self): for i, pics in enumerate( self.confman.conf['Daemon']['rotating_wallpapers'] ): if [p['wallpaper'] for p in pics] == self.pictures: return i return -1 def on_move_up_clicked(self, *args): i = self.find_index_in_conf() if i <= 0: return x = self.confman.conf['Daemon']['rotating_wallpapers'].pop(i) self.confman.conf['Daemon']['rotating_wallpapers'].insert(i-1, x) self.confman.save_conf_async() self.repopulate_listbox() def on_move_down_clicked(self, *args): i = self.find_index_in_conf() if i+1 >= len(self.confman.conf['Daemon']['rotating_wallpapers']): return x = self.confman.conf['Daemon']['rotating_wallpapers'].pop(i) self.confman.conf['Daemon']['rotating_wallpapers'].insert(i+1, x) self.confman.save_conf_async() self.repopulate_listbox() def on_remove_clicked(self, *args): i = self.find_index_in_conf() if i >= 0: self.confman.conf['Daemon']['rotating_wallpapers'].pop(i) self.confman.save_conf_async() self.repopulate_listbox() def empty_pic_box(self): child = self.pic_box.get_first_child() while child is not None: self.pic_box.remove(child) child = self.pic_box.get_first_child() def set_pictures(self, pictures=None): self.empty_pic_box() if pictures is not None: self.pictures = pictures for pic in self.pictures: if not isfile(pic): continue pic_w = Gtk.Picture.new_for_filename(pic) self.pic_box.append(pic_w) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/threading_helper.py000066400000000000000000000005761450351034300270600ustar00rootroot00000000000000import threading from gi.repository import Gtk def do_async(function, args): # args must be tuple t = threading.Thread( group=None, target=function, name=None, args=args ) t.start() return t def wait_for_thread(thread): while thread.is_alive(): while Gtk.events_pending(): Gtk.main_iteration() return HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/wallpaper_flowbox_item.py000066400000000000000000000123431450351034300303140ustar00rootroot00000000000000from gettext import gettext as _ from gi.repository import Gtk, GLib import os from PIL import Image from hashlib import sha256 from hydrapaper.confManager import ConfManager from pathlib import Path from threading import Thread @Gtk.Template( resource_path='/org/gabmus/hydrapaper/ui/wallpaper_flowbox_item_popover.ui' ) class WallpaperItemPopover(Gtk.Popover): __gtype_name__ = 'WallpaperFlowboxItemPopover' favorite_btn = Gtk.Template.Child() wallpaper_path_entry = Gtk.Template.Child() wallpaper_name_label = Gtk.Template.Child() def __init__(self, wp_path, parent_w, **kwargs): super().__init__(**kwargs) self.wp_path = wp_path self.parent_w = parent_w self.set_parent(self.parent_w) def popup(self, *args): if ( self.parent_w.get_parent().get_parent().get_parent( ).is_favorites or self.parent_w.is_fav ): self.favorite_btn.set_label(_('Remove favorite')) else: self.favorite_btn.set_label(_('Add favorite')) self.wallpaper_path_entry.set_text(self.wp_path) self.wallpaper_name_label.set_text(Path(self.wp_path).name) super().popup(*args) @Gtk.Template.Callback() def on_favorite_btn_clicked(self, btn): self.parent_w.set_fav(not self.parent_w.is_fav) self.parent_w.confman.emit('hydrapaper_populate_wallpapers', '') self.popdown() @Gtk.Template( resource_path='/org/gabmus/hydrapaper/ui/wallpaper_flowbox_item.ui' ) class WallpaperBox(Gtk.FlowBoxChild): __gtype_name__ = 'WallpaperBox' wp_image = Gtk.Template.Child() heart_icon = Gtk.Template.Child() container_box = Gtk.Template.Child() label = Gtk.Template.Child() def __init__(self, wp_path, **kwargs): super().__init__(**kwargs) self.confman = ConfManager() self.wallpaper_path = wp_path self.popover = WallpaperItemPopover(self.wallpaper_path, self) self.pathlib_path = Path(wp_path) self.cache_path = '{0}/{1}.png'.format( self.confman.thumbs_cache_path, sha256( f'HydraPaperThumb{self.wallpaper_path}'.encode() ).hexdigest() ) self.is_fav = False self.container_box.wallpaper_path = wp_path self.resolution = '' self.set_wallpaper_thumb() self.set_fav(self.wallpaper_path in self.confman.conf['favorites']) self.click_gesture = Gtk.GestureClick.new() self.click_gesture.set_propagation_phase(Gtk.PropagationPhase.CAPTURE) self.click_gesture.set_button(3) self.click_gesture.connect( 'released', self.on_rightclick ) self.add_controller(self.click_gesture) self.longpress = Gtk.GestureLongPress.new() self.longpress.set_propagation_phase(Gtk.PropagationPhase.CAPTURE) self.longpress.set_touch_only(False) self.longpress.connect( 'pressed', self.on_rightclick ) self.add_controller(self.longpress) self.label.set_text(self.pathlib_path.stem) def on_rightclick(self, *args): self.get_parent().select_child(self) self.confman.emit( 'hydrapaper_flowbox_wallpaper_selected', self.wallpaper_path ) self.popover.popup() def set_size_tooltip(self): with Image.open(self.wallpaper_path) as img: self.resolution = 'x'.join([ str(dim) for dim in img.size ]) GLib.idle_add( lambda: self.wp_image.set_tooltip_text(self.resolution) ) def set_wallpaper_thumb(self): def af(): self.make_wallpaper_thumb(self.cache_path) GLib.idle_add(cb) def cb(): self.wp_image.set_filename(self.cache_path) self.wp_image.show() if os.path.isfile(self.cache_path): cb() Thread(target=self.set_size_tooltip(), daemon=True).start() else: Thread(target=af, daemon=True).start() def set_fav(self, fav: bool): self.is_fav = fav if self.is_fav: self.heart_icon.set_visible(True) if self.wallpaper_path not in self.confman.conf['favorites']: self.confman.conf['favorites'].append(self.wallpaper_path) else: self.heart_icon.set_visible(False) if self.wallpaper_path in self.confman.conf['favorites']: self.confman.conf['favorites'].pop( self.confman.conf['favorites'].index(self.wallpaper_path) ) self.confman.save_conf() def make_wallpaper_thumb(self, wp_path): try: thumb = Image.open(self.wallpaper_path) self.resolution = 'x'.join([ str(dim) for dim in thumb.size ]) GLib.idle_add( lambda: self.wp_image.set_tooltip_text(self.resolution) ) thumb.thumbnail((250, 250)) thumb.save(self.cache_path, 'PNG') thumb.close() except IOError: print( _('ERROR: cannot create thumbnail for file'), self.wallpaper_path ) return self.cache_path HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/wallpaper_merger.py000066400000000000000000000121041450351034300270720ustar00rootroot00000000000000from typing import Optional from PIL import Image from PIL.ImageOps import fit from PIL.ImageFilter import GaussianBlur from os import environ as Env from subprocess import run import re from hydrapaper.confManager import ConfManager from hydrapaper.get_gnome_dark_mode import get_gnome_dark_mode from hydrapaper.is_flatpak import is_flatpak # from .set_wallpaper_portal import set_wallpaper SWAY_CONF_PATH = f'{Env.get("HOME")}/.config/sway/config' SWAYLOCK_CONF_PATH = f'{Env.get("HOME")}/.swaylock/config' confman = ConfManager() def cut_image(image_path, resolution, save_path): with Image.open(image_path) as image: n_image = fit( image, resolution, method=Image.LANCZOS, centering=(0.5, 0.5) ) n_image.save(save_path) def get_combined_resolution(monitors): return ( max([ (m.offset_x + m.width) * m.scaling for m in monitors ]), max([ (m.offset_y + m.height) * m.scaling for m in monitors ]) ) def get_center_offset(img, bg): return ( int((bg.width/2)-(img.width/2)), int((bg.height/2)-(img.height/2)) ) def resize_letterbox(img, sw, sh): nw = 0 nh = 0 # old, weird and error prone # portrait = ( # img.width == img.height and sw > sh) or img.width < img.height # ) portrait = img.width / img.height < sw / sh if portrait: nh = sh nw = int((sh * img.width) / img.height) else: nw = sw nh = int((img.height * sw) / img.width) return img.resize((nw, nh)) def blur_img(img, sw, sh): blur_filter = GaussianBlur(radius=20) bg = fit(img.copy(), (sw, sh)) blur_bg = bg.filter(blur_filter) return blur_bg def multi_setup_pillow(monitors, save_path, wp_setter_func=None): images = list() for monitor in monitors: n_img = Image.open(monitor.wallpaper) if 'fit' in monitor.mode or 'center' in monitor.mode: if 'black' in monitor.mode: bg = Image.new('RGB', (monitor.width, monitor.height)) else: # if 'blur' in monitor.mode: bg = blur_img(n_img, monitor.width, monitor.height) if 'fit' in monitor.mode or ( n_img.height > monitor.height or n_img.width > monitor.width ): n_img = resize_letterbox(n_img, monitor.width, monitor.height) bg.paste( n_img, get_center_offset(n_img, bg) ) n_img = bg images.append(n_img) resolutions = [ (m.width * m.scaling, m.height * m.scaling) for m in monitors ] offsets = [ (m.offset_x * m.scaling, m.offset_y * m.scaling) for m in monitors ] final_image_width, final_image_height = get_combined_resolution(monitors) n_images = [ fit(i, r, method=Image.LANCZOS) for i, r in zip(images, resolutions) ] final_image = Image.new('RGB', (final_image_width, final_image_height)) for i, o in zip(n_images, offsets): final_image.paste(i, o) final_image.save(save_path) for i in images: i.close() def __set_wallpaper_gsettings(gsettings_path, wp_key, mode_key, path, wp_mode): # set_wallpaper(path) # return cmd = 'gsettings set' if is_flatpak(): cmd = 'flatpak-spawn --host ' + cmd for t in [(wp_key, path), (mode_key, wp_mode)]: run( '{0} {1} {2} "{3}"'.format( cmd, gsettings_path, t[0], t[1] ), shell=True ) # return # gsettings = Gio.Settings.new(gsettings_path) # gsettings.set_string(wp_key, path) # gsettings.set_string(mode_key, wp_mode) def set_wallpaper_gnome( path, wp_mode='spanned', set_dark: Optional[bool] = None ): if set_dark is None: set_dark = get_gnome_dark_mode() print(set_dark) __set_wallpaper_gsettings( gsettings_path=( 'org.gnome.desktop.background' ), wp_key='picture-uri-dark' if set_dark else 'picture-uri', mode_key='picture-options', path='file://{}'.format(path), wp_mode=wp_mode ) def set_wallpaper_cinnamon(path, wp_mode='spanned'): __set_wallpaper_gsettings( gsettings_path=( 'org.cinnamon.desktop.background' ), wp_key='picture-uri', mode_key='picture-options', path='file://{}'.format(path), wp_mode=wp_mode ) def set_wallpaper_mate(path, wp_mode='spanned'): __set_wallpaper_gsettings( gsettings_path='org.mate.background', wp_key='picture-filename', mode_key='picture-options', path=path, wp_mode=wp_mode ) def set_wallpaper_sway(monitors): conf_path = SWAY_CONF_PATH with open(conf_path) as fd: conf = fd.read() fd.close() n_conf = re.sub(r'output .* bg .*', '', conf).strip() n_conf += '\n' + '\n'.join([ f'output {m.name} bg {m.wallpaper} fill' for m in monitors ]) with open(conf_path, 'w') as fd: fd.write(n_conf) fd.close() run('sway reload'.split(' ')) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/wallpapers_flowbox.py000066400000000000000000000055421450351034300274640ustar00rootroot00000000000000from gi.repository import Gtk from hydrapaper.confManager import ConfManager from hydrapaper.wallpaper_flowbox_item import WallpaperBox from hydrapaper.search_bar import HpSearchBar import pathlib @Gtk.Template(resource_path='/org/gabmus/hydrapaper/ui/wallpapers_flowbox.ui') class HydraPaperWallpapersFlowbox(Gtk.ScrolledWindow): __gtype_name__ = 'WallpapersFlowbox' flowbox = Gtk.Template.Child() def __init__(self, searchbar: HpSearchBar, is_favorites=False, **kwargs): super().__init__(**kwargs) self.confman = ConfManager() self.searchbar = searchbar self.is_favorites = is_favorites self.confman.connect( 'hydrapaper_populate_wallpapers', self.populate ) self.confman.connect( 'hydrapaper_show_hide_wallpapers', self.show_hide_wallpapers ) self.populate() self.flowbox.set_filter_func(self.flowbox_filter_func, None, False) self.searchbar.entry.connect('search-changed', self.on_search_changed) def on_search_changed(self, *args): self.flowbox.invalidate_filter() def flowbox_filter_func(self, fb_item, data, notify_destroy): search_term = self.searchbar.get_text().strip().lower() if self.is_favorites: return not search_term or ( search_term in fb_item.pathlib_path.name.lower() or search_term in fb_item.pathlib_path.parent.name.lower() or search_term in fb_item.resolution ) return len([ p for p in self.confman.conf['wallpapers_paths'] if fb_item.pathlib_path.parent == pathlib.Path(p['path']) and p['active'] and ( not search_term or search_term in fb_item.pathlib_path.name.lower() or search_term in fb_item.pathlib_path.parent.name.lower() or search_term in fb_item.resolution ) ]) > 0 def populate(self, *args): # empty before filling while True: c = self.flowbox.get_child_at_index(0) if c: self.flowbox.remove(c) # c.destroy() else: break if self.is_favorites: for wp in self.confman.wallpapers: if wp in self.confman.conf['favorites']: self.flowbox.insert(WallpaperBox(wp), -1) else: for wp in self.confman.wallpapers: self.flowbox.insert(WallpaperBox(wp), -1) self.show() self.show_hide_wallpapers() def show_hide_wallpapers(self, *args): self.flowbox.invalidate_filter() @Gtk.Template.Callback() def on_flowbox_child_activated(self, flowbox, child): self.confman.emit( 'hydrapaper_flowbox_wallpaper_selected', child.wallpaper_path ) wallpapers_folder_listbox_row.py000066400000000000000000000040201450351034300316210ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaperfrom gi.repository import Gtk from hydrapaper.folder_store import FolderObj from hydrapaper.confManager import ConfManager class WallpapersFolderListBoxRow(Gtk.ListBoxRow): def __init__(self, folderobj: FolderObj): super().__init__() self.confman = ConfManager() self.folderobj = folderobj self.folder_path = self.folderobj.path self.box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.label = Gtk.Label() self.switch = Gtk.CheckButton() self.set_label_text() self.label.set_margin_start(12) self.label.set_margin_end(6) self.label.set_halign(Gtk.Align.START) self.switch.set_active(self.folderobj.folder_active) self.switch.set_margin_start(6) self.switch.set_margin_end(12) self.box.append(self.label) self.label.set_hexpand(True) self.box.append(self.switch) self.box.set_margin_top(6) self.box.set_margin_bottom(6) self.value = self.folder_path self.set_child(self.box) self.switch_toggled_handler_id = self.switch.connect( 'toggled', self.on_switch_state_set ) self.folderobj_notify_active_id = self.folderobj.connect( 'notify::folder-active', self.on_folder_notify_active ) self.confman.connect( 'hydrapaper_set_folders_popover_labels', self.set_label_text ) def on_folder_notify_active(self, *_): with self.switch.handler_block(self.switch_toggled_handler_id): self.switch.set_active(self.folderobj.folder_active) def on_switch_state_set(self, switch): with self.folderobj.handler_block(self.folderobj_notify_active_id): state = self.switch.get_active() self.folderobj.folder_active = state def set_label_text(self, *_): self.label.set_text( str(self.folderobj.path) if self.confman.conf['folders_popover_full_path'] else str(self.folderobj.path.name) ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/hydrapaper/wallpapers_folders_view.py000066400000000000000000000103771450351034300304760ustar00rootroot00000000000000from gettext import gettext as _ from pathlib import Path from gi.repository import Gtk from hydrapaper.folder_store import FolderObj from hydrapaper.folder_store import FolderStore from hydrapaper.confManager import ConfManager from hydrapaper.wallpapers_folder_listbox_row import WallpapersFolderListBoxRow from os.path import isdir @Gtk.Template( resource_path='/org/gabmus/hydrapaper/ui/wallpapers_folders_view.ui' ) class HydraPaperWallpapersFoldersView(Gtk.Box): __gtype_name__ = 'WallpapersFoldersView' listbox: Gtk.ListBox = Gtk.Template.Child() add_btn: Gtk.Button = Gtk.Template.Child() del_btn: Gtk.Button = Gtk.Template.Child() def __init__(self, window, **kwargs): super().__init__(**kwargs) self.confman = ConfManager() self.parent_win = window self.folder_store = FolderStore() self.listbox.bind_model(self.folder_store, self.__create_row, None) def __create_row(self, folderobj: FolderObj, *_) -> Gtk.ListBoxRow: row = WallpapersFolderListBoxRow(folderobj) folderobj.connect( 'notify::folder-active', self.on_folder_active_changed ) return row @Gtk.Template.Callback() def on_listbox_row_selected(self, listbox, row): self.del_btn.set_sensitive( not not row and self.add_btn.get_sensitive() ) def on_folder_active_changed(self, folderobj, _): for i, p in enumerate(self.confman.conf['wallpapers_paths']): if p['path'] == str(folderobj.path): self.confman.conf['wallpapers_paths'][i][ 'active' ] = folderobj.folder_active self.confman.emit( 'hydrapaper_show_hide_wallpapers', '' ) self.confman.save_conf() break @Gtk.Template.Callback() def on_add_btn_clicked(self, btn): self.fc_dialog = Gtk.FileChooserNative( title=_('Add wallpaper folders'), transient_for=self.parent_win, modal=True, select_multiple=True, action=Gtk.FileChooserAction.SELECT_FOLDER ) def on_response(dialog, res): if res == Gtk.ResponseType.ACCEPT: for fpath in dialog.get_files(): fpath = fpath.get_path() if isdir(fpath): self.confman.conf['wallpapers_paths'].append({ 'path': fpath, 'active': True }) self.folder_store.add_folder(FolderObj(Path(fpath))) self.confman.save_conf() self.confman.populate_wallpapers() self.confman.emit( 'hydrapaper_populate_wallpapers', '' ) self.fc_dialog.connect('response', on_response) self.fc_dialog.show() @Gtk.Template.Callback() def on_del_btn_clicked(self, btn): row = self.listbox.get_selected_row() if not row or not row.folder_path: return c_paths = self.confman.conf['wallpapers_paths'] for i, p in enumerate(c_paths): if p['path'] == str(row.folder_path): self.folder_store.remove_folder_by_path(p['path']) c_paths.pop(i) self.confman.conf['wallpapers_paths'] = c_paths self.confman.populate_wallpapers() break for i, fav in enumerate(self.confman.conf['favorites']): if str(row.folder_path) in fav: self.confman.conf['favorites'].pop(i) self.confman.save_conf() def set_all_enabled(self, state): for i, __ in enumerate(self.confman.conf['wallpapers_paths']): self.confman.conf['wallpapers_paths'][i]['active'] = state for folderobj in self.folder_store.list_store: if not folderobj: continue folderobj.folder_active = state self.confman.emit('hydrapaper_show_hide_wallpapers', '') self.confman.save_conf() @Gtk.Template.Callback() def on_activate_all_btn_clicked(self, __): self.set_all_enabled(True) @Gtk.Template.Callback() def on_deactivate_all_btn_clicked(self, __): self.set_all_enabled(False) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/meson.build000066400000000000000000000051271450351034300232020ustar00rootroot00000000000000project('hydrapaper', version: '3.3.2', meson_version: '>= 0.58.0', license: 'GPL3' ) description = 'Wallpaper manager with multimonitor support' prettyname = 'HydraPaper' prettylicense = 'GPL-3.0+' author = 'gabmus' authorfullname = 'Gabriele Musco' authoremail = 'gabmus@disroot.org' domain = 'org' # app_id built as: domain.author.project_name gitrepo = 'https://gitlab.com/'+author+'/'+meson.project_name() website = 'http://'+meson.project_name()+'.'+author+'.org' # NOTE: if you contributed, feel free to add your name and email address here contributors = '\n'.join([ 'Gabriele Musco (GabMus) <gabmus@disroot.org>', 'Alex Hunt (huntie) <hello@alexhunt.io>' ]) translators = '\n'.join([ 'German: Alessandra Gallia <alessandragalliaaru@gmail.com>', 'Russian: Alessandra Gallia <alessandragalliaaru@gmail.com>', 'Italian: Gabriele Musco (GabMus) <gabmus@disroot.org>', 'Swedish: Åke Engelbrektson <eson@svenskasprakfiler.se>' ]) designers = '\n'.join([ 'Icon by Tobias Bernard (bertob) <hi@tobiasbernard.com>' ]) message('Looking for dependencies') dependency('glib-2.0') dependency('gobject-introspection-1.0', version: '>=1.35.9') dependency('gtk4', version :'>=4.3.1') dependency('libadwaita-1', version :'>=1.0.0.alpha.3') i18n = import('i18n') python = import('python') py_installation = python.find_installation('python3') if not py_installation.found() error('No valid python3 binary found') endif gnome = import('gnome') prefix = get_option('prefix') # should be /usr bindir = get_option('bindir') # should be bin datadir = get_option('datadir') # should be /usr/share pkgdatadir = join_paths(prefix, datadir, meson.project_name()) # pythondir = join_paths(prefix, python.sysconfig_path('purelib')) pythondir = py_installation.get_install_dir() localedir = join_paths(prefix, get_option('localedir')) libexecdir = join_paths(prefix, get_option('libexecdir')) etcdir = get_option('sysconfdir') systemd_user_unit_dir = join_paths(prefix, 'lib', 'systemd', 'user') dependency('dbus-1') dbus_service_dir = join_paths(datadir, 'dbus-1/services') # dbus_service_dir = dependency( # 'dbus-1' # ).get_variable( # pkgconfig: 'session_bus_services_dir', # default_value: ['datadir', join_paths(prefix, datadir)] # ) app_id = '.'.join([ domain, author, meson.project_name() ]) app_id_aspath = '/'.join([ domain, author, meson.project_name() ]) install_subdir(meson.project_name(), install_dir: pythondir) subdir('data') subdir('bin') subdir('po') subdir('docs') meson.add_install_script('meson_post_install.py') HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/meson_post_install.py000066400000000000000000000007201450351034300253200ustar00rootroot00000000000000#!/usr/bin/env python3 from os import environ, path from subprocess import call prefix = environ.get('MESON_INSTALL_PREFIX', '/usr/local') datadir = path.join(prefix, 'share') destdir = environ.get('DESTDIR', '') if not destdir: print('Updating icon cache...') call(['gtk-update-icon-cache', '-qtf', path.join(datadir, 'icons', 'hicolor')]) print("Installing new Schemas") call(['glib-compile-schemas', path.join(datadir, 'glib-2.0/schemas')]) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/misc/000077500000000000000000000000001450351034300217665ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/misc/matrix-room-icon.png000066400000000000000000000157401450351034300257070ustar00rootroot00000000000000PNG  IHDR\rf pHYsodtEXtSoftwarewww.inkscape.org<mIDATx{|T7%rQZZLLQZk} ZJ]ՋOrTIX}ZTuvٮdDVrO&3ALΜߙe9ù9/6|%2Qa8U*jE 0 2A#z~> = . 섥)l+r?DLEZ$0*A1]2Mf> l`@:oĪ69/6kDyVHG$W! /;-oa6~|-,hĆ^$Mʓ q^'kcӖtRpY͚ "Fi"glS2<̎/:+9>ѱx*SUTXyi@rz@> 2^NVWtbpP%:N/[ Sl>J_+_>y@łp6b`݃jD{Gw ,|y(+Q[{q4e:WQ+%.0tm*|odUiaЛB‰+Dq'D+M!G&Pgm:Wz㵗 BP^Cűe3 JږLYv#y{Ͷp󫦳TP='Zt2nzaL(PH&Qi0tݡKaI@cɹb?VYȓ nn\ n)Y'୸4C86mM>ya+'j#b~ziXeS$TQ+H~ R4N|cӝzQQ@d%{T2 /o-b:ӊD<|ذכⴢht*fo4 EQ፵%%ORa: ,닱o2T P\Rn$2d w @!EP4 B"V/; B#\/BWH^AUpi?5YR+1%U3ۿ3͖oc: Q޵}ϷM_7$S<#^-u':J^f:H "k-?l: F _l:H&<_DP< > GPD tD }xN>@8-AفI/pFA@ g:H<9" wBt"'$o:G_Vl:Do*H{!sban1L_OLDy*PlD=]_a#|#*O6Z_bZBͿuk@Uے)>~Rn|;_+Ѩe4Sr)KN.=S,>:o<_V誇JMtTYԖoRDm*Dz{H"wTǢ/5Qu?o""- S1]^.QI81hj*%N.፵\sG9L"ms+pGM|کQTj:8 j"lrbYkv1(W)"XiYdz.ˑ[]S8'mK6A9 L9M!DuT? u9D99nP3P-k RL,T 5eO+3e^ mPVNDC#̹yu~"rD8o*יs*y+DuD\)L[NyKDNix\̺歜Sן_ND;jD'ޚ:+|"rװ=u iTDⵟfXvV,_Vc4J5!"~vf[}Ug\Vڷ.Lg[-i3*o?@NuW20S#*A?7f2(~ȑ5ܔMBD!pIDwSgt4|j 8o#on#J];ҾMִ8Ao@ X^NJηE\9&b:}|'}t>o+-ik9y.?arxrc <߀g>S}~?n:€,~3HriT? o0-KT1E}DBb f.X_Y);"*8WE_ !"77O8=mc4TIl:`$#&ť6FE?>Se#KV^ܷ }t  tDT,A D@T$hRf: *a,Vf > + @t"2@T,@L "[D%I~.sEJӃOø <A'tnev3(<'!. L " t"2b]S˂- *IӲ,[DH˂r]BDJt"rVs+PqtI/1\ډΞVYMw-6a] `e2 ̒-+8Za2 F v.gC7oz `׌F 4UW@P=9<;1eLX<94xI{y>b]:ٟĆ[L */{x 5bd/)vh3ܲah_ru.!"7cPQS %QRM/HTFwLD D[st):qlP6d;iM oL(O%J"1g]e:`|$%k'wp'id8^F+IV&I姙AQy 7'%QH&fT+#oseT` ."tڌ )gsT\%鰴nNqwgmn:yC *eq{^s{ m{q(N~ '<lPbYWDl(n{ sFM̑0Wn:R5Ȳ=8`(U3Ӂ}i])/XɩcgҼ|[>1e#Od;/yOKzn{ kjdEIol:UYŸ1`Ui3(Dd; Z+?e^"r+/s1Dmr+Dd $ @Ks Ƨr;@m`aѐu-V2(7 %|,ԝG܊3cLG1*iܺ!j:J%m_zV6ʔ[ljUh4.uwb~)e\qQ䕈~'S@kl5Z~)q盎c#3>g:F7Yy+H#tϘ9$C6˳՟!}dʑ+r;)dU>S*G e:lދ>prxl]CUni<= "эuy Vٸ k.@/N ՍutcElֆs,ukDhV˕K]9  g+-M&JԷ%VBW ZC;y?$j/&*yɻX3ZN|"sMe ~ sW4ob K^`DEP Kk,>UJO 79BϩʍA*i^V Z~3nil G boAO"vA9L@k"ߦsj]K1zT@Ka:~ }c4@"Px7(kߋU5{/5Dn- (bM?).'Շ9,7V5?d:@<_no> h: QzWN .RK8Y[f,]k:H& vb: QBrӗfN[ 38/-)X@:B靈V(fB@|/|)c}PZT<}y`I aE[uK ߟMN#ll N*j?Y(#+1iEY%H bMJƖPB=?-3TMg!@Kڗm,TRmltCN|c>mfvm[AY{xί7MgqKI@!xWExq d@T6=b:Jz G]M!#Pw_k: %[Gb`,&y|+V-IL*8bfbɥEMʥ7 X9\t#~&^U,($hBKLǡ!yMeت0o<[S\#"(4>^W9H{\y)dykino+b a:L!a"Q;:y^0[6OlvvӁ 3Z}L+ze:' [t$Xu{#;"- D2*q@WZ5c]nӑJ /EOfsmE;1HASڶp_L*e,-߷,BVplux Go<.#,P&;.5i 0T1A,L 祉 KW:Nߴhh6 l5A m[OX8`,r ~< ]jRP{l5lډNkiM/DIENDB`HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/misc/matrix-room-icon.svg000066400000000000000000000167011450351034300257200ustar00rootroot00000000000000 image/svg+xml HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/misc/org.gabmus.hydrapapergit.json000066400000000000000000000075321450351034300275760ustar00rootroot00000000000000{ "app-id": "org.gabmus.hydrapaper", "command": "hydrapaper", "runtime": "org.gnome.Platform", "runtime-version": "3.32", "sdk": "org.gnome.Sdk", "finish-args": [ "--share=ipc", "--socket=x11", "--socket=wayland", "--talk-name=org.gnome.SettingsDaemon", "--filesystem=home:ro", "--filesystem=xdg-run/dconf", "--filesystem=~/.config/dconf:ro", "--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf" ], "modules": [ { "name": "libwnck", "cleanup": ["/include", "*.la"], "sources": [ { "type": "archive", "url": "https://download.gnome.org/sources/libwnck/3.32/libwnck-3.32.0.tar.xz", "sha256": "9595835cf28d0fc6af5526a18f77f2fcf3ca8c09e36741bb33915b6e69b8e3ca" } ] }, { "name": "libhandy", "buildsystem": "meson", "config-opts": ["--buildtype=release"], "sources": [{ "type": "archive", "url": "https://source.puri.sm/Librem5/libhandy/-/archive/v0.0.10/libhandy-v0.0.10.tar.gz", "sha256": "9f4528c07bdb9796300ff0efb165cdc48cfcd7f28952c9d776de15b735844981" }] }, { "name": "python-pillow", "buildsystem": "simple", "build-options": { "arch": { "i386": { "env": { "MAX_CONCURRENCY": "1" } }, "arm": { "env": { "MAX_CONCURRENCY": "1" } } } }, "ensure-writable": [ "/lib/python*/site-packages/easy-install.pth", "/lib/python*/site-packages/setuptools.pth", "/app/lib/python*/site-packages/easy-install.pth", "/app/lib/python*/site-packages/setuptools.pth" ], "build-commands": [ "python3 setup.py install --prefix=/app --root=/" ], "sources": [ { "type": "archive", "url": "https://github.com/python-pillow/Pillow/archive/6.1.0.tar.gz", "sha256": "9a3a613e7780362605b10765274389b3e9a6fe3201dd2bceeb422d45c5c9ba18" }, { "type": "shell", "commands": [ "sed -i 's/if not platform_/if not dirs/' setup.py" ] } ] }, { "name": "mate-desktop-background-gschema", "buildsystem": "simple", "build-commands": [ "mkdir -p /app/share/glib-2.0/schemas/", "sed 's#@datadir@#\\/usr\\/share#g' schemas/org.mate.background.gschema.xml.in > schemas/org.mate.background.gschema.xml", "install schemas/org.mate.background.gschema.xml /app/share/glib-2.0/schemas/", "glib-compile-schemas /app/share/glib-2.0/schemas" ], "sources": [ { "type": "archive", "url": "https://github.com/mate-desktop/mate-desktop/archive/v1.23.1.tar.gz", "sha256": "4bfc81aaaba468b4e39d6aec7fe772d3405f3766058c49168f65cfe4a14e0b47" } ] }, { "name": "hydrapaper", "buildsystem": "meson", "builddir": true, "config-opts": ["--buildtype=release"], "sources": [{ "type": "git", "url": "git://gitlab.com/gabmus/hydrapaper" }] } ] } HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/new_release.sh000077500000000000000000000030341450351034300236630ustar00rootroot00000000000000#!/bin/bash if [ -z "$2" ]; then echo "Usage: $0 VERSION_NUMBER \"CHANGELOG_LINE1;CHANGELOG_LINE2;...\"" exit fi AUTHOR='gabmus' PROJECT_NAME=$(grep "project('" meson.build | sed "s/project('//;s/',//") n_version="$1" changelog="$2" sed -i "s/ version: '.*',/ version: '$n_version',/" meson.build MANIFEST_PATH="dist/flatpak/org.$AUTHOR.$PROJECT_NAME.json" TARGET_MODULE="$PROJECT_NAME" python3 -c " import json manifest = None with open('$MANIFEST_PATH') as fd: manifest = json.loads(fd.read()) for i, module in enumerate(manifest['modules']): if module['name'] == '$TARGET_MODULE': manifest['modules'][i]['sources'][0]['tag'] = '$n_version' break with open('$MANIFEST_PATH', 'w') as fd: fd.write(json.dumps(manifest, indent=4, sort_keys=False)) " RELEASE_TIME=$(date +%s) release_text=$(python3 -c " def mprint(t): print(t, end='\\\\n') mprint(' ') mprint(' ') mprint('
    ') for line in '$changelog'.split(';'): mprint('
  • '+line.strip()+'
  • ') mprint('
') mprint('
') mprint('
') ") APPDATA_PATH="data/org.$AUTHOR.$PROJECT_NAME.appdata.xml.in" target_line=$(sed -n "/~ ~" $APPDATA_PATH HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/000077500000000000000000000000001450351034300214515ustar00rootroot00000000000000HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/LINGUAS000066400000000000000000000001111450351034300224670ustar00rootroot00000000000000# Please keep this list alphabetically sorted de es fr it pt_BR ru sv tr HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/POTFILES.in000066400000000000000000000011311450351034300232220ustar00rootroot00000000000000data/org.gabmus.hydrapaper.appdata.xml.in data/org.gabmus.hydrapaper.Daemon.desktop.in data/org.gabmus.hydrapaper.desktop.in data/ui/headerbar.blp data/ui/shortcutsWindow.blp data/ui/monitors_flowbox_item.blp data/ui/shortcutsWindow.blp data/ui/wallpaper_flowbox_item_popover.blp data/ui/wallpapers_folders_view.blp data/ui/wp_mode_popover_menu.blp hydrapaper/base_preferences.py hydrapaper/__main__.py hydrapaper/main_stack.py hydrapaper/monitor_parser.py hydrapaper/preferences_window.py hydrapaper/slideshow_listbox_row.py hydrapaper/wallpaper_flowbox_item.py hydrapaper/wallpapers_folders_view.py HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/README.md000066400000000000000000000014621450351034300227330ustar00rootroot00000000000000# How to create and update a translation First, run the script `update_potfiles.sh` like this, where `LANGUAGE` is the language code that you want to add or update (`it`: italian, `fr`: french, `es`: spanish...): ```bash cd po ./update_potfiles.sh LANGUAGE ``` It will ask for an email, provide yours if you want and it will be used to credit you. It's historically been used to report issues in the translation for a specific language, but nowadays with issue systems and easier bug reporting than ever it's not really necessary. Finally edit the `.po` file that was just created with the language code you used. You can use a normal text editor or a simpler tool like **lokalize** or **poedit** (you can probably find both in your distribution's repositories). If you need any help, feel free to open an issue. HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/de.po000066400000000000000000000645001450351034300224060ustar00rootroot00000000000000# German translations for hydrapaper package. # Copyright (C) 2019 THE hydrapaper'S COPYRIGHT HOLDER # This file is distributed under the same license as the hydrapaper package. # Alessandra Gallia , 2019 # Onno Giesmann , 2021 # msgid "" msgstr "" "Project-Id-Version: hydrapaper 1.9.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-08-27 19:12+0200\n" "PO-Revision-Date: 2021-08-28 21:18+0200\n" "Last-Translator: Onno Giesmann \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: Poedit 3.0\n" #: ../hydrapaper/__main__.py:75 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Fehler: Sie durchliefen {0} Hintergrundbilder für {1} Monitore" #: ../hydrapaper/__main__.py:84 #, python-brace-format msgid "Error: you passed {0} modes for {1} wallpapers" msgstr "Fehler: Sie durchliefen {0} Modi für {1} Hintergrundbilder" #: ../hydrapaper/__main__.py:93 #, python-brace-format msgid "" "Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, " "fit_blur, center_black, center_blur" msgstr "" "Fehler: Hintergrundbildmodus {0} ist ungültig. Erlaubt sind die Werte: zoom, " "fit_black, fit_blur, center_black, center_blur" #: ../hydrapaper/__main__.py:103 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Fehler: {0} ist kein gültiger Bildpfad" #: ../hydrapaper/__main__.py:250 msgid "set wallpapers from command line" msgstr "Hintergrundbilder über die Befehlszeile setzen" #: ../hydrapaper/__main__.py:256 msgid "" "specify the modes for the wallpapers (zoom, center_black, center_blur, " "fit_black, fit_blur)" msgstr "" "Modus für Hintergrundbilder bestimmen (zoom, center_black, center_blur, " "fit_black, fit_blur)" #: ../hydrapaper/__main__.py:263 msgid "set wallpapers randomly" msgstr "Hintergrundbilder zufällig einstellen" #: ../hydrapaper/main_stack.py:16 msgid "Wallpapers" msgstr "Hintergrundbilder" #: ../hydrapaper/main_stack.py:21 msgid "Favorites" msgstr "Favoriten" #: ../hydrapaper/monitor_parser.py:88 msgid "Error parsing monitors (Gdk)" msgstr "Fehler bei der Monitoranalyse (Gdk)" #: ../hydrapaper/monitor_parser.py:126 msgid "Combined spanned monitor" msgstr "Kombinierter übergreifender Monitor" #: ../hydrapaper/settings_box.py:93 msgid "Start daemon on login" msgstr "Hintergrunddienst beim Anmelden starten" #: ../hydrapaper/settings_box.py:95 msgid "React to monitor changes and start slideshow mode" msgstr "Auf Bildschirmänderungen reagieren und Bilderschaumodus starten" #: ../hydrapaper/settings_box.py:153 msgid "General" msgstr "Allgemein" #: ../hydrapaper/settings_box.py:157 msgid "General Settings" msgstr "Allgemeine Einstellungen" #: ../hydrapaper/settings_box.py:160 msgid "Save each wallpaper separately" msgstr "Jedes Hintergrundbild einzeln speichern" #: ../hydrapaper/settings_box.py:162 msgid "" "Warning: this feature will use a lot of disk space\n" "Periodically clear the cache to mitigate this problem" msgstr "" "Achtung: Diese Funktion wird viel Speicherplatz benötigen\n" "Löschen Sie regelmäßig den Cache, um dieses Problem zu umgehen" #: ../hydrapaper/settings_box.py:171 msgid "Enable daemon" msgstr "Hintergrunddienst aktivieren" #: ../hydrapaper/settings_box.py:173 msgid "Needed for slideshow mode and to detect display changes" msgstr "" "Wird benötigt für die Bilderschau-Modus und zum Erkennen von " "Bildschirmänderungen" #: ../hydrapaper/settings_box.py:192 msgid "Caches and favorites" msgstr "Caches und Favoriten" #: ../hydrapaper/settings_box.py:195 msgid "Clear all favorites" msgstr "Alle Favoriten löschen" #: ../hydrapaper/settings_box.py:196 msgid "Clear favorites" msgstr "Favoriten löschen" #: ../hydrapaper/settings_box.py:202 msgid "Clear all caches" msgstr "Gesamten Cache löschen" #: ../hydrapaper/settings_box.py:203 msgid "Clear caches" msgstr "Cache löschen" #: ../hydrapaper/settings_box.py:238 msgid "View" msgstr "Ansicht" #: ../hydrapaper/settings_box.py:242 msgid "View Settings" msgstr "Einstellungen zur Ansicht" #: ../hydrapaper/settings_box.py:245 msgid "Dark mode" msgstr "Dunkles Thema" #: ../hydrapaper/settings_box.py:250 msgid "Use big thumbnails for the monitors previews" msgstr "Große Vorschaubilder für die Bildschirm-Vorschauen verwenden" #: ../hydrapaper/settings_box.py:255 msgid "Show full path in folder view" msgstr "Ganzen Pfad in der Ordneransicht anzeigen" #: ../hydrapaper/slideshow_listbox_row.py:30 msgid "Move up" msgstr "Nach oben" #: ../hydrapaper/slideshow_listbox_row.py:35 msgid "Remove" msgstr "Entfernen" #: ../hydrapaper/slideshow_listbox_row.py:40 msgid "Move down" msgstr "Nach unten" #: ../hydrapaper/wallpaper_flowbox_item.py:41 msgid "Remove favorite" msgstr "Aus Favoriten löschen" #: ../hydrapaper/wallpaper_flowbox_item.py:43 msgid "Add favorite" msgstr "Zu Favoriten hinzufügen" #: ../hydrapaper/wallpaper_flowbox_item.py:160 msgid "ERROR: cannot create thumbnail for file" msgstr "FEHLER: Vorschaubild der Datei konnte nicht erstellt werden" #: ../hydrapaper/wallpapers_folders_view.py:87 msgid "Add wallpaper folders" msgstr "Ordner mit Hintergrundbildern hinzufügen" #: ../data/ui/headerbar.ui:5 msgid "Apply" msgstr "Anwenden" #: ../data/ui/headerbar.ui:16 msgid "Menu" msgstr "Menü" #: ../data/ui/headerbar.ui:25 msgid "Wallpapers Folders" msgstr "Ordner mit Hintergrundbildern" #: ../data/ui/headerbar.ui:32 msgid "Add to slideshow" msgstr "Zur Bilderschau hinzufügen" #: ../data/ui/headerbar.ui:40 msgid "Manage slideshow mode" msgstr "Bilderschau-Modus verwalten" #: ../data/ui/headerbar.ui:75 msgid "Slideshow mode" msgstr "Bilderschau-Modus" #: ../data/ui/headerbar.ui:95 msgid "Seconds between wallpaper change" msgstr "Sekunden zwischen Wechsel des Hintergrundbildes" #: ../data/ui/menu.ui:6 msgid "Single wallpaper spanned mode" msgstr "Übergreifendes Hintergrundbild für alle" #: ../data/ui/menu.ui:10 ../data/ui/shortcutsWindow.ui:37 msgid "Set random wallpapers" msgstr "Zufällige Hintergrundbilder festlegen" #: ../data/ui/menu.ui:16 msgid "Preferences" msgstr "Einstellungen" #: ../data/ui/menu.ui:20 msgid "Shortcuts" msgstr "Verknüpfungen" #: ../data/ui/menu.ui:24 msgid "About HydraPaper" msgstr "Info zu HydraPaper" #: ../data/ui/monitors_flowbox_item.ui:30 ../data/ui/wp_mode_popover_menu.ui:15 msgid "Wallpaper mode" msgstr "Darstellung des Hintergrundbildes" #: ../data/ui/monitors_flowbox_item.ui:45 msgid "label" msgstr "Label" #: ../data/ui/shortcutsWindow.ui:13 msgid "Open Keyboard Shortcuts" msgstr "Tastenkürzel anzeigen" #: ../data/ui/shortcutsWindow.ui:19 msgid "Quit" msgstr "Beenden" #: ../data/ui/shortcutsWindow.ui:25 msgid "Open Menu" msgstr "Menü öffnen" #: ../data/ui/shortcutsWindow.ui:31 msgid "Open preferences" msgstr "Einstellungen öffnen" #: ../data/ui/wallpaper_flowbox_item_popover.ui:16 msgid "title" msgstr "Titel" #: ../data/ui/wallpaper_flowbox_item_popover.ui:47 msgid "Path" msgstr "Pfad" #: ../data/ui/wallpapers_folders_view.ui:34 msgid "Add" msgstr "Hinzufügen" #: ../data/ui/wallpapers_folders_view.ui:60 msgid "Activate all folders" msgstr "Alle Ordner aktivieren" #: ../data/ui/wallpapers_folders_view.ui:68 msgid "Deactivate all folders" msgstr "Alle Ordner deaktivieren" #: ../data/ui/wp_mode_popover_menu.ui:23 msgid "Zoom" msgstr "Zoom" #: ../data/ui/wp_mode_popover_menu.ui:30 msgid "Fit (black background)" msgstr "Einpassen (schwarzer Hintergrund)" #: ../data/ui/wp_mode_popover_menu.ui:37 msgid "Fit (blur)" msgstr "Einpassen (verschwommener Hintergrund)" #: ../data/ui/wp_mode_popover_menu.ui:44 msgid "Center (black background)" msgstr "Zentriert (schwarzer Hintergrund)" #: ../data/ui/wp_mode_popover_menu.ui:51 msgid "Center (blur)" msgstr "Zentriert (verschwommen)" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3 msgid "@appid@.Daemon" msgstr "@appid@.Daemon" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4 msgid "Daemon for HydraPaper" msgstr "Hintergrunddienst für HydraPaper" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Hintergrundbild-Manager mit Unterstützung für mehrere Bildschirme" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "Hintergrundbild;Hintergrund;Monitor;" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "Gabriele Musco" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:6 msgid "Wallpaper manager with multi monitor support" msgstr "Hintergrundbild-Manager mit Unterstützung für mehrere Bildschirme" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper is a wallpaper manager, specifically designed to work around the " "lack of functionality of many desktop environments to set a different " "wallpaper for each monitor in a multi monitor setup. It accomplishes this by " "scaling and merging different wallpapers into a single one and setting it as " "spanned." msgstr "" "HydraPaper ist ein Hintergrundbild-Manager, der besonders dafür entwickelt " "wurde, die fehlende Funktionalität vieler Desktopumgebungen zu erweitern, um " "bei mehreren Bildschirm für jedes ein eigenes Hintergrundbild einstellen zu " "können. Dies wird erreicht, indem verschiedene Hintergrundbilder skaliert " "und zu einem einzigen zusammengeführt und als übergreifend festgelegt werden." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It currently supports various desktop environments, including GNOME, MATE, " "Cinnamon and Budgie. Experimental support is included for the sway window " "manager." msgstr "" "Aktuell werden verschiedene Desktopumgebungen unterstützt, unter anderem " "GNOME, MATE, Cinnamon und Budgie. Experimentell funktioniert dies auch mit " "der Fensterverwaltung sway." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:48 msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!" msgstr "🚀 HydraPaper wurde für GTK4 und libadwaita aktualisiert!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:49 msgid "Bug fixes for Fit and Center wallpaper modes" msgstr "" "Fehlerbehebungen für die Hintergrundbildeinstellungen Zentriert und Einpassen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:57 msgid "Minor improvements to the UI" msgstr "Kleinere Verbesserungen an der Benutzeroberfläche" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:58 msgid "Improved phone compatibility" msgstr "Verbesserte Kompatibilität mit Telefonen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:66 msgid "Fix for different wallpaper modes not working on single display setups" msgstr "" "Fehlerbehebungen für verschiedene Hintergrundbildeinstellungen bei " "Verwendung eines einzelnen Bildschirms" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:73 msgid "Fixed random wallpaper" msgstr "Fehlerkorrekturen bei zufälligen Hintergrundbildern" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:80 msgid "Updated to the latest version of libhandy" msgstr "Aktualisierung auf die neuste Version von libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:81 msgid "New option to set a single wallpaper as spanned across all the monitors" msgstr "" "Neue Option zum Einstellen eines einzelnen Hintergrundbildes verteilt auf " "alle Bildschirme" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:82 msgid "Added Cinnamon support" msgstr "Unterstützung für Cinnamon hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:83 msgid "" "New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with " "the choice of either a black or a blurred background" msgstr "" "Neue Einstellungen für Hintergrundbilder: Sie können die Hintergrundbilder " "nun zoomen, zentrieren oder einpassen. Dabei haben Sie die Wahl zwischen " "einem verschwommenen oder schwarzen Hintergrund" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:84 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:102 msgid "Various improvements and bug fixes" msgstr "Verschiedene Verbesserungen und Fehlerbehebungen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:91 msgid "Added Brazilian Portuguese translation" msgstr "Übersetzung für brasilianisches Portugiesisch hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:92 msgid "Updated to support the latest version of libhandy" msgstr "Aktualisierung zur Unterstützung der neusten Version von libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:93 msgid "Added more keyboard shortcuts" msgstr "Mehr Tastenkürzel hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:100 msgid "New icon courtesy of Tobias Bernard" msgstr "Besten Dank an Tobias Bernard für das neue Symbol" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:101 msgid "New minimal favorite wallpaper badge" msgstr "Neue kleine Anzeige für Favoriten-Hintergrundbilder" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:110 msgid "New quick buttons to toggle on/off all wallpaper folders at once" msgstr "" "Neue Schaltflächen, um den ganzen Ordner mit Hintergrundbildern schnell zu " "aktivieren oder zu deaktivieren" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:118 msgid "Updated flatpak dependencies and GNOME runtime" msgstr "Aktualisierung der Flatpak-Abhängigkeiten oder der GNOME-Laufzeiten" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:119 msgid "" "Removed libwnck dependency and functionalities (lower other windows toggle)" msgstr "Abhängigkeit und Funktionen von libwnck entfernt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:126 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:156 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:310 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:325 msgid "Various bug fixes" msgstr "Verschiedene Fehlerkorrekturen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:133 msgid "You can now set lockscreen wallpapers from the command line" msgstr "" "Sie können jetzt Hintergrundbilder für den Sperrbildschirm über die " "Befehlszeile festlegen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:134 msgid "New preference to save wallpapers with random names" msgstr "" "Neue Einstellung zum Speichern der Hintergrundbilder mit zufälligen Namen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:135 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:281 msgid "Various bug fixes and improvements" msgstr "Verschiedene Fehlerkorrekturen und Verbesserungen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:142 msgid "Ordering wallpapers folders alphabetically" msgstr "Alphabetisches Sortieren der Ordner" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:143 msgid "Fixed folder adding" msgstr "Fehler beim Hinzufügen von Ordnern behoben" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:150 msgid "You can now add multiple folders at once!" msgstr "Sie können nun mehrere Ordner auf einmal hinzufügen!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:151 msgid "Slight design overhaul" msgstr "Leichte Überarbeitung am Aussehen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:152 msgid "Added German and Russian translations (courtesy of Alessandra Gallia)" msgstr "" "Deutsche und russische Übersetzung hinzugefügt (Danke an Alessandra Gallia)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:153 msgid "Redesigned symbolic icon" msgstr "Überarbeitetes symbolisches Symbol" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:154 msgid "Initial support for sway (still broken in Flatpak)" msgstr "Erste Unterstützung für sway (funktioniert noch nicht in Flatpak)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:155 msgid "Small performance improvements" msgstr "Kleinere Leistungsverbesserungen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:163 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "" "Konflikt zwischen Hintergrundbild für Schreibtisch und Sperrbildschirm gelöst" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:170 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" "Zusammengefügte Hintergrundbilder werden nicht mehr gespeichert. Nur eins " "wird gespeichert, um viel Platz zu sparen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:177 msgid "Fixed path enable/disable bug" msgstr "Fehler beim Aktivieren/Deaktivieren des Pfades behoben" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:184 msgid "Moved app menu to the far right" msgstr "Anwendungsmenü nach ganz rechts verschoben" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:185 msgid "Added view switcher bar when window is too small" msgstr "Ansichtwechsler hinzugefügt, wenn das Fenster zu klein ist" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:192 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "" "Option hinzugefügt, um das Hintergrundbild für den Sperrbildschirm in GNOME " "einzustellen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:199 msgid "Internationalization support and Italian translation" msgstr "" "Übersetzungen der Benutzeroberfläche werden nun unterstützt, italienische " "Übersetzung eingefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:200 msgid "New widgets from Purism's libhandy" msgstr "Neue Widgets von Purisms libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:201 msgid "Removed animated spinner" msgstr "Animierten Ladekreis entfernt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:202 msgid "Paths in folders view show only the folder name by default" msgstr "" "Die Pfade in der Ordneransicht zeigen standardmäßig nur die Ordnernamen an" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:203 msgid "New website" msgstr "Neue Webseite" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:210 msgid "Properly implemented MATE support" msgstr "MATE-Support korrekt implementiert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:211 msgid "Added post-installation commands" msgstr "Post-Installation-Kommandos hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:218 msgid "Fixing wrong import" msgstr "Fehler beim Importieren behoben" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:225 msgid "Fixed support for MATE under Flatpak" msgstr "Unterstützung für MATE unter Flatpak behoben" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:232 msgid "New icon! Should be closer to GNOME HIG." msgstr "Neues Symbol! Es soll besser zu GNOME HIG passen." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:233 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" "Zufällige Hintergrundbild-Funktionalität wird angezeigt in dem " "Anwendungsmenü und der Desktop-Datei" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:240 msgid "Added random wallpaper functionality from command line with -r option" msgstr "" "Funktion für zufälliges Hintergrundbild hinzugefügt für die Befehlszeile mit " "der Option -r" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:247 msgid "Fixing startup error when added folders get deleted" msgstr "" "Fehlermeldung beim Starten behoben, wenn hinzugefügte Ordner gelöscht wurden" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:254 msgid "Get correct localized Pictures folder on first startup" msgstr "Richtigen lokalen Bilderordner beim ersten Starten auswählen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:255 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "Die Anwendung stürzt nicht mehr ab, wenn ein Ordner nicht existiert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:262 msgid "Fixed wallpapers not hiding on startup" msgstr "" "Problem mit Hintergrundbildern behoben, die beim Start nicht verstecken " "wurden" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:269 msgid "Complete code refactoring" msgstr "Vollständige Überarbeitung des Codes" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:270 msgid "Made the whole build system more modular" msgstr "Das gesamte Build-System ist modularer gestaltet" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:271 msgid "Moved app menu to the headerbar" msgstr "Anwendungsmenü verschoben zur Kopfzeile" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:272 msgid "Initial support for keyboard shortcuts" msgstr "Erste Unterstützung für Tastenkürzel" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:279 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "" "Problem beim Erstellen des Vorschaubildes für PNGs mit Alphakanal behoben" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:280 msgid "Added option to clear cache" msgstr "Option zum Löschen des Caches hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:288 msgid "Improved thumbnail generation and caching for better performance" msgstr "" "Verbesserte Darstellung der Vorschaubilder und Zwischenspeicherung für eine " "bessere Leistung" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:295 msgid "Updated dependencies" msgstr "Abhängigkeiten aktualisiert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:296 msgid "Added support for command line usage" msgstr "Unterstützung für die Verwendung der Befehlszeile hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:297 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "Boilerplate implementiert für gtk per gmgtk (gitlab.com/gabmus/gmgtk)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:298 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" "Konfigurationsmanagement migriert zu gmconfig (gitlab.com/gabmus/gmconfig)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:299 msgid "Migrated to GitLab" msgstr "Migration zu GitLab" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:306 msgid "Better filename generation" msgstr "Bessere Erstellung der Dateinamen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:307 msgid "Added support for vertical setups" msgstr "Unterstützung für senkrechte Positionierung hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:308 msgid "Added symbolic icon" msgstr "Symbolisches Symbol hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:309 msgid "Added support for MATE" msgstr "MATE-Support hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:317 msgid "Design makeover" msgstr "Design-Änderungen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:318 msgid "Added longpress/rightclick menu" msgstr "Menü durch langes Drücken oder Rechtsklick hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:319 msgid "Implemented favorites" msgstr "Favoritenfunktion ergänzt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:320 msgid "Added option to temporarely disable paths" msgstr "Option hinzugefügt zum temporären Deaktivieren der Pfade" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:321 msgid "Added option to minimize/restore all other windows" msgstr "" "Option hinzugefügt um alle anderen Fenster zu minimieren oder " "wiederherzustellen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:322 msgid "Improved performance" msgstr "Leistung verbessert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:323 msgid "Various optimizations for flatpak distribution" msgstr "Verschiedene Optimierungen für die Flatpak-Distribution" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:324 msgid "Removed the dependency on xmltodict" msgstr "Abhängigkeit zu xmltodict entfernt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:332 msgid "Changed icon" msgstr "Symbol geändert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:333 msgid "Added support for monitors.xml version 1" msgstr "Support für monitors.xml Version 1 hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:340 msgid "Improved 3+ monitors configuration" msgstr "Konfiguration für 3+ Monitore verbessert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:341 msgid "Remember previously set wallpapers throughout sessions" msgstr "" "Merkt sich den vorher festgelegten Hintergrundbildern während der Sitzungen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:342 msgid "Implemented cache hitting" msgstr "Cache-Treffer implementiert" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:343 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "" "Überprüfungen und nutzerfreundliche Fehlermeldungen für monitors.xml " "hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:350 msgid "Bug fixes" msgstr "Fehlerkorrekturen" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:351 msgid "Added settings window" msgstr "Fenster mit Einstellungen hinzugefügt" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:358 msgid "Port to pillow" msgstr "Portierung zu Pillow" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:365 msgid "First release" msgstr "Erstes Release" #~ msgid "Select wallpapers with a double click" #~ msgstr "Doppeltipp um Hintergrundbilder auszuwählen" #~ msgid "Keep favorites in main wallpapers view" #~ msgstr "Hält die Favoriten in der Haupthintergrund-Ansicht" #~ msgid "About" #~ msgstr "Darüber" #~ msgid "Add a wallpapers folder" #~ msgstr "Hintergrundbilder-Ordner hinzufügen" #~ msgid "Selected path has already been added" #~ msgstr "Der ausgewählte Pfad ist schon hinzugefügt worden" #~ msgid "Close\n" #~ msgstr "Schließen\n" #~ msgid "Lower all other windows" #~ msgstr "Alle anderen Fenster minimieren" #~ msgid "Desktop" #~ msgstr "Desktop" #~ msgid "Lockscreen" #~ msgstr "Sperrbildschirm" #~ msgid "Both" #~ msgstr "Beid" #~ msgid "Path:" #~ msgstr "Pfad:" #~ msgid "@appid@" #~ msgstr "@appid@" #~ msgid "" #~ "HydraPaper lets you set different wallpapers for each of your monitors in " #~ "the GNOME desktop." #~ msgstr "" #~ "HydraPaper lässt Sie unterschiedliche Hintergrundbilder auf dem GNOME-" #~ "Desktop für jede von Ihren Monitoren einstellen." #~ msgid "" #~ "It works around this lack of functionality by automatically merging " #~ "multiple wallpapers into one, and setting it as your wallpaper with the " #~ "\"Spanned\" option." #~ msgstr "" #~ "Es löst die fehlende Funktionalität durch Zusammenfügen mehrere " #~ "Hintergrundbilder automatisch, und es legt das als Hintergrundbild mit " #~ "der Option \"Erweitert\" fest." #~ msgid "" #~ "HydraPaper also supports the MATE desktop, and should work on any desktop " #~ "that is based on GNOME, like Budgie and Pantheon." #~ msgstr "" #~ "HydraPaper unterstützt auch den MATE-Desktop, und sollte mit irgendeinem " #~ "auf GNOME-basiertem Desktop funktionieren, wie beispielsweise Budgie und " #~ "Pantheon." HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/es.po000066400000000000000000000625051450351034300224300ustar00rootroot00000000000000# Spanish translations for hydrapaper package. # Copyright (C) 2021 THE hydrapaper'S COPYRIGHT HOLDER # This file is distributed under the same license as the hydrapaper package. # Óscar Fernández Díaz , 2021. # msgid "" msgstr "" "Project-Id-Version: hydrapaper 3.2.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-12-06 22:45+0100\n" "PO-Revision-Date: 2021-12-06 22:44+0100\n" "Last-Translator: Óscar Fernández Díaz \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: Poedit 3.0\n" #: ../hydrapaper/__main__.py:102 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Error: ha pasado {0} fondos de pantalla para {1} monitores" #: ../hydrapaper/__main__.py:111 #, python-brace-format msgid "Error: you passed {0} modes for {1} wallpapers" msgstr "Error: ha pasado {0} modos para {1} fondos de pantalla" #: ../hydrapaper/__main__.py:120 #, python-brace-format msgid "" "Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, " "fit_blur, center_black, center_blur" msgstr "" "Error: el modo de fondo de pantalla {0} no es válido. Los valores permitidos " "son: zoom, fit_black, fit_blur, center_black, center_blur" #: ../hydrapaper/__main__.py:130 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Error: {0} no es una ruta de imagen válida" #: ../hydrapaper/__main__.py:184 msgid "set wallpapers from command line" msgstr "establecer fondos de pantalla desde la línea de comandos" #: ../hydrapaper/__main__.py:190 msgid "" "specify the modes for the wallpapers (zoom, center_black, center_blur, " "fit_black, fit_blur)" msgstr "" "especificar los modos para los fondos de pantalla (zoom, center_black, " "center_blur, fit_black, fit_blur)" #: ../hydrapaper/__main__.py:197 msgid "set wallpapers randomly" msgstr "establecer fondos de pantalla al azar" #: ../hydrapaper/base_preferences.py:106 msgid "Choose a folder" msgstr "Elija una carpeta" #: ../hydrapaper/main_stack.py:16 msgid "Wallpapers" msgstr "Fondos de pantalla" #: ../hydrapaper/main_stack.py:21 msgid "Favorites" msgstr "Favoritos" #: ../hydrapaper/monitor_parser.py:116 msgid "Error parsing monitors (Gdk)" msgstr "Error al identificar los monitores (Gdk)" #: ../hydrapaper/monitor_parser.py:156 msgid "Combined spanned monitor" msgstr "Monitor extendido combinado" #: ../hydrapaper/preferences_window.py:18 msgid "Start daemon on login" msgstr "Iniciar el servicio al iniciar la sesión" #: ../hydrapaper/preferences_window.py:19 msgid "React to monitor changes and start slideshow mode" msgstr "Reaccionar a los cambios del monitor e iniciar el modo de presentación" #: ../hydrapaper/preferences_window.py:79 msgid "Save each wallpaper separately" msgstr "Guardar cada fondo de pantalla por separado" #: ../hydrapaper/preferences_window.py:81 msgid "" "Warning: this feature will use a lot of disk space. Periodically clear the " "cache to mitigate this problem" msgstr "" "Advertencia: esta función usará mucho espacio en el disco. Borre " "periódicamente la caché para mitigar este problema" #: ../hydrapaper/preferences_window.py:91 msgid "Enable daemon" msgstr "Activar servicio" #: ../hydrapaper/preferences_window.py:93 msgid "Needed for slideshow mode and to detect display changes" msgstr "" "Necesario para el modo de presentación y para detectar los cambios de " "visualización" #: ../hydrapaper/preferences_window.py:101 msgid "General" msgstr "General" #: ../hydrapaper/preferences_window.py:104 msgid "General preferences" msgstr "Preferencias generales" #: ../hydrapaper/preferences_window.py:107 msgid "Cache and favorites" msgstr "Caché y favoritos" #: ../hydrapaper/preferences_window.py:109 msgid "Clear favorites" msgstr "Borrar favoritos" #: ../hydrapaper/preferences_window.py:110 #: ../hydrapaper/preferences_window.py:117 msgid "Clear" msgstr "Borrar" #: ../hydrapaper/preferences_window.py:116 msgid "Clear caches" msgstr "Borrar cachés" #: ../hydrapaper/preferences_window.py:143 msgid "Appearance" msgstr "Apariencia" #: ../hydrapaper/preferences_window.py:146 msgid "Appearance preferences" msgstr "Preferencias de apariencia" #: ../hydrapaper/preferences_window.py:148 msgid "Dark mode" msgstr "Modo oscuro" #: ../hydrapaper/preferences_window.py:154 msgid "Use big thumbnails for the monitors previews" msgstr "Usar miniaturas grandes para las vistas previas de los monitores" #: ../hydrapaper/preferences_window.py:160 msgid "Show full path in folder view" msgstr "Mostrar la ruta completa en la vista de carpetas" #: ../hydrapaper/slideshow_listbox_row.py:30 msgid "Move up" msgstr "Subir" #: ../hydrapaper/slideshow_listbox_row.py:35 msgid "Remove" msgstr "Quitar" #: ../hydrapaper/slideshow_listbox_row.py:40 msgid "Move down" msgstr "Bajar" #: ../hydrapaper/wallpaper_flowbox_item.py:41 msgid "Remove favorite" msgstr "Quitar favorito" #: ../hydrapaper/wallpaper_flowbox_item.py:43 msgid "Add favorite" msgstr "Añadir favorito" #: ../hydrapaper/wallpaper_flowbox_item.py:160 msgid "ERROR: cannot create thumbnail for file" msgstr "Error: no se pudo crear la miniatura para el archivo" #: ../hydrapaper/wallpapers_folders_view.py:86 msgid "Add wallpaper folders" msgstr "Añadir carpetas de fondos de pantalla" #: ../data/ui/headerbar.ui:6 msgid "Apply" msgstr "Aplicar" #: ../data/ui/headerbar.ui:14 msgid "Menu" msgstr "Menú" #: ../data/ui/headerbar.ui:20 msgid "Single wallpaper spanned mode" msgstr "Modo extendido del fondo de pantalla único" #: ../data/ui/headerbar.ui:24 ../data/ui/shortcutsWindow.ui:37 msgid "Set random wallpapers" msgstr "Establecer fondos de pantalla aleatorios" #: ../data/ui/headerbar.ui:30 msgid "Preferences" msgstr "Preferencias" #: ../data/ui/headerbar.ui:34 msgid "Shortcuts" msgstr "Atajos" #: ../data/ui/headerbar.ui:38 msgid "About HydraPaper" msgstr "Acerca de HydraPaper" #: ../data/ui/headerbar.ui:46 msgid "Wallpapers Folders" msgstr "Carpetas de fondos de pantalla" #: ../data/ui/headerbar.ui:52 msgid "Add to slideshow" msgstr "Añadir a la presentación" #: ../data/ui/headerbar.ui:60 msgid "Manage slideshow mode" msgstr "Gestionar el modo de presentación" #: ../data/ui/headerbar.ui:95 msgid "Slideshow mode" msgstr "Modo de presentación" #: ../data/ui/headerbar.ui:115 msgid "Seconds between wallpaper change" msgstr "Segundos entre el cambio de fondo de pantalla" #: ../data/ui/monitors_flowbox_item.ui:30 ../data/ui/wp_mode_popover_menu.ui:15 msgid "Wallpaper mode" msgstr "Modo de fondo de pantalla" #: ../data/ui/monitors_flowbox_item.ui:45 msgid "label" msgstr "etiqueta" #: ../data/ui/shortcutsWindow.ui:13 msgid "Open Keyboard Shortcuts" msgstr "Abrir Atajos del teclado" #: ../data/ui/shortcutsWindow.ui:19 msgid "Quit" msgstr "Salir" #: ../data/ui/shortcutsWindow.ui:25 msgid "Open Menu" msgstr "Abrir Menú" #: ../data/ui/shortcutsWindow.ui:31 msgid "Open preferences" msgstr "Abrir Preferencias" #: ../data/ui/wallpaper_flowbox_item_popover.ui:16 msgid "title" msgstr "título" #: ../data/ui/wallpaper_flowbox_item_popover.ui:47 msgid "Path" msgstr "Ruta" #: ../data/ui/wallpapers_folders_view.ui:29 msgid "Add" msgstr "Añadir" #: ../data/ui/wallpapers_folders_view.ui:52 msgid "Activate all folders" msgstr "Activar todas las carpetas" #: ../data/ui/wallpapers_folders_view.ui:59 msgid "Deactivate all folders" msgstr "Desactivar todas las carpetas" #: ../data/ui/wp_mode_popover_menu.ui:23 msgid "Zoom" msgstr "Zoom" #: ../data/ui/wp_mode_popover_menu.ui:30 msgid "Fit (black background)" msgstr "Ajustar (fondo negro)" #: ../data/ui/wp_mode_popover_menu.ui:37 msgid "Fit (blur)" msgstr "Ajustar (desenfoque)" #: ../data/ui/wp_mode_popover_menu.ui:44 msgid "Center (black background)" msgstr "Centrar (fondo negro)" #: ../data/ui/wp_mode_popover_menu.ui:51 msgid "Center (blur)" msgstr "Centrar (desenfoque)" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3 msgid "@appid@.Daemon" msgstr "@appid@.Daemon" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4 msgid "Daemon for HydraPaper" msgstr "Servicio para HydraPaper" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Gestor de fondos de pantalla con soporte multimonitor" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "wallpaper;background;monitor;fondo;pantalla;monitor;" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:6 msgid "Wallpaper manager with multi monitor support" msgstr "Gestor de fondos de pantalla con soporte para múltiples monitores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper is a wallpaper manager, specifically designed to work around the " "lack of functionality of many desktop environments to set a different " "wallpaper for each monitor in a multi monitor setup. It accomplishes this by " "scaling and merging different wallpapers into a single one and setting it as " "spanned." msgstr "" "HydraPaper es un gestor de fondos de pantalla, diseñado específicamente para " "solucionar la falta de funcionalidad de muchos entornos de escritorio para " "establecer un fondo de pantalla diferente para cada monitor en una " "configuración de varios monitores. Lo consigue escalando y fusionando " "diferentes fondos de pantalla en uno solo y estableciéndolo como extendido." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It currently supports various desktop environments, including GNOME, MATE, " "Cinnamon and Budgie. Experimental support is included for the sway window " "manager." msgstr "" "Actualmente soporta varios entornos de escritorio, incluyendo GNOME, MATE, " "Cinnamon y Budgie. Se incluye soporte experimental para el gestor de " "ventanas Sway." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:48 msgid "" "Wallpaper folder selection popover converted to Flap (auto-hide sidebar)" msgstr "" "El menú desplegable de selección de carpetas de los fondos de pantalla se ha " "cambiado a una solapa (oculta automáticamente la barra lateral)." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:49 msgid "Updated support for libadwaita to version 1.0.0.alpha.4" msgstr "Actualizado el soporte para libadwaita a la versión 1.0.0.alpha.4" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:50 msgid "Fixed window size save/restore" msgstr "Tamaño de ventana fijo para guardar/restablecer" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:58 msgid "Added support for heterogeneous DPI scaling" msgstr "Añadido soporte para el escalado de DPI heterogéneo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:59 msgid "Added support for libadwaita 1.0.0-alpha.2" msgstr "Añadido soporte para libadwaita 1.0.0-alpha.2" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:67 msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!" msgstr "🚀 ¡HdraPaper se ha actualizado a GTK4 y libadwaita!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:68 msgid "Bug fixes for Fit and Center wallpaper modes" msgstr "" "Corrección de errores en los modos de fondo de pantalla Ajustar y Centrar" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:76 msgid "Minor improvements to the UI" msgstr "Mejoras menores en la interfaz de usuario" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:77 msgid "Improved phone compatibility" msgstr "Mejora de la compatibilidad de los teléfonos" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:85 msgid "Fix for different wallpaper modes not working on single display setups" msgstr "" "Corrección de los diferentes modos de fondo de pantalla que no funcionan en " "las configuraciones de una sola pantalla" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:92 msgid "Fixed random wallpaper" msgstr "Corregido el fondo de pantalla aleatorio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:99 msgid "Updated to the latest version of libhandy" msgstr "Actualizado a la última versión de libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:100 msgid "New option to set a single wallpaper as spanned across all the monitors" msgstr "" "Opción nueva para establecer un único fondo de pantalla extendido para todos " "los monitores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:101 msgid "Added Cinnamon support" msgstr "Añadido soporte de Cinnamon" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:102 msgid "" "New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with " "the choice of either a black or a blurred background" msgstr "" "Modos de fondo de pantalla nuevos: establezca sus fondos de pantalla como " "ampliados, centrados o ajustados, con la opción de un fondo negro o " "desenfocado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:103 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:121 msgid "Various improvements and bug fixes" msgstr "Varias mejoras y correcciones de errores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:110 msgid "Added Brazilian Portuguese translation" msgstr "Añadida la traducción al portugués de Brasil" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:111 msgid "Updated to support the latest version of libhandy" msgstr "Actualizado para soportar la última versión de libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:112 msgid "Added more keyboard shortcuts" msgstr "Añadidos más atajos del teclado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:119 msgid "New icon courtesy of Tobias Bernard" msgstr "Icono nuevo por cortesía de Tobias Bernard" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:120 msgid "New minimal favorite wallpaper badge" msgstr "Insignia mínima nueva de fondo de pantalla favorito" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:129 msgid "New quick buttons to toggle on/off all wallpaper folders at once" msgstr "" "Botones rápidos nuevos para activar/desactivar todas las carpetas de fondos " "de pantalla a la vez" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:137 msgid "Updated flatpak dependencies and GNOME runtime" msgstr "" "Actualizadas las dependencias de flatpak y el motor de ejecución de GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:138 msgid "" "Removed libwnck dependency and functionalities (lower other windows toggle)" msgstr "" "Quitada la dependencia de libwnck y sus funcionalidades (bajar otras " "ventanas)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:145 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:175 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:329 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:344 msgid "Various bug fixes" msgstr "Varias correcciones de errores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:152 msgid "You can now set lockscreen wallpapers from the command line" msgstr "" "Ahora puede establecer fondos de pantalla de bloqueo desde la línea de " "comandos" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:153 msgid "New preference to save wallpapers with random names" msgstr "" "Preferencia nueva para guardar fondos de pantalla con nombres aleatorios" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:154 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:300 msgid "Various bug fixes and improvements" msgstr "Varias correcciones de errores y mejoras" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:161 msgid "Ordering wallpapers folders alphabetically" msgstr "Ordenar las carpetas de fondos de pantalla por orden alfabético" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:162 msgid "Fixed folder adding" msgstr "Corregido el añadido de carpetas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:169 msgid "You can now add multiple folders at once!" msgstr "¡Ahora puede añadir varias carpetas a la vez!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:170 msgid "Slight design overhaul" msgstr "Ligera revisión del diseño" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:171 msgid "Added German and Russian translations (courtesy of Alessandra Gallia)" msgstr "" "Añadida la traducción al alemán y al ruso (por cortesía de Alessandra Gallia)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:172 msgid "Redesigned symbolic icon" msgstr "Icono simbólico rediseñado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:173 msgid "Initial support for sway (still broken in Flatpak)" msgstr "Soporte inicial para sway (todavía roto en Flatpak)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:174 msgid "Small performance improvements" msgstr "Mejoras de rendimiento pequeñas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:182 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "" "Corregido el conflicto entre los fondos de pantalla del escritorio y de la " "pantalla de bloqueo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:189 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" "Los fondos de pantalla fusionados ya no se almacenan en la caché. Quédate " "con uno y ahorra mucho espacio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:196 msgid "Fixed path enable/disable bug" msgstr "Corregido el error de activación/desactivación de la ruta" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:203 msgid "Moved app menu to the far right" msgstr "Movido el menú de la aplicación al extremo derecho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:204 msgid "Added view switcher bar when window is too small" msgstr "" "Añadida barra de cambio de vista cuando la ventana es demasiado pequeña" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:211 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "Añadida la opción de establecer fondos de pantalla de bloqueo en GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:218 msgid "Internationalization support and Italian translation" msgstr "Soporte de internacionalización y traducción al italiano" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:219 msgid "New widgets from Purism's libhandy" msgstr "Widgets nuevos del libhandy de Purism" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:220 msgid "Removed animated spinner" msgstr "Eliminado el girador animado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:221 msgid "Paths in folders view show only the folder name by default" msgstr "" "Las rutas en la vista de carpetas muestran por defecto sólo el nombre de la " "carpeta" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:222 msgid "New website" msgstr "Sitio web nuevo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:229 msgid "Properly implemented MATE support" msgstr "Soporte de MATE correctamente implementado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:230 msgid "Added post-installation commands" msgstr "Añadidos comandos de post-instalación" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:237 msgid "Fixing wrong import" msgstr "Corrección de una importación errónea" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:244 msgid "Fixed support for MATE under Flatpak" msgstr "Corregido el soporte para MATE bajo Flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:251 msgid "New icon! Should be closer to GNOME HIG." msgstr "¡Icono nuevo! Debería estar más cerca de GNOME HIG." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:252 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" "Expuesta la funcionalidad de fondos de pantalla aleatorios desde el menú de " "la aplicación y el archivo de escritorio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:259 msgid "Added random wallpaper functionality from command line with -r option" msgstr "" "Añadida la funcionalidad de fondos de pantalla aleatorios desde la línea de " "comandos con la opción -r" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:266 msgid "Fixing startup error when added folders get deleted" msgstr "" "Corrección del error de inicio cuando se eliminan las carpetas añadidas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:273 msgid "Get correct localized Pictures folder on first startup" msgstr "" "Obtener la carpeta de imágenes localizada correctamente en el primer inicio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:274 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "La aplicación ya no se bloquea si una carpeta no existe" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:281 msgid "Fixed wallpapers not hiding on startup" msgstr "" "Corregido el fondo de pantalla que no se ocultaba al iniciar el sistema" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:288 msgid "Complete code refactoring" msgstr "Refactorización completa del código" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:289 msgid "Made the whole build system more modular" msgstr "Todo el sistema de construcción es más modular" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:290 msgid "Moved app menu to the headerbar" msgstr "Movido el menú de la aplicación a la barra de cabecera" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:291 msgid "Initial support for keyboard shortcuts" msgstr "Soporte inicial para los atajos del teclado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:298 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "Corregida la creación de miniaturas para PNGs con canal alfa" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:299 msgid "Added option to clear cache" msgstr "Añadida la opción de borrar la caché" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:307 msgid "Improved thumbnail generation and caching for better performance" msgstr "" "Mejora de la generación de miniaturas y del almacenamiento en caché para " "mejorar el rendimiento" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:314 msgid "Updated dependencies" msgstr "Dependencias actualizadas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:315 msgid "Added support for command line usage" msgstr "Añadido soporte para el uso de la línea de comandos" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:316 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "" "Implementado boilerplate para gtk a través de gmgtk (gitlab.com/gabmus/gmgtk)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:317 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" "Migración de la gestión de la configuración a gmconfig (gitlab.com/gabmus/" "gmconfig)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:318 msgid "Migrated to GitLab" msgstr "Migración a GitLab" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:325 msgid "Better filename generation" msgstr "Mejor generación de nombres de archivos" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:326 msgid "Added support for vertical setups" msgstr "Añadido soporte para configuraciones verticales" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:327 msgid "Added symbolic icon" msgstr "Añadido un icono simbólico" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:328 msgid "Added support for MATE" msgstr "Añadido soporte para MATE" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:336 msgid "Design makeover" msgstr "Cambio de diseño" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:337 msgid "Added longpress/rightclick menu" msgstr "Añadido el menú de pulsación larga/clic derecho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:338 msgid "Implemented favorites" msgstr "Implementado favoritos" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:339 msgid "Added option to temporarely disable paths" msgstr "Añadida la opción de desactivar temporalmente las rutas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:340 msgid "Added option to minimize/restore all other windows" msgstr "Añadida la opción de minimizar/restablecer todas las demás ventanas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:341 msgid "Improved performance" msgstr "Mejora del rendimiento" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:342 msgid "Various optimizations for flatpak distribution" msgstr "Varias optimizaciones para la distribución de flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:343 msgid "Removed the dependency on xmltodict" msgstr "Quitada la dependencia de xmltodict" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:351 msgid "Changed icon" msgstr "Cambio de icono" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:352 msgid "Added support for monitors.xml version 1" msgstr "Añadido soporte para monitors.xml versión 1" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:359 msgid "Improved 3+ monitors configuration" msgstr "Mejora de la configuración de 3+ monitores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:360 msgid "Remember previously set wallpapers throughout sessions" msgstr "" "Recuerda los fondos de pantalla previamente establecidos a lo largo de las " "sesiones" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:361 msgid "Implemented cache hitting" msgstr "Implementación de acierto de caché" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:362 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "" "Añadidas comprobaciones y mensajes de error fáciles de usar para monitors.xml" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:369 msgid "Bug fixes" msgstr "Corrección de errores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:370 msgid "Added settings window" msgstr "Añadida la ventana de configuración" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:377 msgid "Port to pillow" msgstr "Portado a pillow" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:384 msgid "First release" msgstr "Primera versión" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/fr.po000066400000000000000000000655401450351034300224320ustar00rootroot00000000000000# French translations for hydrapaper package. # Copyright (C) 2022 THE hydrapaper'S COPYRIGHT HOLDER # This file is distributed under the same license as the hydrapaper package. # Irénée THIRION , 2022. # msgid "" msgstr "" "Project-Id-Version: hydrapaper 3.3.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-23 00:19+0200\n" "PO-Revision-Date: 2022-05-23 17:03+0200\n" "Last-Translator: Irénée THIRION \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: Poedit 3.0.1\n" #: ../hydrapaper/__main__.py:112 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Erreur : vous avez passé {0} fonds d'écran pour {1} écrans" #: ../hydrapaper/__main__.py:121 #, python-brace-format msgid "Error: you passed {0} modes for {1} wallpapers" msgstr "Erreur : vous avez passé {0} modes pour {1} fonds d'écran" #: ../hydrapaper/__main__.py:130 #, python-brace-format msgid "" "Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, " "fit_blur, center_black, center_blur" msgstr "" "Erreur : le mode de fond d'écran {0} n'est pas valide. Les valeurs " "autorisées sont : zoom, centré_noir, centré_flou, ajusté_noir, ajusté_flou" #: ../hydrapaper/__main__.py:140 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Erreur : {0} n'est pas un chemin d'image valide" #: ../hydrapaper/__main__.py:196 msgid "set wallpapers from command line" msgstr "définir les fonds d'écran par ligne de commande" #: ../hydrapaper/__main__.py:202 msgid "" "specify the modes for the wallpapers (zoom, center_black, center_blur, " "fit_black, fit_blur)" msgstr "" "spécifier les modes pour les fonds d'écran (zoom, centré_noir, centré_flou, " "ajusté_noir, ajusté_flou)" #: ../hydrapaper/__main__.py:209 msgid "set the dark mode wallpapers (specific to GNOME 42+)" msgstr "définir les fonds d'écran de mode sombre (pour GNOME 42+)" #: ../hydrapaper/__main__.py:215 msgid "set wallpapers randomly" msgstr "définir les fonds d'écran de manière aléatoire" #: ../hydrapaper/base_preferences.py:106 msgid "Choose a folder" msgstr "Choisissez un dossier" #: ../hydrapaper/main_stack.py:19 msgid "Wallpapers" msgstr "Fonds d'écran" #: ../hydrapaper/main_stack.py:24 msgid "Favorites" msgstr "Favoris" #: ../hydrapaper/monitor_parser.py:116 msgid "Error parsing monitors (Gdk)" msgstr "Erreur lors de l'analyse des écrans (Gdk)" #: ../hydrapaper/monitor_parser.py:156 msgid "Combined spanned monitor" msgstr "Écran combiné étendu" #: ../hydrapaper/preferences_window.py:18 msgid "Start daemon on login" msgstr "Démarrer le daemon lors de la connexion" #: ../hydrapaper/preferences_window.py:19 msgid "React to monitor changes and start slideshow mode" msgstr "Réagir au changement d'écran et commencer le mode diaporama" #: ../hydrapaper/preferences_window.py:79 msgid "Save each wallpaper separately" msgstr "Enregistrer chaque fond d'écran séparément" #: ../hydrapaper/preferences_window.py:81 msgid "" "Warning: this feature will use a lot of disk space. Periodically clear the " "cache to mitigate this problem" msgstr "" "Attention : cette fonctionnalité utilisera beaucoup d'espace disque. Videz " "le cache périodiquement pour éviter ce problème" #: ../hydrapaper/preferences_window.py:91 msgid "Enable daemon" msgstr "Activer le daemon" #: ../hydrapaper/preferences_window.py:93 msgid "Needed for slideshow mode and to detect display changes" msgstr "Utilisé pour le mode diaporama et détecter les changements d'affichage" #: ../hydrapaper/preferences_window.py:101 msgid "General" msgstr "Général" #: ../hydrapaper/preferences_window.py:104 msgid "General preferences" msgstr "Paramètres généraux" #: ../hydrapaper/preferences_window.py:107 msgid "Cache and favorites" msgstr "Cache et favoris" #: ../hydrapaper/preferences_window.py:109 msgid "Clear favorites" msgstr "Vider les favoris" #: ../hydrapaper/preferences_window.py:110 #: ../hydrapaper/preferences_window.py:117 msgid "Clear" msgstr "Vider" #: ../hydrapaper/preferences_window.py:116 msgid "Clear caches" msgstr "Vider le cache" #: ../hydrapaper/preferences_window.py:143 msgid "Appearance" msgstr "Apparence" #: ../hydrapaper/preferences_window.py:146 msgid "Appearance preferences" msgstr "Préférences d'apparence" #: ../hydrapaper/preferences_window.py:148 msgid "Dark mode" msgstr "Mode sombre" #: ../hydrapaper/preferences_window.py:154 msgid "Use big thumbnails for the monitors previews" msgstr "Utiliser de grandes miniatures pour la prévisualisation des écrans" #: ../hydrapaper/preferences_window.py:160 msgid "Show full path in folder view" msgstr "Montrer le chemin entier dans la vue des dossiers" #: ../hydrapaper/slideshow_listbox_row.py:30 msgid "Move up" msgstr "Déplacer vers le haut" #: ../hydrapaper/slideshow_listbox_row.py:35 msgid "Remove" msgstr "Supprimer" #: ../hydrapaper/slideshow_listbox_row.py:40 msgid "Move down" msgstr "Déplacer vers le bas" #: ../hydrapaper/wallpaper_flowbox_item.py:32 msgid "Remove favorite" msgstr "Supprimer des favoris" #: ../hydrapaper/wallpaper_flowbox_item.py:34 msgid "Add favorite" msgstr "Ajouter aux favoris" #: ../hydrapaper/wallpaper_flowbox_item.py:155 msgid "ERROR: cannot create thumbnail for file" msgstr "Erreur : impossible de créer une miniature pour le fichier" #: ../hydrapaper/wallpapers_folders_view.py:55 msgid "Add wallpaper folders" msgstr "Ajouter des dossiers de fonds d'écran" #: ../data/ui/headerbar.blp:6 msgid "Single Spanned Wallpaper Mode" msgstr "Mode fond d'écran unique étendu" #: ../data/ui/headerbar.blp:7 ../data/ui/shortcutsWindow.blp:31 msgid "Set Random Wallpapers" msgstr "Définir des fonds d'écran aléatoires" #: ../data/ui/headerbar.blp:10 msgid "Preferences" msgstr "Préférences" #: ../data/ui/headerbar.blp:11 msgid "Shortcuts" msgstr "Raccourcis" #: ../data/ui/headerbar.blp:12 msgid "About HydraPaper" msgstr "À propos de HydraPaper" #: ../data/ui/headerbar.blp:28 msgid "Wallpaper Folders" msgstr "Dossiers de fonds d'écran" #: ../data/ui/headerbar.blp:33 ../data/ui/shortcutsWindow.blp:19 msgid "Search" msgstr "Rechercher" #: ../data/ui/headerbar.blp:37 msgid "Menu" msgstr "Menu" #: ../data/ui/headerbar.blp:46 msgid "Apply for Dark Mode" msgstr "Appliquer pour le mode sombre" #: ../data/ui/headerbar.blp:51 msgid "Apply" msgstr "Appliquer" #: ../data/ui/headerbar.blp:60 msgid "Add to Slideshow" msgstr "Ajouter au diaporama" #: ../data/ui/headerbar.blp:66 msgid "Manage Slideshow Mode" msgstr "Gérer le mode diaporama" #: ../data/ui/headerbar.blp:93 msgid "Slideshow Mode" msgstr "Mode diaporama" #: ../data/ui/headerbar.blp:104 msgid "Wallpaper duration" msgstr "Durée du fond d'écran" #: ../data/ui/monitors_flowbox_item.blp:14 #: ../data/ui/wp_mode_popover_menu.blp:16 msgid "Wallpaper Mode" msgstr "Mode de fond d'écran" #: ../data/ui/shortcutsWindow.blp:11 msgid "Open Keyboard Shortcuts" msgstr "Ouvrir les Raccourcis clavier" #: ../data/ui/shortcutsWindow.blp:15 msgid "Open Menu" msgstr "Ouvrir le Menu" #: ../data/ui/shortcutsWindow.blp:23 msgid "Open Preferences" msgstr "Ouvrir les Préférences" #: ../data/ui/shortcutsWindow.blp:27 msgid "Quit" msgstr "Quitter" #: ../data/ui/wallpaper_flowbox_item_popover.blp:18 msgid "Add Favorite" msgstr "Ajouter aux favoris" #: ../data/ui/wallpaper_flowbox_item_popover.blp:27 msgid "Path:" msgstr "Chemin :" #: ../data/ui/wallpapers_folders_view.blp:21 msgid "Add Folder" msgstr "Ajouter le dossier" #: ../data/ui/wallpapers_folders_view.blp:27 msgid "Remove Folder" msgstr "Supprimer le dossier" #: ../data/ui/wallpapers_folders_view.blp:36 msgid "Activate All Folders" msgstr "Activer tous les dossiers" #: ../data/ui/wallpapers_folders_view.blp:41 msgid "Deactivate All Folders" msgstr "Désactiver tous les dossiers" #: ../data/ui/wp_mode_popover_menu.blp:20 msgid "Zoom" msgstr "Zoom" #: ../data/ui/wp_mode_popover_menu.blp:25 msgid "Fit (black background)" msgstr "Ajuster (fond noir)" #: ../data/ui/wp_mode_popover_menu.blp:30 msgid "Fit (blur)" msgstr "Ajuster (flou)" #: ../data/ui/wp_mode_popover_menu.blp:35 msgid "Center (black backgrond)" msgstr "Centrer (fond noir)" #: ../data/ui/wp_mode_popover_menu.blp:40 msgid "Center (blur)" msgstr "Centrer (flou)" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3 msgid "@appid@.Daemon" msgstr "@appid@.Daemon" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4 msgid "Daemon for HydraPaper" msgstr "Daemon pour HydraPaper" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Gestionnaire de fonds d'écran avec support pour de multiples écrans" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "wallpaper;background;monitor;écran;arrière-plan;fond;" #: ../data/org.gabmus.hydrapaper.desktop.in:18 msgid "Set random wallpapers" msgstr "Définir des fonds d'écran aléatoires" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "Gabriele Musco" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:6 msgid "Wallpaper manager with multi monitor support" msgstr "Gestionnaire de fonds d'écran avec support pour de multiples écrans" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper is a wallpaper manager, specifically designed to work around the " "lack of functionality of many desktop environments to set a different " "wallpaper for each monitor in a multi monitor setup. It accomplishes this by " "scaling and merging different wallpapers into a single one and setting it as " "spanned." msgstr "" "HydraPaper est un gestionnaire de fonds d'écran, étudié spécialement pour " "contourner le manque de fonctionnalité de nombreux environnements de bureau " "pour définir un fond d'écran différent pour chaque écran, dans une " "configuration multi-écrans. Il permet cela en mettant à l'échelle et en " "fusionnant différents fonds d'écran en un seul et en le définissant comme " "étendu." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It currently supports various desktop environments, including GNOME, MATE, " "Cinnamon and Budgie. Experimental support is included for the sway window " "manager." msgstr "" "Il supporte actuellement différents environnements de bureau incluant GNOME, " "MATE, Cinnamon et Budgie. Un support expérimental est inclus pour le " "gestionnaire de fenêtre sway." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:48 msgid "Show apply button for dark mode in Ubuntu GNOME sessions" msgstr "" "Montre le bouton « appliquer » pour le mode sombre dans les sessions Ubuntu " "GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:56 msgid "Added separate apply button for dark mode" msgstr "Ajout d'un bouton « appliquer » séparé pour le mode sombre" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:57 msgid "Show wallpaper names" msgstr "Montre les noms des fonds d'écran" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:58 msgid "Added search for file name and resolution" msgstr "Ajout de la recherche par nom de fichier et résolution" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:66 msgid "" "Wallpaper folder selection popover converted to Flap (auto-hide sidebar)" msgstr "" "Le fenêtre contextuelle de sélection des dossiers de fond d'écran a été " "convertie en volet (masquage automatique de la barre latérale)." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:67 msgid "Updated support for libadwaita to version 1.0.0.alpha.4" msgstr "Mise à jour du support pour libadwaita vers la version 1.0.0.alpha.4" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:68 msgid "Fixed window size save/restore" msgstr "" "Correction de l'enregistrement / restauration de la taille de la fenêtre" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:76 msgid "Added support for heterogeneous DPI scaling" msgstr "" "Ajout de la prise en charge de la mise à l'échelle pour des DPI hétérogènes" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:77 msgid "Added support for libadwaita 1.0.0-alpha.2" msgstr "Ajout du support pour libadwaita 1.0.0-alpha.2" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:85 msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!" msgstr "🚀 HydraPaper a été mis à jour vers GTK4 et libadwaita !" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:86 msgid "Bug fixes for Fit and Center wallpaper modes" msgstr "Correction de bogues pour les modes de fond d'écran Ajusté et Centré" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:94 msgid "Minor improvements to the UI" msgstr "Améliorations mineures pour l'interface" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:95 msgid "Improved phone compatibility" msgstr "Compatibilité pour les téléphones améliorée" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:103 msgid "Fix for different wallpaper modes not working on single display setups" msgstr "" "Correction pour différents modes de fond d'écran ne fonctionnant pas sur des " "configurations comportant un seul écran" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:110 msgid "Fixed random wallpaper" msgstr "Correction de la fonction fond d'écran aléatoire" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:117 msgid "Updated to the latest version of libhandy" msgstr "Mise à jour vers la dernière version de libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:118 msgid "New option to set a single wallpaper as spanned across all the monitors" msgstr "" "Nouvelle option pour définir un unique fond d'écran étendu pour tous les " "écrans" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:119 msgid "Added Cinnamon support" msgstr "Ajout du support pour l'environnement de bureau Cinnamon" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:120 msgid "" "New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with " "the choice of either a black or a blurred background" msgstr "" "Nouveaux modes de fonds d'écran : définissez vos fonds d'écran comme " "agrandis, centrés ou ajustés, avec le choix d'un fond noir ou flou" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:121 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:139 msgid "Various improvements and bug fixes" msgstr "Diverses améliorations et corrections de bogues" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:128 msgid "Added Brazilian Portuguese translation" msgstr "Ajout d'une traduction en portugais brésilien" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:129 msgid "Updated to support the latest version of libhandy" msgstr "Mise à jour vers la dernière version de libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:130 msgid "Added more keyboard shortcuts" msgstr "Ajout de plus de raccourcis clavier" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:137 msgid "New icon courtesy of Tobias Bernard" msgstr "Nouvelle icône grâce à Tobias Bernard" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:138 msgid "New minimal favorite wallpaper badge" msgstr "Nouveau badge minimaliste de fond d'écran favori" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:147 msgid "New quick buttons to toggle on/off all wallpaper folders at once" msgstr "" "Nouveaux boutons rapides pour activer / désactiver tous les dossiers de " "fonds d'écran à la fois" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:155 msgid "Updated flatpak dependencies and GNOME runtime" msgstr "" "Mise à jour des dépendances flatpak et de l'environnement d'exécution GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:156 msgid "" "Removed libwnck dependency and functionalities (lower other windows toggle)" msgstr "" "Suppression de la dépendance et des fonctionnalités de libwnck (bouton pour " "minimiser d'autres fenêtres)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:163 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:193 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:347 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:362 msgid "Various bug fixes" msgstr "Diverses corrections de bogues" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:170 msgid "You can now set lockscreen wallpapers from the command line" msgstr "" "Vous pouvez désormais définir des fonds d'écran de verrouillage depuis la " "commande en ligne" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:171 msgid "New preference to save wallpapers with random names" msgstr "" "Nouveau paramètre pour enregistrer des fonds d'écran avec des noms aléatoires" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:172 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:318 msgid "Various bug fixes and improvements" msgstr "Diverses corrections de bogues et améliorations" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:179 msgid "Ordering wallpapers folders alphabetically" msgstr "Tri des dossiers d'arrière-plans par ordre alphabétique" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:180 msgid "Fixed folder adding" msgstr "Correction de l'ajout de dossiers" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:187 msgid "You can now add multiple folders at once!" msgstr "Vous pouvez maintenant ajouter de multiples dossiers en une fois !" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:188 msgid "Slight design overhaul" msgstr "Légère refonte du design" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:189 msgid "Added German and Russian translations (courtesy of Alessandra Gallia)" msgstr "" "Ajout de traductions en allemand et en russe (grâce à Alessandra Gallia)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:190 msgid "Redesigned symbolic icon" msgstr "Redesign de l'icône symbolique" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:191 msgid "Initial support for sway (still broken in Flatpak)" msgstr "" "Support initial pour sway (ne marche pas pour les installations Flatpak)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:192 msgid "Small performance improvements" msgstr "Petites améliorations de performance" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:200 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "Corrige le conflit entre fond d'écran de bureau et de verrouillage" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:207 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" "Les fonds d'écran fusionnés ne sont plus mis en cache. Gardez-en un et " "économisez beaucoup d'espace" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:214 msgid "Fixed path enable/disable bug" msgstr "Corrige le bogue d'activation / désactivation des chemins" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:221 msgid "Moved app menu to the far right" msgstr "Menu d'application déplacé tout à droite" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:222 msgid "Added view switcher bar when window is too small" msgstr "" "Ajout d'une barre de changement d'affichage lorsque la fenêtre est trop " "petite" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:229 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "" "Ajout d'une option pour définir un fond d'écran de verrouillage pour GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:236 msgid "Internationalization support and Italian translation" msgstr "Support de traductions multilingues et traduction italienne" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:237 msgid "New widgets from Purism's libhandy" msgstr "Nouveaux widgets dans le style libhandy de Purism" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:238 msgid "Removed animated spinner" msgstr "Suppression de la toupie animée" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:239 msgid "Paths in folders view show only the folder name by default" msgstr "" "Les chemins dans la vue des dossiers montrent seulement le nom du dossier " "par défaut" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:240 msgid "New website" msgstr "Nouveau site web" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:247 msgid "Properly implemented MATE support" msgstr "Support pour MATE implémenté proprement" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:248 msgid "Added post-installation commands" msgstr "Ajout de commandes post-installation" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:255 msgid "Fixing wrong import" msgstr "Correction du mauvais import" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:262 msgid "Fixed support for MATE under Flatpak" msgstr "Correction du support pour MATE pour les Flatpaks" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:269 msgid "New icon! Should be closer to GNOME HIG." msgstr "Nouvelle icône ! Plus proche des directives d'interface de GNOME." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:270 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" "Exposition de la fonctionnalité de fond d'écran aléatoire depuis le menu de " "l'application et le fichier de bureau" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:277 msgid "Added random wallpaper functionality from command line with -r option" msgstr "" "Ajout d'une fonctionnalité d'arrière-plans aléatoires en ligne de commande " "avec l'option -r" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:284 msgid "Fixing startup error when added folders get deleted" msgstr "" "Correction de l'erreur de démarrage quand des dossiers ajoutés sont supprimés" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:291 msgid "Get correct localized Pictures folder on first startup" msgstr "Dossier d'images localisé correct au premier démarrage" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:292 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "L'application ne plante plus si un dossier n'existe pas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:299 msgid "Fixed wallpapers not hiding on startup" msgstr "Correction des arrière-plans non-cachés au démarrage" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:306 msgid "Complete code refactoring" msgstr "Refonte complète du code" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:307 msgid "Made the whole build system more modular" msgstr "Ensemble du système de construction rendu plus modulaire" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:308 msgid "Moved app menu to the headerbar" msgstr "Menu d'application déplacé vers la barre du haut" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:309 msgid "Initial support for keyboard shortcuts" msgstr "Support initial pour les raccourcis clavier" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:316 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "Corrige la création de vignettes pour fichiers PNG avec le canal alpha" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:317 msgid "Added option to clear cache" msgstr "Ajout d'une option pour vider le cache" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:325 msgid "Improved thumbnail generation and caching for better performance" msgstr "" "Amélioration de la génération de vignettes et de la mise en cache pour de " "meilleures performances" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:332 msgid "Updated dependencies" msgstr "Dépendances mises à jour" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:333 msgid "Added support for command line usage" msgstr "Ajout du support pour l'utilisation en ligne de commande" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:334 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "" "Implémentation de boilerplate pour GTK via gmgtk (gitlab.com/gabmus/gmgtk)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:335 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" "Migration de la gestion de la configuration vers gmconfig (gitlab.com/gabmus/" "gmconfig)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:336 msgid "Migrated to GitLab" msgstr "Migration vers GitLab" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:343 msgid "Better filename generation" msgstr "Meilleure génération de noms de fichiers" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:344 msgid "Added support for vertical setups" msgstr "Ajout du support pour les configurations verticales" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:345 msgid "Added symbolic icon" msgstr "Ajout d'une icône symbolique" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:346 msgid "Added support for MATE" msgstr "Ajout du support pour MATE" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:354 msgid "Design makeover" msgstr "Refonte du design" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:355 msgid "Added longpress/rightclick menu" msgstr "Ajout du menu pression longue / clic droit" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:356 msgid "Implemented favorites" msgstr "Implémentation des favoris" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:357 msgid "Added option to temporarely disable paths" msgstr "Ajout de l'option pour désactiver temporairement les chemins" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:358 msgid "Added option to minimize/restore all other windows" msgstr "Ajout de l'option minimiser / restaurer toutes les autres fenêtres" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:359 msgid "Improved performance" msgstr "Performance améliorée" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:360 msgid "Various optimizations for flatpak distribution" msgstr "Diverses optimisations pour la distribution via flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:361 msgid "Removed the dependency on xmltodict" msgstr "Suppression de la dépendance sur xmltodict" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:369 msgid "Changed icon" msgstr "Icône changée" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:370 msgid "Added support for monitors.xml version 1" msgstr "Ajout du support pour la version 1 de monitors.xml" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:377 msgid "Improved 3+ monitors configuration" msgstr "Amélioration de la configuration de 3 écrans ou +" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:378 msgid "Remember previously set wallpapers throughout sessions" msgstr "" "Mémorise les fonds d'écran précédemment définis tout au long des sessions" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:379 msgid "Implemented cache hitting" msgstr "Implémentation de la recherche de cache" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:380 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "" "Ajout de vérifications et de messages d'erreur conviviaux pour monitors.xml" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:387 msgid "Bug fixes" msgstr "Correction de bogues" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:388 msgid "Added settings window" msgstr "Ajout d'une fenêtre de paramètres" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:395 msgid "Port to pillow" msgstr "Portage vers pillow" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:402 msgid "First release" msgstr "Première version" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/it.po000066400000000000000000000703021450351034300224270ustar00rootroot00000000000000# Italian translations for PACKAGE package. # Copyright (C) 2019 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the HydraPaper package. # Gabriele Musco , 2019. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-06 16:11+0100\n" "PO-Revision-Date: 2022-02-06 16:13+0100\n" "Last-Translator: Gabriele Musco \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: Poedit 3.0\n" #: ../hydrapaper/wallpaper_flowbox_item.py:32 msgid "Remove favorite" msgstr "Rimuovi preferito" #: ../hydrapaper/wallpaper_flowbox_item.py:34 msgid "Add favorite" msgstr "Aggiungi preferito" #: ../hydrapaper/wallpaper_flowbox_item.py:150 msgid "ERROR: cannot create thumbnail for file" msgstr "ERRORE: impossibile creare miniatura per il file" #: ../hydrapaper/wallpapers_folders_view.py:63 msgid "Add wallpaper folders" msgstr "Aggiungi cartelle di sfondi" #: ../hydrapaper/monitor_parser.py:116 msgid "Error parsing monitors (Gdk)" msgstr "Errore nell'analisi dei monitor (Gdk)" #: ../hydrapaper/monitor_parser.py:156 msgid "Combined spanned monitor" msgstr "Monitor esteso combinato" #: ../hydrapaper/preferences_window.py:18 msgid "Start daemon on login" msgstr "Avvia il demone al login" #: ../hydrapaper/preferences_window.py:19 msgid "React to monitor changes and start slideshow mode" msgstr "" "Reagisce ai cambiamenti degli schermi e avvia la modalità presentazione" #: ../hydrapaper/preferences_window.py:79 msgid "Save each wallpaper separately" msgstr "Salva ogni sfondo separatamente" #: ../hydrapaper/preferences_window.py:81 msgid "" "Warning: this feature will use a lot of disk space. Periodically clear the " "cache to mitigate this problem" msgstr "" "Attenzione: questa funzione userà molto spazio del disco. Pulisci le cache " "periodicamente per mitigare questo problema" #: ../hydrapaper/preferences_window.py:91 msgid "Enable daemon" msgstr "Attiva demone" #: ../hydrapaper/preferences_window.py:93 msgid "Needed for slideshow mode and to detect display changes" msgstr "" "Necessario per la modalità presentazione e per rilevare i cambiamenti degli " "schermi" #: ../hydrapaper/preferences_window.py:101 msgid "General" msgstr "Generale" #: ../hydrapaper/preferences_window.py:104 msgid "General preferences" msgstr "Preferenze generali" #: ../hydrapaper/preferences_window.py:107 msgid "Cache and favorites" msgstr "Cache e preferiti" #: ../hydrapaper/preferences_window.py:109 msgid "Clear favorites" msgstr "Pulisci i preferiti" #: ../hydrapaper/preferences_window.py:110 #: ../hydrapaper/preferences_window.py:117 msgid "Clear" msgstr "Pulisci" #: ../hydrapaper/preferences_window.py:116 msgid "Clear caches" msgstr "Pulisci le cache" #: ../hydrapaper/preferences_window.py:143 msgid "Appearance" msgstr "Aspetto" #: ../hydrapaper/preferences_window.py:146 msgid "Appearance preferences" msgstr "Preferenze dell'aspetto" #: ../hydrapaper/preferences_window.py:148 msgid "Dark mode" msgstr "Modalità scura" #: ../hydrapaper/preferences_window.py:154 msgid "Use big thumbnails for the monitors previews" msgstr "Usa miniature grandi per le anteprime dei monitor" #: ../hydrapaper/preferences_window.py:160 msgid "Show full path in folder view" msgstr "Mostra il percorso completo nella vista delle cartelle" #: ../hydrapaper/__main__.py:112 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Errore: hai passato {0} sfondi per {1} monitor" #: ../hydrapaper/__main__.py:121 #, python-brace-format msgid "Error: you passed {0} modes for {1} wallpapers" msgstr "Errore: hai passato {0} modalità per {1} monitor" #: ../hydrapaper/__main__.py:130 #, python-brace-format msgid "" "Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, " "fit_blur, center_black, center_blur" msgstr "" "Errore: la modalità sfondo {0} non è valida. I valori permessi sono: zoom, " "fit_black, fit_blur, center_black, center_blur" #: ../hydrapaper/__main__.py:140 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Errore: {0} non è il percorso di un'immagine valida" #: ../hydrapaper/__main__.py:194 msgid "set wallpapers from command line" msgstr "imposta sfondi dalla linea di comando" #: ../hydrapaper/__main__.py:200 msgid "" "specify the modes for the wallpapers (zoom, center_black, center_blur, " "fit_black, fit_blur)" msgstr "" "specifica le modalità per gli sfondi (zoom, center_black, center_blur, " "fit_black, fit_blur)" #: ../hydrapaper/__main__.py:207 msgid "set wallpapers randomly" msgstr "imposta sfondi casualmente" #: ../hydrapaper/slideshow_listbox_row.py:30 msgid "Move up" msgstr "Sposta sopra" #: ../hydrapaper/slideshow_listbox_row.py:35 msgid "Remove" msgstr "Rimuovi" #: ../hydrapaper/slideshow_listbox_row.py:40 msgid "Move down" msgstr "Sposta sotto" #: ../hydrapaper/main_stack.py:19 msgid "Wallpapers" msgstr "Sfondi" #: ../hydrapaper/main_stack.py:24 msgid "Favorites" msgstr "Preferiti" #: ../hydrapaper/base_preferences.py:106 msgid "Choose a folder" msgstr "Scegli una cartella" #: ../data/ui/shortcutsWindow.blp:11 msgid "Open Keyboard Shortcuts" msgstr "Apri Scorciatoie da tastiera" #: ../data/ui/shortcutsWindow.blp:15 msgid "Open Menu" msgstr "Apri Menu" #: ../data/ui/shortcutsWindow.blp:19 ../data/ui/headerbar.blp:33 msgid "Search" msgstr "Cerca" #: ../data/ui/shortcutsWindow.blp:23 msgid "Open Preferences" msgstr "Apri Preferenze" #: ../data/ui/shortcutsWindow.blp:27 msgid "Quit" msgstr "Esci" #: ../data/ui/shortcutsWindow.blp:31 ../data/ui/headerbar.blp:7 msgid "Set Random Wallpapers" msgstr "Imposta Sfondi Casualmente" #: ../data/ui/wallpaper_flowbox_item_popover.blp:18 msgid "Add Favorite" msgstr "Aggiungi Preferito" #: ../data/ui/wallpaper_flowbox_item_popover.blp:27 msgid "Path:" msgstr "Percorso:" #: ../data/ui/wallpapers_folders_view.blp:21 #: ../data/ui/wallpapers_folders_view.blp:27 msgid "Add folder" msgstr "Aggiungi cartella" #: ../data/ui/wallpapers_folders_view.blp:36 msgid "Activate All Folders" msgstr "Attiva Tutte le Cartelle" #: ../data/ui/wallpapers_folders_view.blp:41 msgid "Deactivate All Folders" msgstr "Disattiva Tutte le Cartelle" #: ../data/ui/wp_mode_popover_menu.blp:16 #: ../data/ui/monitors_flowbox_item.blp:14 msgid "Wallpaper Mode" msgstr "Modalità Sfondo" #: ../data/ui/wp_mode_popover_menu.blp:20 msgid "Zoom" msgstr "Zoom" #: ../data/ui/wp_mode_popover_menu.blp:25 msgid "Fit (black background)" msgstr "Adatta (sfondo nero)" #: ../data/ui/wp_mode_popover_menu.blp:30 msgid "Fit (blur)" msgstr "Adatta (sfocatura)" #: ../data/ui/wp_mode_popover_menu.blp:35 msgid "Center (black backgrond)" msgstr "Centra (sfondo nero)" #: ../data/ui/wp_mode_popover_menu.blp:40 msgid "Center (blur)" msgstr "Centra (sfocatura)" #: ../data/ui/headerbar.blp:6 msgid "Single Spanned Wallpaper Mode" msgstr "Modalità Singolo Sfondo Esteso" #: ../data/ui/headerbar.blp:10 msgid "Preferences" msgstr "Preferenze" #: ../data/ui/headerbar.blp:11 msgid "Shortcuts" msgstr "Scorciatoie" #: ../data/ui/headerbar.blp:12 msgid "About HydraPaper" msgstr "A proposito di HydraPaper" #: ../data/ui/headerbar.blp:28 msgid "Wallpaper Folders" msgstr "Cartelle degli Sfondi" #: ../data/ui/headerbar.blp:37 msgid "Menu" msgstr "Menu" #: ../data/ui/headerbar.blp:43 msgid "Apply" msgstr "Applica" #: ../data/ui/headerbar.blp:51 msgid "Add to Slideshow" msgstr "Aggiungi alla Presentazione" #: ../data/ui/headerbar.blp:57 msgid "Manage Slideshow Mode" msgstr "Gestisci Modalità Presentazione" #: ../data/ui/headerbar.blp:84 msgid "Slideshow Mode" msgstr "Modalità Presentazione" #: ../data/ui/headerbar.blp:95 msgid "Wallpaper duration" msgstr "Durata Sfondo" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3 msgid "@appid@.Daemon" msgstr "" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4 msgid "Daemon for HydraPaper" msgstr "Demone per HydraPaper" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Gestore di sfondi con supporto per multi monitor" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "wallpaper;background;monitor;sfondi;" #: ../data/org.gabmus.hydrapaper.desktop.in:18 msgid "Set random wallpapers" msgstr "Imposta sfondi casualmente" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:6 msgid "Wallpaper manager with multi monitor support" msgstr "Gestore di sfondi con supporto per multi monitor" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper is a wallpaper manager, specifically designed to work around the " "lack of functionality of many desktop environments to set a different " "wallpaper for each monitor in a multi monitor setup. It accomplishes this by " "scaling and merging different wallpapers into a single one and setting it as " "spanned." msgstr "" "HydraPaper è un gestore di sfondi, specificamente progettato per aggirare la " "mancanza di funzionalità di molti ambienti desktop di impostare uno sfondo " "diverso per ogni schermo in una postazione con più schermi. Questo è " "ottenuto tramite il ridimensionamento e l'unione di diversi sfondi in uno " "singolo, e impostandolo come esteso." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It currently supports various desktop environments, including GNOME, MATE, " "Cinnamon and Budgie. Experimental support is included for the sway window " "manager." msgstr "" "Correntemente supporta vari ambienti desktop, inclusi GNOME, MATE, Cinnamon " "e Budgie. È incluso un supporto sperimentale per il gestore di finestre sway." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:48 msgid "" "Wallpaper folder selection popover converted to Flap (auto-hide sidebar)" msgstr "" "Convertito il popover di selezione delle cartelle degli sfondi in un Flap " "(barra laterale auto-nascondente)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:49 msgid "Updated support for libadwaita to version 1.0.0.alpha.4" msgstr "Aggiornato il supporto per libadwaita alla versione 1.0.0.alpha.4" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:50 msgid "Fixed window size save/restore" msgstr "Corretto il salvataggio/ripristino della dimensione della finestra" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:58 msgid "Added support for heterogeneous DPI scaling" msgstr "Aggiunto il supporto per la scalatura con DPI eterogenei" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:59 msgid "Added support for libadwaita 1.0.0-alpha.2" msgstr "Aggiunto il supporto per libadwaita 1.0.0-alpha.2" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:67 msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!" msgstr "🚀 HydraPaper è stato aggiornato a GTK4 e libadwaita!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:68 msgid "Bug fixes for Fit and Center wallpaper modes" msgstr "Correzioni di bug per gli sfondi in modalità Adatta e Centra" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:76 msgid "Minor improvements to the UI" msgstr "Miglioramenti minori alla UI" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:77 msgid "Improved phone compatibility" msgstr "Migliorata la compatibilità con i telefoni" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:85 msgid "Fix for different wallpaper modes not working on single display setups" msgstr "" "Correzione per diverse modalità di sfondo non funzionanti su postazioni con " "un singolo schermo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:92 msgid "Fixed random wallpaper" msgstr "Corretta la funzione sfondi casuali" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:99 msgid "Updated to the latest version of libhandy" msgstr "Aggiornato all'ultima versione di libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:100 msgid "New option to set a single wallpaper as spanned across all the monitors" msgstr "" "Nuova opzione per impostare un singolo sfondo come esteso su più schermi" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:101 msgid "Added Cinnamon support" msgstr "Aggiunto supporto per Cinnamon" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:102 msgid "" "New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with " "the choice of either a black or a blurred background" msgstr "" "Nuove modalità di sfondi: imposta il tuo sfondo come zoomato, centrato, " "adattato, con la scelta di uno sfondo nero o sfocato" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:103 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:121 msgid "Various improvements and bug fixes" msgstr "Vari miglioramenti e correzioni di bug" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:110 msgid "Added Brazilian Portuguese translation" msgstr "Aggiunta traduzione in portoghese brasiliano" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:111 msgid "Updated to support the latest version of libhandy" msgstr "Aggiornato per supportare l'ultima versione di libhandy" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:112 msgid "Added more keyboard shortcuts" msgstr "Aggiunte ulteriori scorciatoie da tastiera" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:119 msgid "New icon courtesy of Tobias Bernard" msgstr "Nuova icona per gentile concessione di Tobias Bernard" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:120 msgid "New minimal favorite wallpaper badge" msgstr "Nuovo stemma minimale per gli sfondi preferiti" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:129 msgid "New quick buttons to toggle on/off all wallpaper folders at once" msgstr "" "Nuovi bottoni veloci per attivare/disattivare tutte le cartelle degli sfondi " "allo stesso tempo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:137 msgid "Updated flatpak dependencies and GNOME runtime" msgstr "Aggiornate dipendenze di flatpak e runtime GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:138 msgid "" "Removed libwnck dependency and functionalities (lower other windows toggle)" msgstr "" "Rimossa dipendenza e funzionalità di libwnck (alza/abbassa altre finestre)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:145 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:175 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:329 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:344 msgid "Various bug fixes" msgstr "Varie correzioni di bug" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:152 msgid "You can now set lockscreen wallpapers from the command line" msgstr "" "Ora puoi impostare lo sfondo della schermata di blocco dalla linea di comando" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:153 msgid "New preference to save wallpapers with random names" msgstr "Nuova preferenza per salvare gli sfondi con nomi randomici" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:154 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:300 msgid "Various bug fixes and improvements" msgstr "Varie correzioni di bug e miglioramenti" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:161 msgid "Ordering wallpapers folders alphabetically" msgstr "Ordinamento alfabetico delle cartelle degli sfondi" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:162 msgid "Fixed folder adding" msgstr "Corretta l'aggiunta delle cartelle" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:169 msgid "You can now add multiple folders at once!" msgstr "Puoi aggiungere più cartelle in una volta!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:170 msgid "Slight design overhaul" msgstr "Leggera revisione del design" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:171 msgid "Added German and Russian translations (courtesy of Alessandra Gallia)" msgstr "Aggiunte traduzioni in tedesco e russo (grazie ad Alessandra Gallia)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:172 msgid "Redesigned symbolic icon" msgstr "Ridisegnata l'icona simbolica" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:173 msgid "Initial support for sway (still broken in Flatpak)" msgstr "Supporto iniziale per sway (ancora non funzionante con Flatpak)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:174 msgid "Small performance improvements" msgstr "Piccoli miglioramenti di performance" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:182 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "Corretto conflitto tra sfondi della scrivania e del blocco schermo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:189 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" "Gli sfondi uniti non sono più salvati in cache. Mantienine uno solo e " "risparmia molto spazio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:196 msgid "Fixed path enable/disable bug" msgstr "Corretto un bug di attivazione/disattivazione dei percorsi" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:203 msgid "Moved app menu to the far right" msgstr "Spostato il menu applicazione in fondo a destra" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:204 msgid "Added view switcher bar when window is too small" msgstr "Aggiunta la barra di cambio vista quando la finestra è troppo piccola" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:211 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "Aggiunta opzione per impostare sfondi per il blocco schermo su GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:218 msgid "Internationalization support and Italian translation" msgstr "Supporto all'internazionalizzazione e traduzione italiana" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:219 msgid "New widgets from Purism's libhandy" msgstr "Nuovi widget dalla libreria libhandy di Purism" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:220 msgid "Removed animated spinner" msgstr "Rimosso lo spinner animato" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:221 msgid "Paths in folders view show only the folder name by default" msgstr "" "I percorsi nella vista delle cartelle mostrano solo il nome della cartella " "come predefinito" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:222 msgid "New website" msgstr "Nuovo sito web" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:229 msgid "Properly implemented MATE support" msgstr "Implementato correttamente il supporto a MATE" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:230 msgid "Added post-installation commands" msgstr "Aggiunti comandi post installazione" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:237 msgid "Fixing wrong import" msgstr "Corretta un'importazione errata" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:244 msgid "Fixed support for MATE under Flatpak" msgstr "Corretto il supporto per MATE sotto Flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:251 msgid "New icon! Should be closer to GNOME HIG." msgstr "Nuova icona! Dovrebbe essere più vicina alle HIG di GNOME." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:252 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" "Esposta la funzionalità di sfondi casuali dal menu interno all'app e nel " "file desktop" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:259 msgid "Added random wallpaper functionality from command line with -r option" msgstr "" "Aggiunta la funzionalità di sfondi casuali dalla linea di comando con " "l'opzione -r" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:266 msgid "Fixing startup error when added folders get deleted" msgstr "" "Corretto l'errore d'avvio quando le cartelle aggiunte vengono cancellate" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:273 msgid "Get correct localized Pictures folder on first startup" msgstr "Ottenuta la corretta cartella Immagini localizzata al primo avvio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:274 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "L'app non crasha più se una cartella non esiste" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:281 msgid "Fixed wallpapers not hiding on startup" msgstr "Corretto che gli sfondi non si nascondano all'avvio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:288 msgid "Complete code refactoring" msgstr "Completo refactoring del codice" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:289 msgid "Made the whole build system more modular" msgstr "Reso l'intero build system modulare" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:290 msgid "Moved app menu to the headerbar" msgstr "Spostato il menu dell'app nella headerbar" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:291 msgid "Initial support for keyboard shortcuts" msgstr "Supporto iniziale per scorciatoie da tastiera" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:298 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "Corretta la creazione di thumbnail per PNG con canale alpha" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:299 msgid "Added option to clear cache" msgstr "Aggiunta un'opzione per pulire la cache" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:307 msgid "Improved thumbnail generation and caching for better performance" msgstr "" "Migliorata la generazione di miniature e caching per migliore performance" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:314 msgid "Updated dependencies" msgstr "Aggiornate le dipendenze" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:315 msgid "Added support for command line usage" msgstr "Aggiunto supporto per l'uso da linea di comando" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:316 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "" "Implementato boilerplate per gtk tramite gmgtk (gitlab.com/gabmus/gmgtk)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:317 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" "Migrata la gestione della configurazione a gmconfig (gitlab.com/gabmus/" "gmconfig)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:318 msgid "Migrated to GitLab" msgstr "Migrazione a GitLab" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:325 msgid "Better filename generation" msgstr "Migliore generazione di nomi di file" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:326 msgid "Added support for vertical setups" msgstr "Aggiunto il supporto per disposizioni verticali" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:327 msgid "Added symbolic icon" msgstr "Aggiunta icona simbolica" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:328 msgid "Added support for MATE" msgstr "Aggiunto supporto per MATE" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:336 msgid "Design makeover" msgstr "Design ristudiato" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:337 msgid "Added longpress/rightclick menu" msgstr "Aggiunto un menu attivato con pressione prolungata o tasto destro" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:338 msgid "Implemented favorites" msgstr "Implementati i preferiti" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:339 msgid "Added option to temporarely disable paths" msgstr "Aggiunta un'opzione per disabilitare temporaneamente percorsi" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:340 msgid "Added option to minimize/restore all other windows" msgstr "" "Aggiunta un'opzione per minimizzare/ripristinare tutte le altre finestre" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:341 msgid "Improved performance" msgstr "Miglioramenti di performance" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:342 msgid "Various optimizations for flatpak distribution" msgstr "Varie ottimizzazioni per la distribuzione via flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:343 msgid "Removed the dependency on xmltodict" msgstr "Rimossa la dipendenza su xmltodict" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:351 msgid "Changed icon" msgstr "Cambiata l'icona" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:352 msgid "Added support for monitors.xml version 1" msgstr "Aggiunto il supporto per monitors.xml versione 1" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:359 msgid "Improved 3+ monitors configuration" msgstr "Migliorata la configurazione con 3+ monitor" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:360 msgid "Remember previously set wallpapers throughout sessions" msgstr "Ricorda lo sfondo impostato precedentemente attraverso le sessioni" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:361 msgid "Implemented cache hitting" msgstr "Implementata la collisione con la cache" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:362 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "Aggiunti controlli e messaggi di errore amichevoli per monitors.xml" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:369 msgid "Bug fixes" msgstr "Correzione bug" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:370 msgid "Added settings window" msgstr "Aggiunta finestra impostazioni" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:377 msgid "Port to pillow" msgstr "Port a pillow" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:384 msgid "First release" msgstr "Prima release" #~ msgid "General Settings" #~ msgstr "Impostazioni Generali" #~ msgid "" #~ "Warning: this feature will use a lot of disk space\n" #~ "Periodically clear the cache to mitigate this problem" #~ msgstr "" #~ "Attenzione: questa funzione userà molto spazio del disco\n" #~ "Pulisci le cache periodicamente per mitigare questo problema" #~ msgid "Caches and favorites" #~ msgstr "Cache e preferiti" #~ msgid "Clear all favorites" #~ msgstr "Pulisci tutti i preferiti" #~ msgid "Clear all caches" #~ msgstr "Pulisci tutte le cache" #~ msgid "View" #~ msgstr "Vista" #~ msgid "View Settings" #~ msgstr "Impostazioni vista" #~ msgid "Single wallpaper spanned mode" #~ msgstr "Modalità singolo sfondo esteso" #~ msgid "Open preferences" #~ msgstr "Apri Preferenze" #~ msgid "Wallpaper mode" #~ msgstr "Modalità sfondo" #~ msgid "Center (black background)" #~ msgstr "Centra (sfondo nero)" #~ msgid "title" #~ msgstr "titolo" #~ msgid "Path" #~ msgstr "Percorso" #~ msgid "Add" #~ msgstr "Aggiungi" #~ msgid "Activate all folders" #~ msgstr "Attiva tutte le cartelle" #~ msgid "Deactivate all folders" #~ msgstr "Disattiva tutte le cartelle" #~ msgid "Wallpapers Folders" #~ msgstr "Cartelle degli sfondi" #~ msgid "Add to slideshow" #~ msgstr "Aggiungi alla presentazione" #~ msgid "Manage slideshow mode" #~ msgstr "Gestisci modalità presentazione" #~ msgid "Slideshow mode" #~ msgstr "Modalità presentazione" #~ msgid "Seconds between wallpaper change" #~ msgstr "Secondi tra i cambiamenti degli sfondi" #~ msgid "About" #~ msgstr "Informazioni" #~ msgid "set lockscreen wallpapers instead of desktop ones" #~ msgstr "imposta sfondi della schermata di blocco invece che della scrivania" #~ msgid "Select wallpapers with a double click" #~ msgstr "Seleziona gli sfondi con un doppio click" #~ msgid "Add a wallpapers folder" #~ msgstr "Aggiungi una cartella di sfondi" #~ msgid "Desktop" #~ msgstr "Scrivania" #~ msgid "Lockscreen" #~ msgstr "Blocco schermo" #~ msgid "Both" #~ msgstr "Entrambi" #~ msgid "" #~ "HydraPaper lets you set different wallpapers for each of your monitors in " #~ "the GNOME desktop." #~ msgstr "" #~ "HydraPaper ti permette di impostare uno sfondo diverso per ognuno dei " #~ "tuoi monitor nell'ambiente desktop GNOME." #~ msgid "" #~ "It works around this lack of functionality by automatically merging " #~ "multiple wallpapers into one, and setting it as your wallpaper with the " #~ "\"Spanned\" option." #~ msgstr "" #~ "Risolve questa mancanza di funzionalità unendo automaticamente multipli " #~ "sfondi in uno, e impostandolo come sfondo con l'opzione \"Spanned\"." #~ msgid "" #~ "HydraPaper also supports the MATE desktop, and should work on any desktop " #~ "that is based on GNOME, like Budgie and Pantheon." #~ msgstr "" #~ "HydraPaper supporta anche il desktop MATE, e dovrebbe funzionare su " #~ "qualunque desktop basato su GNOME, come Budgie e Pantheon." #~ msgid "Lower all other windows" #~ msgstr "Abbassa tutte le altre finestre" #~ msgid "Keep favorites in main wallpapers view" #~ msgstr "Mantieni i preferiti nella vista principale degli sfondi" #~ msgid "Selected path has already been added" #~ msgstr "Il percorso selezionato è già stato aggiunto" #~ msgid "Close\n" #~ msgstr "Chiudi\n" #, python-brace-format #~ msgid "Hit cache for {0}. Skipping merge" #~ msgstr "Collisione cache per {0}. Sto saltando l'unione" #~ msgid "Settings" #~ msgstr "Preferenze" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/meson.build000066400000000000000000000001271450351034300236130ustar00rootroot00000000000000message('Update translations') i18n.gettext(meson.project_name(), preset: 'glib' ) HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/pt_BR.po000066400000000000000000000450551450351034300230300ustar00rootroot00000000000000# Portuguese translations for hydrapaper package. # Copyright (C) 2020 THE hydrapaper'S COPYRIGHT HOLDER # This file is distributed under the same license as the hydrapaper package. # Daniel Maciel , 2020. # msgid "" msgstr "" "Project-Id-Version: hydrapaper 1.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-19 17:13+0200\n" "PO-Revision-Date: 2020-05-19 17:12+0200\n" "Last-Translator: Daniel Maciel \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\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-Poedit-SourceCharset: UTF-8\n" "X-Generator: Poedit 2.3\n" #: ../hydrapaper/wallpapers_flowbox.py:115 msgid "Remove favorite" msgstr "Remover favorito" #: ../hydrapaper/wallpapers_flowbox.py:117 msgid "Add favorite" msgstr "Adicionar aos favoritos" #: ../hydrapaper/main_stack.py:13 msgid "Wallpapers" msgstr "Papéis de parede" #: ../hydrapaper/main_stack.py:15 msgid "Favorites" msgstr "Favoritos" #: ../hydrapaper/settings_box.py:90 msgid "General" msgstr "Geral" #: ../hydrapaper/settings_box.py:94 msgid "General Settings" msgstr "Configurações Gerais" #: ../hydrapaper/settings_box.py:97 msgid "Select wallpapers with a double click" msgstr "Selecionar papéis de parede com um clique duplo" #: ../hydrapaper/settings_box.py:102 msgid "Show full path in folder view" msgstr "Mostrar caminho completo na visualização de pastas" #: ../hydrapaper/settings_box.py:107 msgid "Save each wallpaper separately" msgstr "Salvar cada papel de parede separadamente" #: ../hydrapaper/settings_box.py:109 msgid "" "Warning: this feature will use a lot of disk space\n" "Periodically clear the cache to mitigate this problem" msgstr "" "Aviso: esse recurso usará muito espaço em disco.\n" "Limpe periodicamente o cache para minimizar esse problema" #: ../hydrapaper/settings_box.py:126 msgid "Caches and favorites" msgstr "Caches e favoritos" #: ../hydrapaper/settings_box.py:129 msgid "Clear all favorites" msgstr "Limpar todos os favoritos" #: ../hydrapaper/settings_box.py:130 msgid "Clear favorites" msgstr "Limpar favoritos" #: ../hydrapaper/settings_box.py:136 msgid "Clear all caches" msgstr "Limpar todos os caches" #: ../hydrapaper/settings_box.py:137 msgid "Clear caches" msgstr "Limpar caches" #: ../hydrapaper/settings_box.py:172 msgid "View" msgstr "Exibição" #: ../hydrapaper/settings_box.py:176 msgid "View Settings" msgstr "Configurações de exibição" #: ../hydrapaper/settings_box.py:179 msgid "Use big thumbnails for the monitors previews" msgstr "Minaturas grandes nos previews de monitores" #: ../hydrapaper/monitor_parser.py:67 msgid "Error parsing monitors (Gdk)" msgstr "Erro ao buscar monitores (Gdk)" #: ../hydrapaper/__main__.py:118 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Erro: você informou {0} papéis de parede para {1} monitores" #: ../hydrapaper/__main__.py:125 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Erro: {0} não é um caminho válido para uma imagem" #: ../hydrapaper/__main__.py:171 msgid "set wallpapers from command line" msgstr "definir papéis de parede via linha de comando" #: ../hydrapaper/__main__.py:172 msgid "set wallpapers randomly" msgstr "definir papéis de parede aleatoriamente" #: ../hydrapaper/__main__.py:173 msgid "set lockscreen wallpapers instead of desktop ones" msgstr "" "definir papéis de parede para a tela de bloqueio ao invés da área de trabalho" #: ../hydrapaper/wallpaper_flowbox_item.py:82 msgid "ERROR: cannot create thumbnail for file" msgstr "ERRO: não foi possível criar miniatura para o arquivo" #: ../data/ui/menu.xml:6 msgid "Set random wallpapers" msgstr "Definir papéis de parede aleatórios" #: ../data/ui/menu.xml:12 msgid "Preferences" msgstr "Preferências" #: ../data/ui/menu.xml:16 msgid "Shortcuts" msgstr "Atalhos" #: ../data/ui/menu.xml:20 msgid "About" msgstr "Sobre" #: ../data/ui/menu.xml:24 ../data/ui/shortcutsWindow.xml:13 msgid "Quit" msgstr "Sair" #: ../data/ui/choose_folder_dialog.glade:23 msgid "Add a wallpapers folder" msgstr "Adicionar uma pasta de papéis de parede" #: ../data/ui/headerbar.glade:9 msgid "Apply" msgstr "Aplicar" #: ../data/ui/headerbar.glade:31 msgid "Menu" msgstr "Menu" #: ../data/ui/headerbar.glade:53 msgid "Wallpapers Folders" msgstr "Pastas de papéis de parede" #: ../data/ui/which_wallpaper_box.glade:43 msgid "Desktop" msgstr "Área de Trabalho" #: ../data/ui/which_wallpaper_box.glade:100 msgid "Lockscreen" msgstr "Tela de Bloqueio" #: ../data/ui/which_wallpaper_box.glade:157 msgid "Both" msgstr "Ambos" #: ../data/ui/wallpapers_folders_view.glade:56 msgid "Add" msgstr "Adicionar" #: ../data/ui/wallpapers_folders_view.glade:78 msgid "Remove" msgstr "Remover" #: ../data/ui/wallpapers_folders_view.glade:110 msgid "Activate all folders" msgstr "Ativar todas as pastas" #: ../data/ui/wallpapers_folders_view.glade:131 msgid "Deactivate all folders" msgstr "Desativar todas as pastas" #: ../data/ui/wallpapers_flowbox.glade:19 msgid "title" msgstr "título" #: ../data/ui/wallpapers_flowbox.glade:61 msgid "Path:" msgstr "Caminho:" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Gerenciador de papéis de parede com suporte a múltiplos monitores" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "papel de parede;plano de fundo;monitor;" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "Gabriele Musco" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper lets you set different wallpapers for each of your monitors in " "the GNOME desktop." msgstr "" "O HydraPaper permite definir papéis de parede diferentes para cada um dos " "seus monitores no GNOME." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It works around this lack of functionality by automatically merging multiple " "wallpapers into one, and setting it as your wallpaper with the \"Spanned\" " "option." msgstr "" "Ele soluciona essa falta de funcionalidade nativa mesclando automaticamente " "vários papéis de parede em um só e definindo este plano de parede mesclado " "como papel de parede do sistema com a opção \"Estendido\"." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:17 msgid "" "HydraPaper also supports the MATE desktop, and should work on any desktop " "that is based on GNOME, like Budgie and Pantheon." msgstr "" "O HydraPaper também suporta o ambiente MATE e deve funcionar em qualquer " "ambiente baseado no GNOME, como Budgie e Pantheon." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:44 msgid "New quick buttons to toggle on/off all wallpaper folders at once" msgstr "" "Novos botões para ativar/desativar todas as pastas de papel de parede de uma " "só vez" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:52 msgid "Updated flatpak dependencies and GNOME runtime" msgstr "Atualização das dependências do flatpak e do runtime do GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:53 msgid "" "Removed libwnck dependency and functionalities (lower other windows toggle)" msgstr "" "Remoção da dependência do libwnck e funcionalidades associadas (ação para " "minimizar outras janelas)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:60 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:90 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:244 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:259 msgid "Various bug fixes" msgstr "Diversas correções de bugs" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:67 msgid "You can now set lockscreen wallpapers from the command line" msgstr "" "Agora você pode definir papéis de parede para a tela de bloqueio direto da " "linha de comando" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:68 msgid "New preference to save wallpapers with random names" msgstr "Nova preferência para salvar papéis de parede com nomes aleatórios" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:69 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:215 msgid "Various bug fixes and improvements" msgstr "Diversas outras correções de bugs e melhorias" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:76 msgid "Ordering wallpapers folders alphabetically" msgstr "Classificação das pastas de papéis de parede em ordem alfabética" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:77 msgid "Fixed folder adding" msgstr "Correção do recurso de adicionar pastas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:84 msgid "You can now add multiple folders at once!" msgstr "Agora você pode adicionar várias pastas ao mesmo tempo!" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:85 msgid "Slight design overhaul" msgstr "Pequena atualização do design" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:86 msgid "Added German and Russian translations (courtesy of Alessandra Gallia)" msgstr "" "Adicionadas traduções para alemão e russo (cortesia de Alessandra Gallia)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:87 msgid "Redesigned symbolic icon" msgstr "Ícone simbólico redesenhado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:88 msgid "Initial support for sway (still broken in Flatpak)" msgstr "Suporte inicial ao sway (ainda não funciona no Flatpak)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:89 msgid "Small performance improvements" msgstr "Pequenas melhorias de desempenho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:97 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "" "Correção de conflito entre papéis de parede da área de trabalho e da tela de " "bloqueio" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:104 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" "Os papéis de parede mesclados não são mais armazenados em cache. O " "HydraPaper agora só mantem um papel de parede em cache, economizando " "bastante armazenamento" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:111 msgid "Fixed path enable/disable bug" msgstr "Correção de bug na ativação/desativação de diretório de arquivo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:118 msgid "Moved app menu to the far right" msgstr "Menu do aplicativo movido para o canto superior direito" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:119 msgid "Added view switcher bar when window is too small" msgstr "" "Adicionada barra para alteração de exibição quando a janela é muito pequena" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:126 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "Nova opção para definir papéis de parede de tela de bloqueio no GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:133 msgid "Internationalization support and Italian translation" msgstr "Suporte a internacionalização e tradução para o italiano" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:134 msgid "New widgets from Purism's libhandy" msgstr "Novos widgets da libhandy do Purism" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:135 msgid "Removed animated spinner" msgstr "Spinner animado removido" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:136 msgid "Paths in folders view show only the folder name by default" msgstr "" "Os caminhos na exibição de pastas agora mostram apenas o nome da pasta por " "padrão" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:137 msgid "New website" msgstr "Novo site" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:144 msgid "Properly implemented MATE support" msgstr "Suporte a MATE implementado corretamente" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:145 msgid "Added post-installation commands" msgstr "Comandos pós-instalação adicionados" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:152 msgid "Fixing wrong import" msgstr "Correção para importação incorreta" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:159 msgid "Fixed support for MATE under Flatpak" msgstr "Correção no suporte para MATE via Flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:166 msgid "New icon! Should be closer to GNOME HIG." msgstr "" "Novo ícone! Mais consistente com as Diretrizes de Interface Humana do GNOME." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:167 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" "Funcionalidade de papel de parede aleatória exposta no menu no aplicativo e " "no arquivo da área de trabalho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:174 msgid "Added random wallpaper functionality from command line with -r option" msgstr "" "Funcionalidade de papel de parede aleatório adicionada na ferramenta de " "linha de comando com a opção -r" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:181 msgid "Fixing startup error when added folders get deleted" msgstr "" "Correção de erro na inicialização quando pastas adicionadas são excluídas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:188 msgid "Get correct localized Pictures folder on first startup" msgstr "" "As pasta Imagens com nomes localizados em outras línguas agora são puxadas " "corretamente na primeira inicialização" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:189 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "O aplicativo não trava mais se uma pasta não existir" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:196 msgid "Fixed wallpapers not hiding on startup" msgstr "Papéis de parede fixos não ficam mais ocultados na inicialização" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:203 msgid "Complete code refactoring" msgstr "Refatoração completa do código" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:204 msgid "Made the whole build system more modular" msgstr "Todo o sistema de construção agora é mais modular" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:205 msgid "Moved app menu to the headerbar" msgstr "Menu do aplicativo movido para a barra de cabeçalho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:206 msgid "Initial support for keyboard shortcuts" msgstr "Suporte inicial a atalhos de teclado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:213 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "Criação de miniaturas corrigida para PNGs com canal alfa" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:214 msgid "Added option to clear cache" msgstr "Opção adicionada para limpar o cache" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:222 msgid "Improved thumbnail generation and caching for better performance" msgstr "" "Melhorias na geração e armazenamento em cache das miniaturas para otimizar o " "desempenho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:229 msgid "Updated dependencies" msgstr "Dependências atualizadas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:230 msgid "Added support for command line usage" msgstr "Adicionado suporte a uso via linha de comando" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:231 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "" "Código padrão implementado para gtk via gmgtk (gitlab.com/gabmus/gmgtk)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:232 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" "Gerenciamento de configuração migrado para o gmconfig (gitlab.com/gabmus/" "gmconfig)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:233 msgid "Migrated to GitLab" msgstr "Migração para o GitLab" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:240 msgid "Better filename generation" msgstr "Melhorias na geração de nomes de arquivo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:241 msgid "Added support for vertical setups" msgstr "Adicionado suporte a configurações verticais" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:242 msgid "Added symbolic icon" msgstr "Ícone simbólico adicionado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:243 msgid "Added support for MATE" msgstr "Suporte a MATE implementado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:251 msgid "Design makeover" msgstr "Melhoria do design do aplicativo" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:252 msgid "Added longpress/rightclick menu" msgstr "Adicionado menu para clique longo/clique com o botão direito" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:253 msgid "Implemented favorites" msgstr "Função Favoritos implementada" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:254 msgid "Added option to temporarely disable paths" msgstr "Opção adicionada para desativar temporariamente os caminhos" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:255 msgid "Added option to minimize/restore all other windows" msgstr "Opção adicionada para minimizar/restaurar todas as outras janelas" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:256 msgid "Improved performance" msgstr "Melhorias de desempenho" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:257 msgid "Various optimizations for flatpak distribution" msgstr "Otimizações diversas para distribuição flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:258 msgid "Removed the dependency on xmltodict" msgstr "Removida a dependência do xmltodict" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:266 msgid "Changed icon" msgstr "Ícone alterado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:267 msgid "Added support for monitors.xml version 1" msgstr "Adicionado suporte a monitors.xml versão 1" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:274 msgid "Improved 3+ monitors configuration" msgstr "Melhorias na configuração para 3 ou mais monitores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:275 msgid "Remember previously set wallpapers throughout sessions" msgstr "" "O aplicativo agora se lembra de papéis de parede configurados em sessões " "anteriores" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:276 msgid "Implemented cache hitting" msgstr "Hit de cache implementado" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:277 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "" "Adiciona verificações e mensagens de erro amigáveis para o arquivo monitors." "xml" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:284 msgid "Bug fixes" msgstr "Correções de bugs" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:285 msgid "Added settings window" msgstr "Janela de configurações adicionada" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:292 msgid "Port to pillow" msgstr "Port para pillow" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:299 msgid "First release" msgstr "Primeira versão" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/ru.po000066400000000000000000000435341450351034300224500ustar00rootroot00000000000000# Russian translations for hydrapaper package. # Copyright (C) 2019 THE hydrapaper'S COPYRIGHT HOLDER # This file is distributed under the same license as the hydrapaper package. # Alessandra Gallia , 2019. # msgid "" msgstr "" "Project-Id-Version: hydrapaper 1.9.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-11 20:54+0200\n" "PO-Revision-Date: 2019-09-24 20:50+0200\n" "Last-Translator: Alessandra Gallia \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: Poedit 2.2.1\n" #: ../hydrapaper/wallpaper_flowbox_item.py:79 msgid "ERROR: cannot create thumbnail for file" msgstr "Ошибка: не удается создать эскиз файла" #: ../hydrapaper/monitor_parser.py:44 msgid "Error parsing monitors (Gdk)" msgstr "Сбой разбора экрана (Gdk)" #: ../hydrapaper/__main__.py:121 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Ошибка: вы вводили {0} обои для {1} экранов" #: ../hydrapaper/__main__.py:128 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Ошибка: {0} - это неверный путь к изображению" #: ../hydrapaper/__main__.py:162 msgid "set wallpapers from command line" msgstr "устоновить обои через командную строку" #: ../hydrapaper/__main__.py:163 msgid "set wallpapers randomly" msgstr "устоновить обои случайно" #: ../hydrapaper/main_stack.py:12 msgid "Wallpapers" msgstr "Обои" #: ../hydrapaper/main_stack.py:14 msgid "Favorites" msgstr "Избранные" #: ../hydrapaper/wallpapers_flowbox.py:109 msgid "Remove favorite" msgstr "Удалить из избранных" #: ../hydrapaper/wallpapers_flowbox.py:111 msgid "Add favorite" msgstr "Добавить в избранные" #: ../hydrapaper/settings_box.py:82 msgid "General" msgstr "Основные" #: ../hydrapaper/settings_box.py:87 msgid "General Settings" msgstr "Основные настройки" #: ../hydrapaper/settings_box.py:90 msgid "Select wallpapers with a double click" msgstr "Дважды нажать, чтобы выбрать обои" #: ../hydrapaper/settings_box.py:95 msgid "Keep favorites in main wallpapers view" msgstr "Сдержать избранные на основном представлении обоев" #: ../hydrapaper/settings_box.py:100 msgid "Show full path in folder view" msgstr "Отображать полный путь на просмотре папок" #: ../hydrapaper/settings_box.py:111 msgid "Caches and favorites" msgstr "Кэш и избранные" #: ../hydrapaper/settings_box.py:114 msgid "Clear all favorites" msgstr "Очистить все избранные" #: ../hydrapaper/settings_box.py:115 msgid "Clear favorites" msgstr "Очистить избранные" #: ../hydrapaper/settings_box.py:121 msgid "Clear all caches" msgstr "Очистить весь кэш" #: ../hydrapaper/settings_box.py:122 msgid "Clear caches" msgstr "Очистить кэш" #: ../hydrapaper/settings_box.py:157 msgid "View" msgstr "Вид" #: ../hydrapaper/settings_box.py:162 msgid "View Settings" msgstr "Посмотрить настройки" #: ../hydrapaper/settings_box.py:165 msgid "Use big thumbnails for the monitors previews" msgstr "Использоваться крупными эскизами для предварительного просмотра экрана" #: ../data/ui/menu.xml:6 msgid "Set random wallpapers" msgstr "Установить случайные обои" #: ../data/ui/menu.xml:12 msgid "Preferences" msgstr "Персональные настройки" #: ../data/ui/menu.xml:16 msgid "Shortcuts" msgstr "Быстрые доступы" #: ../data/ui/menu.xml:20 msgid "About" msgstr "О программе" #: ../data/ui/menu.xml:24 ../data/ui/shortcutsWindow.xml:13 msgid "Quit" msgstr "Покидать" #: ../data/ui/choose_folder_dialog.glade:22 msgid "Add a wallpapers folder" msgstr "Добавить папку обоев" #: ../data/ui/choose_folder_dialog.glade:89 msgid "Selected path has already been added" msgstr "Выбранный путь уже добавлен" #: ../data/ui/choose_folder_dialog.glade:106 msgid "Close\n" msgstr "Закрыть\n" #: ../data/ui/wallpapers_folders_view.glade:51 msgid "Add" msgstr "Добавить" #: ../data/ui/wallpapers_folders_view.glade:73 msgid "Remove" msgstr "Удалить" #: ../data/ui/headerbar.glade:14 msgid "Apply" msgstr "Применить" #: ../data/ui/headerbar.glade:31 msgid "Lower all other windows" msgstr "Свернуть все другие окна" #: ../data/ui/which_wallpaper_box.glade:43 msgid "Desktop" msgstr "Рабочий стол" #: ../data/ui/which_wallpaper_box.glade:100 msgid "Lockscreen" msgstr "Экран блокировки" #: ../data/ui/which_wallpaper_box.glade:157 msgid "Both" msgstr "Оба" #: ../data/ui/wallpapers_flowbox.glade:19 msgid "title" msgstr "название" #: ../data/ui/wallpapers_flowbox.glade:61 msgid "Path:" msgstr "Путь:" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Менеджер обоев с многомониторной поддержкой" #: ../data/org.gabmus.hydrapaper.desktop.in:6 msgid "@appid@" msgstr "@appid@" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "обои;фон;экран;" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "Габриеле Муско" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:10 msgid "" "HydraPaper lets you set different wallpapers for each of your monitors in " "the GNOME desktop." msgstr "" "HydraPaper позволяет устанавливать разные обои на каждый из вашего мониторов " "на рабочий стол GNOME." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:11 msgid "" "It works around this lack of functionality by automatically merging multiple " "wallpapers into one, and setting it as your wallpaper with the \"Spanned\" " "option." msgstr "" "Решит это отсутствие функциональности автоматический объединяя разных обоев " "в один, и устанавливает это как ваши обои с параметром \"Расширения\"." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:12 msgid "" "HydraPaper also supports the MATE desktop, and should work on any desktop " "that is based on GNOME, like Budgie and Pantheon." msgstr "" "HydraPaper поддерживает тоже рабочий стол MATE, и должно работать на любом " "рабочем столе, основанном на GNOME, вроде Budgie и Pantheon." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:38 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "Исправлен конфликт между обоями рабочего стола и экраном блокировки" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:45 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" "Объединенные обои больше не кэшируются. Кэшируется только один, экономя " "много места" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:52 msgid "Fixed path enable/disable bug" msgstr "Исправлена ошибка включения/выключения пути" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:59 msgid "Moved app menu to the far right" msgstr "Сдвинуто меню приложения в правую сторону" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:60 msgid "Added view switcher bar when window is too small" msgstr "Добавлен панель свитчера вида, когда окно слишком маленькое" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:67 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "Добавлена опция за установкой обоев на экран блокировки в GNOME" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:74 msgid "Internationalization support and Italian translation" msgstr "Поддержка интернационализации и перевод на итальянский язык" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:75 msgid "New widgets from Purism's libhandy" msgstr "Новые виджеты выпуска libhandy компании Purism" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:76 msgid "Removed animated spinner" msgstr "Удален анимированный спиннер" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:77 msgid "Paths in folders view show only the folder name by default" msgstr "Пути просмотра папок отображают автоматический только имя папок" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:78 msgid "New website" msgstr "Новый сайт" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:85 msgid "Properly implemented MATE support" msgstr "Правильно осуществленная поддержка MATE" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:86 msgid "Added post-installation commands" msgstr "Добавлены команды после установки" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:93 msgid "Fixing wrong import" msgstr "Исправление неудачного импорта" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:100 msgid "Fixed support for MATE under Flatpak" msgstr "Исправлена поддержка MATE под Flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:107 msgid "New icon! Should be closer to GNOME HIG." msgstr "Новый значок! Должен быть ближе к GNOME HIG." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:108 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" "Выставлена функция случайных обоев через меню приложения и файл рабочего " "стола" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:115 msgid "Added random wallpaper functionality from command line with -r option" msgstr "Добавлена функция случайных обоев через командную строку с опцией -r" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:122 msgid "Fixing startup error when added folders get deleted" msgstr "Исправление ошибки запуска при удалении добавленных папок" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:129 msgid "Get correct localized Pictures folder on first startup" msgstr "Получить правильно локализованную папку Изображений при первом запуске" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:130 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "Приложение больше не падает, если папка не существует" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:137 msgid "Fixed wallpapers not hiding on startup" msgstr "Исправлены обои, не скрывающиеся при запуске" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:144 msgid "Complete code refactoring" msgstr "Выполнен рефакторинг кода" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:145 msgid "Made the whole build system more modular" msgstr "Сделана целая построенная система более модульной" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:146 msgid "Moved app menu to the headerbar" msgstr "Сдвинуто меню приложения в строку заголовка" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:147 msgid "Initial support for keyboard shortcuts" msgstr "Начальная поддержка сочетаний клавиш" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:154 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "Исправлено создание эскизов PNG с альфа-каналом" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:155 msgid "Added option to clear cache" msgstr "Добавлен параметр очистки кэша" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:156 msgid "Various bug fixes and improvements" msgstr "Разные исправления ошибок и улучшения" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:163 msgid "Improved thumbnail generation and caching for better performance" msgstr "" "Улучшены создание эскизов и кэширование за повышением производительности" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:170 msgid "Updated dependencies" msgstr "Обновлены зависимости" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:171 msgid "Added support for command line usage" msgstr "Добавлена поддержка использования командной строки" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:172 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "Осуществлен шаблон для GTK через gmgtk (gitlab.com/gabmus/gmgtk)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:173 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" "Переносо конфигурационное управление в gmconfig (gitlab.com/gabmus/gmconfig)" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:174 msgid "Migrated to GitLab" msgstr "Переносо в GitLab" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:181 msgid "Better filename generation" msgstr "Лучшая генерация имени файлов" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:182 msgid "Added support for vertical setups" msgstr "Добавлена поддержка вертикальных настроек" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:183 msgid "Added symbolic icon" msgstr "Добавлен символический значок" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:184 msgid "Added support for MATE" msgstr "Добавлена поддержка MATE" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:185 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:200 msgid "Various bug fixes" msgstr "Разные исправления ошибок" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:192 msgid "Design makeover" msgstr "Преображение дизайна" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:193 msgid "Added longpress/rightclick menu" msgstr "Добавлено меню при длинном нажатии/правом щелчке" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:194 msgid "Implemented favorites" msgstr "Осуществлены избранные" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:195 msgid "Added option to temporarely disable paths" msgstr "Добавлен параметр за временным выключением путей" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:196 msgid "Added option to minimize/restore all other windows" msgstr "Добавлен параметр, чтобы свернуть/восстановить все остальные окна" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:197 msgid "Improved performance" msgstr "Улучшена производительность" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:198 msgid "Various optimizations for flatpak distribution" msgstr "Разные оптимизации для дистрибуции Flatpak" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:199 msgid "Removed the dependency on xmltodict" msgstr "Удалена зависимость в xmltodict" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:207 msgid "Changed icon" msgstr "Изменен значок" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:208 msgid "Added support for monitors.xml version 1" msgstr "Добавлена поддержка мониторов.xml версия 1" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:215 msgid "Improved 3+ monitors configuration" msgstr "Улучшена конфигурация 3+ монитора" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:216 msgid "Remember previously set wallpapers throughout sessions" msgstr "Вспомнить ранее установленные обои во время сессий" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:217 msgid "Implemented cache hitting" msgstr "Осуществлено кэш-попадание" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:218 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "" "Добавлены проверки и дружественные пользователю сообщении об ошибок для " "мониторов.xml" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:225 msgid "Bug fixes" msgstr "Исправления ошибок" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:226 msgid "Added settings window" msgstr "Добавлено окна настроек" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:233 msgid "Port to pillow" msgstr "Сдвинуто в pillow" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:240 msgid "First release" msgstr "Первый релиз" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/sv.po000066400000000000000000000215521450351034300224460ustar00rootroot00000000000000# Swedish translations for hydrapaper package. # Copyright (C) 2021 THE hydrapaper'S COPYRIGHT HOLDER # This file is distributed under the same license as the hydrapaper package. # eson , 2021. # msgid "" msgstr "" "Project-Id-Version: hydrapaper 2.0.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-07 08:41+0100\n" "PO-Revision-Date: 2021-01-20 15:47+0100\n" "Last-Translator: Åke Engelbrektson \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: Poedit 2.3\n" #: ../hydrapaper/__main__.py:157 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Fel: Du angav {0} bakgrundsbilder för {1} bildskärmar" #: ../hydrapaper/__main__.py:166 #, python-brace-format msgid "Error: you passed {0} modes for {1} wallpapers" msgstr "Fel: Du angav {0} lägen för {1} bildskärmar" #: ../hydrapaper/__main__.py:175 #, python-brace-format msgid "" "Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, " "fit_blur, center_black, center_blur" msgstr "" "Fel: Bakgrundsläge {0} är inte giltigt. Tillåtna värden är: zoom, fit_black, " "fit_blur, center_black, center_blur" #: ../hydrapaper/__main__.py:185 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Fel: {0} är inte en giltig bildsökväg" #: ../hydrapaper/__main__.py:242 msgid "set wallpapers from command line" msgstr "ange skrivbordsbakgrunder från kommandorad" #: ../hydrapaper/__main__.py:248 msgid "" "specify the modes for the wallpapers (zoom, center_black, center_blur, " "fit_black, fit_blur)" msgstr "" "Ange lägen för bakgrundsbilderna (zoom, center_black, center_blur, " "fit_black, fit_blur)" #: ../hydrapaper/__main__.py:255 msgid "set wallpapers randomly" msgstr "ange skrivbordsbakgrunder slumpmässigt" #: ../hydrapaper/__main__.py:261 msgid "set lockscreen wallpapers instead of desktop ones" msgstr "ange låsskärms- istället för skrivbordsbakgrunder" #: ../hydrapaper/monitors_flowbox.py:115 msgid "Combined spanned monitor" msgstr "Kombinerad utsträckt bildskärm" #: ../hydrapaper/wallpapers_flowbox.py:123 msgid "Remove favorite" msgstr "Ta bort favorit" #: ../hydrapaper/wallpapers_flowbox.py:125 msgid "Add favorite" msgstr "Lägg till som favorit" #: ../hydrapaper/main_stack.py:14 msgid "Wallpapers" msgstr "Bakgrundsbilder" #: ../hydrapaper/main_stack.py:20 msgid "Favorites" msgstr "Favoriter" #: ../hydrapaper/monitor_parser.py:75 msgid "Error parsing monitors (Gdk)" msgstr "Kunde inte tolka skärmar (Gdk)" #: ../hydrapaper/wallpapers_folders_view.py:87 msgid "Add wallpaper folders" msgstr "Lägg till mapp för skrivbordsbakgrunder" #: ../hydrapaper/settings_box.py:96 msgid "General" msgstr "Allmänt" #: ../hydrapaper/settings_box.py:100 msgid "General Settings" msgstr "Allmänna inställningar" #: ../hydrapaper/settings_box.py:103 msgid "Select wallpapers with a double click" msgstr "Ange skrivbordsbakgrunder med dubbelklick" #: ../hydrapaper/settings_box.py:108 msgid "Show full path in folder view" msgstr "Visa fullständig sökväg i mappvyn" #: ../hydrapaper/settings_box.py:113 msgid "Save each wallpaper separately" msgstr "Spara varje bakgrundsbild separat" #: ../hydrapaper/settings_box.py:115 msgid "" "Warning: this feature will use a lot of disk space\n" "Periodically clear the cache to mitigate this problem" msgstr "" "Varning: Denna funktion använder mycket diskutrymme.\n" "Rensa cacheminnet regelbundet för att minska problemet." #: ../hydrapaper/settings_box.py:132 msgid "Caches and favorites" msgstr "Cachelagring och favoriter" #: ../hydrapaper/settings_box.py:135 msgid "Clear all favorites" msgstr "Ta bort alla favoriter" #: ../hydrapaper/settings_box.py:136 msgid "Clear favorites" msgstr "Rensa favoriter" #: ../hydrapaper/settings_box.py:142 msgid "Clear all caches" msgstr "Töm all cachelagring" #: ../hydrapaper/settings_box.py:143 msgid "Clear caches" msgstr "Rensa cachelagrat" #: ../hydrapaper/settings_box.py:178 msgid "View" msgstr "Visa" #: ../hydrapaper/settings_box.py:182 msgid "View Settings" msgstr "Visningsinställningar" #: ../hydrapaper/settings_box.py:185 msgid "Use big thumbnails for the monitors previews" msgstr "Använd stora miniatyrer till förhandsvisningen" #: ../hydrapaper/wallpaper_flowbox_item.py:82 msgid "ERROR: cannot create thumbnail for file" msgstr "FEL: Kan inte skapa miniatyr för filen" #: ../data/ui/which_wallpaper_box.glade:37 msgid "Desktop" msgstr "Skrivbord" #: ../data/ui/which_wallpaper_box.glade:73 msgid "Lockscreen" msgstr "Låsskärm" #: ../data/ui/which_wallpaper_box.glade:109 msgid "Both" msgstr "Bägge" #: ../data/ui/headerbar.glade:9 msgid "Apply" msgstr "Tillämpa" #: ../data/ui/headerbar.glade:38 msgid "Menu" msgstr "Meny" #: ../data/ui/headerbar.glade:60 msgid "Wallpapers Folders" msgstr "Bakgrundsmapp" #: ../data/ui/wp_mode_popover_menu.glade:19 #: ../data/ui/monitors_flowbox_item.glade:32 msgid "Wallpaper mode" msgstr "Bakgrundsläge" #: ../data/ui/wp_mode_popover_menu.glade:32 msgid "Zoom" msgstr "Zooma" #: ../data/ui/wp_mode_popover_menu.glade:48 msgid "Fit (black background)" msgstr "Anpassa (svart bakgrund)" #: ../data/ui/wp_mode_popover_menu.glade:64 msgid "Fit (blur)" msgstr "Anpassa (oskarp)" #: ../data/ui/wp_mode_popover_menu.glade:80 msgid "Center (black background)" msgstr "Centrera (svart bakgrund)" #: ../data/ui/wp_mode_popover_menu.glade:97 msgid "Center (blur)" msgstr "Centrera (oskarp)" #: ../data/ui/shortcutsWindow.xml:13 msgid "Open Keyboard Shortcuts" msgstr "Öppna tangentbordsgenvägar" #: ../data/ui/shortcutsWindow.xml:19 ../data/ui/menu.xml:28 msgid "Quit" msgstr "Avsluta" #: ../data/ui/shortcutsWindow.xml:25 msgid "Open Menu" msgstr "Öppna menyn" #: ../data/ui/shortcutsWindow.xml:31 msgid "Open preferences" msgstr "Öppna inställningarna" #: ../data/ui/shortcutsWindow.xml:37 ../data/ui/menu.xml:10 msgid "Set random wallpapers" msgstr "Ange slumpmässiga bakgrundsbilder" #: ../data/ui/wallpapers_folders_view.glade:51 msgid "Add" msgstr "Lägg till" #: ../data/ui/wallpapers_folders_view.glade:72 msgid "Remove" msgstr "Ta bort" #: ../data/ui/wallpapers_folders_view.glade:103 msgid "Activate all folders" msgstr "Aktivera alla mappar" #: ../data/ui/wallpapers_folders_view.glade:123 msgid "Deactivate all folders" msgstr "Avaktivera alla mappar" #: ../data/ui/wallpapers_flowbox.glade:19 msgid "title" msgstr "titel" #: ../data/ui/wallpapers_flowbox.glade:50 msgid "Path:" msgstr "Sökväg:" #: ../data/ui/monitors_flowbox_item.glade:56 msgid "label" msgstr "etikett" #: ../data/ui/menu.xml:6 msgid "Single wallpaper spanned mode" msgstr "Enskild bakgrundsbild, utsträckt läge" #: ../data/ui/menu.xml:16 msgid "Preferences" msgstr "Inställningar" #: ../data/ui/menu.xml:20 msgid "Shortcuts" msgstr "Genvägar" #: ../data/ui/menu.xml:24 msgid "About" msgstr "Om" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Bakgrundshanterare med flerskärmsstöd" #: ../data/org.gabmus.hydrapaper.desktop.in:6 msgid "@appid@" msgstr "@appid@" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "skrivbordsbakgrund;bakgrund;bildskärm;" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "Gabriele Musco" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:6 msgid "Wallpaper manager with multi monitor support" msgstr "Bakgrundshanterare med flerskärmsstöd" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper is a wallpaper manager, specifically designed to work around the " "lack of functionality of many desktop environments to set a different " "wallpaper for each monitor in a multi monitor setup. It accomplishes this by " "scaling and merging different wallpapers into a single one and setting it as " "spanned." msgstr "" "HydraPaper är en bakgrundshanterare, särskilt utformad för att kringgå " "bristen på funktionalitet i många skrivbordsmiljöer, när det gäller att " "ställa in en skrivbordsbakgrund för varje bildskärm, i en " "flerskärmskonfiguration. Proghrammet åstadkommer detta genom att skala och " "slå samman olika bakgrundsbilder till en enda och ställa in den som " "utsträckt." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It currently supports various desktop environments, including GNOME, MATE, " "Cinnamon and Budgie. Experimental support is included for the sway window " "manager." msgstr "" "Den stödjer för närvarande olika skrivbordsmiljöer, inklusive GNOME, MATE, " "Cinnamon och Budgie. Experimentellt stöd ingår också för sway-" "fönsterhanteraren." HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/tr.po000066400000000000000000000525121450351034300224430ustar00rootroot00000000000000# Turkish translation for HydraPaper # Copyright (C) 2022-2023 HydraPaper's COPYRIGHT HOLDER # This file is distributed under the same license as the HydraPaper package. # # Sabri Ünal , 2022, 2023. # msgid "" msgstr "" "Project-Id-Version: HydraPaper master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GabMus/HydraPaper\n" "POT-Creation-Date: 2022-06-21 23:43+0300\n" "PO-Revision-Date: 2023-01-06 03:17+0300\n" "Last-Translator: Sabri Ünal \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=1; plural=0;\n" "X-Generator: Poedit 3.1.1\n" "X-Project-Style: gnome\n" #: ../hydrapaper/monitor_parser.py:116 msgid "Error parsing monitors (Gdk)" msgstr " Ekranlar ayrıştırılırken hata oluştu (Gdk)" #: ../hydrapaper/monitor_parser.py:156 msgid "Combined spanned monitor" msgstr "Birleşik yayılmış ekran" #: ../hydrapaper/preferences_window.py:18 msgid "Start daemon on login" msgstr "Girişte artalan sürecini başlat" #: ../hydrapaper/preferences_window.py:19 msgid "React to monitor changes and start slideshow mode" msgstr "Ekran değişikliklerine tepki ver ve slayt gösterisi kipini başlat" #: ../hydrapaper/preferences_window.py:79 msgid "Save each wallpaper separately" msgstr "Duvar kağıtlarını ayrı ayrı kaydet" #: ../hydrapaper/preferences_window.py:81 msgid "" "Warning: this feature will use a lot of disk space. Periodically clear the " "cache to mitigate this problem" msgstr "" "Uyarı: Bu özellik çok fazla disk alanı kullanır. Bu sorunu azaltmak için " "önbelleği düzenli aralıklarla temizleyin" #: ../hydrapaper/preferences_window.py:91 msgid "Enable daemon" msgstr "Artalan sürecini başlat" #: ../hydrapaper/preferences_window.py:93 msgid "Needed for slideshow mode and to detect display changes" msgstr "" "Slayt gösterisi kipini ve ekran değişikliklerini algılamak için gerekli" #: ../hydrapaper/preferences_window.py:101 msgid "General" msgstr "Genel" #: ../hydrapaper/preferences_window.py:104 msgid "General preferences" msgstr "Genel tercihler" #: ../hydrapaper/preferences_window.py:107 msgid "Cache and favorites" msgstr "Önbellek ve gözdeler" #: ../hydrapaper/preferences_window.py:109 msgid "Clear favorites" msgstr "Gözdeleri temizle" #: ../hydrapaper/preferences_window.py:110 #: ../hydrapaper/preferences_window.py:117 msgid "Clear" msgstr "Temizle" #: ../hydrapaper/preferences_window.py:116 msgid "Clear caches" msgstr "Önbellekleri temizle" #: ../hydrapaper/preferences_window.py:143 msgid "Appearance" msgstr "Görünüm" #: ../hydrapaper/preferences_window.py:146 msgid "Appearance preferences" msgstr "Görünüm tercihleri" #: ../hydrapaper/preferences_window.py:148 msgid "Dark mode" msgstr "Koyu kip" #: ../hydrapaper/preferences_window.py:154 msgid "Use big thumbnails for the monitors previews" msgstr "Ekran önizlemeleri için büyük minyatürler kullan" #: ../hydrapaper/preferences_window.py:160 msgid "Show full path in folder view" msgstr "Klasör görünümünde tam yolu göster" #: ../hydrapaper/slideshow_listbox_row.py:30 msgid "Move up" msgstr "Yukarı taşı" #: ../hydrapaper/slideshow_listbox_row.py:35 msgid "Remove" msgstr "Kaldır" #: ../hydrapaper/slideshow_listbox_row.py:40 msgid "Move down" msgstr "Aşağı taşı" #: ../hydrapaper/wallpaper_flowbox_item.py:32 msgid "Remove favorite" msgstr "Gözdelerden kaldır" #: ../hydrapaper/wallpaper_flowbox_item.py:34 msgid "Add favorite" msgstr "Gözdelere ekle" #: ../hydrapaper/wallpaper_flowbox_item.py:155 msgid "ERROR: cannot create thumbnail for file" msgstr "HATA: dosya için minyatür oluşturulamadı" #: ../hydrapaper/base_preferences.py:106 msgid "Choose a folder" msgstr "Klasör seç" #: ../hydrapaper/wallpapers_folders_view.py:55 msgid "Add wallpaper folders" msgstr "Duvar kağıtları klasörlerine ekle" # Başlık çubuğunda yer aldığı için Başlık Düzeni tercih edilmeli. #: ../hydrapaper/main_stack.py:19 msgid "Wallpapers" msgstr "Duvar Kağıtları" #: ../hydrapaper/main_stack.py:24 msgid "Favorites" msgstr "Gözdeler" #: ../hydrapaper/__main__.py:112 #, python-brace-format msgid "Error: you passed {0} wallpapers for {1} monitors" msgstr "Hata: {1} ekran için {0} duvar kağıdını geçtiniz" #: ../hydrapaper/__main__.py:121 #, python-brace-format msgid "Error: you passed {0} modes for {1} wallpapers" msgstr "Hata: {1} duvar kağıdı için {0} kip geçtiniz" #: ../hydrapaper/__main__.py:130 #, python-brace-format msgid "" "Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, " "fit_blur, center_black, center_blur" msgstr "" "Hata: duvar kağıdı kipi {0} geçerli değil. İzin verilen değerler: zoom, " "fit_black, fit_blur, center_black, center_blur" #: ../hydrapaper/__main__.py:140 #, python-brace-format msgid "Error: {0} is not a valid image path" msgstr "Hata: {0} geçerli bir resim yolu değil" #: ../hydrapaper/__main__.py:196 msgid "set wallpapers from command line" msgstr "duvar kağıtlarını komut satırından ayarla" #: ../hydrapaper/__main__.py:202 msgid "" "specify the modes for the wallpapers (zoom, center_black, center_blur, " "fit_black, fit_blur)" msgstr "" "duvar kağıtları için kipleri belirtin (zoom, center_black, center_blur, " "fit_black, fit_blur)" #: ../hydrapaper/__main__.py:209 msgid "set the dark mode wallpapers (specific to GNOME 42+)" msgstr "Koyu kip duvar kağıtlarını ayarlayın (GNOME 42+ sürümüne özel)" #: ../hydrapaper/__main__.py:215 msgid "set wallpapers randomly" msgstr "duvar kağıtlarını rastgele ayarla" #: ../data/ui/shortcutsWindow.blp:11 msgid "Open Keyboard Shortcuts" msgstr "Klavye Kısayollarını Aç" #: ../data/ui/shortcutsWindow.blp:15 msgid "Open Menu" msgstr "Menüyü Aç" #: ../data/ui/shortcutsWindow.blp:19 ../data/ui/headerbar.blp:33 msgid "Search" msgstr "Ara" #: ../data/ui/shortcutsWindow.blp:23 msgid "Open Preferences" msgstr "Tercihleri Aç" #: ../data/ui/shortcutsWindow.blp:27 msgid "Quit" msgstr "Çık" #: ../data/ui/shortcutsWindow.blp:31 ../data/ui/headerbar.blp:7 msgid "Set Random Wallpapers" msgstr "Rastgele Duvar Kağıtları Ayarla" #: ../data/ui/wallpaper_flowbox_item_popover.blp:18 msgid "Add Favorite" msgstr "Gözdelere ekle" #: ../data/ui/wallpaper_flowbox_item_popover.blp:27 msgid "Path:" msgstr "Yol:" #: ../data/ui/wp_mode_popover_menu.blp:16 #: ../data/ui/monitors_flowbox_item.blp:14 msgid "Wallpaper Mode" msgstr "Duvar Kağıdı Kipi" #: ../data/ui/wp_mode_popover_menu.blp:20 msgid "Zoom" msgstr "Yaklaştır" #: ../data/ui/wp_mode_popover_menu.blp:25 msgid "Fit (black background)" msgstr "Sığdır (siyah arka plan)" #: ../data/ui/wp_mode_popover_menu.blp:30 msgid "Fit (blur)" msgstr "Sığdır (bulanık)" #: ../data/ui/wp_mode_popover_menu.blp:35 msgid "Center (black backgrond)" msgstr "Merkez (siyah arka plan)" #: ../data/ui/wp_mode_popover_menu.blp:40 msgid "Center (blur)" msgstr "Merkez (bulanık)" #: ../data/ui/headerbar.blp:6 msgid "Single Spanned Wallpaper Mode" msgstr "Tek Yayılmış Duvar Kağıdı Kipi" #: ../data/ui/headerbar.blp:10 msgid "Preferences" msgstr "Tercihler" #: ../data/ui/headerbar.blp:11 msgid "Shortcuts" msgstr "Kısayollar" #: ../data/ui/headerbar.blp:12 msgid "About HydraPaper" msgstr "HydraPaper Hakkında" #: ../data/ui/headerbar.blp:28 msgid "Wallpaper Folders" msgstr "Duvar Kağıdı Klasörleri" #: ../data/ui/headerbar.blp:37 msgid "Menu" msgstr "Menü" #: ../data/ui/headerbar.blp:46 msgid "Apply for Dark Mode" msgstr "Koyu Kip İçin Uygula" #: ../data/ui/headerbar.blp:51 msgid "Apply" msgstr "Uygula" #: ../data/ui/headerbar.blp:60 msgid "Add to Slideshow" msgstr "Slay Gösterisine Ekle" #: ../data/ui/headerbar.blp:66 msgid "Manage Slideshow Mode" msgstr "Slayt Gösterisi Kipini Yönet" #: ../data/ui/headerbar.blp:93 msgid "Slideshow Mode" msgstr "Slayt Gösterisi Kipi" #: ../data/ui/headerbar.blp:104 msgid "Wallpaper duration" msgstr "Duvar kağıdı süresi" #: ../data/ui/wallpapers_folders_view.blp:21 msgid "Add Folder" msgstr "Klasör Ekle" #: ../data/ui/wallpapers_folders_view.blp:27 msgid "Remove Folder" msgstr "Klasör Kaldır" #: ../data/ui/wallpapers_folders_view.blp:36 msgid "Activate All Folders" msgstr "Tüm Klasörleri Etkinleştir" #: ../data/ui/wallpapers_folders_view.blp:41 msgid "Deactivate All Folders" msgstr "Tüm Klasörleri Pasifleştir" #: ../data/org.gabmus.hydrapaper.desktop.in:3 msgid "@prettyname@" msgstr "@prettyname@" #: ../data/org.gabmus.hydrapaper.desktop.in:4 msgid "Wallpaper manager with multimonitor support" msgstr "Çoklu ekran destekli duvar kağıdı yöneticisi" #: ../data/org.gabmus.hydrapaper.desktop.in:12 msgid "wallpaper;background;monitor;" msgstr "duvar kağıdı;arkaplan;ekran;monitör;monitor;" #: ../data/org.gabmus.hydrapaper.desktop.in:18 msgid "Set random wallpapers" msgstr "Rastgele duvar kağıtları ayarla" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3 msgid "@appid@.Daemon" msgstr "@appid@.Daemon" #: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4 msgid "Daemon for HydraPaper" msgstr "HydraPaper Artalan Süreci" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:4 msgid "HydraPaper" msgstr "HydraPaper" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:5 msgid "Gabriele Musco" msgstr "Gabriele Musco" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:6 msgid "Wallpaper manager with multi monitor support" msgstr "Çoklu ekran destekli duvar kağıdı yöneticisi" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:15 msgid "" "HydraPaper is a wallpaper manager, specifically designed to work around the " "lack of functionality of many desktop environments to set a different " "wallpaper for each monitor in a multi monitor setup. It accomplishes this by " "scaling and merging different wallpapers into a single one and setting it as " "spanned." msgstr "" "HydraPaper, çoklu ekran kurulumunda her ekran için farklı duvar kağıdı " "ayarlamak için birçok masaüstü ortamının işlevsellik eksikliğini gidermek " "için özel olarak tasarlanmış bir duvar kağıdı yöneticisidir. Bunu, farklı " "duvar kağıtlarını tek bir duvar kağıdında ölçeklendirip birleştirerek ve " "yayarak gerçekleştirir." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:16 msgid "" "It currently supports various desktop environments, including GNOME, MATE, " "Cinnamon and Budgie. Experimental support is included for the sway window " "manager." msgstr "" "Şu anda GNOME, MATE, Cinnamon ve Budgie dahil çeşitli masaüstü ortamlarını " "desteklemektedir. Sway pencere yöneticisi için deneysel destek dahildir." #: ../data/org.gabmus.hydrapaper.appdata.xml.in:48 msgid "Show apply button for dark mode in Ubuntu GNOME sessions" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:56 msgid "Added separate apply button for dark mode" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:57 msgid "Show wallpaper names" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:58 msgid "Added search for file name and resolution" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:66 msgid "" "Wallpaper folder selection popover converted to Flap (auto-hide sidebar)" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:67 msgid "Updated support for libadwaita to version 1.0.0.alpha.4" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:68 msgid "Fixed window size save/restore" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:76 msgid "Added support for heterogeneous DPI scaling" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:77 msgid "Added support for libadwaita 1.0.0-alpha.2" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:85 msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:86 msgid "Bug fixes for Fit and Center wallpaper modes" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:94 msgid "Minor improvements to the UI" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:95 msgid "Improved phone compatibility" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:103 msgid "Fix for different wallpaper modes not working on single display setups" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:110 msgid "Fixed random wallpaper" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:117 msgid "Updated to the latest version of libhandy" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:118 msgid "New option to set a single wallpaper as spanned across all the monitors" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:119 msgid "Added Cinnamon support" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:120 msgid "" "New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with " "the choice of either a black or a blurred background" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:121 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:139 msgid "Various improvements and bug fixes" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:128 msgid "Added Brazilian Portuguese translation" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:129 msgid "Updated to support the latest version of libhandy" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:130 msgid "Added more keyboard shortcuts" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:137 msgid "New icon courtesy of Tobias Bernard" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:138 msgid "New minimal favorite wallpaper badge" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:147 msgid "New quick buttons to toggle on/off all wallpaper folders at once" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:155 msgid "Updated flatpak dependencies and GNOME runtime" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:156 msgid "" "Removed libwnck dependency and functionalities (lower other windows toggle)" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:163 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:193 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:347 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:362 msgid "Various bug fixes" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:170 msgid "You can now set lockscreen wallpapers from the command line" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:171 msgid "New preference to save wallpapers with random names" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:172 #: ../data/org.gabmus.hydrapaper.appdata.xml.in:318 msgid "Various bug fixes and improvements" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:179 msgid "Ordering wallpapers folders alphabetically" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:180 msgid "Fixed folder adding" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:187 msgid "You can now add multiple folders at once!" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:188 msgid "Slight design overhaul" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:189 msgid "Added German and Russian translations (courtesy of Alessandra Gallia)" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:190 msgid "Redesigned symbolic icon" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:191 msgid "Initial support for sway (still broken in Flatpak)" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:192 msgid "Small performance improvements" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:200 msgid "Fixed conflict between desktop and lockscreen wallpapers" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:207 msgid "" "Merged wallpapers aren't cached anymore. Just keep one and save lots of space" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:214 msgid "Fixed path enable/disable bug" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:221 msgid "Moved app menu to the far right" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:222 msgid "Added view switcher bar when window is too small" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:229 msgid "Added option to set lockscreen wallpapers in GNOME" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:236 msgid "Internationalization support and Italian translation" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:237 msgid "New widgets from Purism's libhandy" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:238 msgid "Removed animated spinner" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:239 msgid "Paths in folders view show only the folder name by default" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:240 msgid "New website" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:247 msgid "Properly implemented MATE support" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:248 msgid "Added post-installation commands" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:255 msgid "Fixing wrong import" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:262 msgid "Fixed support for MATE under Flatpak" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:269 msgid "New icon! Should be closer to GNOME HIG." msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:270 msgid "" "Exposed random wallpaper functionality from the in-app menu and desktop file" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:277 msgid "Added random wallpaper functionality from command line with -r option" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:284 msgid "Fixing startup error when added folders get deleted" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:291 msgid "Get correct localized Pictures folder on first startup" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:292 msgid "App doesn't crash anymore if a folder doesn't exist" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:299 msgid "Fixed wallpapers not hiding on startup" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:306 msgid "Complete code refactoring" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:307 msgid "Made the whole build system more modular" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:308 msgid "Moved app menu to the headerbar" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:309 msgid "Initial support for keyboard shortcuts" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:316 msgid "Fixed thumbnail creation for PNGs with alpha channel" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:317 msgid "Added option to clear cache" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:325 msgid "Improved thumbnail generation and caching for better performance" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:332 msgid "Updated dependencies" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:333 msgid "Added support for command line usage" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:334 msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:335 msgid "" "Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:336 msgid "Migrated to GitLab" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:343 msgid "Better filename generation" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:344 msgid "Added support for vertical setups" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:345 msgid "Added symbolic icon" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:346 msgid "Added support for MATE" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:354 msgid "Design makeover" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:355 msgid "Added longpress/rightclick menu" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:356 msgid "Implemented favorites" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:357 msgid "Added option to temporarely disable paths" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:358 msgid "Added option to minimize/restore all other windows" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:359 msgid "Improved performance" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:360 msgid "Various optimizations for flatpak distribution" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:361 msgid "Removed the dependency on xmltodict" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:369 msgid "Changed icon" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:370 msgid "Added support for monitors.xml version 1" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:377 msgid "Improved 3+ monitors configuration" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:378 msgid "Remember previously set wallpapers throughout sessions" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:379 msgid "Implemented cache hitting" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:380 msgid "Added checks and user friendly error messages for monitors.xml" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:387 msgid "Bug fixes" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:388 msgid "Added settings window" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:395 msgid "Port to pillow" msgstr "" #: ../data/org.gabmus.hydrapaper.appdata.xml.in:402 msgid "First release" msgstr "" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/po/update_potfiles.sh000077500000000000000000000031631450351034300252020ustar00rootroot00000000000000#!/bin/bash APPNAME="hydrapaper" if [ -z $1 ]; then echo "Usage: $0 lang" exit fi lang="$1" rm *.pot version=$(fgrep -m 1 "version: " ../meson.build | grep -v "meson" | grep -o "'.*'" | sed "s/'//g") find ../$APPNAME -iname "*.py" | xargs xgettext --package-name=$APPNAME --package-version=$version --from-code=UTF-8 --output=$APPNAME-python.pot # find ../data/ui -iname "*.glade" -or -iname "*.xml" -or -iname "*.ui" | xargs xgettext --package-name=$APPNAME --package-version=$version --from-code=UTF-8 --output=$APPNAME-glade.pot -L Glade find ../data/ui -iname "*.blp" | xargs xgettext --package-name=$APPNAME --package-version=$version --from-code=UTF-8 --output=$APPNAME-blueprint.pot -L Python find ../data/ -iname "*.desktop.in" | xargs xgettext --package-name=$APPNAME --package-version=$version --from-code=UTF-8 --output=$APPNAME-desktop.pot -L Desktop find ../data/ -iname "*.appdata.xml.in" | xargs xgettext --no-wrap --package-name=$APPNAME --package-version=$version --from-code=UTF-8 --output=$APPNAME-appdata.pot # removed: "$APPNAME-glade.pot" msgcat --use-first "$APPNAME-python.pot" "$APPNAME-blueprint.pot" "$APPNAME-desktop.pot" "$APPNAME-appdata.pot" > "$APPNAME.pot" sed 's/#: //g;s/:[0-9]*//g;s/\.\.\///g' <(fgrep "#: " $APPNAME.pot) | sort | uniq | sed 's/ /\n/g' | uniq > POTFILES.in [ -f "${lang}.po" ] && mv "${lang}.po" "${lang}.po.old" msginit --locale=$lang --input "$APPNAME.pot" if [ -f "${lang}.po.old" ]; then mv "${lang}.po" "${lang}.po.new" msgmerge -N "${lang}.po.old" "${lang}.po.new" > ${lang}.po rm "${lang}.po.old" "${lang}.po.new" fi sed -i 's/ASCII/UTF-8/' "${lang}.po" rm *.pot HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/poetry.lock000066400000000000000000000250761450351034300232410ustar00rootroot00000000000000# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "pillow" version = "10.0.1" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" files = [ {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, ] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "setuptools" version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "wheel" version = "0.41.2" description = "A built-package format for Python" optional = false python-versions = ">=3.7" files = [ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"}, {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"}, ] [package.extras] test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [metadata] lock-version = "2.0" python-versions = "^3.11" content-hash = "1cdf7a09ce79561552627b80055baa57662e8f3a777b4f74e399e1e311dec480" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/pyproject.toml000066400000000000000000000006751450351034300237570ustar00rootroot00000000000000[tool.poetry] name = "hydrapaper" version = "3.3.1" description = "Wallpaper manager with multimonitor support" authors = ["Gabriele Musco "] license = "GPL-3.0+" readme = "README.md" [tool.poetry.dependencies] python = "^3.11" setuptools = "^68.2.2" Pillow = "^10.0.1" # dbus-python = "1.3.2" # meson-python = "^0.14.0" wheel = "^0.41.2" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" HydraPaper-3.3.2-4589088da390362906ac9fecb8d4b26f594656d9/run.sh000077500000000000000000000001051450351034300221720ustar00rootroot00000000000000#!/bin/bash ninja -C build ninja -C build install ninja -C build run