From 0ad40bfda0d1835960c8111a0b097717575ef3c6 Mon Sep 17 00:00:00 2001 From: Andy Holmes Date: Tue, 9 Apr 2024 22:41:26 -0700 Subject: [PATCH] docs: add user documentation * add first draft of user documentation * add test suite (`yelp-check`) * add build test to CI * add HTML generation to CD * update RPM spec --- .editorconfig | 2 +- .github/workflows/cd.yml | 20 +- .github/workflows/ci.yml | 7 + .reuse/dep5 | 4 + CONTRIBUTING.md | 11 +- LICENSES/CC-BY-SA-4.0.txt | 170 ++ build-aux/contrib/valent.spec | 6 +- help/C/.yelp-tools.cfg | 54 + help/C/device-name.page | 63 + help/C/device-pair.page | 79 + help/C/device-unpair.page | 60 + help/C/figures/ca.andyholmes.Valent.svg | 97 + help/C/figures/channel-secure-symbolic.svg | 4 + help/C/figures/document-edit-symbolic.svg | 4 + help/C/figures/edit-delete-symbolic.svg | 4 + help/C/figures/entry-apply-symbolic.svg | 2 + help/C/figures/open-menu-symbolic.svg | 8 + help/C/figures/screenshots/device-page.png | Bin 0 -> 29101 bytes .../screenshots/device-preferences.png | Bin 0 -> 57014 bytes help/C/figures/screenshots/image-missing.png | Bin 0 -> 10456 bytes .../figures/screenshots/main-preferences.png | Bin 0 -> 47945 bytes help/C/figures/screenshots/main-window.png | Bin 0 -> 21880 bytes .../screenshots/plugin-presenter-remote.png | Bin 0 -> 14279 bytes .../screenshots/tools-input-remote.png | Bin 0 -> 25367 bytes .../screenshots/tools-media-remote.png | Bin 0 -> 17659 bytes help/C/figures/view-more-symbolic.svg | 4 + help/C/figures/view-refresh-symbolic.svg | 4 + help/C/index.page | 46 + help/C/introduction.page | 174 ++ help/C/legal.xml | 6 + help/C/plugins-battery.page | 138 ++ help/C/plugins-clipboard.page | 113 + help/C/plugins-connectivity_report.page | 92 + help/C/plugins-contacts.page | 47 + help/C/plugins-findmyphone.page | 34 + help/C/plugins-lock.page | 92 + help/C/plugins-mousepad.page | 51 + help/C/plugins-mpris.page | 45 + help/C/plugins-notification.page | 152 ++ help/C/plugins-presenter.page | 85 + help/C/plugins-runcommand.page | 183 ++ help/C/plugins-sftp.page | 110 + help/C/plugins-share.page | 102 + help/C/plugins-sms.page | 44 + help/C/plugins-systemvolume.page | 44 + help/C/plugins-telephony.page | 169 ++ help/C/plugins.page | 33 + help/C/tools-input-remote.page | 51 + help/C/tools-media-remote.page | 52 + help/C/troubleshooting-firewall.page | 120 + help/C/valent.pot | 1959 +++++++++++++++++ help/LINGUAS | 0 help/meson.build | 54 + help/templates/plugin.page.tmpl | 62 + help/templates/troubleshooting.page.tmpl | 25 + help/valent-html.xsl | 392 ++++ meson.build | 5 + meson_options.txt | 6 + po/en.po | 43 +- po/es.po | 57 +- po/fr.po | 57 +- po/it.po | 57 +- po/nl.po | 57 +- po/pt_BR.po | 57 +- po/valent.pot | 43 +- po/zh_CN.po | 57 +- src/libvalent/ui/valent-window.c | 16 + src/libvalent/ui/valent-window.ui | 10 + src/plugins/battery/battery.plugin.desktop.in | 2 +- src/plugins/bluez/bluez.plugin.desktop.in | 2 +- .../clipboard/clipboard.plugin.desktop.in | 2 +- .../connectivity_report.plugin.desktop.in | 2 +- .../contacts/contacts.plugin.desktop.in | 2 +- src/plugins/eds/eds.plugin.desktop.in | 2 +- src/plugins/fdo/fdo.plugin.desktop.in | 2 +- .../findmyphone/findmyphone.plugin.desktop.in | 2 +- src/plugins/gnome/gnome.plugin.desktop.in | 2 +- src/plugins/gtk/gtk.plugin.desktop.in | 2 +- src/plugins/lan/lan.plugin.desktop.in | 2 +- src/plugins/lock/lock.plugin.desktop.in | 4 +- .../mousepad/mousepad.plugin.desktop.in | 2 +- src/plugins/mpris/mpris.plugin.desktop.in | 4 +- .../notification.plugin.desktop.in | 4 +- src/plugins/ping/ping.plugin.desktop.in | 2 +- .../presenter/presenter.plugin.desktop.in | 2 +- .../pulseaudio/pulseaudio.plugin.desktop.in | 2 +- .../runcommand/runcommand.plugin.desktop.in | 4 +- src/plugins/sftp/sftp.plugin.desktop.in | 2 +- src/plugins/share/share.plugin.desktop.in | 2 +- src/plugins/sms/sms.plugin.desktop.in | 2 +- .../systemvolume.plugin.desktop.in | 2 +- .../telephony/telephony.plugin.desktop.in | 2 +- src/plugins/xdp/xdp.plugin.desktop.in | 2 +- tests/fixtures/mock.plugin | 2 +- tests/meson.build | 24 + 95 files changed, 5410 insertions(+), 217 deletions(-) create mode 100644 LICENSES/CC-BY-SA-4.0.txt create mode 100644 help/C/.yelp-tools.cfg create mode 100644 help/C/device-name.page create mode 100644 help/C/device-pair.page create mode 100644 help/C/device-unpair.page create mode 100644 help/C/figures/ca.andyholmes.Valent.svg create mode 100644 help/C/figures/channel-secure-symbolic.svg create mode 100644 help/C/figures/document-edit-symbolic.svg create mode 100644 help/C/figures/edit-delete-symbolic.svg create mode 100644 help/C/figures/entry-apply-symbolic.svg create mode 100644 help/C/figures/open-menu-symbolic.svg create mode 100644 help/C/figures/screenshots/device-page.png create mode 100644 help/C/figures/screenshots/device-preferences.png create mode 100644 help/C/figures/screenshots/image-missing.png create mode 100644 help/C/figures/screenshots/main-preferences.png create mode 100644 help/C/figures/screenshots/main-window.png create mode 100644 help/C/figures/screenshots/plugin-presenter-remote.png create mode 100644 help/C/figures/screenshots/tools-input-remote.png create mode 100644 help/C/figures/screenshots/tools-media-remote.png create mode 100644 help/C/figures/view-more-symbolic.svg create mode 100644 help/C/figures/view-refresh-symbolic.svg create mode 100644 help/C/index.page create mode 100644 help/C/introduction.page create mode 100644 help/C/legal.xml create mode 100644 help/C/plugins-battery.page create mode 100644 help/C/plugins-clipboard.page create mode 100644 help/C/plugins-connectivity_report.page create mode 100644 help/C/plugins-contacts.page create mode 100644 help/C/plugins-findmyphone.page create mode 100644 help/C/plugins-lock.page create mode 100644 help/C/plugins-mousepad.page create mode 100644 help/C/plugins-mpris.page create mode 100644 help/C/plugins-notification.page create mode 100644 help/C/plugins-presenter.page create mode 100644 help/C/plugins-runcommand.page create mode 100644 help/C/plugins-sftp.page create mode 100644 help/C/plugins-share.page create mode 100644 help/C/plugins-sms.page create mode 100644 help/C/plugins-systemvolume.page create mode 100644 help/C/plugins-telephony.page create mode 100644 help/C/plugins.page create mode 100644 help/C/tools-input-remote.page create mode 100644 help/C/tools-media-remote.page create mode 100644 help/C/troubleshooting-firewall.page create mode 100644 help/C/valent.pot create mode 100644 help/LINGUAS create mode 100644 help/meson.build create mode 100644 help/templates/plugin.page.tmpl create mode 100644 help/templates/troubleshooting.page.tmpl create mode 100644 help/valent-html.xsl diff --git a/.editorconfig b/.editorconfig index 17cb520241..87301187c1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -23,7 +23,7 @@ max_line_length = 80 indent_size = 4 indent_style = space -[*.{css,toml,ui,xml,xml.in,yml}] +[*.{css,page,toml,ui,xml,xml.in,yml}] indent_size = 2 indent_style = space diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 30c003cf7e..c320d129eb 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -26,11 +26,21 @@ jobs: suite: test setup-args: | -Ddocumentation=true + -Dhelp=true -Dtests=true test-coverage: true lcov-include: '${{ github.workspace }}/src/*' - - name: Report + - name: Generate Assets + env: + WORKSPACE: ${{ github.workspace }} + run: | + mkdir -p _help + yelp-build html -o ${WORKSPACE}/_help \ + -x ${WORKSPACE}/help/valent-html.xsl \ + ${WORKSPACE}/help/C/ + + - name: Coverage (coveralls.io) continue-on-error: true uses: coverallsapp/github-action@master with: @@ -53,6 +63,14 @@ jobs: target-folder: documentation single-commit: true + - name: Help + continue-on-error: true + uses: JamesIves/github-pages-deploy-action@releases/v4 + with: + folder: _help + target-folder: help + single-commit: true + flatpak: name: Flatpak runs-on: ubuntu-latest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c006aceb9f..9f083fcb63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,6 +92,7 @@ jobs: run: | meson setup --buildtype=release \ -Ddocumentation=true \ + -Dhelp=true \ _build meson compile -C _build @@ -115,10 +116,12 @@ jobs: include: - suite: abidiff setup-args: | + -Dhelp=false -Dintrospection=false -Dplugins=false - suite: cppcheck setup-args: | + -Dhelp=false -Dintrospection=false -Dtests=true fail-fast: false @@ -162,19 +165,23 @@ jobs: include: - suite: test setup-args: | + -Dhelp=false -Dtests=true test-args: | --repeat=3 - suite: asan setup-args: | + -Dhelp=false -Dintrospection=false -Dtests=true - suite: tsan setup-args: | + -Dhelp=false -Dintrospection=false -Dtests=true - suite: analyzer setup-args: | + -Dhelp=false -Dintrospection=false -Dtests=true fail-fast: false diff --git a/.reuse/dep5 b/.reuse/dep5 index b41fafa992..64baadebc4 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -9,6 +9,10 @@ Files: .github .gitignore .gitmodules build-aux/* CHANGELOG.md CONTRIBUTING.md Copyright: No rights reserved License: CC0-1.0 +Files: help/*.page help/*.tmpl help/*/legal.xml +Copyright: 2022 Andy Holmes +License: CC-BY-SA-4.0 + Files: src/plugins/findmyphone/data/alert.oga Source: https://gitlab.freedesktop.org/xdg/xdg-sound-theme/blob/master/stereo/suspend-error.oga Comment: Created by Richard Hughes diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3f0157b90..2ec9c74991 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,9 +38,13 @@ This project does not yet use a translation service like Weblate or Crowdin. You should also expect translatable strings to change frequently until the project is more mature. -To contribute a translation, open a pull request which adds your locale to the -[`LINGUAS`][linguas] file and your translated `.po` file to the [`po/`][po_dir] -directory. +To contribute a translation of the application, open a pull request that adds +your locale to [`po/LINGUAS`][linguas] and your translated `.po` file to +`po/.po`. + +To contribute a translation of the user help, open a pull request that adds your +locale to [`help/LINGUAS`][help-linguas] and your translated `.po` file to +`help//.po`. ## Contributing Code @@ -121,6 +125,7 @@ already distributed under an acceptable open source license. [conventional-commits]: https://www.conventionalcommits.org [features]: https://github.com/andyholmes/valent/discussions/new?category=feature-request [issues]: https://github.com/andyholmes/valent/issues/new +[help-linguas]: https://github.com/andyholmes/valent/blob/main/help/LINGUAS [linguas]: https://github.com/andyholmes/valent/blob/main/po/LINGUAS [po_dir]: https://github.com/andyholmes/valent/tree/main/po [gnome-coding-style]: https://developer.gnome.org/documentation/guidelines/programming/coding-style.html diff --git a/LICENSES/CC-BY-SA-4.0.txt b/LICENSES/CC-BY-SA-4.0.txt new file mode 100644 index 0000000000..835a6836b3 --- /dev/null +++ b/LICENSES/CC-BY-SA-4.0.txt @@ -0,0 +1,170 @@ +Creative Commons Attribution-ShareAlike 4.0 International + + Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors. + +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. + +Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. + +Creative Commons Attribution-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + + e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + + i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + + k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part; and + + B. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. Term. The term of this Public License is specified in Section 6(a). + + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. Downstream recipients. + + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. + + C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + + b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + + 1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/build-aux/contrib/valent.spec b/build-aux/contrib/valent.spec index 5b668d8dbd..9708ebd849 100644 --- a/build-aux/contrib/valent.spec +++ b/build-aux/contrib/valent.spec @@ -20,7 +20,9 @@ Source0: %{url}/archive/v%{version}/%{name}-%{tarball_version}.tar.gz BuildRequires: gcc BuildRequires: gettext +BuildRequires: itstool BuildRequires: meson +BuildRequires: yelp-tools BuildRequires: pkgconfig(gio-2.0) %{glib2_version} BuildRequires: pkgconfig(gio-unix-2.0) %{glib2_version} BuildRequires: pkgconfig(gnutls) @@ -71,12 +73,12 @@ The %{name}-tests package contains precompiled unit tests for %{name} %autosetup -p1 -n %{name}-%{tarball_version} %build -%meson --buildtype=release -Ddocumentation=true -Dtests=true -Dfuzz_tests=false +%meson --buildtype=release -Ddocumentation=true -Dhelp=true -Dtests=true -Dfuzz_tests=false %meson_build %install %meson_install -%find_lang %{name} +%find_lang %{name} --with-gnome %check appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml diff --git a/help/C/.yelp-tools.cfg b/help/C/.yelp-tools.cfg new file mode 100644 index 0000000000..6fb6ad10cd --- /dev/null +++ b/help/C/.yelp-tools.cfg @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: CC-BY-SA-3.0 +# SPDX-FileCopyrightText: GNOME Documentation Project +# SDPX-FileContributor: Andy Holmes + +[namespaces] +mal = http://projectmallard.org/1.0/ +xi = http://www.w3.org/2001/XInclude + +[check:hrefs] +allow = https://kdeconnect.kde.org + +[check:validate] +allow = http://www.w3.org/2005/11/its http://itstool.org/extensions/ http://www.w3.org/XML/1998/namespace http://www.w3.org/1999/xlink http://www.w3.org/XML/1998/namespace http://projectmallard.org/experimental/ui/ + +[check:gnome-info-legal-xi] +select = /mal:page/mal:info +assert = xi:include[@href='legal.xml'] +message = Must include legal.xml +xinclude = false + +[check:gnome-info-legal-no] +select = /mal:page/mal:info +assert = not(mal:license) +message = Must not include license directly +xinclude = false + +[check:gnome-desc] +select = /mal:page/mal:info +assert = normalize-space(mal:desc) != '' +message = Must have non-empty desc + +[check:gnome-desc-punc] +select = /mal:page/mal:info/mal:desc +assert = substring(normalize-space(.), string-length(normalize-space(.))) = '.' or substring(normalize-space(.), string-length(normalize-space(.))) = '?' +message = Desc must end with a period or question mark + +[check:gnome-no-desc-link] +desc = Stop putting links in desc elements +select = //mal:desc +assert = not(mal:link) +message = Stop putting links in desc elements + +[check:gnome-trail-title] +skip = hardware-auth.page +desc = Use a short title for link trails +select = /mal:page[@type='guide'] +assert = string-length(mal:title) <= 20 or (mal:info/mal:title[@type='link' and @role='trail'] and string-length(mal:info/mal:title[@type='link' and @role='trail']) <= 20) +message = Use a short title for link trails + +[check:gnome-no-ascii-quotes] +select = //mal:*[not(ancestor-or-self::mal:cmd or ancestor-or-self::mal:code or ancestor-or-self::mal:comment or ancestor-or-self::mal:file or ancestor-or-self::mal:input or ancestor-or-self::mal:key or ancestor-or-self::mal:output or ancestor-or-self::mal:screen or ancestor-or-self::mal:screen or ancestor-or-self::mal:sys)] +assert = not(contains(text(), "'") or contains(text(), '"')) +message = Use ‘curly’ “quotes” instead of 'straight' "quotes" + diff --git a/help/C/device-name.page b/help/C/device-name.page new file mode 100644 index 0000000000..c2b134f207 --- /dev/null +++ b/help/C/device-name.page @@ -0,0 +1,63 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + + Change the device name + How to set the device name. + + + Change the device name +

+ The device name is what other devices will see when connecting or pairing + with your device. This name will be appear in the device list in the + Android app an other KDE Connect clients. +

+ + + +

+ Open the main window. +

+
+ +

+ Open the + + Main Menu + + menu and select Preferences. +

+
+ +

+ Select the Device Name entry. +

+
+ +

+ Choose a new name for the device and press Enter or click the + + Apply + + button. +

+
+
+ + +

+ It may take time for other devices to display the new name. +

+
+
+ diff --git a/help/C/device-pair.page b/help/C/device-pair.page new file mode 100644 index 0000000000..87dc1a8f96 --- /dev/null +++ b/help/C/device-pair.page @@ -0,0 +1,79 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + + + KDE Connect — Pairing two devices together + + + Setup a new device + Connect and configure a new device. + + + Setup a new device +

+ Before starting, ensure that both devices you want to connect are on the + same local network. +

+ + + +

+ Open the + Main Window + and press the + + Refresh + + button. +

+
+ +

+ Wait up to 10 seconds for the device to appear in the device list. If + your device does not appear, see + for possible solutions. +

+
+ +

+ Activate the device row to open the + Device Page. + You may + configure a device + before pairing to restrict its access. +

+
+ +

+ Activate the Request Pairing button, then use + the other device to confirm the verification key and accept the request. +

+
+ +

+ Once paired, the available actions and information will be revealed on + the device page. To unpair the device, open the menu on the device page + and select Unpair. +

+
+
+ + +

+ Information about connecting official KDE Connect clients can + be found on the + KDE Connect Wiki. +

+
+
diff --git a/help/C/device-unpair.page b/help/C/device-unpair.page new file mode 100644 index 0000000000..05b22a97ee --- /dev/null +++ b/help/C/device-unpair.page @@ -0,0 +1,60 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + + + Remove a device + How to unpair and remove a device. + + + Remove a Device +

+ Before starting, ensure that both devices you want to connect are on the + same local network. +

+ + + +

+ Open the Main Window. +

+
+ +

+ Activate the device row to open the + Device Page. +

+
+ + + + Device Menu + + Unpair + + in the Device Page. +

+ Activate the Request Pairing button, then use + the other device to confirm the verification key and accept the request. +

+
+
+ + +

+ Information about connecting official KDE Connect clients can + be found on the + KDE Connect Wiki. +

+
+
diff --git a/help/C/figures/ca.andyholmes.Valent.svg b/help/C/figures/ca.andyholmes.Valent.svg new file mode 100644 index 0000000000..cff0d585c5 --- /dev/null +++ b/help/C/figures/ca.andyholmes.Valent.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/C/figures/channel-secure-symbolic.svg b/help/C/figures/channel-secure-symbolic.svg new file mode 100644 index 0000000000..e12554e15b --- /dev/null +++ b/help/C/figures/channel-secure-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/help/C/figures/document-edit-symbolic.svg b/help/C/figures/document-edit-symbolic.svg new file mode 100644 index 0000000000..d5d54f6813 --- /dev/null +++ b/help/C/figures/document-edit-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/help/C/figures/edit-delete-symbolic.svg b/help/C/figures/edit-delete-symbolic.svg new file mode 100644 index 0000000000..4131277b45 --- /dev/null +++ b/help/C/figures/edit-delete-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/help/C/figures/entry-apply-symbolic.svg b/help/C/figures/entry-apply-symbolic.svg new file mode 100644 index 0000000000..df40e61433 --- /dev/null +++ b/help/C/figures/entry-apply-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/help/C/figures/open-menu-symbolic.svg b/help/C/figures/open-menu-symbolic.svg new file mode 100644 index 0000000000..7f4474335d --- /dev/null +++ b/help/C/figures/open-menu-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/C/figures/screenshots/device-page.png b/help/C/figures/screenshots/device-page.png new file mode 100644 index 0000000000000000000000000000000000000000..6c915ac62fd6408c4561cfe1dc6548d341d958dc GIT binary patch literal 29101 zcmeFZcRbhq{y+Yf&_YW}!wA`AZwcvbZ!)ua+ncvpib_%<*@SE=WUr)>WK%X}hh*>H z<5|~r&UKx0o!{r2+wJ@L{B_PP=i==(pU=nh@wku2(`^+cS<-z}`!E;`DfY6o8U{m9 zg2C+iw1*fzA?q4W9`BDMAj7g~RreZ|#s?#R^F z+x=>-F~N2B(@m6b%ig{odCPTl;T1(@d5`$rZwWVj*?B|XEt?;0escF-ka$~0+5^X< zOr&_9{qhB6J~OW=j_oJT%(dJ3maRPZY4fzP_|4t%GQ3pxpYKjBZ)x~Of}QH%ElrIk z|2i1QQFHQ|*A=hbp5JBR^#ZM>q*Sm{Qop|qyhEJt1F_3>Do1ZBx68?}kh!Zky;F&2 zyLCqpM{!4mwqswe@Z*X_@)%xvW{!K;ZE9;1>$3tw3i8PEuG6d%j!ccDPS7z7L><+A z?KwOz{?U8<`#@ztO9ofdzEHv#``Agdiyy|c>c6vI+;hD<=>waoQn=dp+ zY>;%tBW}+0t#tyX)^bSBVI!OL>e$0Yyk5v@0^i=6dN)1w<$%W1SBDzzD}Ih#-Mo2` zz*8dS{Aj?oUXo?gwBGcobn**9_{cH>GO}x}bmsXRo8{#N4m$(ZOLHW(9?n+-wZuap z=sc|94Ow2hv?HnQMFc?t@Pe)@@8*^706LU*zdojAX@@hI7YcnxA zZ9YXVMMo)fE9=X6XLEJDl7=bX##G3RPC|U2sHZSoz|P#&n8wr2*4{>)c_ASoPA+avZf8&{&of$0!wQ<$De1xVE^ezS8I#E57wWa4gKcl>-_OS;Pk&;_fJRv{_Z~y zhNBb}g{2)#-O%G~3!M^Eu&KzkX$EWo&P04%y?kaQ*#r z>%RyE9%DW}A!9Bsb`yc~#_YU2eBA6N<~%0s#yngm+ydwMgv?9?{(N;82MbpZV`p1KP}=!l{NHbL@xOQnxb%N-@*j=we~0V8!}TAHz<+e`f1~Ta z!}TAHz<+e`f1~UF*>LUqJDoDO2NdK1WXX2C<0%j=ViS2;>7SGfvnEyU58v%|ynMw4 zgV}!seGy<{;*P_IB(7LR8Itkcgct(imQSZ@Fc=yPR$5ZSv*%mCmygD1^3MDmTQnOz z+ga%=>e7|(h>{t0sWGwOG# z$0TnWUR0GNynS^SExlRn(h7;$EWKH@0^@xJ@wx8l3X6{)t|SUYJ0y&Yj^C9Gjg`b4 z?CbNXEl|c>IDVMeRs?g<=f>`9#F*V@k|mP}FxM#W(q7CUz!+0%T)X&;03%7sTl?G3 zwCdD>q0fjeWbFRTZ!pX0E_HD3B<5hyl9fRajZWA#F2Vrey>uR@Ijbc}^bObs-#L+B zv~Oh75*ZkD=VT-kVE8In4?DY2oC?A;Ib_Ig?8b!B7H-DB^(E@^y;4_mFu;q{tx)MY zIRuc(qDzW4 z*0VUAUsc>-cESDZ#sHo!?!E(j2WqCe_G2=1-S{|*$tA~?-*tXv{OESr@fw+cDf{(Y zM!pM}3r%%(28xcI^b`8pbYG|FhI}S_9C8?Qvi9?*gf$XlR<#4Ozg6hENsc?b>rBn$ zP9o6m?TM8b)-rgedCd9RH=kXYT0`~hiKQ&zPz?&#BGS@;t`VQLHgdBPO^T}&mD=K; z4v4dbjmcrYb29Zs?$(kiV$bpE-N@Y$9wjHTbd=W2Tc!76 zww*Lp8lAQ0E3)oq=e*I<;zy+c>56=>o%;#%| zU5oaX26T+AiiKFQ$7~ycZez6h_aGQWi^m9kIF8xq0eTyb5M_c}yR}>rp;IhR+N_9Dey_ zoK+Sjt2$J=17V|t%_0X`y>qaSJ1^T2<}t3sL}XPRP0DiQiP~R$5S#41{O!a%_0Bvs z`N;!8FO|}HUeCC@FcDs`tLh*nhP7GVJM&T0`RhA9-}S|{3u+DZ&v-m<#-+sES1;wt zW^-iSFAzvgFr!ZTl%LYAyRh8fyeafjeoS=3bkQv_@8!GS`bu4{*9}|IVRxUz>=vJ( zZ?NU3+}s%4@k>@t6rYo4>Db{j6|ThLDfsNPT*aG3HnYmGQLqbdh3V?%0yiuU~yeoJ&p6>6?<4yj1PETGL6miyzCQ%-04Y zBMlCmxux63(5~Sz{vaSqwbV`9Rr~PVeO9r#V+rx`mG>M816b>3+#5%o>(P@uJev0+ z{a!_NL8E{E$@~jd8dQ#c>>1Z}^<;{Q@8J9>_!RMpf%`vKdaqm#tZfNIXP*Pt^)?zI*^RxrC$jd|-{~=IJXhUd#ru-B50m8AIdb=sX{>Wm@ehjQMpY|YSyS6^W~*J=Z?(HIi=vbn^U@Q_-qa-cEkL}StZl9QA7 zk&}~4w`eYw$7_z>EWa~alGQ+J6xhULN8_iMRQ6IMkX%yxvpG@U3^gW8MNRF=!gzDH zXF_=RVVO&pSa^90Uk>h6`9y8#p4>mdc|bppDx9-c`*XYk21CKb!jk1w;w9q0U2*5m z9o$C0VQ0JoPIrE9#)VDy7|!Yit(GqDdswJ}Q}+ncAsi zS~@y9)1ya^9nxRjdmp?+z6h$hdK1H=kXPMtDSGV*cyb z(pz&o+xg;~-|JYSPMu~C>F>jJy3ej&JI1C%gT;?UTP|*`3})N) zzU<@>xj>*D%jQUe6Lv8b=Gr5`YuzU8(dQJbm2a5)cAnV%1*S%UX(8d`N zW#o57#Qod-Rx1sC{kV}YU&Q9h^*JgxX3N(X+m$2Z<8#SQ3p0s}8$za9R#2zx4Vjwh zFV{xlbAUMTjQ^(7(p2a4i=5)Jk2L{8XkcdwFu^ z^z_i?TG4f39)|%@-<_?MsZY;S9&s4RmGG&N1xtl@yfAN+OJD09+!^XrhX4vZ!1c@Wy`$6>uG@AwYp78+N91pwhdu+`~a^?d!vEj<}@3=cd8jJUpFM zzTS!5Cn+e>ILsx-tDwS-iE`Z7x3gkO~mZVq=oeZ$;%85RFa--T8?zyw*?n z?Rql&cebZmk^`F;9?kI^^zh_*%nihFo6AM7yiaV;YQQ(Vad>A{Wrf*M@C0yLZZ>SefzdJwaD&Mw86wzyK=51aIW{< zxqbTq1h}qlObnlm)~K^h!NB9k$FXe*V&1$?BhpYF(w;tjKjWUQp04EfqB3LW;>C+u z->_GDnujve6Ml4bC3uaUK=)hU-k8fa;3v>NUuPZ@e7}yO^M$#5eSN+4!dO$xdDEcT ziUlQebMwrkq@*509N&CF;+Dem=g)hJ9TJ}^L_e9%uQn9%nANy^`PLcyL^8g(GPEgj zO2+!RPF4kpxlDH{pTj`K`QB3kKY*NPJwH;9*33O>iI3F6 zI9SDJTIc*$L;#DSgv>ce%ek?EocBJL`6vO80*L4#!c7eu5sIT2C2?tGcbtBN5x*O4mjf+TL2ED<=+U zM)}_;EiJ|WXgFv7T!&+WRGolVpIr2N02C2+?45h}y4IJbIeW|EmC~JETnNiPj5Wn} zGYvtG(0yt9S-VZhV3o)rxI1Nf#3ibGs7laNBC6Zw2R?VRq&!^LKy!GgDvm(AwfUU> zd;lTF|66}~_k!~L5oOWjPoF+DmihVnO%!r(Z+^FC-}O=C>y+qFR`!|0ju;hk3JQwO zb%9|zI=am=F>S&{`iH<9~jJH<>XXWN`I)l4>R>3$WfvZPwhC1{L2t$(rv2qg< z2OFEh@bK`yy?beguCsso@#6;^m2>OX9vK;#29xLS%($Hv3HRUtMgg9J=zjnHJt~+n zuxgpEb4(DH%3&t4&W~=Brn)T*p3~DAnhH`pRpy!e=EC9Vg*$NJK;g z@x<7NsR^k!QH2t+Z{I%G?M<&;d9=@aXW+)IfEVh$_%Rs)4Q6c!JH*AE`aI*lD=+z7 zW1~7eRc0x{1wOt~2tk;DumBsTqT-Q}ktBO<;(!a*aOd$h=3RLStSl^Q($c$S*)gk3 zbaWTt<#+4*YQso8d&YH72lHJO-uX^Q$lj9mkM_kbv!obYjmh&C>CXoRxbECLB|W>9hKf5mFrX4NB6;eZ_6txYC?_D zEwoAoIJI`iPS(04(w_{o`_yK5Y%D8Q7>Jj-L4K2kx|&)zEFHCB->>V7lPLh+rl9(C zEl#$V@*l(y1P9SFGhNlI)=8wl{?avso~t)uOMQ^y)O5V&qjkRxsUv$C%CBD&v5h<{2&Vm4naub;= zo93|l^sF}BuNV7b3>}T7T z27I5B0UBjX1(Qkc)IvSwdeb9*@&%Aq(JBoTag@WnNtd>Z-eB7 zRl<_x%XZg~bL7{~@I~Bfw9z-rkEHhS7F!u(9Kv8iIff?8c479&K`ub=_Umi^sfP{p zu(HnW$B0AP;Eq;+0HQp6m@c;I%^~>g#b;YdFJ{#iBK=>HBxFKRBMa*ZO4-?=sd88_ z6vvJ^zupxP2A@!zIipn5=|M|N3qPnE8lHi;)HnEZu0#Y@zgoKfMdHjM4=6XVd*^fnzuzUCHHL6KJXZW>>(9=u9+e;d;lVBVR%>OB? zp)5xObMaSSFfAC;xYFk{&w6LZ)Ja;HP8=ZKm3RIIl_W{hbE4Rl6+_cK6Byq2RI#mAixr0J{gfXhDI*9#9FikRZ)b*o!F5j97J>`UxT!+9W1C=F(ZAyd z5@;U>a!f$|=>u@oXJ34ZEZCMm_U@$=RCZ6CU`}cMG|`hnz$GAY7m9yyEqa z1eAq}rjE{W+4C3;IySZs3-MQa^snHR?osKBWmS54Fg-|xpmAK>b%9T=n)NhUa5@p2 z4$eu^EjzDmM;d}f5C`$Cs;Y|Kxqb3L))uaXK)Y&r%vIQ&JNoG1!>`byfTj1K!7Lp8 zURS@RV@NK4AxV8Nrb8dt%Qts#mHyplnLgHf4Q9SJdG44BSr*WlGHISG%~0OeXOZMW zQH>NDVgZ<;7dNl9P6+iMVT(Gj+kjKfzM2Tbr;R^%1h3kq-gn^yW|fRIE8xpH2TZ_R zM^awxuY&!@!Z}4;y=yAvEw#UXqW^ZOa(hrv5N`O@&GpWFKN&cjuVlTc+woy4kaqxw zYE~$pLrZuLG*hQj@^owcspbYEwr{+&t0i3)EJ;{f-K(3aItgOxZ2z+|=j?Q`dBcamgaN2!Y?TpfuVC}e;)Z5p1zcz(I)KyBc=)VV&Ho`~c1 z1wrFN*J_Ku z0D_P*4!rvTfw!RQ?EK>188IYN)T_JP4hzeF_C*>pc$xc57Epe=tJD79Yf0Q7h#Jhe zCt;qnK}=yeaB=e0noxEp-rB9-s^bm?YoY&+pYLL;Yz&X(Jy-=rW)0yigRE?99jo(S z_#mnj;{;W^^<6@dI@0V6nFJCl{JVQ;=Oj^ul+eLO!j_Wxnc;|~06+x0PCBr-8^ZttU>7rMDr+-A1`FFjdZUEP;%-CtION*+=K zN^^kc;cBlF=~m*4UOEis<>chB42l3>g7ec)@K{Xr*yL+M`Z;%(KGUGw9a4Ri>y3Hs zq$rYrfWR=wc>sGDC%-m4jEb`a`WEN6IWG%|8N}kZ zuE1ge2~iD)%YrxaTc13amX?MsYk6P>F^T{+q~+zg!F&J#KS|#T(46)mKFkqX6dtK zBIE@u!rr%UgM=Jn_FN|-KHgx`8+ynPwKeoz(nO*J%tu+OH9r(;`6!Og579i3+g(A_ z>&{xHniwUp@;N{mJoPjaCoWamleAK@!h0!yP42BcNqfEQLj8DJSd%S(Z{8jLtirLc z&ZS>ng`vbDWzBu2$6)>4gYX(dg|9iq|xON#3+aeI8Z|k#r5lgNV5eXURMz>q`B<^&8xh7{)7^LM~j4j zpb?7x=dXWcfjf@_?Sk9d+t)M*YRDNM-VVraHZd^~l!Kp6oH!v_B*Ck?3v>POzraHX z3;o5{-(l5I;m|6O8=KMhk#bmU>tuU6Yur{qY`LyTun`l9t-KFOHrWTwP6E(5hLuDg>p!ydO8lS+wm0? zb^WcV_;_|KMNlj~q`+L=BDrn@k9c$xtSrqdz1bh()=QfU%{K4u)2@$l`e#C-o(}Wh zOaXE_Wwrx23-UjL~F+Wz+KTN_Bxr+6_LwL~Gu z*mbSy?@%Pf^nn}}5f}GO`;+L8cW29BFN*^=vw-7=VZggmLDG=mWm#DSOg@(Rag`3fQRRlvmn7xD47=b7MaxV+uEA* z*T!OR+gC1WiEXcbxpV8*eb?mZ?=O4p+h5xCx_pNj_No@ki;lRqP-t{qE2`| zS9o?vM4jt#vBjVVO_fdOwZFc7q{w|n7j!EF?xvCYkjR9Dysux)Di=PAy#Mf_1Eixy zg#zytdl2@NWBKjW08Q|D%<2Q8$HMFv?AJO5p!{bqKsc=8G^pTK{bg=QuXBzClmQ~d z`vXw5(zh~kdJ8{(@LGO6MS6l;8cCZk%x>FPZ@H6kVRrXL?kk3nnJS;FTBultWoQL8 zm|(9^Nc|HiXVbML)E%HO@p*o~+LS0^H0ZMsN)IyIg_8pI9qcOa7xL4D9@Vq?SO*vA#X;VsM=ni#;v54*)@Iq z_^96=L8gvEYjx02u^^)j(-5k#@~W;|zqxw?Nx@K#&Yc#+YlMq7Z_Vha8A1(#T+Co5 z|4xLu={*R$b0^DL4>T{W9Gzsq5Ys7P;%#w4E=NH)hv{@og1d1P3k-OE3GdF)vblh> zk31i(fcyL+4N;IXHyb{%Ccs5#0e46Hi#du}@NtZMmm=+}*2aX{S&fQ|AONR67o@+r zcRIT@MV6J7Rlc>g^^`4U^OaBue#&TPJqm=xgY|<#t-!M+aFRpxVK} zLd{L>=+Jq{iVlks~o#->${G z&zmZx+b8WyTHxeJ$}cgNKh{oL=H#e*IRo|=aRc*YZEY>mkmuMQxS+YcY-frrIf4jx zLPI0z5nX}8--7g)c7?}W*FusAc=tdVfn^yEtQ1&yTq38KhfzYk$t3G!9DO?d-&ERV zD!I3#d>r}R@59O~6QXYK!Z{LfgQ|sXJD2G5|I2K_T=@864lIC^ak5|>tY2IeV%G=(WYlJ}k=|azl=>k~`dlN>@i3PUT4aOp$>x2rKIONvRXAXl^xO5>1 zZ@-P+!Kp7{63Ze(^wwYBJwVtFfa)ShWAfnV+^27Pd_G0;QU9$&XL&&dd_j`D_R3iB zY7GX`X*A&h41sncvc42@n~jiG1*^%^vjnj~Sk==D%@PjJMopgU96fR3%CI-o<1aM? z2f19it*xjZw`M@)_j>aM7BUb$AYRsxpL)tY^69~2p9FWb4IbGI`AuUVqSwLeWxy(n zEk%qqC(d07YO-jL_ZY}DZ+zrsh=f}p!x3QkKs99sa}r8%JLI19)KvOrSKw=$m5YeM zx{k+tOqGr&sDoHyv~i4@Iv=TM>wa$2SvV0W)ERG;5=1k@#MdtafHjKlK62!UTeH~8 z1lYdcJ5CvS&+z#IEd#0c0nETTs6^YvTnRbJ?aC6l*RStFHOY5lSrby?z0)FNnQM1} zih{S(HUH%;0~Wdnrof$pFf=dj?aVilK&E%Ru$vl0K0V?EJta;lj7o7#*_~Mv6IP1R z+%iyUvt9iM{C9kp<_4=jd|&D|($*vE%+1c4+1(=OM3zT9Te)J$aPFKper?SJI82f5 z_^%c+V8|RC*UbV!QGLOnMs-t&x$4CZs7&NF7l=TicvVp;T#5(rqSMlBYVeqv)9d z)kDGrECu{7oIbcN8HOZrIh`>}Pg}EhZ$N+)A6RsB#l5-8;%lirA!WH**+>NO`tda& zR|5P2a`Dw9@vTL57}2I9j-!Ajpb&xAej;>78(XZyme9DL_`vZbD4(eAI+yC>y7S@@ zvhxMctZY2N8^vql&gMACin`BDZX))FLJ!0bRd`MUee}n*3s$X9Zi4d2>RSzy3hx9CL%wM5m~&~wqeoAXtP{SN zZL}qqU%g!h{TP`r7V_a}o!;C}iGxyv1|@x?ihk+aXLZDOK0P<(!!KGP_Yw>MTwCgG z_ivw^8oX*REVvm^*jc)|@{(}2?15Q*B(Rl#$GEE)0mF^U^;-*wMjDL^N5tNkj^4S_7_)~+ZpiQ)!;7QMkl z#dEI(3-kzJ{cfzxq0|y1;J{JvIR_*sP$-$f&V)&n*jjwp*4DP`#T;N#ZHO0;Rf~SE zX_df0a=(Sx!HL10ZI9?~5Z%tgOb>3&dYBtlLrq))&7vFU3${rM807R=WD3CTQDaBH zV;!mHM*%>ml_0u-_wf>N8h&Lq7t|*2k4BMQBPi09o8_@(GcS7!!EEn$Ze$Nn-Q4u? zUH)u|$UZcDK!GoWY^EK7IZA zHA}Z5kKcqRM*01bSEY8oAp{wb z?1=zk+Oub+K$ZO^Whc0-4(uHFF3@4~Wr%<_9wL#fGB=dfMt5wI&X7f%4)as}Taf=U+b#py{mm(oje0}0<=xGrx z#P5LaPPtvFTpNpBUr5~1pY}p&2c)d-&+d;N%}8v|lZ)+aE}(t@D4l~t@5wL(l#YbN z2UO(b?$Bq#6ToB|)^r>HtkRiKldXXp#E5#m=*l-5WP0xb8t+tlx^g^wb)ju6pUqR$ zrFHvULJOsl56YQj_B4B1q_6BpX%b2!E$ETRqkr)cj$?wRkefGe0*_Vk@u>hUoWOT; z{w>1hhMvPjs4WJHGpklk3tFB4=O;k??gTJ0Yt7wXWD^C?l4kn$9;)(XU+#$j{&2-+ zxevhF?|1LDL*sxJ4WMdPke|fxiz*;jLN^pUcKxlycCv9@5a9MJP*h7%8x*9G$rziw zRtNtLy?*bx%5aTgQIL`};lYB)sq>Phg5|WYM`?G@ZrN9pdjOl z8!17@hExp*ZNBsr8e+(9)4|k!Ek)gi+3@@;NIfWW`f>@85y0A=>dIoH*2_6KY8KYu zsh5P{AOyIS>cb^a`v;H^pDSHn>xa)kCFmC6M~i5uCGKDK?|rFkbRh;vrfUGdg~?F1dH!k^H&SWBO?Pjd%^Bl zh^@U^^0i1}XRTS->qjb*PEjKbg`X4g9q=hZd>|I?OiX?z2erw-;G>p- z|3HY z0OaZ@csc#_X&oqju+%sMYmq@PksN%c4Z!w$g(Fl{x)!2;gDDAD-33o2xXAxCo>5-V zN(C^B@HY%qT6>(Bw-y-Po!1CSBA{CnRAS(}8~S932n(Jv7mmLHy%})8I`ms^_T;Ii zTtX-tauuX5*Jyu}P3B;m{7S8G@P0d(RWXW zJ0|pyVg$kJu6zZW7$$k|^))K{@Qz=?Lu#8vz8XR>*NOHQ;+JrCgH;Bg?TI(*oer)W z_VNS8D_+DyiO1r@&y{=Y)~$Vw?cNDLU{#0UuY9&lH_8PXAwkzz zf?mO*OXfO9s%8T{ggWZoq2O>lhukb51XjpJ=+%C;0;$NuJZtnX)CoCx`G>B_4;!G_ zArjnn@LgsGtBnBB;sz?biWb&K0IhXF^JON|1T!)&!wTwHTNqygoonLT=YpOW<{?#E z%e^e)%$$HdVfD8fZU3MI>5dt+MexL6>Kpn5G7MKH9}1VjW%Y^YS7nlcdy zcypccy)HOA5w%xUVAWTaZM^;~L=p!LflvM#!mvNj^71_oLfTAUsX7!hEx-XwBO#nP zm>&F6r#4bBQS)cGN|sf^4~V7|)JzJV(<4A9KoN_4)|{(x-4vxe+Z#);d~l$ZQ%U&w zwKTA9~7Lt~q>JlCoe#$T`FQnPPFtFE#>2y?gNrfS+#OyNO zka1sD4|NQa&G1U~P9>z9^rh+UX=nm&hvqZMWDI2SAfrG+49>9wAV*0K!YClT|KrzR zH6@_W{sN<*&uB`b|1Tx}w-yDH$X9|eK`I1R4P-4>Ai7q+()!WE0CPy?!L3Cc1G!G- zh7wS-k=+CUdpa%3Pz`_w6C0-FqScedlrb$Tdnkt8uWs&Nf>AT@2gtby;(a!-@pYJJ zUeF2-O+G=xAmw%x5Bg=p)g}HPvu6MYiDOhi9z(b%jQRFmuGN9$=bd~{V z$pc$V@5x!I&qy~(J^2_S1vLf zgp68f*UOJwNGcKc96%PDj4i(brG;9|1);dW?Bq5w2Gr=}8q>BSm!3-s1pnQ;%h0Ni z13>h?xw#vjjnDYiZfqM;_EpeL#h~K{iwI;Ywg09nq?zzkAj8m@{AR&$vhZ35REN>A zu`JjvaOlvXKd3NRHGm!VB$xUoDFdH;SAV5ZCAaZ2e(Yl8R5fJ^{mRgSnJ zT1*h=UkHg0@>)H~NrsIf^5M&~{jAusu^1cCYuf9ge0)V83a`2T0u^d-$4I4rA=I~l zijUv|yFr--D%1dSQ6DME{(u0RZ?jb!_R1<>M@OL@J`4Jm5gviI7UYfs_lb(;KL}5F z@08FJu!UuyG~_z>fP9q+=mN1C3BL;HJW4roPAMZbReG*^rwYyBN&6B>yPm>U$YpCP zAhp~_U}tHvT~=ayH3gbqX(1gBE(`!GU5XvtymU@EL1VDWm+-J7sOBq+PZYrR1~q7D zD3E+z)c+4UxrN31N!K=Jq6;ZCLM2o%6KM4>21{&8_7*#IgV|H)yWx&)gKv;aqUTVl z*(|zncU)iJ?(XsP7Xj8r)tk(3%rd3*4m%1W2hzFJjQ2-1H1|0&or6pZs_r9tu+=^D zG@&ctK7Hl)SNk;+&Su|kGmN-avZM|Ajv3eS#ZGObdD>kxLn_$X6QLCDbZcwP{)P@V zvM>i!yjJ&*ap-424;sqV4i)pn)Qka1(nrkMD*&^T+Q%L_e7MkcQVod}(0J;SaGy~g zQ~SozDZ@S{Ym6r%n-m}Bt!%m&lkZyL%4OigYvg0N{s|=TnJlXm=sQAk8ElJr|1%fv zyfA76^H+PydD7hIAAp2`rj_BBzh&}Req=&DCDT)|M5HRU@tloN%BE3; zLn5T@C$4?Os9`Y|@P}@>J3A2p&4kmx*+%=jDEk*VH$b*!>xswz4OP4bZ4cClm;un& z1hr;;c_teKp@8cI0r(o=kK@%K)FBzRwBNqj1~fR}jL_rMG0~dBOphtK{%@M%ygI;0 zV6pw`{z4tw!puzN{dtkB+AItVG9cDfJyRzR1d_t*{Pi-n4f$4-hMu(rcHmC50rmyC z$_zSu9SaFEy8l=W=~G%K*7CA%{m)a6ME+;EP8KBF`9A}$`RLN!^%=BnNDT(a2 zkD{+!?y*7pj?hYiY@r0wC&=3mz=(zN$*Ax+2>`l0+WQ9QX2+8NzM$cUg@Ei?#6|&X zdpS7EoW?+#V| zc+U!8!8UpY*{mD}Wq?r-cM*o1suU+k8{700q|wQSbBP_`BOhP}oHlDar;UV;wEG;V90)#ZA*MLaC7E(`#1sxy? z7|F$p*V8xh0ZdCuN~TRC&GgT-k)=JbumUyZi;C()G=Nzj0SAK|E;bkZceck8H<;)J ziFtnjECA$yu8&LXWI`x+FW|wT0gGc%*vKE`cyNyLfj*)ELI`7VA|=d_yB}6Z&f=mg z+TN6~lJevUJ=Uf>FR~N2WbK<)$;5svFGZlLTS;n9hcK|Pj4N)7yMmvx!z+(~u|4FLb&^s5lbg)z$ zF94E@2YD4*?1Yt%m_Z7GlOIy?Ek!OrSv;rz*CbB3*@i4Q<;~BCmWRv;jd?vU)xd8? zO;o4@4A83$G&#W<2lp&ta#t=WPQtMDQharYFdi}Km$t2d!}Nv=(Oxsu0R}t5CZNv% zL{!vC2^YSiru zExANK-k=}zn!Y)J_6s1B0KYV)IZC+$NzQemg%*UMw*}PDKy1EYaDjWKJDv{a0pe%h3O6lhZf|Rmi}CZp;*5 z+;ZX2qMi#9_5@;jpn=KLLYru}BeX?Su8xGP1MCD~$g#H)(C#FJetU*$3Su?UO-Iio zu0+#^m=g2_!=_#hNQdqH9)mNPxu_Qeg^vGLxBt)6pcynj$`F71K5Xv}aB<}O4)mD? zJPhdEEkeTMxdhLPJ8OwMnZIqGfu)6v2T(CnAOj-_4@|%X@1G_xZ1<%p?llaAu9d3zYOnD#IozodjSwQ1@w z(NuW7sryB0#EL!hv2|RQ>h0TBvI;z~K00nw6$ZXMeV&i>&P6dELaqBDeRZ>QS52{5o3!4s@j-eUMudncf_ zJm$Bf8v7U@0&8~|5Wc~BDKra-;umijU8N&F#hjU&TMxCr6--8Gu)7Lfh~iO-3JTI# z?B2VV&O)73)zi!NDhG+RdcIYbn)xF@d!tW-V6p5&Im&Abz(mT67l#23y@7Tp$E|fY z=(g~fv@Eu4K4aTg^1#UC=WQ}F0+{Z+d;k8GcGVAx=0)i9h=`1=9d;Bwkk=R|I9 z?&je`hY0gT)}dF000RqelB+T=j|`O3cMT1-kY`0cxNz!eYNmOWTU%R~_-^p$>6f+{ zuft$Gh>hJ3I|Yo(>V|7z1JG?~Df3w=AFKxwYh3VIbisgw61u2v&iU_bJm#}G2I;-S z*cXJiy=K96*FX!T;o&(lxcWxmetdi=X#HW5MT2JClIiWVEG%-G8*In+Lx>ZG)L(b- zoz`PwVyc0aeI2L>?YVO#z>IZ@aGJsG2~U_zfG)iI`0-6avv>&fA8kTSAi$gwbi_b) ztp`(<3$%B%Ye-Y%)-8f=OPyRTObvLqN5=^s}~R=Fl$*Fxr~Z zW@2RxgeH{I88AOzzkO>8IE#ssQ&v|O+Ri@(l$DhQ%siss3unUCZ5fa#&fOv`BF8{+ zz5x&l>d`I`x85~32Y2FRAbwyg^sV)E{I{N>#)3^?%ucYu3|@l*%m6N`P@R{yCr*)( zz#xH+ejPv*nWm0%LPUVBUX(!zJ;-w06Sc|XL?t)FFJ2e0qFc>)fva<49 zQ20BIOS`(Xz_Gsytv+0_O~-{@nIHy(-oKZ_go)@yL`9{PlpF_v?pA1MJ?IC7_THdv z-wFw-Blr7G2pn`5K-Y!RO|TzC;}rm+-;ap+x;OH|j7zMD2M4r38S}?JNK7QhhTl(2 z3?Ve>!xl02OGN~SSaMWOe0>Gd%HbDhIUBa}{($W%iCP=!`mHO|9L$kzf*y%903c(rj^eJPt*x~+_o!d`t z_4W0U4WG&ImFv@V)YFT#?14xT)pVAUB7{Ek;FXSQe}9D--o3CZNXkG+FK-l20XtEn$<&Oqj}BP6M~2Mc?SBYXdMP^`Ok`poj#`&7XaX2-vX>Uw2Pxz-34rz zgS&@sld)FmSNokNKOk01kvI?j8TE9+%wp{ac2+^{Bcmo znx|mjW>R6{QE1k<&UB~5W9|$Nhr?i?o?li}tOsCz4@ygNX6D}Njs7_w`#E`|^}}bx zeQtrGHUdcrVr4h#ZRniggH=*!bqG4tuNHiUp$dUIl$xFn8`}piC@PZ1#Kb%Uf#q?N zh4QE<5PJ=6?Juy*pk{K?wLt*-dEVjP1KqN(VHBMv+Zc`>J&F<*WXM{mzyzXI%o_kM z1l_+Khjj>+!aWLBts8b5fyAV*0F7^Q6qq#}UYzbGhr|)siM#pP_6;InY3=w)daRwqEwXLqX6Rr^#md>1k&CJi2iQUJ(AM>AuZc`3h!1g z?as%kZ0lFuReG7QQM!@rKuy*2w!co&y?pDsT1ubT(f)3uIHhyCy1HEO$8c`VazU1c zEkn>^{`EGso_qWB(z~W6@Xc9QMIxj-Ogp-}&oVL+69*FDD+gQ*db`v1rnCwksUgI0 zV3aRnYC9W%DzjbSHO=$V~kCBj_s)0WWL4W~dbxBL>7(mpM&rWZ{#YMrh&B)1-wzFf0MqE`5 zjT@-dZnM;7d<2?XR=*WAe}`_L6Od%;fvaFJ(BLAm`^Y5PEJitIS$njQ~*`9va+fH5n3e28!`!c zdf58|l~l^lPaHNUK*NnA>|=%%WeO!VVHEgIC@7Ivfg&PI(Q5S?{-Vf`qu|x&I?o`h zh(dE@Mpo938#iOzS6${uWGaB|3;Jyef-5<(SFu=PbC?`<^t=Y68139yl4V6j@JJLoWvr_d9X>-MNG( z9Z5XO>SJHOCOvz0@Cg&0fB@xn8qcxL&Q8grGBC?tPetODs=LQQLBwF}?CcV(K`gq~ zWI>4G<>jq`ya;kf!Wu-!TVUCa(_QTK-5qUY{;>I?6^giWY{F``LV6weEUMbtZ#mCG zN_aI2690Yry|66a0P~#hP*?UE6Z8CD!_!}>@Q(U^?U2yvQqOr4=t`sGKe_mim}9d<5FYTwGQ5ugf9aQED=E#gyzy=|Bu++a3B8Gg%Wgjp`K zFJ8DKE@&}fmi74c$VZQYU=PGF;2BK7p|h8+LeHJJ@@X8Xj^vUDMT=zsjm39#bRc$- zV6Bwi&U5CryXQh4alS!$5bTh^vwVmZa9B4m8Zd;c_}~LnAB?E@(nQ_|01-2#heTk* zOP#CN5^An`R#*!>0Q3SBS4|dywO66wOCk(wP_|q3sMFlQ|5w;`M>V}>+t6Dm5ks#L z6i}K4B$5CjD5yvW6{UGmiHHG2nzYbDu2@hkG?7b{5>#+NNeKOdf+!`ZfN+WQVnaj& z&WUfWd2im#tXV66WU-Q8K7RSWv-jC&pA#H>(&^E?;E@A^CpbFJ2Flt5khePERxqGPGP^qky0!Qayc4Nn5vu|_ zI(dN92CKzZ%#HldI>BQ~gVZEK&#cz%9S^MFT;Ky2{(Syi5CP;<0KsFn;L-_v`&bhA z{O zK6jfM1NY*B#i$h=Ckw0FcmtDs!PLr2aUfKol$GC(hdPrCQOmJ}ADeo&uMf&LG&}!i ztSsRhVgLRQth9~2&$tA)5vE813$EKi#gsCcYGAN8Qa}Q# zt`xr?bvn_u4^w}b{q{mLdvfhqMtV4v-yJ}!f69o5Up$oSclm(dJ^K|B4py!uvEskM z+Alo(H%RvjHhFmXzu@=lPqt6JR@51Dv$NmI0PXVGbBg4V*P!vQ>T6?O-KioaI!&tUz}i<=!m4huEaUs(8+9Ki-AWN5Yd3tI6~vk%X_ z*EfKHeC*IBjGqvD4eUOAwY9bQ7HAK*BS7Hx0zdPj5eDN<#)QK#MlpRaQf0Rc5JrNt^9CsE zCO^An_y@#cL^aqAp5Hc3+>^`8Sj{p$j~r3-y7v09cow9wL$SKmd_` z^!gH<@SP?mf58P$pE=V4nB@px26(($+uQxXlfkX#9f#R;#T~+?LBj|H68uP?=QteB z7}V^)fv_thFE9V4QUqobO}}fj2sBYvQc@ZVsUOl!1{zqH+ve8`CT;T%L{YlrVmpT}y_{A|(MJSpTBSl#ebpq8sQz+~{=WOBiVKbH#(wT>H2Y7!4v`ef>kKEkMLG zlk~ltz$lOe-X0(5@ByA9MOx#fBgMskfoHb^P}A72RkQ)@C0wI4Dq6+rqtX!QO6a%& z4t#IlpzBFxaN*R+ll<}Tyq!LlK&A`Y6kt3NrfY!1E%oYV%AXjv2t{7hd3mVi;<~7i2FU^T8h6 zYG9C}Wj6#(cd0XQBHDpNJzbX1fA9dsOMD=^SR0M9Br?2XVsIcZ`4}lcWfn@REvI#`s<$LyE^3o0G(F-=7RX>BP~)BNg(Q0$2kt^?mVTN(4CU z?%CInsZ>Lk6$oZ0!2JOd5Rd4EBVl8gp32@CumP+GFI26F3^jVwzt0uQ#CNAXO`uYv z6w7vOt)mK+aXoB?EyiIch?Ppde@Bnc&!ykOJNb*mtKRP1%rX6=?_*pp3KgJ1^KZ2%GK}dnrfP!#~H=u+-5|oT$Fk6gkp9;EZZLPC4*&cZAxhh#&9nUe% zr0UqhlX)33LsLG=#&ExtjD{#bQdj_TNO&|>5{Y{CSF(i@n?lVOB%=aZofZfynf$&P zc=+s8dfDIKdTtx)+I|3J*vEMjr7IsZ`Pgj(*$p&V8&r39H+K-0&^tVgblSMb^&F#! zCZRpn9F_;!P3f%M3{$v-J?9J8ffvAJmve@wYtkm!lJLG?S34!sBsV=Yd_?i3KRSmq zRsYI-Db8UrL#ynycWI9qNsML$DLGTO?6X0B)%k@vQ-QGjB>en zceMR+0d?iO8D7%YI|UKdM=N=c*MXq-aNA@tv$9%tlxOcL-6ub*i14wX-I~T1SzX4E zu38(Kzk$|rzWqpp^InjCFUvm@fS=%kANg_5C8A0o{}vAUaGV8&$u+N%zVt6Ed|e$Q zjVEEYDg+n}p6DVEBmf>nCyrsBjMLrmMb!W!1@k!WvlkKdx18QaJ8x`@y54z1a?CgS z&-&l2SFBx2Ijx9+oKhLTjCMpOQnRokKbWagt|BCe&wTwAD)WJN!P1=8sMn(!vN%W1 z(26v;{UnakKEh|S(Z)8TRqryyn#iAmtNL!AJoy`=K)qSwag7|F~s?;oBZ5@WPE9N$U2 z_KcdaY!K|LILJ7^ok1`ik1!&oGYJl{0eX(h#aNk5C^F@W<@Fbz!?T>(Y9wJgOS!kd zzvcvp$~zJz%_4gvJ%W%}%xrhlBJ1AaI2uD!mdWTYpw{l$qhg)Dub` zx7ZB{^sqmX_@%fpTvW#-U(PgJ9vyd|)4zQqqi-tx01-5zu% z+Iuwx%-EN09&NaO--;7u^539R`$clHyzhKM zlM1egce72n$%k1VoLgktb2kar=a>&QC>wMUy0o+DD{odQ+hpFOH9;`3^<<^tDTma8 zG6GBcPi(+b3|=+T(1Y$4 zn}`1DtO7<4swxws=xpad?Q*|)Z4}VRVdy5XaC!+_91Nqvu})9ShS>pjs<1$v!gvAh zO41i8v!&S=9)@9Cr9}T~pAFSHBZ`T(3nAUmo0bOYe9zniVJ~s9T;j@(S zONW7ClN@eJrrgo3b!6AzgxH1FXq@-TtEO^NU%*8R*w|*n4O{h=dNVc>de|YPAOX?v z<>LF4-#KBsI~_8Mz6cZPtDp1^We8;*XuIswi$bkh9HQ~@8#9aQZ;IcfmKrAAq5H>#A)T<2iaPULv>~b7v^z;gnoGDk zfkpQvA^HTubbL>vP|0#B>)1RU$u{_ly~`do*Q;~Z6+wdN1o`PHhL-xccA2PtQEoS= zTCeubcn=HSe@GECwX@lsTxm^{@q=w-gU>&oUHu@ zxApA18`pgO_YpZ3uKYsB@@EZhkR{G6%k{+fDTPo{5MNfVxVNBwLlQ8vXPb(`VrqXz z^n1q#%-CX*CvazGY&VctLb4&SImN<3hcnj56wn(&xG4Mi(np(B$>Yd+pQ#_7px5<_ zq!em?t9gFq^s?OkFuAm=F3RWEoAqy8kVQQpNto;3_L+M~h7C|KUvbrCk9}`-C7Gd) zDHxUWBi)qvnsp?9^jfZ5(7hD*>Sy9gaLJo)$|$EP*U%Kq9Mz1vA~3CZ{N5exA~{V7>D$He#5+3Xx^R;3YSo(VoW zrZsAcaylpW(DA0EiA<4Et?u;uTD9p-s1TC3siV&J2Dqj&rHOlFF~|=bCA)aP5r8Zh zq#0F=%aIh4o__C(B3)y@qf#-l7mk)Q$->!#VOZQ)vs;l3={Tlev%ASPFi zd`+s}*6lPBkC~mb8XQ1-mDHH2i2UfO;t%6q-hc`ddvM))SD~ep$F5E1KR&7Gf@``g zgt=KJA3J-Y#3hbkdRhR5O01mo-n6a6xkXiUWLKfWMIsR;dM!xdGRoqE#7IL7q>K#8 z_W1@VX4F95pe1LtnpN^&NsQxIZea+6ZE*LLdY0sBi)D!CE{D zgEWVCAH6FoDXa#>xzZt7F!2htR9Z-}C4T8HRpDq%*H3{Uaf82Zuxvm`Lm=#I4iT#e HK9s)$(yhp_ literal 0 HcmV?d00001 diff --git a/help/C/figures/screenshots/device-preferences.png b/help/C/figures/screenshots/device-preferences.png new file mode 100644 index 0000000000000000000000000000000000000000..0cbd412242261ab634c3f0b1a041a6bb055b28e9 GIT binary patch literal 57014 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 XI=sy!AZhwL=a#C9S_);i?>+h-{PP_% literal 0 HcmV?d00001 diff --git a/help/C/figures/screenshots/main-preferences.png b/help/C/figures/screenshots/main-preferences.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6732166102b405157160e1e29e8a165963e67b GIT binary patch literal 47945 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 + + + diff --git a/help/C/figures/view-refresh-symbolic.svg b/help/C/figures/view-refresh-symbolic.svg new file mode 100644 index 0000000000..d26c20d0eb --- /dev/null +++ b/help/C/figures/view-refresh-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/help/C/index.page b/help/C/index.page new file mode 100644 index 0000000000..88aca79e44 --- /dev/null +++ b/help/C/index.page @@ -0,0 +1,46 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + Valent + Valent + + Valent + Connect, control and sync devices. + + + + <media type="image" width="48px" height="48px" its:translate="no" + src="figures/ca.andyholmes.Valent.svg" /> Valent Help + + +
+ Getting Started +
+ +
+ Troubleshooting +
+ +
+ Tools +
+ +
+ Common Tasks +
+ +
+ Status Updates +
+
+ diff --git a/help/C/introduction.page b/help/C/introduction.page new file mode 100644 index 0000000000..4e9f985d7c --- /dev/null +++ b/help/C/introduction.page @@ -0,0 +1,174 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + + KDE Connect Homepage + + + Introduction + Learn about Valent. + + + Introduction + +

+ Valent is an application for securely connecting devices, like + smartphones and laptops, allowing them to sync data and be controlled + remotely. +

+ + + + Common use cases… + +

+

+

+ Use a smartphone to control the + mouse and keyboard + on your desktop, or + music and video + on your media center. +

+
+ +

+ Configure select notifications to be forwarded from your phone when it's + locked or silent, and receive them on your active workstation. +

+
+ +

+ Sync the clipboard between your devices to easily copy and paste + one-time passwords (OTP) from SMS notifications. +

+
+ +

+ Send, receive and search SMS messages from your desktop, via a + smartphone running Valent or the KDE Connect app. +

+
+ +

+ Select Valent in Open With… dialogs to easily + send files and links to other devices. +

+
+
+ +

+ Valent is an implementation of the KDE Connect + protocol and can connect to any other conforming implementation. The KDE + Connect project has clients for Linux, Android, SailfishOS, macOs, Windows + and more. +

+ +
+ Visual Tour +

+ Valent has a limited user interface, usually preferring to + integrate with the desktop environment when possible. +

+ + + +
+ Main Window + +

+ Open the Main Window by + activating the launcher or menu item for Valent. +

+
+

+ The Main Window is where other devices are listed, including + trusted devices and new devices. +

+ +

Main Window

+
+
+ +
+ Main Preferences + +

+ Open the + Main Preferences + by selecting + + + Main Menu + + Preferences + + in the Main Window. +

+
+

+ The Main Preferences is where the + device name can be changed, and + plugins that integrate with the desktop are configured. +

+ +

Main Preferences

+
+
+ +
+ Device Page + +

+ Open the Device Page by + activating the device row in the + Main Window. +

+
+

+ When paired, the device page has the status widgets like the battery + level and the plugin actions like Send Files. New devices + will display controls for pairing. +

+ +

Device Page

+
+
+ +
+ Device Preferences + +

+ Open the + Device Preferences + by selecting + + + Device Menu + + Preferences + + in the Device Page. +

+
+

+ The devices preferences is where can be + enabled, disabled and configured. +

+ +

Device Preferences

+
+
+
+
diff --git a/help/C/legal.xml b/help/C/legal.xml new file mode 100644 index 0000000000..b2ab4a5ace --- /dev/null +++ b/help/C/legal.xml @@ -0,0 +1,6 @@ + +

This work is licensed under a + Creative Commons + Attribution-ShareAlike 4.0 International license.

+
diff --git a/help/C/plugins-battery.page b/help/C/plugins-battery.page new file mode 100644 index 0000000000..af7a2043ae --- /dev/null +++ b/help/C/plugins-battery.page @@ -0,0 +1,138 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + battery, charge, charging, level, monitor, statistics + + Battery Plugin + Monitor battery level and charging state. + + + Battery Plugin +

+ The Battery plugin allows devices to exchange information about their + battery status, such as the level and charging state. +

+ + + Features + +

Monitor remote battery level and charging state

+
+ +

Configurable notifications for low battery and full charge.

+
+ +

Report local battery level and charging status.

+
+
+ +
+ Requirements +

+ To report local battery statistics to a remote device, a battery must be + recognized by UPower. Consult the documentation for your distribution if + your battery is not recognized. +

+
+ +
+ + + + Monitor the battery status + Configure status notifications. + + + Monitor the battery status +

+ This guide will teach you how to configure when notifications are shown + for the battery level and status. +

+ + + +
+ Low Battery Notification +

+ To change the battery notification level, start by opening the main + window and selecting a device. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Status in the view switcher, then + toggle the Low Battery Notification row. +

+
+ +

+ Adjust the Level Threshold to control when + the notification will be shown. +

+
+
+
+ +
+ Full Battery Notification +

+ To change the battery notification level, start by opening the main + window and selecting a device. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Status in the view switcher, then + toggle the Full Battery Notification row. +

+
+ +

+ Adjust the Level Threshold to control when + the notification will be shown. +

+
+
+
+
+
diff --git a/help/C/plugins-clipboard.page b/help/C/plugins-clipboard.page new file mode 100644 index 0000000000..ea33084258 --- /dev/null +++ b/help/C/plugins-clipboard.page @@ -0,0 +1,113 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + clipboard, copy, paste, sync + + Clipboard Plugin + Sync the clipboard between devices. + + + Clipboard Plugin +

+ The Clipboard plugin allows devices to sync clipboard content, allowing + copy and paste to work across devices. +

+ + + Features + +

Paste text copied on another device.

+
+ +

Configure sync direction for each device.

+
+
+ +
+ Requirements +

+ To access the clipboard used by other applications, Valent + must be running in GNOME Shell or an X11 desktop. Other desktop + environments may provide an adapter to support clipboard access. +

+
+ +
+ + + + Sync clipboard content + Configure how clipboard content is synced. + + + Sync clipboard content +

+ The can be used to sync the clipboard + between devices. This guide will teach you how to control the source and + direction the content will be synced in. +

+ + +

+ When enabled, clipboard content will be synced without any consideration + of security implications. This includes passwords and any other + sensitive content. +

+
+ + + +
+ Clipboard Sync +

+ To configure clipboard sync, start by opening the main window and + selecting a device. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Sync in the view switcher and + navigate to the Clipboard preferences. +

+
+ +

+ To sync content from the remote device to the local clipboard, + toggle the Remote Clipboard switch. When enabled, content + in the remote clipboard can be pasted from the local clipboard. +

+

+ To sync content from local clipboard to the remote device, toggle + the Local Clipboard switch. When enabled, content will be + sent to the remote device when copied. +

+
+
+
+
+
diff --git a/help/C/plugins-connectivity_report.page b/help/C/plugins-connectivity_report.page new file mode 100644 index 0000000000..f6877eb0c6 --- /dev/null +++ b/help/C/plugins-connectivity_report.page @@ -0,0 +1,92 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + connectivity, mobile, network, signal + + Connectivity Plugin + Monitor mobile connectivity status. + + + Connectivity Plugin +

+ The connectivity plugin allows devices to exchange information about the + connection strength and status of mobile networks. +

+ + + Features + +

Monitor remote battery level and charging state.

+
+ +

Configurable notifications for low battery and full charge.

+
+ +

Share local battery level and charging status.

+
+
+ +
+ Requirements +

+ To report local battery statistics to a remote device, Valent + needs a battery to be reported by UPower. Consult the documentation for + your distribution if your battery is missing. +

+
+ +
+ + + + Monitor mobile connectivity + Configure status notifications. + + + Monitor mobile connectivity +

+ The monitors the signal strength + and status of mobile connectivity. This guide will teach you how to + configure when notifications are shown for the connection status. +

+ + + +
+ Connectivity Notification + + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Status in the view switcher, then + toggle the Remote Connectivity row. +

+
+
+
+
+
diff --git a/help/C/plugins-contacts.page b/help/C/plugins-contacts.page new file mode 100644 index 0000000000..2f6f1e7f3d --- /dev/null +++ b/help/C/plugins-contacts.page @@ -0,0 +1,47 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + contacts, addressbook + + Contacts Plugin + Sync contacts between devices. + + + Contacts Plugin +

+ The contacts plugin allows devices to exchange contacts and sync address + books. +

+ + + Features + +

Sync contacts and expose them to other applications.

+
+ +

Configure sync direction for each device.

+
+ +

Configure which address book to sync for each device.

+
+
+ +
+ Requirements +

+ To access contacts and share them with other applications, a source like + Evolution Data Server must be available. Other sources may + provide an adapter to support contact sharing. +

+
+
diff --git a/help/C/plugins-findmyphone.page b/help/C/plugins-findmyphone.page new file mode 100644 index 0000000000..1b738ca303 --- /dev/null +++ b/help/C/plugins-findmyphone.page @@ -0,0 +1,34 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + find, locate, phone, ring + + Find My Phone Plugin + Find a device by making it ring. + + + Find My Phone Plugin +

+ The Find My Phone plugin can help you to find a device by making it ring. +

+ + + Features + +

Activate ringer on remote devices.

+
+ +

Help locate the local device when requested.

+
+
+
diff --git a/help/C/plugins-lock.page b/help/C/plugins-lock.page new file mode 100644 index 0000000000..54bb9cfd0f --- /dev/null +++ b/help/C/plugins-lock.page @@ -0,0 +1,92 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + lock, unlock, session + + Lock Plugin + Monitor session activity and lock state. + + + Lock Plugin +

+ The Lock plugin allows devices to be locked and unlocked remotely. +

+ + + + + Features + +

Monitor session activity and lock state.

+
+ +

Lock and unlock a remote device.

+
+
+ +
+ Requirements +

+ To report the session state to a remote device, Valent needs a + session supporting logind. Consult the documentation for help. +

+
+ +
+ + + + Lock or unlock a device + How to check and control the device lock. + + + Lock or unlock a device +

+ This guide will teach you how to check if a remote device is locked, and + how to lock or unlock it. +

+ + + +
+ Lock State + + + +

+ Open the main window and select a device. +

+
+ +

+ Look for the + + Lock + button near the top of the + . If the button is missing, + the device may not support this feature. +

+
+ +

+ Toggle the + + Lock + + button to lock or unlock the remote device. +

+
+
+
+
+
diff --git a/help/C/plugins-mousepad.page b/help/C/plugins-mousepad.page new file mode 100644 index 0000000000..99656e6675 --- /dev/null +++ b/help/C/plugins-mousepad.page @@ -0,0 +1,51 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + input, keyboard, mouse, mousepad, remote, touchpad + + Mousepad Plugin + Control the mouse and keyboard. + + + Mousepad Plugin +

+ The Mousepad plugin allows controlling the mouse and keyboard of another + device remotely. +

+ + + + + Features + +

+ Send mouse and keyboard events to remote devices. +

+
+ +

+ Receive events from remote devices and emulate mouse and keyboard input. +

+
+
+ +
+ Requirements +

+ To allow other devices to control the mouse and keyboard an interface + such as the Remote Desktop portal must be available. Consult the + documentation for your distribution for information about supported + interfaces. +

+
+
diff --git a/help/C/plugins-mpris.page b/help/C/plugins-mpris.page new file mode 100644 index 0000000000..f42af44ead --- /dev/null +++ b/help/C/plugins-mpris.page @@ -0,0 +1,45 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + mpris, media, player, remote + + MPRIS Plugin + Share control of media players. + + + MPRIS Plugin +

+ The MPRIS plugin allows devices to share control of media players, including + track information and album art. +

+ + + Features + +

+ Simple remote for controlling remote media players. +

+
+ +

+ Share control of local media players with other devices. +

+
+ +

+ Integrate remote media players with the local desktop, allowing control + from media notifications and other interfaces. +

+
+
+
diff --git a/help/C/plugins-notification.page b/help/C/plugins-notification.page new file mode 100644 index 0000000000..372b412921 --- /dev/null +++ b/help/C/plugins-notification.page @@ -0,0 +1,152 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + notification, notifications, sync + + Notification Plugin + Sync notifications between devices. + + + Notification Plugin +

+ The notification plugin allows devices to sync notifications between + devices, including + icons, actions, and quick reply messages. + battery, such as the level and charging state. +

+ + + Features + +

Common features including icons, actions and quick reply messages.

+
+ +

Intelligent sync, forwards notifications to the active device.

+
+ +

Filter outgoing notifications.

+
+
+ +
+ Requirements +

+ To share local notifications with a remote device, Valent needs + access to the D-Bus session connection. Consult the documentation for + your distribution if notifications aren't being synced. +

+
+ +
+ + + notification, notifications, sync + + Notification Forwarding + Configure notification sync. + + + Notification Forwarding +

+ This guide will teach you how to control notification forwarding and + filtering by application. +

+ + + +
+ Intelligent Sync +

+ Notifications can be configured to sync in a more intelligent way, by + using the session state as a hint to which device is presently in use. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Sync in the view switcher, then + expand the Local Notifications row. +

+
+ +

+ Toggle the switch on the Intelligent Sync + row. +

+
+ +

+ When enabled, local notifications will only be forwarded if the + local session is inactive, and only to remote devices that are + active. +

+ +

+ Connected devices are considered active by default. +

+
+
+
+
+ +
+ Filter Applications +

+ Notifications can be filtered by application, to avoid excessive + disturbances or leaking sensitive data. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Sync in the view switcher, then + expand the Local Notifications row. +

+
+ +

+ Activate the Filter by Application row. +

+
+
+
+
+
diff --git a/help/C/plugins-presenter.page b/help/C/plugins-presenter.page new file mode 100644 index 0000000000..3c4bb27603 --- /dev/null +++ b/help/C/plugins-presenter.page @@ -0,0 +1,85 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + battery, level, charge, statistics + + Presenter Plugin + Control presentations. + + + Presenter Plugin +

+ The Presenter plugin allows controlling a presentation slideshow with a + simple remote. +

+ + + + + Features + +

Upload and open presentations on remote devices.

+
+ +

Control presentations on remote devices.

+
+
+ +
+ Requirements +

+ To upload and open presentations on a remote device, the + must be enabled. +

+
+ +
+ + + + Presentation Remote + Share and control presentations. + + + Presentation Remote +

+ To control a presentation, start by opening the main window and + selecting a device. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Activate the Presentation Remote row. +

+
+ +

+ Use the remote to control standard presentation software on other + devices running a KDE Connect client. +

+ +

+ The Upload button can be used to open a + presentation on a remote device and start controlling it. +

+
+
+
+
+
diff --git a/help/C/plugins-runcommand.page b/help/C/plugins-runcommand.page new file mode 100644 index 0000000000..04ae68a3c3 --- /dev/null +++ b/help/C/plugins-runcommand.page @@ -0,0 +1,183 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + commands, level, charge, statistics + + Commands Plugin + Execute commands on remote devices. + + + Commands Plugin +

+ The Commands plugin allows device to define commands that can be executed + by other devices. Each device can be granted access to execute a unique list + of commands and may not execute arbitrary commands or pass any input. +

+ + + Features + +

+ Execute commands on the remote device. +

+
+ +

+ Configure commands the remote device can execute on the local device. +

+
+
+ +
+ + + command, commands, execute + + Commands + Add, edit and remove executable commands. + + + Commands +

+ The can be used to allow a remote device to + execute a predefined list of commands on the local device. This guide will + teach you how to add, edit and remove commands. +

+ + + +
+ Adding Commands + + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Other in the view switcher, then + activate the Add Command… row. +

+
+ +

+ Enter values into the Name entry and + Command Line entry, then press + Save. +

+
+ +

+ The command will appear in the preferences, and on the remote + device. +

+
+
+
+ +
+ Editing Commands + + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Other in the view switcher, then + activate the + Edit + button on the command's row. +

+
+ +

+ Enter new values into the Name entry and + Command Line entry, then press + Save. +

+
+ +

+ The command will be updated in the preferences, and on the remote + device. +

+
+
+
+ +
+ Removing Commands + + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Other in the view switcher, then + activate the + Remove + button on the command's row. +

+
+ +

+ Enter values into the Name entry and + Command Line entry, then press + Save. +

+
+ +

+ The command will be removed from the preferences, and the remote + device will no longer be able to execute the command. +

+
+
+
+
+
diff --git a/help/C/plugins-sftp.page b/help/C/plugins-sftp.page new file mode 100644 index 0000000000..282273e4b7 --- /dev/null +++ b/help/C/plugins-sftp.page @@ -0,0 +1,110 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + files, share, sharing, sftp + + Files Plugin + Share files and directories with SFTP. + + + Files Plugin +

+ The Files plugin allows devices to securely share files and directories + with the SFTP protocol. +

+ + + Features + +

Automatically mount remote folders

+
+ +

Share local SFTP server details.

+
+
+ +
+ Requirements +

+ To share files and folders, a SFTP server like sshd must be + running. Consult the documentation for your distribution for help setting + up an SFTP server. +

+
+ +
+ + + command, commands, execute + + File Sharing + Configure file sharing. + + + File Sharing +

+ This guide will teach you how to configure a local SFTP server + to integrate with Valent. +

+ + + +
+ SFTP Server +

+ ... +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Sync in the view switcher, then + navigate to the Files group. +

+
+ +

+ To enable file sharing, toggle the switch on the + Local Files row. +

+
+ +

+ Set the value in the Port entry to match + the SFTP server. +

+
+ +

+ The remote device will now be informed of the address and port of + the SFTP server. +

+
+
+
+
+
diff --git a/help/C/plugins-share.page b/help/C/plugins-share.page new file mode 100644 index 0000000000..83174c4eb5 --- /dev/null +++ b/help/C/plugins-share.page @@ -0,0 +1,102 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + share, sharing, file, link, text, url + + Share Plugin + Direct file, link and text sharing. + + + Share Plugin +

+ The Share plugin allows devices to directly share files, links and text. +

+ + + Features + +

Upload files to paired devices.

+
+ +

Open links on other devices.

+
+ +

Share text with embedded markup.

+
+
+ +
+ Requirements +

+ To report local battery statistics to a remote device, Valent + needs a battery to be reported by UPower. Consult the documentation for + your distribution if your battery is missing. +

+
+ +
+ + + share, file, files, link, url, text + + Direct Sharing + Configure direct sharing of files, links and text. + + + Direct Sharing +

+ The can be used to share files, links and text + directly between devices. This guide will teach you how to configure where + received files are saved. +

+ + + +
+ Received Files +

+ To configure direct sharing, start by opening the main window and + selecting a device. +

+ + + +

+ Open the main window and select the device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Other in the view switcher, then + activate the Download directory row. +

+
+ +

+ Use the File Chooser dialog to navigate to a directory, + then press Open. +

+
+
+
+
+
diff --git a/help/C/plugins-sms.page b/help/C/plugins-sms.page new file mode 100644 index 0000000000..0130942c11 --- /dev/null +++ b/help/C/plugins-sms.page @@ -0,0 +1,44 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + sms, message, messaging, mms, text + + SMS Plugin + Send and receive SMS messages. + + + SMS Plugin +

+ The SMS plugin allows sending, receiving and searching messages on a + remote device. +

+ + + Features + +

Messaging window with history and search.

+
+ +

Send and receive text and media attachments.

+
+
+ +
+ Requirements +

+ To use SMS messaging, the remote device must have an active account + with a service provider. Valent does not support sending or + receiving messages with online services. +

+
+
diff --git a/help/C/plugins-systemvolume.page b/help/C/plugins-systemvolume.page new file mode 100644 index 0000000000..6bf13147d6 --- /dev/null +++ b/help/C/plugins-systemvolume.page @@ -0,0 +1,44 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + volume, level, microphone, pipewire, pulseaudio + + System Volume Plugin + Monitor volume levels and mircphones. + + + System Volume Plugin +

+ The System Volume plugin allows devices to monitor and control the volume + on remote devices. +

+ + + Features + +

Monitor remote volume level and microphones.

+
+ +

Change audio output device.

+
+
+ +
+ Requirements +

+ To report local volume and audio devices to a remote device, the system + must support PulseAudio or PipeWire. Consult the + documentation for your distribution if your volume is not reported. +

+
+
diff --git a/help/C/plugins-telephony.page b/help/C/plugins-telephony.page new file mode 100644 index 0000000000..5448a52591 --- /dev/null +++ b/help/C/plugins-telephony.page @@ -0,0 +1,169 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + telephony, telephone, phone, ring + + Telephony Plugin + Be notified of incoming and ongoing calls. + + + Telephony Plugin +

+ The Telephony plugin allows devices to notify of incoming and ongoing + telephone calls. +

+ + + Features + +

Monitor remote battery level and charging state

+
+ +

Configurable notifications for low battery and full charge.

+
+ +

Share local battery level and charging status.

+
+
+ +
+ Requirements +

+ To report local battery statistics to a remote device, Valent + needs a battery to be reported by UPower. Consult the documentation for + your distribution if your battery is missing. +

+
+ +
+ + + telephony, phone, call, ring + + Phone Call Notification + Lower the volume and pause media while on the phone. + + + Phone Call Notification +

+ The handles phone call notification. This + guide will teach you how configure responses to incoming and ongoing calls. +

+ + + +
+ Incoming Calls + + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Other in the view switcher, then + expand the Incoming Calls row. +

+
+ +

+ Activate the Volume row and select from + Nothing, Lower + and Mute. +

+

+ When the phone rings, the system volume will be adjusted according to + this setting. +

+
+ +

+ Toggle the switch on the Pause Media row. +

+

+ When the phone rings, supported media players will be paused until the + call ends, if enabled. +

+
+
+
+ +
+ Ongoing Calls + + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Preferences. +

+
+ +

+ Select Other in the view switcher, then + expand the Incoming Calls row. +

+
+ +

+ Activate the Volume row and select from + Nothing, Lower + and Mute. +

+

+ When the phone rings, the system volume will be adjusted according to + this setting. +

+
+ +

+ Toggle the switch on the Mute Microphone + row. +

+

+ When the phone rings, the microphone will be muted until the call + ends, if enabled. +

+
+ +

+ Toggle the switch on the Pause Media row. +

+

+ When the phone rings, supported media players will be paused until the + call ends, if enabled. +

+
+
+
+
+
diff --git a/help/C/plugins.page b/help/C/plugins.page new file mode 100644 index 0000000000..92847359d3 --- /dev/null +++ b/help/C/plugins.page @@ -0,0 +1,33 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + + KDE Connect — Available Plugins + + + Plugins + Extended Functionality. + + + + Plugins +

+ Valent supports several types of plugins, with default plugins + for features in KDE Connect and + freedesktop.org interfaces. +

+ +
+ Device Plugins + Remote control and syncing capabilities +
+
diff --git a/help/C/tools-input-remote.page b/help/C/tools-input-remote.page new file mode 100644 index 0000000000..87d50eafc8 --- /dev/null +++ b/help/C/tools-input-remote.page @@ -0,0 +1,51 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + input, remote + + Input Remote + Control the mouse and keyboard. + + + Input Remote +

+ To control the mouse and keyboard, start by opening the main window. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Input Remote. +

+
+ +

+ Open the dropdown menu to select from the available devices. +

+
+ +

+ Use the remote to control the mouse and keyboard. +

+
+
+
diff --git a/help/C/tools-media-remote.page b/help/C/tools-media-remote.page new file mode 100644 index 0000000000..e362125401 --- /dev/null +++ b/help/C/tools-media-remote.page @@ -0,0 +1,52 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + media, remote + + Media Remote + Control media players and volume. + + + Media Remote +

+ To control a media player, start by opening the + Main Window. +

+ + + +

+ Open the main window and select a device. +

+
+ +

+ Open the + + Device Menu + + menu and select Media Remote. +

+
+ +

+ Open the dropdown menu to select from the available media players. +

+
+ +

+ Use the remote to control the media player and volume. +

+
+
+
diff --git a/help/C/troubleshooting-firewall.page b/help/C/troubleshooting-firewall.page new file mode 100644 index 0000000000..0af311420b --- /dev/null +++ b/help/C/troubleshooting-firewall.page @@ -0,0 +1,120 @@ + + + + + + Andy Holmes + andrew.g.r.holmes@gmail.com + + + + + KDE Connect — Troubleshooting + + + Firewall + How to configure a firewall. + + + Firewall + +

+ Valent implements the KDE Connect protocol, which usually connects devices + on a local network (LAN). If you are having trouble connecting to a device, + you may need to configure your firewall. +

+ +
+ General Information +

+ Devices are discovered using mDNS or, for older clients, UDP broadcasts + on port 1716. TCP connections use ports 1716–1764. +

+

+ If you are unsure which firewall you have, you can use this information to + get help for your distribution. +

+
+ +
+ Configuring <sys>firewalld</sys> + +

+ firewalld is a network firewall commonly used in Fedora. It + ships with a prefined kdeconnect service that can be easily + enabled. +

+ + +$ firewall-cmd --permanent \ + --zone=public \ + --add-service=kdeconnect +success +$ firewall-cmd --reload +success + + +

+ You may use firewall-config to configure firewalld + with a graphical interface. +

+
+
+ +
+ Configuring <sys>ufw</sys> + +

+ ufw is a network firewall commonly used in Ubuntu and + related distributions. +

+ + +# ufw allow 1716/udp +# ufw allow 1716:1764/tcp +# ufw reload +
+ +
+ Advanced Configuration + +

+ If you are using custom firewall rules, you may need to configure + nftables or iptables manually. If unsure, consult + the documentation for your distribution. +

+ +
+ Configuring <sys>nftables</sys> +

+ nftables is a newer firewall subsystem for Linux, replacing + iptables. You may add the following rules to the beginning of + the "input" chain in /etc/nftables.conf. +

+ + +tcp dport 1716-1764 accept comment "KDE Connect" +udp dport 1716 accept comment "KDE Connect" +
+ +
+ Configuring <sys>iptables</sys> +

+ iptables is a subsystem of the Linux kernel. +

+ + +# iptables -I INPUT -i <iface> \ + -p udp --dport 1716 \ + -m state --state NEW,ESTABLISHED \ + -j ACCEPT +# iptables -I INPUT -i <iface> \ + -p tcp --dport 1716:1764 \ + -m state --state NEW,ESTABLISHED \ + -j ACCEPT +
+
+
diff --git a/help/C/valent.pot b/help/C/valent.pot new file mode 100644 index 0000000000..4b1c015641 --- /dev/null +++ b/help/C/valent.pot @@ -0,0 +1,1959 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-04-09 22:40-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" + +#. (itstool) path: credit/name +#: ../help/C/device-name.page:9 +#: ../help/C/device-pair.page:9 +#: ../help/C/device-unpair.page:9 +#: ../help/C/index.page:9 +#: ../help/C/introduction.page:10 +#: ../help/C/plugins.page:8 +#: ../help/C/plugins-battery.page:9 +#: ../help/C/plugins-clipboard.page:9 +#: ../help/C/plugins-connectivity_report.page:9 +#: ../help/C/plugins-contacts.page:9 +#: ../help/C/plugins-findmyphone.page:9 +#: ../help/C/plugins-lock.page:9 +#: ../help/C/plugins-mousepad.page:9 +#: ../help/C/plugins-mpris.page:9 +#: ../help/C/plugins-notification.page:9 +#: ../help/C/plugins-presenter.page:9 +#: ../help/C/plugins-runcommand.page:9 +#: ../help/C/plugins-sftp.page:9 +#: ../help/C/plugins-share.page:9 +#: ../help/C/plugins-sms.page:9 +#: ../help/C/plugins-systemvolume.page:9 +#: ../help/C/plugins-telephony.page:9 +#: ../help/C/tools-input-remote.page:9 +#: ../help/C/tools-media-remote.page:9 +#: ../help/C/troubleshooting-firewall.page:9 +msgid "Andy Holmes" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/device-name.page:15 +msgctxt "text" +msgid "Change the device name" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/device-name.page:16 +msgid "How to set the device name." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/device-name.page:19 +msgid "Change the device name" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/device-name.page:20 +msgid "The device name is what other devices will see when connecting or pairing with your device. This name will be appear in the device list in the Android app an other KDE Connect clients." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-name.page:28 +msgid "Open the main window." +msgstr "" + +#. (itstool) path: media/gui +#. (itstool) path: gui/media +#: ../help/C/device-name.page:36 +#: ../help/C/introduction.page:113 +msgid "Main Menu" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-name.page:33 +#: ../help/C/plugins-battery.page:78 +#: ../help/C/plugins-battery.page:115 +#: ../help/C/plugins-clipboard.page:84 +#: ../help/C/plugins-connectivity_report.page:75 +#: ../help/C/plugins-notification.page:81 +#: ../help/C/plugins-notification.page:130 +#: ../help/C/plugins-runcommand.page:69 +#: ../help/C/plugins-runcommand.page:109 +#: ../help/C/plugins-runcommand.page:151 +#: ../help/C/plugins-sftp.page:75 +#: ../help/C/plugins-share.page:79 +#: ../help/C/plugins-telephony.page:75 +#: ../help/C/plugins-telephony.page:122 +msgid "Open the <_:media-1/> menu and select Preferences." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-name.page:42 +msgid "Select the Device Name entry." +msgstr "" + +#. (itstool) path: media/gui +#: ../help/C/device-name.page:50 +msgid "Apply" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-name.page:47 +msgid "Choose a new name for the device and press Enter or click the <_:media-1/> button." +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/device-name.page:58 +msgid "It may take time for other devices to display the new name." +msgstr "" + +#. (itstool) path: info/link +#: ../help/C/device-pair.page:15 +msgid "KDE Connect — Pairing two devices together" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/device-pair.page:19 +msgctxt "text" +msgid "Setup a new device" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/device-pair.page:20 +msgid "Connect and configure a new device." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/device-pair.page:23 +msgid "Setup a new device" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/device-pair.page:24 +#: ../help/C/device-unpair.page:21 +msgid "Before starting, ensure that both devices you want to connect are on the same local network." +msgstr "" + +#. (itstool) path: media/gui +#: ../help/C/device-pair.page:36 +msgid "Refresh" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-pair.page:31 +msgid "Open the Main Window and press the <_:media-1/> button." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-pair.page:42 +msgid "Wait up to 10 seconds for the device to appear in the device list. If your device does not appear, see for possible solutions." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-pair.page:49 +msgid "Activate the device row to open the Device Page. You may configure a device before pairing to restrict its access." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-pair.page:58 +#: ../help/C/device-unpair.page:46 +msgid "Activate the Request Pairing button, then use the other device to confirm the verification key and accept the request." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-pair.page:64 +msgid "Once paired, the available actions and information will be revealed on the device page. To unpair the device, open the menu on the device page and select Unpair." +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/device-pair.page:73 +#: ../help/C/device-unpair.page:54 +msgid "Information about connecting official KDE Connect clients can be found on the KDE Connect Wiki." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/device-unpair.page:16 +msgctxt "text" +msgid "Remove a device" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/device-unpair.page:17 +msgid "How to unpair and remove a device." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/device-unpair.page:20 +msgid "Remove a Device" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-unpair.page:28 +msgid "Open the Main Window." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/device-unpair.page:33 +msgid "Activate the device row to open the Device Page." +msgstr "" + +#. (itstool) path: gui/media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: ../help/C/device-unpair.page:41 +#: ../help/C/introduction.page:158 +msgctxt "_" +msgid "external ref='figures/view-more-symbolic.svg' md5='8bb83a3e075004164078064eab6c1a11'" +msgstr "" + +#. (itstool) path: gui/media +#. (itstool) path: media/gui +#: ../help/C/device-unpair.page:41 +#: ../help/C/introduction.page:158 +#: ../help/C/plugins-battery.page:81 +#: ../help/C/plugins-battery.page:118 +#: ../help/C/plugins-clipboard.page:87 +#: ../help/C/plugins-connectivity_report.page:78 +#: ../help/C/plugins-notification.page:84 +#: ../help/C/plugins-notification.page:133 +#: ../help/C/plugins-runcommand.page:72 +#: ../help/C/plugins-runcommand.page:112 +#: ../help/C/plugins-runcommand.page:154 +#: ../help/C/plugins-sftp.page:78 +#: ../help/C/plugins-share.page:82 +#: ../help/C/plugins-telephony.page:78 +#: ../help/C/plugins-telephony.page:125 +#: ../help/C/tools-input-remote.page:35 +#: ../help/C/tools-media-remote.page:36 +msgid "Device Menu" +msgstr "" + +#. (itstool) path: guiseq/gui +#: ../help/C/device-unpair.page:43 +msgid "Unpair" +msgstr "" + +#. (itstool) path: item/gui +#. (itstool) path: section/title +#. (itstool) path: media/p +#: ../help/C/device-unpair.page:45 +#: ../help/C/introduction.page:131 +#: ../help/C/introduction.page:145 +msgid "Device Page" +msgstr "" + +#. (itstool) path: steps/item +#: ../help/C/device-unpair.page:38 +msgid "<_:guiseq-1/> in the <_:gui-2/>. <_:p-3/>" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/index.page:14 +msgctxt "link:guide" +msgid "Valent" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/index.page:15 +msgctxt "link:trail" +msgid "Valent" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/index.page:17 +msgctxt "text" +msgid "Valent" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/index.page:18 +msgid "Connect, control and sync devices." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/index.page:21 +msgid "<_:media-1/> Valent Help" +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/index.page:27 +msgid "Getting Started" +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/index.page:31 +msgid "Troubleshooting" +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/index.page:35 +msgid "Tools" +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/index.page:39 +msgid "Common Tasks" +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/index.page:43 +msgid "Status Updates" +msgstr "" + +#. (itstool) path: info/link +#: ../help/C/introduction.page:15 +msgid "KDE Connect Homepage" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/introduction.page:19 +msgctxt "text" +msgid "Introduction" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/introduction.page:20 +msgid "Learn about Valent." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/introduction.page:23 +msgid "Introduction" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/introduction.page:25 +msgid "Valent is an application for securely connecting devices, like smartphones and laptops, allowing them to sync data and be controlled remotely." +msgstr "" + +#. (itstool) path: list/title +#: ../help/C/introduction.page:33 +msgid "Common use cases…" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/introduction.page:37 +msgid "Use a smartphone to control the mouse and keyboard on your desktop, or music and video on your media center." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/introduction.page:46 +msgid "Configure select notifications to be forwarded from your phone when it's locked or silent, and receive them on your active workstation." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/introduction.page:52 +msgid "Sync the clipboard between your devices to easily copy and paste one-time passwords (OTP) from SMS notifications." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/introduction.page:58 +msgid "Send, receive and search SMS messages from your desktop, via a smartphone running Valent or the KDE Connect app." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/introduction.page:64 +msgid "Select Valent in Open With… dialogs to easily send files and links to other devices." +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/introduction.page:71 +msgid "Valent is an implementation of the KDE Connect protocol and can connect to any other conforming implementation. The KDE Connect project has clients for Linux, Android, SailfishOS, macOs, Windows and more." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/introduction.page:79 +msgid "Visual Tour" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/introduction.page:80 +msgid "Valent has a limited user interface, usually preferring to integrate with the desktop environment when possible." +msgstr "" + +#. (itstool) path: section/title +#. (itstool) path: media/p +#: ../help/C/introduction.page:88 +#: ../help/C/introduction.page:100 +msgid "Main Window" +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/introduction.page:90 +msgid "Open the Main Window by activating the launcher or menu item for Valent." +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/introduction.page:95 +msgid "The Main Window is where other devices are listed, including trusted devices and new devices." +msgstr "" + +#. (itstool) path: section/media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: ../help/C/introduction.page:99 +msgctxt "_" +msgid "external ref='figures/screenshots/main-window.png' md5='6b5a9f7c9ec91d98200cfd265f2ee89d'" +msgstr "" + +#. (itstool) path: section/title +#. (itstool) path: media/p +#: ../help/C/introduction.page:105 +#: ../help/C/introduction.page:126 +msgid "Main Preferences" +msgstr "" + +#. (itstool) path: gui/media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: ../help/C/introduction.page:113 +msgctxt "_" +msgid "external ref='figures/open-menu-symbolic.svg' md5='53c42fca9e64a93b4c572d5ba805fd4d'" +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/introduction.page:107 +msgid "Open the Main Preferences by selecting <_:gui-1/> Preferences in the Main Window." +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/introduction.page:120 +msgid "The Main Preferences is where the device name can be changed, and plugins that integrate with the desktop are configured." +msgstr "" + +#. (itstool) path: section/media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: ../help/C/introduction.page:125 +msgctxt "_" +msgid "external ref='figures/screenshots/main-preferences.png' md5='b043bc8c704224014024c5e194a2041d'" +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/introduction.page:133 +msgid "Open the Device Page by activating the device row in the Main Window." +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/introduction.page:139 +msgid "When paired, the device page has the status widgets like the battery level and the plugin actions like Send Files. New devices will display controls for pairing." +msgstr "" + +#. (itstool) path: section/media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: ../help/C/introduction.page:144 +msgctxt "_" +msgid "external ref='figures/screenshots/device-page.png' md5='ad3751ee81a7ec799e50ddfe31e13347'" +msgstr "" + +#. (itstool) path: section/title +#. (itstool) path: media/p +#: ../help/C/introduction.page:150 +#: ../help/C/introduction.page:170 +msgid "Device Preferences" +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/introduction.page:152 +msgid "Open the Device Preferences by selecting <_:gui-1/> Preferences in the Device Page." +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/introduction.page:165 +msgid "The devices preferences is where can be enabled, disabled and configured." +msgstr "" + +#. (itstool) path: section/media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: ../help/C/introduction.page:169 +msgctxt "_" +msgid "external ref='figures/screenshots/device-preferences.png' md5='237bc138bc517a9b5aeb06754d605c7b'" +msgstr "" + +#. (itstool) path: p/link +#: ../help/C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 4.0 International" +msgstr "" + +#. (itstool) path: license/p +#: ../help/C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/> license." +msgstr "" + +#. (itstool) path: info/link +#: ../help/C/plugins.page:13 +msgid "KDE Connect — Available Plugins" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins.page:17 +msgctxt "text" +msgid "Plugins" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins.page:18 +msgid "Extended Functionality." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins.page:22 +msgid "Plugins" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins.page:23 +msgid "Valent supports several types of plugins, with default plugins for features in KDE Connect and freedesktop.org interfaces." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins.page:30 +msgid "Device Plugins" +msgstr "" + +#. (itstool) path: section/subtitle +#: ../help/C/plugins.page:31 +msgid "Remote control and syncing capabilities" +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-battery.page:14 +msgid "battery, charge, charging, level, monitor, statistics" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-battery.page:16 +msgctxt "text" +msgid "Battery Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-battery.page:17 +msgid "Monitor battery level and charging state." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-battery.page:20 +msgid "Battery Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-battery.page:21 +msgid "The Battery plugin allows devices to exchange information about their battery status, such as the level and charging state." +msgstr "" + +#. (itstool) path: list/title +#: ../help/C/plugins-battery.page:27 +#: ../help/C/plugins-clipboard.page:27 +#: ../help/C/plugins-connectivity_report.page:27 +#: ../help/C/plugins-contacts.page:27 +#: ../help/C/plugins-findmyphone.page:26 +#: ../help/C/plugins-lock.page:28 +#: ../help/C/plugins-mousepad.page:29 +#: ../help/C/plugins-mpris.page:27 +#: ../help/C/plugins-notification.page:29 +#: ../help/C/plugins-presenter.page:29 +#: ../help/C/plugins-runcommand.page:28 +#: ../help/C/plugins-sftp.page:27 +#: ../help/C/plugins-share.page:26 +#: ../help/C/plugins-sms.page:27 +#: ../help/C/plugins-systemvolume.page:27 +#: ../help/C/plugins-telephony.page:27 +msgid "Features" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:29 +#: ../help/C/plugins-telephony.page:29 +msgid "Monitor remote battery level and charging state" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:32 +#: ../help/C/plugins-connectivity_report.page:32 +#: ../help/C/plugins-telephony.page:32 +msgid "Configurable notifications for low battery and full charge." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:35 +msgid "Report local battery level and charging status." +msgstr "" + +#. (itstool) path: div/title +#: ../help/C/plugins-battery.page:40 +#: ../help/C/plugins-clipboard.page:37 +#: ../help/C/plugins-connectivity_report.page:40 +#: ../help/C/plugins-contacts.page:40 +#: ../help/C/plugins-lock.page:38 +#: ../help/C/plugins-mousepad.page:43 +#: ../help/C/plugins-notification.page:42 +#: ../help/C/plugins-presenter.page:39 +#: ../help/C/plugins-sftp.page:37 +#: ../help/C/plugins-share.page:39 +#: ../help/C/plugins-sms.page:37 +#: ../help/C/plugins-systemvolume.page:37 +#: ../help/C/plugins-telephony.page:40 +msgid "Requirements" +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-battery.page:41 +msgid "To report local battery statistics to a remote device, a battery must be recognized by UPower. Consult the documentation for your distribution if your battery is not recognized." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-battery.page:52 +msgctxt "text" +msgid "Monitor the battery status" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-battery.page:53 +#: ../help/C/plugins-connectivity_report.page:53 +msgid "Configure status notifications." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-battery.page:56 +msgid "Monitor the battery status" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-battery.page:57 +msgid "This guide will teach you how to configure when notifications are shown for the battery level and status." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-battery.page:65 +msgid "Low Battery Notification" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-battery.page:66 +#: ../help/C/plugins-battery.page:103 +msgid "To change the battery notification level, start by opening the main window and selecting a device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:73 +#: ../help/C/plugins-battery.page:110 +#: ../help/C/plugins-clipboard.page:79 +#: ../help/C/plugins-connectivity_report.page:70 +#: ../help/C/plugins-lock.page:66 +#: ../help/C/plugins-notification.page:76 +#: ../help/C/plugins-notification.page:125 +#: ../help/C/plugins-presenter.page:62 +#: ../help/C/plugins-runcommand.page:64 +#: ../help/C/plugins-runcommand.page:104 +#: ../help/C/plugins-runcommand.page:146 +#: ../help/C/plugins-sftp.page:70 +#: ../help/C/plugins-telephony.page:70 +#: ../help/C/plugins-telephony.page:117 +#: ../help/C/tools-input-remote.page:27 +#: ../help/C/tools-media-remote.page:28 +msgid "Open the main window and select a device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:87 +msgid "Select Status in the view switcher, then toggle the Low Battery Notification row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:93 +#: ../help/C/plugins-battery.page:130 +msgid "Adjust the Level Threshold to control when the notification will be shown." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-battery.page:102 +msgid "Full Battery Notification" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-battery.page:124 +msgid "Select Status in the view switcher, then toggle the Full Battery Notification row." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-clipboard.page:14 +msgid "clipboard, copy, paste, sync" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-clipboard.page:16 +msgctxt "text" +msgid "Clipboard Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-clipboard.page:17 +msgid "Sync the clipboard between devices." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-clipboard.page:20 +msgid "Clipboard Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-clipboard.page:21 +msgid "The Clipboard plugin allows devices to sync clipboard content, allowing copy and paste to work across devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-clipboard.page:29 +msgid "Paste text copied on another device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-clipboard.page:32 +#: ../help/C/plugins-contacts.page:32 +msgid "Configure sync direction for each device." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-clipboard.page:38 +msgid "To access the clipboard used by other applications, Valent must be running in GNOME Shell or an X11 desktop. Other desktop environments may provide an adapter to support clipboard access." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-clipboard.page:49 +msgctxt "text" +msgid "Sync clipboard content" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-clipboard.page:50 +msgid "Configure how clipboard content is synced." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-clipboard.page:53 +msgid "Sync clipboard content" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-clipboard.page:54 +msgid "The can be used to sync the clipboard between devices. This guide will teach you how to control the source and direction the content will be synced in." +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/plugins-clipboard.page:61 +msgid "When enabled, clipboard content will be synced without any consideration of security implications. This includes passwords and any other sensitive content." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-clipboard.page:71 +msgid "Clipboard Sync" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-clipboard.page:72 +msgid "To configure clipboard sync, start by opening the main window and selecting a device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-clipboard.page:93 +msgid "Select Sync in the view switcher and navigate to the Clipboard preferences." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-clipboard.page:99 +msgid "To sync content from the remote device to the local clipboard, toggle the Remote Clipboard switch. When enabled, content in the remote clipboard can be pasted from the local clipboard." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-clipboard.page:104 +msgid "To sync content from local clipboard to the remote device, toggle the Local Clipboard switch. When enabled, content will be sent to the remote device when copied." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-connectivity_report.page:14 +msgid "connectivity, mobile, network, signal" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-connectivity_report.page:16 +msgctxt "text" +msgid "Connectivity Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-connectivity_report.page:17 +msgid "Monitor mobile connectivity status." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-connectivity_report.page:20 +msgid "Connectivity Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-connectivity_report.page:21 +msgid "The connectivity plugin allows devices to exchange information about the connection strength and status of mobile networks." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-connectivity_report.page:29 +msgid "Monitor remote battery level and charging state." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-connectivity_report.page:35 +#: ../help/C/plugins-telephony.page:35 +msgid "Share local battery level and charging status." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-connectivity_report.page:41 +#: ../help/C/plugins-share.page:40 +#: ../help/C/plugins-telephony.page:41 +msgid "To report local battery statistics to a remote device, Valent needs a battery to be reported by UPower. Consult the documentation for your distribution if your battery is missing." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-connectivity_report.page:52 +msgctxt "text" +msgid "Monitor mobile connectivity" +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-connectivity_report.page:56 +msgid "Monitor mobile connectivity" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-connectivity_report.page:57 +msgid "The monitors the signal strength and status of mobile connectivity. This guide will teach you how to configure when notifications are shown for the connection status." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-connectivity_report.page:66 +msgid "Connectivity Notification" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-connectivity_report.page:84 +msgid "Select Status in the view switcher, then toggle the Remote Connectivity row." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-contacts.page:14 +msgid "contacts, addressbook" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-contacts.page:16 +msgctxt "text" +msgid "Contacts Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-contacts.page:17 +msgid "Sync contacts between devices." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-contacts.page:20 +msgid "Contacts Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-contacts.page:21 +msgid "The contacts plugin allows devices to exchange contacts and sync address books." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-contacts.page:29 +msgid "Sync contacts and expose them to other applications." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-contacts.page:35 +msgid "Configure which address book to sync for each device." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-contacts.page:41 +msgid "To access contacts and share them with other applications, a source like Evolution Data Server must be available. Other sources may provide an adapter to support contact sharing." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-findmyphone.page:14 +msgid "find, locate, phone, ring" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-findmyphone.page:16 +msgctxt "text" +msgid "Find My Phone Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-findmyphone.page:17 +msgid "Find a device by making it ring." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-findmyphone.page:20 +msgid "Find My Phone Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-findmyphone.page:21 +msgid "The Find My Phone plugin can help you to find a device by making it ring." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-findmyphone.page:28 +msgid "Activate ringer on remote devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-findmyphone.page:31 +msgid "Help locate the local device when requested." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-lock.page:14 +msgid "lock, unlock, session" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-lock.page:16 +msgctxt "text" +msgid "Lock Plugin" +msgstr "" + +#. (itstool) path: info/desc +#. (itstool) path: item/p +#: ../help/C/plugins-lock.page:17 +#: ../help/C/plugins-lock.page:30 +msgid "Monitor session activity and lock state." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-lock.page:20 +msgid "Lock Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-lock.page:21 +msgid "The Lock plugin allows devices to be locked and unlocked remotely." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-lock.page:33 +msgid "Lock and unlock a remote device." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-lock.page:39 +msgid "To report the session state to a remote device, Valent needs a session supporting logind. Consult the documentation for help." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-lock.page:49 +msgctxt "text" +msgid "Lock or unlock a device" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-lock.page:50 +msgid "How to check and control the device lock." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-lock.page:53 +msgid "Lock or unlock a device" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-lock.page:54 +msgid "This guide will teach you how to check if a remote device is locked, and how to lock or unlock it." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-lock.page:62 +msgid "Lock State" +msgstr "" + +#. (itstool) path: media/gui +#: ../help/C/plugins-lock.page:74 +#: ../help/C/plugins-lock.page:84 +msgid "Lock" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-lock.page:71 +msgid "Look for the <_:media-1/> button near the top of the . If the button is missing, the device may not support this feature." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-lock.page:81 +msgid "Toggle the <_:media-1/> button to lock or unlock the remote device." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-mousepad.page:14 +msgid "input, keyboard, mouse, mousepad, remote, touchpad" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-mousepad.page:16 +msgctxt "text" +msgid "Mousepad Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-mousepad.page:17 +#: ../help/C/tools-input-remote.page:17 +msgid "Control the mouse and keyboard." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-mousepad.page:20 +msgid "Mousepad Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-mousepad.page:21 +msgid "The Mousepad plugin allows controlling the mouse and keyboard of another device remotely." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-mousepad.page:31 +msgid "Send mouse and keyboard events to remote devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-mousepad.page:36 +msgid "Receive events from remote devices and emulate mouse and keyboard input." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-mousepad.page:44 +msgid "To allow other devices to control the mouse and keyboard an interface such as the Remote Desktop portal must be available. Consult the documentation for your distribution for information about supported interfaces." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-mpris.page:14 +msgid "mpris, media, player, remote" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-mpris.page:16 +msgctxt "text" +msgid "MPRIS Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-mpris.page:17 +msgid "Share control of media players." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-mpris.page:20 +msgid "MPRIS Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-mpris.page:21 +msgid "The MPRIS plugin allows devices to share control of media players, including track information and album art." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-mpris.page:29 +msgid "Simple remote for controlling remote media players." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-mpris.page:34 +msgid "Share control of local media players with other devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-mpris.page:39 +msgid "Integrate remote media players with the local desktop, allowing control from media notifications and other interfaces." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-notification.page:14 +#: ../help/C/plugins-notification.page:53 +msgid "notification, notifications, sync" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-notification.page:16 +msgctxt "text" +msgid "Notification Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-notification.page:17 +msgid "Sync notifications between devices." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-notification.page:20 +msgid "Notification Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-notification.page:21 +msgid "The notification plugin allows devices to sync notifications between devices, including icons, actions, and quick reply messages. battery, such as the level and charging state." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:31 +msgid "Common features including icons, actions and quick reply messages." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:34 +msgid "Intelligent sync, forwards notifications to the active device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:37 +msgid "Filter outgoing notifications." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-notification.page:43 +msgid "To share local notifications with a remote device, Valent needs access to the D-Bus session connection. Consult the documentation for your distribution if notifications aren't being synced." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-notification.page:55 +msgctxt "text" +msgid "Notification Forwarding" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-notification.page:56 +msgid "Configure notification sync." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-notification.page:59 +msgid "Notification Forwarding" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-notification.page:60 +msgid "This guide will teach you how to control notification forwarding and filtering by application." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-notification.page:68 +msgid "Intelligent Sync" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-notification.page:69 +msgid "Notifications can be configured to sync in a more intelligent way, by using the session state as a hint to which device is presently in use." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:90 +#: ../help/C/plugins-notification.page:139 +msgid "Select Sync in the view switcher, then expand the Local Notifications row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:96 +msgid "Toggle the switch on the Intelligent Sync row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:102 +msgid "When enabled, local notifications will only be forwarded if the local session is inactive, and only to remote devices that are active." +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/plugins-notification.page:108 +msgid "Connected devices are considered active by default." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-notification.page:117 +msgid "Filter Applications" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-notification.page:118 +msgid "Notifications can be filtered by application, to avoid excessive disturbances or leaking sensitive data." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-notification.page:145 +msgid "Activate the Filter by Application row." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-presenter.page:14 +msgid "battery, level, charge, statistics" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-presenter.page:16 +msgctxt "text" +msgid "Presenter Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-presenter.page:17 +msgid "Control presentations." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-presenter.page:20 +msgid "Presenter Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-presenter.page:21 +msgid "The Presenter plugin allows controlling a presentation slideshow with a simple remote." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-presenter.page:31 +msgid "Upload and open presentations on remote devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-presenter.page:34 +msgid "Control presentations on remote devices." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-presenter.page:40 +msgid "To upload and open presentations on a remote device, the must be enabled." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-presenter.page:50 +msgctxt "text" +msgid "Presentation Remote" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-presenter.page:51 +msgid "Share and control presentations." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-presenter.page:54 +msgid "Presentation Remote" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-presenter.page:55 +msgid "To control a presentation, start by opening the main window and selecting a device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-presenter.page:67 +msgid "Activate the Presentation Remote row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-presenter.page:72 +msgid "Use the remote to control standard presentation software on other devices running a KDE Connect client." +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/plugins-presenter.page:77 +msgid "The Upload button can be used to open a presentation on a remote device and start controlling it." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-runcommand.page:14 +msgid "commands, level, charge, statistics" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-runcommand.page:16 +msgctxt "text" +msgid "Commands Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-runcommand.page:17 +msgid "Execute commands on remote devices." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-runcommand.page:20 +msgid "Commands Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-runcommand.page:21 +msgid "The Commands plugin allows device to define commands that can be executed by other devices. Each device can be granted access to execute a unique list of commands and may not execute arbitrary commands or pass any input." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:30 +msgid "Execute commands on the remote device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:35 +msgid "Configure commands the remote device can execute on the local device." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-runcommand.page:44 +#: ../help/C/plugins-sftp.page:48 +msgid "command, commands, execute" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-runcommand.page:46 +msgctxt "text" +msgid "Commands" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-runcommand.page:47 +msgid "Add, edit and remove executable commands." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-runcommand.page:50 +msgid "Commands" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-runcommand.page:51 +msgid "The can be used to allow a remote device to execute a predefined list of commands on the local device. This guide will teach you how to add, edit and remove commands." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-runcommand.page:60 +msgid "Adding Commands" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:78 +msgid "Select Other in the view switcher, then activate the Add Command… row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:84 +#: ../help/C/plugins-runcommand.page:168 +msgid "Enter values into the Name entry and Command Line entry, then press Save." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:91 +msgid "The command will appear in the preferences, and on the remote device." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-runcommand.page:100 +msgid "Editing Commands" +msgstr "" + +#. (itstool) path: media/gui +#: ../help/C/plugins-runcommand.page:121 +msgid "Edit" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:118 +#: ../help/C/plugins-runcommand.page:160 +msgid "Select Other in the view switcher, then activate the <_:media-1/> button on the command's row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:126 +msgid "Enter new values into the Name entry and Command Line entry, then press Save." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:133 +msgid "The command will be updated in the preferences, and on the remote device." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-runcommand.page:142 +msgid "Removing Commands" +msgstr "" + +#. (itstool) path: media/gui +#: ../help/C/plugins-runcommand.page:163 +msgid "Remove" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-runcommand.page:175 +msgid "The command will be removed from the preferences, and the remote device will no longer be able to execute the command." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-sftp.page:14 +msgid "files, share, sharing, sftp" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-sftp.page:16 +msgctxt "text" +msgid "Files Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-sftp.page:17 +msgid "Share files and directories with SFTP." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-sftp.page:20 +msgid "Files Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-sftp.page:21 +msgid "The Files plugin allows devices to securely share files and directories with the SFTP protocol." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sftp.page:29 +msgid "Automatically mount remote folders" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sftp.page:32 +msgid "Share local SFTP server details." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-sftp.page:38 +msgid "To share files and folders, a SFTP server like sshd must be running. Consult the documentation for your distribution for help setting up an SFTP server." +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-sftp.page:50 +msgctxt "text" +msgid "File Sharing" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-sftp.page:51 +msgid "Configure file sharing." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-sftp.page:54 +msgid "File Sharing" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-sftp.page:55 +msgid "This guide will teach you how to configure a local SFTP server to integrate with Valent." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-sftp.page:63 +msgid "SFTP Server" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-sftp.page:64 +msgid "..." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sftp.page:84 +msgid "Select Sync in the view switcher, then navigate to the Files group." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sftp.page:90 +msgid "To enable file sharing, toggle the switch on the Local Files row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sftp.page:96 +msgid "Set the value in the Port entry to match the SFTP server." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sftp.page:102 +msgid "The remote device will now be informed of the address and port of the SFTP server." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-share.page:14 +msgid "share, sharing, file, link, text, url" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-share.page:16 +msgctxt "text" +msgid "Share Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-share.page:17 +msgid "Direct file, link and text sharing." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-share.page:20 +msgid "Share Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-share.page:21 +msgid "The Share plugin allows devices to directly share files, links and text." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-share.page:28 +msgid "Upload files to paired devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-share.page:31 +msgid "Open links on other devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-share.page:34 +msgid "Share text with embedded markup." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-share.page:50 +msgid "share, file, files, link, url, text" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-share.page:52 +msgctxt "text" +msgid "Direct Sharing" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-share.page:53 +msgid "Configure direct sharing of files, links and text." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-share.page:56 +msgid "Direct Sharing" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-share.page:57 +msgid "The can be used to share files, links and text directly between devices. This guide will teach you how to configure where received files are saved." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-share.page:66 +msgid "Received Files" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-share.page:67 +msgid "To configure direct sharing, start by opening the main window and selecting a device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-share.page:74 +msgid "Open the main window and select the device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-share.page:88 +msgid "Select Other in the view switcher, then activate the Download directory row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-share.page:94 +msgid "Use the File Chooser dialog to navigate to a directory, then press Open." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-sms.page:14 +msgid "sms, message, messaging, mms, text" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-sms.page:16 +msgctxt "text" +msgid "SMS Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-sms.page:17 +msgid "Send and receive SMS messages." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-sms.page:20 +msgid "SMS Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-sms.page:21 +msgid "The SMS plugin allows sending, receiving and searching messages on a remote device." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sms.page:29 +msgid "Messaging window with history and search." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-sms.page:32 +msgid "Send and receive text and media attachments." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-sms.page:38 +msgid "To use SMS messaging, the remote device must have an active account with a service provider. Valent does not support sending or receiving messages with online services." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-systemvolume.page:14 +msgid "volume, level, microphone, pipewire, pulseaudio" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-systemvolume.page:16 +msgctxt "text" +msgid "System Volume Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-systemvolume.page:17 +msgid "Monitor volume levels and mircphones." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-systemvolume.page:20 +msgid "System Volume Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-systemvolume.page:21 +msgid "The System Volume plugin allows devices to monitor and control the volume on remote devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-systemvolume.page:29 +msgid "Monitor remote volume level and microphones." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-systemvolume.page:32 +msgid "Change audio output device." +msgstr "" + +#. (itstool) path: div/p +#: ../help/C/plugins-systemvolume.page:38 +msgid "To report local volume and audio devices to a remote device, the system must support PulseAudio or PipeWire. Consult the documentation for your distribution if your volume is not reported." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-telephony.page:14 +msgid "telephony, telephone, phone, ring" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-telephony.page:16 +msgctxt "text" +msgid "Telephony Plugin" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-telephony.page:17 +msgid "Be notified of incoming and ongoing calls." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/plugins-telephony.page:20 +msgid "Telephony Plugin" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/plugins-telephony.page:21 +msgid "The Telephony plugin allows devices to notify of incoming and ongoing telephone calls." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/plugins-telephony.page:51 +msgid "telephony, phone, call, ring" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/plugins-telephony.page:53 +msgctxt "text" +msgid "Phone Call Notification" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/plugins-telephony.page:54 +msgid "Lower the volume and pause media while on the phone." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-telephony.page:57 +msgid "Phone Call Notification" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/plugins-telephony.page:58 +msgid "The handles phone call notification. This guide will teach you how configure responses to incoming and ongoing calls." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-telephony.page:66 +msgid "Incoming Calls" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:84 +#: ../help/C/plugins-telephony.page:131 +msgid "Select Other in the view switcher, then expand the Incoming Calls row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:90 +#: ../help/C/plugins-telephony.page:137 +msgid "Activate the Volume row and select from Nothing, Lower and Mute." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:95 +#: ../help/C/plugins-telephony.page:142 +msgid "When the phone rings, the system volume will be adjusted according to this setting." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:101 +#: ../help/C/plugins-telephony.page:158 +msgid "Toggle the switch on the Pause Media row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:104 +#: ../help/C/plugins-telephony.page:161 +msgid "When the phone rings, supported media players will be paused until the call ends, if enabled." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/plugins-telephony.page:113 +msgid "Ongoing Calls" +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:148 +msgid "Toggle the switch on the Mute Microphone row." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/plugins-telephony.page:152 +msgid "When the phone rings, the microphone will be muted until the call ends, if enabled." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/tools-input-remote.page:14 +msgid "input, remote" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/tools-input-remote.page:16 +msgctxt "text" +msgid "Input Remote" +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/tools-input-remote.page:20 +msgid "Input Remote" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/tools-input-remote.page:21 +msgid "To control the mouse and keyboard, start by opening the main window." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/tools-input-remote.page:32 +msgid "Open the <_:media-1/> menu and select Input Remote." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/tools-input-remote.page:41 +msgid "Open the dropdown menu to select from the available devices." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/tools-input-remote.page:46 +msgid "Use the remote to control the mouse and keyboard." +msgstr "" + +#. (itstool) path: info/keywords +#: ../help/C/tools-media-remote.page:14 +msgid "media, remote" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/tools-media-remote.page:16 +msgctxt "text" +msgid "Media Remote" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/tools-media-remote.page:17 +msgid "Control media players and volume." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/tools-media-remote.page:20 +msgid "Media Remote" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/tools-media-remote.page:21 +msgid "To control a media player, start by opening the Main Window." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/tools-media-remote.page:33 +msgid "Open the <_:media-1/> menu and select Media Remote." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/tools-media-remote.page:42 +msgid "Open the dropdown menu to select from the available media players." +msgstr "" + +#. (itstool) path: item/p +#: ../help/C/tools-media-remote.page:47 +msgid "Use the remote to control the media player and volume." +msgstr "" + +#. (itstool) path: info/link +#: ../help/C/troubleshooting-firewall.page:14 +msgid "KDE Connect — Troubleshooting" +msgstr "" + +#. (itstool) path: info/title +#: ../help/C/troubleshooting-firewall.page:18 +msgctxt "text" +msgid "Firewall" +msgstr "" + +#. (itstool) path: info/desc +#: ../help/C/troubleshooting-firewall.page:19 +msgid "How to configure a firewall." +msgstr "" + +#. (itstool) path: page/title +#: ../help/C/troubleshooting-firewall.page:22 +msgid "Firewall" +msgstr "" + +#. (itstool) path: page/p +#: ../help/C/troubleshooting-firewall.page:24 +msgid "Valent implements the KDE Connect protocol, which usually connects devices on a local network (LAN). If you are having trouble connecting to a device, you may need to configure your firewall." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/troubleshooting-firewall.page:31 +msgid "General Information" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:32 +msgid "Devices are discovered using mDNS or, for older clients, UDP broadcasts on port 1716. TCP connections use ports 1716–1764." +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:36 +msgid "If you are unsure which firewall you have, you can use this information to get help for your distribution." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/troubleshooting-firewall.page:43 +msgid "Configuring firewalld" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:45 +msgid "firewalld is a network firewall commonly used in Fedora. It ships with a prefined kdeconnect service that can be easily enabled." +msgstr "" + +#. (itstool) path: note/p +#: ../help/C/troubleshooting-firewall.page:60 +msgid "You may use firewall-config to configure firewalld with a graphical interface." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/troubleshooting-firewall.page:68 +msgid "Configuring ufw" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:70 +msgid "ufw is a network firewall commonly used in Ubuntu and related distributions." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/troubleshooting-firewall.page:82 +msgid "Advanced Configuration" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:84 +msgid "If you are using custom firewall rules, you may need to configure nftables or iptables manually. If unsure, consult the documentation for your distribution." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/troubleshooting-firewall.page:91 +msgid "Configuring nftables" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:92 +msgid "nftables is a newer firewall subsystem for Linux, replacing iptables. You may add the following rules to the beginning of the \"input\" chain in /etc/nftables.conf." +msgstr "" + +#. (itstool) path: section/title +#: ../help/C/troubleshooting-firewall.page:104 +msgid "Configuring iptables" +msgstr "" + +#. (itstool) path: section/p +#: ../help/C/troubleshooting-firewall.page:105 +msgid "iptables is a subsystem of the Linux kernel." +msgstr "" + diff --git a/help/LINGUAS b/help/LINGUAS new file mode 100644 index 0000000000..e69de29bb2 diff --git a/help/meson.build b/help/meson.build new file mode 100644 index 0000000000..7c06a5ac52 --- /dev/null +++ b/help/meson.build @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-FileCopyrightText: Andy Holmes + +help_sources = [ + 'device-name.page', + 'device-pair.page', + 'device-unpair.page', + 'index.page', + 'introduction.page', + 'legal.xml', + 'plugins.page', + 'plugins-battery.page', + 'plugins-clipboard.page', + 'plugins-connectivity_report.page', + 'plugins-contacts.page', + 'plugins-findmyphone.page', + 'plugins-lock.page', + 'plugins-mousepad.page', + 'plugins-mpris.page', + 'plugins-notification.page', + 'plugins-presenter.page', + 'plugins-runcommand.page', + 'plugins-sftp.page', + 'plugins-share.page', + 'plugins-sms.page', + 'plugins-systemvolume.page', + 'plugins-telephony.page', + 'tools-input-remote.page', + 'tools-media-remote.page', + 'troubleshooting-firewall.page', +] + +help_media = [ + # UI Icons + 'figures/ca.andyholmes.Valent.svg', + 'figures/channel-secure-symbolic.svg', + 'figures/document-edit-symbolic.svg', + 'figures/entry-apply-symbolic.svg', + 'figures/open-menu-symbolic.svg', + 'figures/view-more-symbolic.svg', + 'figures/view-refresh-symbolic.svg', + + # Screenshots + 'figures/screenshots/device-page.png', + 'figures/screenshots/device-preferences.png', + 'figures/screenshots/image-missing.png', + 'figures/screenshots/main-preferences.png', + 'figures/screenshots/main-window.png', +] + +gnome.yelp(meson.project_name(), + sources: help_sources, + media: help_media, +) diff --git a/help/templates/plugin.page.tmpl b/help/templates/plugin.page.tmpl new file mode 100644 index 0000000000..a4c8b06fb1 --- /dev/null +++ b/help/templates/plugin.page.tmpl @@ -0,0 +1,62 @@ + + + + + {{NAME}} + {{EMAIL}} + {{YEAR}} + + + + + + + + {{TITLE}} + {{DESCRIPTION}} + + + {{TITLE}} +

+ {{LONG_DESCRIPTION}} +

+ + + Features + +

A short description of a feature or use case, ending in a period.

+
+ +

Descriptions that represent use cases should xref to a guide.

+
+
+ + +
diff --git a/help/templates/troubleshooting.page.tmpl b/help/templates/troubleshooting.page.tmpl new file mode 100644 index 0000000000..7d21370d9f --- /dev/null +++ b/help/templates/troubleshooting.page.tmpl @@ -0,0 +1,25 @@ + + + + + {{NAME}} + {{EMAIL}} + {{YEAR}} + + + + + KDE Connect — Troubleshooting + + + {{TITLE}} + {{DESCRIPTION}} + + + {{TITLE}} +

+ A troubleshooting guide. +

+
diff --git a/help/valent-html.xsl b/help/valent-html.xsl new file mode 100644 index 0000000000..90d818f0b6 --- /dev/null +++ b/help/valent-html.xsl @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/* + * Valent CSS Overrides + */ + + +:root { + + --blue1: rgb(153,193,241); + --blue2: rgb(98,160,234); + --blue3: rgb(53,132,228); + --blue4: rgb(28,113,216); + --blue5: rgb(26,95,180); + --green1: rgb(143,240,164); + --green2: rgb(87,227,137); + --green3: rgb(51,209,122); + --green4: rgb(46,194,126); + --green5: rgb(38,162,105); + --yellow1: rgb(249,240,107); + --yellow2: rgb(248,228,92); + --yellow3: rgb(246,211,45); + --yellow4: rgb(245,194,17); + --yellow5: rgb(229,165,10); + --orange1: rgb(255,190,111); + --orange2: rgb(255,163,72); + --orange3: rgb(255,120,0); + --orange4: rgb(230,97,0); + --orange5: rgb(198,70,0); + --red1: rgb(246,97,81); + --red2: rgb(237,51,59); + --red3: rgb(224,27,36); + --red4: rgb(192,28,40); + --red5: rgb(165,29,45); + --purple1: rgb(220,138,221); + --purple2: rgb(192,97,203); + --purple3: rgb(145,65,172); + --purple4: rgb(129,61,156); + --purple5: rgb(97,53,131); + --brown1: rgb(205,171,143); + --brown2: rgb(181,131,90); + --brown3: rgb(152,106,68); + --brown4: rgb(134,94,60); + --brown5: rgb(99,69,44); + --light1: rgb(255,255,255); + --light2: rgb(246,245,244); + --light3: rgb(222,221,218); + --light4: rgb(192,191,188); + --light5: rgb(154,153,150); + --dark1: rgb(119,118,123); + --dark2: rgb(94,92,100); + --dark3: rgb(61,56,70); + --dark4: rgb(36,31,49); + --dark5: rgb(0,0,0); + + + --adw-card-bg-dark: rgb(54,54,54); + --adw-card-bg-dark: rgba(255, 255, 255, 0.08); + --adw-headerbar-bg-dark: rgb(48,48,48); + --adw-popup-bg-dark: rgb(56,56,56); + --adw-view-bg-dark: rgb(30,30,30); + --adw-window-bg-dark: rgb(36, 36, 36); + + + --color-bg: var(--light1); + --color-bg-blue: var(--blue2); + --color-bg-dark: var(--light3); + --color-bg-gray: var(--light2); + --color-bg-green: var(--green2); + --color-bg-orange: var(--orange2); + --color-bg-purple: var(--purple2); + --color-bg-red: var(--red2); + --color-bg-yellow: var(--yellow2); + + --color-fg: var(--dark4); + --color-fg-blue: var(--blue4); + --color-fg-dark: var(--dark2); + --color-fg-gray: var(--dark1); + --color-fg-green: var(--green5); + --color-fg-orange: var(--orange5); + --color-fg-purple: var(--purple5); + --color-fg-red: var(--red5); + --color-fg-yellow: var(--yellow5); + + --color-blue: var(--blue3); + --color-gray: var(--light3); + --color-green: var(--green3); + --color-orange: var(--orange3); + --color-purple: var(--purple3); + --color-red: var(--red3); + --color-yellow: var(--yellow3); +} + + +@media (prefers-color-scheme: dark) { + :root { + /* --color-bg: var(--dark4); */ + --color-bg: var(--adw-window-bg-dark); + --color-bg-blue: var(--blue4); + --color-bg-dark: var(--dark2); + /* --color-bg-gray: var(--dark3); */ + --color-bg-gray: var(--adw-card-bg-dark); + --color-bg-green: var(--green4); + --color-bg-orange: var(--orange4); + --color-bg-purple: var(--purple4); + --color-bg-red: var(--red4); + --color-bg-yellow: var(--yellow4); + + --color-fg: var(--light2); + --color-fg-blue: var(--blue2); + --color-fg-dark: var(--light4); + --color-fg-gray: var(--light4); + --color-fg-green: var(--green1); + --color-fg-orange: var(--orange1); + --color-fg-purple: var(--purple1); + --color-fg-red: var(--red1); + --color-fg-yellow: var(--yellow1); + + --color-gray: var(--light4); + } + + a:visited, + a.trail:hover { + color: var(--blue2); + } + + #valent-banner { + /* background-color: var(--dark3); */ + background-color: var(--adw-headerbar-bg-dark); + } +} + +@media (prefers-color-scheme: light) { + :root { + --color-bg: var(--light1); + --color-bg-blue: var(--blue2); + --color-bg-dark: var(--light3); + --color-bg-gray: var(--light2); + --color-bg-green: var(--green2); + --color-bg-orange: var(--orange2); + --color-bg-purple: var(--purple2); + --color-bg-red: var(--red2); + --color-bg-yellow: var(--yellow2); + + --color-fg: var(--dark4); + --color-fg-blue: var(--blue4); + --color-fg-dark: var(--dark2); + --color-fg-gray: var(--dark1); + --color-fg-green: var(--green5); + --color-fg-orange: var(--orange5); + --color-fg-purple: var(--purple5); + --color-fg-red: var(--red5); + --color-fg-yellow: var(--yellow5); + + --color-gray: var(--light4); + } + + a:visited, + a.trail:hover { + color: var(--blue4); + } + + #valent-banner { + background-color: var(--light3); + } +} + +html, body { + font-size: 16px; + font-family: "Cantarell", -apple-system, BlinkMacSystemFont, "Helvetica", sans-serif; +} + +@media (min-width: 700px) { + html, body { + font-size: 18px; + } +} + +a.linkdiv:hover { + background-color: rgba(53,132,228, 0.1); +} + +a.trail { + color: currentColor; +} + + + +#valent-banner { + padding: 2rem 0; + margin-bottom: 1em; + text-align: center; +} + +#valent-banner a { + display: flex; + gap: 0.5rem; + justify-content: center; + align-items: center; + + + padding-right: 2rem; + + font-size: 1.5rem; + font-weight: bold; +} + +#valent-banner a, +#valent-banner a:hover, +#valent-banner a:visited { + border: none; + color: currentColor; + text-decoration: none; +} + +#valent-banner svg { + fill: currentColor; + height: auto; + width: 1em; +} + + +footer { + /* background-color: var(--dark4); */ + background-color: var(--adw-view-bg-dark); + color: white; + padding: 2rem 0; + font-size: 80%; + text-align: center; +} + +footer a { + color: var(--blue2) !important; + text-decoration: none; +} + +footer a:hover { + text-decoration: underline; +} + + + + + +
+ + + + + + + + + + + + + +

+ © + + + +

+
+ + + + +
+ + + + + + + + + + + + diff --git a/meson.build b/meson.build index c434b3664c..d177b57b14 100644 --- a/meson.build +++ b/meson.build @@ -244,6 +244,10 @@ if get_option('documentation') subdir('doc/sdk') endif +if get_option('help') + subdir('help') +endif + if get_option('tests') subdir('tests') endif @@ -260,6 +264,7 @@ gnome.post_install( # summary({ 'Documentation': get_option('documentation'), + 'Help': get_option('help'), 'Introspection': get_option('introspection'), 'VAPI': get_option('vapi'), 'Optimization': get_option('optimization'), diff --git a/meson_options.txt b/meson_options.txt index 3e4e0e0abd..ef166b9604 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -9,6 +9,12 @@ option('documentation', value: false, ) +option('help', + type: 'boolean', + value: true, + description: 'Build help documentation', +) + option('introspection', description: 'Build introspection data', type: 'boolean', diff --git a/po/en.po b/po/en.po index 1570e8b8a7..1d4369b359 100644 --- a/po/en.po +++ b/po/en.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2022-03-28 11:21-0700\n" "Last-Translator: Andy Holmes \n" "Language-Team: English \n" @@ -47,7 +47,7 @@ msgstr "" #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "" @@ -162,7 +162,7 @@ msgid "Request Pairing" msgstr "" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "" @@ -201,7 +201,7 @@ msgid "No Plugins" msgstr "" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "" @@ -257,7 +257,7 @@ msgid "Play" msgstr "" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "" @@ -463,36 +463,41 @@ msgstr "" msgid "Sponsors" msgstr "" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 msgid "Scan for new devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 msgid "Main Menu" msgstr "" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "" @@ -719,7 +724,7 @@ msgid "Lock" msgstr "" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" +msgid "Monitor session activity and lock state" msgstr "" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 @@ -735,11 +740,11 @@ msgid "MPRIS" msgstr "" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +msgid "Share control of media players" msgstr "" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" +msgid "Sync notifications between devices" msgstr "" #: src/plugins/notification/valent-notification-dialog.ui:12 @@ -871,7 +876,7 @@ msgid "Commands" msgstr "" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +msgid "Execute commands on remote devices" msgstr "" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1229,10 +1234,6 @@ msgstr "" msgid "Keyboard Shortcuts" msgstr "" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "" diff --git a/po/es.po b/po/es.po index d9344033d8..97e8a9ee31 100644 --- a/po/es.po +++ b/po/es.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2023-11-09 18:24+0100\n" "Last-Translator: HDavo \n" "Language-Team: Spanish - Spain <>\n" @@ -49,7 +49,7 @@ msgstr "Si la extensión está activada o no" #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "Valent" @@ -171,7 +171,7 @@ msgid "Request Pairing" msgstr "Solicitar Emparejamiento" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "Preferencias" @@ -210,7 +210,7 @@ msgid "No Plugins" msgstr "Sin Plugins" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "Entrada Remota" @@ -266,7 +266,7 @@ msgid "Play" msgstr "Reproducir" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "Control Multimedia" @@ -472,36 +472,41 @@ msgstr "HDavo " msgid "Sponsors" msgstr "Sponsors" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "Actualizar" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 msgid "Scan for new devices" msgstr "Buscar nuevos dispositivos" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 msgid "Main Menu" msgstr "Menú Principal" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "Dispositivos" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "Buscando dispositivos…" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "Lista de dispositivos conocidos y disponibles" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "Ayuda" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "Acerca de Valent" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "Cerrar" @@ -728,8 +733,9 @@ msgid "Lock" msgstr "Bloquear" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" -msgstr "Bloquear y desbloquear" +#, fuzzy +msgid "Monitor session activity and lock state" +msgstr "Monitorizar el estado de la conexión móvil" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 msgid "Mousepad" @@ -744,12 +750,14 @@ msgid "MPRIS" msgstr "MPRIS" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +#, fuzzy +msgid "Share control of media players" msgstr "Compartir el control de los reproductores MPRISv2" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" -msgstr "Sincronizar notificaciones" +#, fuzzy +msgid "Sync notifications between devices" +msgstr "Sincronizar contactos entre dispositivos" #: src/plugins/notification/valent-notification-dialog.ui:12 msgid "Notification" @@ -880,7 +888,8 @@ msgid "Commands" msgstr "Comandos" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +#, fuzzy +msgid "Execute commands on remote devices" msgstr "Ejecutar comandos de forma remota" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1238,10 +1247,6 @@ msgstr "Cambiar Libreta de Direcciones…" msgid "Keyboard Shortcuts" msgstr "Atajos de Teclado" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "Ayuda" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "Volumen del Sistema" @@ -1323,3 +1328,9 @@ msgstr "Portals" #: src/plugins/xdp/xdp.plugin.desktop.in:8 msgid "Integration with desktop portals" msgstr "Integración con desktop portals" + +#~ msgid "Lock and unlock" +#~ msgstr "Bloquear y desbloquear" + +#~ msgid "Sync notifications" +#~ msgstr "Sincronizar notificaciones" diff --git a/po/fr.po b/po/fr.po index 8b931a724e..3d7d96f2ae 100644 --- a/po/fr.po +++ b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2023-03-04 17:28+0100\n" "Last-Translator: Valérie Roux \n" "Language-Team: French \n" @@ -49,7 +49,7 @@ msgstr "Si l'extension est activée ou non" #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "Valent" @@ -173,7 +173,7 @@ msgid "Request Pairing" msgstr "Demande de liaison" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "Paramètres" @@ -214,7 +214,7 @@ msgid "No Plugins" msgstr "Pas d'extensions" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "Télécommande" @@ -274,7 +274,7 @@ msgid "Play" msgstr "Jouer" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "Télécommande média" @@ -482,38 +482,43 @@ msgstr "Valérie Roux " msgid "Sponsors" msgstr "Sponsors" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "Rafraîchir" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 #, fuzzy msgid "Scan for new devices" msgstr "Recherche d'appareils" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 #, fuzzy msgid "Main Menu" msgstr "Nom de l'appareil" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "Appareils" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "Recherche d'appareils" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "Aide" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "À propos de Valent" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "Quitter" @@ -755,8 +760,9 @@ msgid "Lock" msgstr "Verrouiller" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" -msgstr "Verrouiller et déverrouiller" +#, fuzzy +msgid "Monitor session activity and lock state" +msgstr "Synchroniser l'état du réseau" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 msgid "Mousepad" @@ -771,12 +777,14 @@ msgid "MPRIS" msgstr "MPRIS" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +#, fuzzy +msgid "Share control of media players" msgstr "Partager la gestion des lecteurs MPRISv2" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" -msgstr "Synchroniser les notifications" +#, fuzzy +msgid "Sync notifications between devices" +msgstr "Téléverser les contacts vers l'appareil distant." #: src/plugins/notification/valent-notification-dialog.ui:12 msgid "Notification" @@ -914,7 +922,8 @@ msgid "Commands" msgstr "Commandes" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +#, fuzzy +msgid "Execute commands on remote devices" msgstr "Exécuter des commandes à distance" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1288,10 +1297,6 @@ msgstr "Changer le carnet d'adresses..." msgid "Keyboard Shortcuts" msgstr "Raccourcis claviers" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "Aide" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "Volume système" @@ -1377,5 +1382,11 @@ msgstr "Portails" msgid "Integration with desktop portals" msgstr "Intégration avec les portails de bureau" +#~ msgid "Lock and unlock" +#~ msgstr "Verrouiller et déverrouiller" + +#~ msgid "Sync notifications" +#~ msgstr "Synchroniser les notifications" + #~ msgid "Applications" #~ msgstr "Applications" diff --git a/po/it.po b/po/it.po index 19a9289033..07914a1c9a 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2024-03-21 03:05+0100\n" "Last-Translator: Gianni Lerro \n" "Language-Team: Italian <>\n" @@ -47,7 +47,7 @@ msgstr "Se il plugin è abilitato o meno." #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "Valent" @@ -169,7 +169,7 @@ msgid "Request Pairing" msgstr "Richiesta di abbinamento" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "Preferenze" @@ -208,7 +208,7 @@ msgid "No Plugins" msgstr "Nessun plugin" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "Telecomando di ingresso" @@ -264,7 +264,7 @@ msgid "Play" msgstr "Riproduci" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "Telecomando multimediale" @@ -470,36 +470,41 @@ msgstr "crediti-traduttori" msgid "Sponsors" msgstr "Sponsor" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "Aggiorna" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 msgid "Scan for new devices" msgstr "Cerca nuovi dispositivi" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 msgid "Main Menu" msgstr "Menu principale" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "Dispositivi" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "Ricerca dispositivi…" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "Elenco dei dispositivi disponibili e conosciuti" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "Aiuto" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "Informazioni su Valent" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "Esci" @@ -726,8 +731,9 @@ msgid "Lock" msgstr "Blocca" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" -msgstr "Blocca e sblocca" +#, fuzzy +msgid "Monitor session activity and lock state" +msgstr "Monitorare lo stato della connettività mobile" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 msgid "Mousepad" @@ -742,12 +748,14 @@ msgid "MPRIS" msgstr "MPRIS" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +#, fuzzy +msgid "Share control of media players" msgstr "Condividi il controllo dei lettori MPRISv2" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" -msgstr "Sincronizza le notifiche" +#, fuzzy +msgid "Sync notifications between devices" +msgstr "Sincronizza i contatti tra dispositivi" #: src/plugins/notification/valent-notification-dialog.ui:12 msgid "Notification" @@ -878,7 +886,8 @@ msgid "Commands" msgstr "Comandi" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +#, fuzzy +msgid "Execute commands on remote devices" msgstr "Esegui comandi da remoto" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1236,10 +1245,6 @@ msgstr "Cambia rubrica…" msgid "Keyboard Shortcuts" msgstr "Scorciatoie da tastiera" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "Aiuto" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "Volume di systema" @@ -1321,3 +1326,9 @@ msgstr "Portals" #: src/plugins/xdp/xdp.plugin.desktop.in:8 msgid "Integration with desktop portals" msgstr "Integrazione con desktop portals" + +#~ msgid "Lock and unlock" +#~ msgstr "Blocca e sblocca" + +#~ msgid "Sync notifications" +#~ msgstr "Sincronizza le notifiche" diff --git a/po/nl.po b/po/nl.po index 447613a1df..f867dd0b5a 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2022-09-12 19:59+0200\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: Dutch\n" @@ -46,7 +46,7 @@ msgstr "Of de plug-in is ingeschakeld." #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "Valent" @@ -168,7 +168,7 @@ msgid "Request Pairing" msgstr "Koppelverzoek versturen" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "Voorkeuren" @@ -209,7 +209,7 @@ msgid "No Plugins" msgstr "Er zijn geen plug-ins." #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "Afstandsbediening" @@ -267,7 +267,7 @@ msgid "Play" msgstr "" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "" @@ -476,38 +476,43 @@ msgstr "Heimen Stoffels " msgid "Sponsors" msgstr "" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "Herladen" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 #, fuzzy msgid "Scan for new devices" msgstr "Bezig met zoeken naar apparaten…" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 #, fuzzy msgid "Main Menu" msgstr "Apparaatnaam" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "Apparaten" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "Bezig met zoeken naar apparaten…" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "Hulp" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "Over Valent" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "Afsluiten" @@ -749,8 +754,9 @@ msgid "Lock" msgstr "Vergrendelen" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" -msgstr "Vergrendelen en ontgrendelen" +#, fuzzy +msgid "Monitor session activity and lock state" +msgstr "Verbindingsstatus synchroniseren" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 msgid "Mousepad" @@ -765,12 +771,14 @@ msgid "MPRIS" msgstr "MPRIS" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +#, fuzzy +msgid "Share control of media players" msgstr "Bedien met MPRISv2 compatibele mediaspelers" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" -msgstr "Meldingen synchroniseren" +#, fuzzy +msgid "Sync notifications between devices" +msgstr "Verstuur de lijst met contactpersonen naar het externe apparaat." #: src/plugins/notification/valent-notification-dialog.ui:12 msgid "Notification" @@ -908,7 +916,8 @@ msgid "Commands" msgstr "Opdrachten" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +#, fuzzy +msgid "Execute commands on remote devices" msgstr "Voer externe opdrachten uit" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1286,10 +1295,6 @@ msgstr "Adresboek wijzigen…" msgid "Keyboard Shortcuts" msgstr "Sneltoetsen" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "Hulp" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "Systeemvolume" @@ -1376,5 +1381,11 @@ msgstr "Portalen" msgid "Integration with desktop portals" msgstr "Integratie met bureaubladportalen" +#~ msgid "Lock and unlock" +#~ msgstr "Vergrendelen en ontgrendelen" + +#~ msgid "Sync notifications" +#~ msgstr "Meldingen synchroniseren" + #~ msgid "Applications" #~ msgstr "Toepassingen" diff --git a/po/pt_BR.po b/po/pt_BR.po index 2b087623d7..6bbb9583c2 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2023-10-29 00:44-0300\n" "Last-Translator: Victor L. Pavan \n" "Language-Team: Brazilian Portuguese \n" @@ -49,7 +49,7 @@ msgstr "Se o plugin está habilitado ou não" #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "Valent" @@ -172,7 +172,7 @@ msgid "Request Pairing" msgstr "Requisitar Pareamento" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "Preferências" @@ -211,7 +211,7 @@ msgid "No Plugins" msgstr "Sem Plugins" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "Entrada Remota" @@ -267,7 +267,7 @@ msgid "Play" msgstr "Reproduzir" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "Mídia Remota" @@ -473,36 +473,41 @@ msgstr "Victor L. Pavan " msgid "Sponsors" msgstr "Patrocinadores" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "Atualizar" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 msgid "Scan for new devices" msgstr "Procurar dispositivos" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 msgid "Main Menu" msgstr "Menu Principal" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "Dispositivos" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "Procurando dispositivos..." -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "Lista de dispositivos disponiveis ou lembrados" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "Ajuda" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "Sobre o Valent" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "Sair" @@ -729,8 +734,9 @@ msgid "Lock" msgstr "Bloquear" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" -msgstr "Bloquear e desbloquear" +#, fuzzy +msgid "Monitor session activity and lock state" +msgstr "Monitore o status da rede móvel" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 msgid "Mousepad" @@ -745,12 +751,14 @@ msgid "MPRIS" msgstr "MPRIS" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +#, fuzzy +msgid "Share control of media players" msgstr "Compartilhe o controle de tocadores MPRISv2" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" -msgstr "Sincronizar notificações" +#, fuzzy +msgid "Sync notifications between devices" +msgstr "Sincronizar contatos entre os dispositivos" #: src/plugins/notification/valent-notification-dialog.ui:12 msgid "Notification" @@ -881,7 +889,8 @@ msgid "Commands" msgstr "Comandos" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +#, fuzzy +msgid "Execute commands on remote devices" msgstr "Executar comandos remotamente" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1239,10 +1248,6 @@ msgstr "Trocar Lista de Contatos" msgid "Keyboard Shortcuts" msgstr "Atalhos do Teclado" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "Ajuda" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "Volume do Sistema" @@ -1324,3 +1329,9 @@ msgstr "Portais" #: src/plugins/xdp/xdp.plugin.desktop.in:8 msgid "Integration with desktop portals" msgstr "Integração com portais da área de trabalho" + +#~ msgid "Lock and unlock" +#~ msgstr "Bloquear e desbloquear" + +#~ msgid "Sync notifications" +#~ msgstr "Sincronizar notificações" diff --git a/po/valent.pot b/po/valent.pot index 150c955b80..2c74e707b5 100644 --- a/po/valent.pot +++ b/po/valent.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,7 +47,7 @@ msgstr "" #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "" @@ -162,7 +162,7 @@ msgid "Request Pairing" msgstr "" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "" @@ -201,7 +201,7 @@ msgid "No Plugins" msgstr "" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "" @@ -257,7 +257,7 @@ msgid "Play" msgstr "" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "" @@ -463,36 +463,41 @@ msgstr "" msgid "Sponsors" msgstr "" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 msgid "Scan for new devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 msgid "Main Menu" msgstr "" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "" @@ -719,7 +724,7 @@ msgid "Lock" msgstr "" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" +msgid "Monitor session activity and lock state" msgstr "" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 @@ -735,11 +740,11 @@ msgid "MPRIS" msgstr "" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +msgid "Share control of media players" msgstr "" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" +msgid "Sync notifications between devices" msgstr "" #: src/plugins/notification/valent-notification-dialog.ui:12 @@ -871,7 +876,7 @@ msgid "Commands" msgstr "" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +msgid "Execute commands on remote devices" msgstr "" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1229,10 +1234,6 @@ msgstr "" msgid "Keyboard Shortcuts" msgstr "" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index 932f2e2e9b..1b1da39fd9 100755 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: valent\n" "Report-Msgid-Bugs-To: https://github.com/andyholmes/valent/issues\n" -"POT-Creation-Date: 2024-04-09 22:12-0700\n" +"POT-Creation-Date: 2024-04-09 22:39-0700\n" "PO-Revision-Date: 2023-07-03 19:05+0800\n" "Last-Translator: sky96111 \n" "Language-Team: Chinese Simplified\n" @@ -47,7 +47,7 @@ msgstr "插件是否已启用。" #: data/ca.andyholmes.Valent.desktop.in.in:3 #: src/libvalent/ui/valent-preferences-dialog.ui:11 #: src/libvalent/ui/valent-window.c:295 src/libvalent/ui/valent-window.ui:8 -#: src/libvalent/ui/valent-window.ui:45 +#: src/libvalent/ui/valent-window.ui:51 msgid "Valent" msgstr "" @@ -165,7 +165,7 @@ msgid "Request Pairing" msgstr "请求配对" #: src/libvalent/ui/valent-device-page.ui:250 -#: src/libvalent/ui/valent-window.ui:134 +#: src/libvalent/ui/valent-window.ui:140 msgid "Preferences" msgstr "首选项" @@ -206,7 +206,7 @@ msgid "No Plugins" msgstr "无插件" #: src/libvalent/ui/valent-input-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:124 +#: src/libvalent/ui/valent-window.ui:130 msgid "Input Remote" msgstr "远程输入" @@ -263,7 +263,7 @@ msgid "Play" msgstr "播放" #: src/libvalent/ui/valent-media-remote.ui:8 -#: src/libvalent/ui/valent-window.ui:128 +#: src/libvalent/ui/valent-window.ui:134 msgid "Media Remote" msgstr "远程媒体控制" @@ -470,37 +470,42 @@ msgstr "sky96111" msgid "Sponsors" msgstr "赞助者" -#: src/libvalent/ui/valent-window.ui:56 +#: src/libvalent/ui/valent-window.ui:62 msgid "Refresh" msgstr "刷新" -#: src/libvalent/ui/valent-window.ui:57 +#: src/libvalent/ui/valent-window.ui:63 #, fuzzy msgid "Scan for new devices" msgstr "正在搜索设备…" -#: src/libvalent/ui/valent-window.ui:68 src/plugins/sms/valent-sms-window.ui:73 +#: src/libvalent/ui/valent-window.ui:74 src/plugins/sms/valent-sms-window.ui:73 msgid "Main Menu" msgstr "主菜单" -#: src/libvalent/ui/valent-window.ui:86 src/libvalent/ui/valent-window.ui:101 +#: src/libvalent/ui/valent-window.ui:92 src/libvalent/ui/valent-window.ui:107 #: src/plugins/share/valent-share-target-chooser.ui:68 msgid "Devices" msgstr "设备" -#: src/libvalent/ui/valent-window.ui:94 +#: src/libvalent/ui/valent-window.ui:100 msgid "Searching for devices…" msgstr "正在搜索设备…" -#: src/libvalent/ui/valent-window.ui:102 +#: src/libvalent/ui/valent-window.ui:108 msgid "List of available and known devices" msgstr "" -#: src/libvalent/ui/valent-window.ui:138 +#: src/libvalent/ui/valent-window.ui:144 +#: src/plugins/sms/valent-sms-window.ui:265 +msgid "Help" +msgstr "帮助" + +#: src/libvalent/ui/valent-window.ui:148 msgid "About Valent" msgstr "关于" -#: src/libvalent/ui/valent-window.ui:144 +#: src/libvalent/ui/valent-window.ui:154 msgid "Quit" msgstr "退出" @@ -727,8 +732,9 @@ msgid "Lock" msgstr "锁定" #: src/plugins/lock/lock.plugin.desktop.in:8 -msgid "Lock and unlock" -msgstr "锁定与解锁" +#, fuzzy +msgid "Monitor session activity and lock state" +msgstr "监测手机信号状态" #: src/plugins/mousepad/mousepad.plugin.desktop.in:7 msgid "Mousepad" @@ -743,12 +749,14 @@ msgid "MPRIS" msgstr "MPRIS" #: src/plugins/mpris/mpris.plugin.desktop.in:8 -msgid "Share control of MPRISv2 players" +#, fuzzy +msgid "Share control of media players" msgstr "共享 MPRISv2 播放器的控制权" #: src/plugins/notification/notification.plugin.desktop.in:8 -msgid "Sync notifications" -msgstr "同步通知" +#, fuzzy +msgid "Sync notifications between devices" +msgstr "在设备间同步联系人" #: src/plugins/notification/valent-notification-dialog.ui:12 msgid "Notification" @@ -880,7 +888,8 @@ msgid "Commands" msgstr "命令" #: src/plugins/runcommand/runcommand.plugin.desktop.in:8 -msgid "Execute commands remotely" +#, fuzzy +msgid "Execute commands on remote devices" msgstr "远程设备执行命令" #: src/plugins/runcommand/valent-runcommand-editor.ui:8 @@ -1232,10 +1241,6 @@ msgstr "更改通讯录..." msgid "Keyboard Shortcuts" msgstr "键盘快捷键" -#: src/plugins/sms/valent-sms-window.ui:265 -msgid "Help" -msgstr "帮助" - #: src/plugins/systemvolume/systemvolume.plugin.desktop.in:7 msgid "System Volume" msgstr "系统音量" @@ -1319,5 +1324,11 @@ msgstr "桌面环境" msgid "Integration with desktop portals" msgstr "与桌面环境集成" +#~ msgid "Lock and unlock" +#~ msgstr "锁定与解锁" + +#~ msgid "Sync notifications" +#~ msgstr "同步通知" + #~ msgid "Applications" #~ msgstr "应用" diff --git a/src/libvalent/ui/valent-window.c b/src/libvalent/ui/valent-window.c index 5f1dfb1ba6..8880f66d27 100644 --- a/src/libvalent/ui/valent-window.c +++ b/src/libvalent/ui/valent-window.c @@ -354,6 +354,21 @@ page_action (GtkWidget *widget, } } +static void +help_action (GtkWidget *widget, + const char *action_name, + GVariant *parameter) +{ + GtkWindow *window = GTK_WINDOW (widget); + + g_assert (GTK_IS_WINDOW (window)); + + /* GtkUriLauncher may try to open the URI outside of the sandbox */ + G_GNUC_BEGIN_IGNORE_DEPRECATIONS + gtk_show_uri (window, "help:valent", GDK_CURRENT_TIME); + G_GNUC_END_IGNORE_DEPRECATIONS +} + static void preferences_action (GtkWidget *widget, const char *action_name, @@ -520,6 +535,7 @@ valent_window_class_init (ValentWindowClass *klass) gtk_widget_class_bind_template_child (widget_class, ValentWindow, device_list); gtk_widget_class_install_action (widget_class, "win.about", NULL, about_action); + gtk_widget_class_install_action (widget_class, "win.help", NULL, help_action); gtk_widget_class_install_action (widget_class, "win.page", "s", page_action); gtk_widget_class_install_action (widget_class, "win.preferences", NULL, preferences_action); gtk_widget_class_install_action (widget_class, "win.refresh", NULL, refresh_action); diff --git a/src/libvalent/ui/valent-window.ui b/src/libvalent/ui/valent-window.ui index 3c4d95fcf7..f693759d59 100644 --- a/src/libvalent/ui/valent-window.ui +++ b/src/libvalent/ui/valent-window.ui @@ -11,6 +11,12 @@ global + + + F1 + action(win.help) + + <Control>comma @@ -134,6 +140,10 @@ Preferences win.preferences + + Help + win.help + About Valent win.about diff --git a/src/plugins/battery/battery.plugin.desktop.in b/src/plugins/battery/battery.plugin.desktop.in index 0f4748eb90..44463ccf1a 100644 --- a/src/plugins/battery/battery.plugin.desktop.in +++ b/src/plugins/battery/battery.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-battery X-DevicePluginCategory=System;Monitor; X-DevicePluginIncoming=kdeconnect.battery X-DevicePluginOutgoing=kdeconnect.battery diff --git a/src/plugins/bluez/bluez.plugin.desktop.in b/src/plugins/bluez/bluez.plugin.desktop.in index 1f4e0abdb3..de50babf24 100644 --- a/src/plugins/bluez/bluez.plugin.desktop.in +++ b/src/plugins/bluez/bluez.plugin.desktop.in @@ -12,4 +12,4 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/adapter-bluez diff --git a/src/plugins/clipboard/clipboard.plugin.desktop.in b/src/plugins/clipboard/clipboard.plugin.desktop.in index 89873a1648..9a44c659ee 100644 --- a/src/plugins/clipboard/clipboard.plugin.desktop.in +++ b/src/plugins/clipboard/clipboard.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-clipboard X-DevicePluginCategory=Network;RemoteAccess; X-DevicePluginIncoming=kdeconnect.clipboard;kdeconnect.clipboard.connect X-DevicePluginOutgoing=kdeconnect.clipboard;kdeconnect.clipboard.connect diff --git a/src/plugins/connectivity_report/connectivity_report.plugin.desktop.in b/src/plugins/connectivity_report/connectivity_report.plugin.desktop.in index 560ce878eb..241e8547c1 100644 --- a/src/plugins/connectivity_report/connectivity_report.plugin.desktop.in +++ b/src/plugins/connectivity_report/connectivity_report.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-connectivity_report X-DevicePluginCategory=System;Monitor; X-DevicePluginIncoming=kdeconnect.connectivity_report X-DevicePluginOutgoing=kdeconnect.connectivity_report diff --git a/src/plugins/contacts/contacts.plugin.desktop.in b/src/plugins/contacts/contacts.plugin.desktop.in index 883e49facc..7920011898 100644 --- a/src/plugins/contacts/contacts.plugin.desktop.in +++ b/src/plugins/contacts/contacts.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-contacts X-DevicePluginCategory=Network;RemoteAccess; X-DevicePluginIncoming=kdeconnect.contacts.request_all_uids_timestamps;kdeconnect.contacts.request_vcards_by_uid;kdeconnect.contacts.response_uids_timestamps;kdeconnect.contacts.response_vcards X-DevicePluginOutgoing=kdeconnect.contacts.request_all_uids_timestamps;kdeconnect.contacts.request_vcards_by_uid;kdeconnect.contacts.response_uids_timestamps;kdeconnect.contacts.response_vcards diff --git a/src/plugins/eds/eds.plugin.desktop.in b/src/plugins/eds/eds.plugin.desktop.in index af9ffc83a8..1f1b83069c 100644 --- a/src/plugins/eds/eds.plugin.desktop.in +++ b/src/plugins/eds/eds.plugin.desktop.in @@ -12,5 +12,5 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/adapter-eds diff --git a/src/plugins/fdo/fdo.plugin.desktop.in b/src/plugins/fdo/fdo.plugin.desktop.in index 02a9161571..3d2b94c17a 100644 --- a/src/plugins/fdo/fdo.plugin.desktop.in +++ b/src/plugins/fdo/fdo.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/adapter-fdo X-NotificationsAdapterPriority=100 X-SessionAdapterPriority=100 diff --git a/src/plugins/findmyphone/findmyphone.plugin.desktop.in b/src/plugins/findmyphone/findmyphone.plugin.desktop.in index 8e9a7772dd..659a8bd4cc 100644 --- a/src/plugins/findmyphone/findmyphone.plugin.desktop.in +++ b/src/plugins/findmyphone/findmyphone.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-findmyphone X-DevicePluginIncoming=kdeconnect.findmyphone.request X-DevicePluginOutgoing=kdeconnect.findmyphone.request diff --git a/src/plugins/gnome/gnome.plugin.desktop.in b/src/plugins/gnome/gnome.plugin.desktop.in index 76c758822c..611a1cafe9 100644 --- a/src/plugins/gnome/gnome.plugin.desktop.in +++ b/src/plugins/gnome/gnome.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/adapter-gnome X-ClipboardAdapterPriority=25 X-InputAdapterPriority=25 diff --git a/src/plugins/gtk/gtk.plugin.desktop.in b/src/plugins/gtk/gtk.plugin.desktop.in index 8fea059e00..e0ab24aa8e 100644 --- a/src/plugins/gtk/gtk.plugin.desktop.in +++ b/src/plugins/gtk/gtk.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/adapter-gtk X-ClipboardAdapterPriority=100 X-NotificationsAdapterPriority=100 diff --git a/src/plugins/lan/lan.plugin.desktop.in b/src/plugins/lan/lan.plugin.desktop.in index d4e2ad7111..c549058056 100644 --- a/src/plugins/lan/lan.plugin.desktop.in +++ b/src/plugins/lan/lan.plugin.desktop.in @@ -12,4 +12,4 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/adapter-lan diff --git a/src/plugins/lock/lock.plugin.desktop.in b/src/plugins/lock/lock.plugin.desktop.in index c9237f58fd..64f8b743b7 100644 --- a/src/plugins/lock/lock.plugin.desktop.in +++ b/src/plugins/lock/lock.plugin.desktop.in @@ -4,7 +4,7 @@ [Plugin] Module=lock Name=Lock -Description=Lock and unlock +Description=Monitor session activity and lock state Icon=valent-lock-plugin-symbolic Builtin=true Embedded=valent_lock_plugin_register_types @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-lock X-DevicePluginIncoming=kdeconnect.lock;kdeconnect.lock.request X-DevicePluginOutgoing=kdeconnect.lock;kdeconnect.lock.request diff --git a/src/plugins/mousepad/mousepad.plugin.desktop.in b/src/plugins/mousepad/mousepad.plugin.desktop.in index da0514cc01..1f5b6141e2 100644 --- a/src/plugins/mousepad/mousepad.plugin.desktop.in +++ b/src/plugins/mousepad/mousepad.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-mouespad X-DevicePluginIncoming=kdeconnect.mousepad.echo;kdeconnect.mousepad.request;kdeconnect.mousepad.keyboardstate X-DevicePluginOutgoing=kdeconnect.mousepad.echo;kdeconnect.mousepad.request;kdeconnect.mousepad.keyboardstate diff --git a/src/plugins/mpris/mpris.plugin.desktop.in b/src/plugins/mpris/mpris.plugin.desktop.in index 048b986743..aa2a940d68 100644 --- a/src/plugins/mpris/mpris.plugin.desktop.in +++ b/src/plugins/mpris/mpris.plugin.desktop.in @@ -4,7 +4,7 @@ [Plugin] Module=mpris Name=MPRIS -Description=Share control of MPRISv2 players +Description=Share control of media players Icon=valent-mpris-plugin-symbolic Builtin=true Embedded=valent_mpris_plugin_register_types @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-mpris X-DevicePluginIncoming=kdeconnect.mpris;kdeconnect.mpris.request X-DevicePluginOutgoing=kdeconnect.mpris;kdeconnect.mpris.request diff --git a/src/plugins/notification/notification.plugin.desktop.in b/src/plugins/notification/notification.plugin.desktop.in index 1155020feb..ee51fb6fd4 100644 --- a/src/plugins/notification/notification.plugin.desktop.in +++ b/src/plugins/notification/notification.plugin.desktop.in @@ -4,7 +4,7 @@ [Plugin] Module=notification Name=Notifications -Description=Sync notifications +Description=Sync notifications between devices Icon=valent-notification-plugin-symbolic Builtin=true Embedded=valent_notification_plugin_register_types @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-notification X-DevicePluginCategory=Network;RemoteAccess; X-DevicePluginIncoming=kdeconnect.notification;kdeconnect.notification.request X-DevicePluginOutgoing=kdeconnect.notification;kdeconnect.notification.action;kdeconnect.notification.reply;kdeconnect.notification.request diff --git a/src/plugins/ping/ping.plugin.desktop.in b/src/plugins/ping/ping.plugin.desktop.in index 6bf27eb4a9..3c0ae3543c 100644 --- a/src/plugins/ping/ping.plugin.desktop.in +++ b/src/plugins/ping/ping.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-ping X-DevicePluginIncoming=kdeconnect.ping X-DevicePluginOutgoing=kdeconnect.ping diff --git a/src/plugins/presenter/presenter.plugin.desktop.in b/src/plugins/presenter/presenter.plugin.desktop.in index 6fa6962f88..537e91da54 100644 --- a/src/plugins/presenter/presenter.plugin.desktop.in +++ b/src/plugins/presenter/presenter.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-presenter X-DevicePluginIncoming=kdeconnect.presenter X-DevicePluginOutgoing=kdeconnect.presenter diff --git a/src/plugins/pulseaudio/pulseaudio.plugin.desktop.in b/src/plugins/pulseaudio/pulseaudio.plugin.desktop.in index 7325a7b56d..fd0ca473c5 100644 --- a/src/plugins/pulseaudio/pulseaudio.plugin.desktop.in +++ b/src/plugins/pulseaudio/pulseaudio.plugin.desktop.in @@ -12,6 +12,6 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-pulseaudio X-MixerAdapterPriority=100 diff --git a/src/plugins/runcommand/runcommand.plugin.desktop.in b/src/plugins/runcommand/runcommand.plugin.desktop.in index 600697f1f7..204f3f7321 100644 --- a/src/plugins/runcommand/runcommand.plugin.desktop.in +++ b/src/plugins/runcommand/runcommand.plugin.desktop.in @@ -4,7 +4,7 @@ [Plugin] Module=runcommand Name=Commands -Description=Execute commands remotely +Description=Execute commands on remote devices Icon=valent-runcommand-plugin-symbolic Builtin=true Embedded=valent_runcommand_plugin_register_types @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-runcommand X-DevicePluginCategory=Utility; X-DevicePluginIncoming=kdeconnect.runcommand;kdeconnect.runcommand.request X-DevicePluginOutgoing=kdeconnect.runcommand;kdeconnect.runcommand.request diff --git a/src/plugins/sftp/sftp.plugin.desktop.in b/src/plugins/sftp/sftp.plugin.desktop.in index 9aadefedab..60a522ca42 100644 --- a/src/plugins/sftp/sftp.plugin.desktop.in +++ b/src/plugins/sftp/sftp.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-sftp X-DevicePluginCategory=Network;FileTransfer; X-DevicePluginIncoming=kdeconnect.sftp;kdeconnect.sftp.request X-DevicePluginOutgoing=kdeconnect.sftp;kdeconnect.sftp.request diff --git a/src/plugins/share/share.plugin.desktop.in b/src/plugins/share/share.plugin.desktop.in index a7bdca50cb..cd490806a5 100644 --- a/src/plugins/share/share.plugin.desktop.in +++ b/src/plugins/share/share.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-share X-DevicePluginCategory=Utility;Other; X-DevicePluginIncoming=kdeconnect.share.request;kdeconnect.share.request.update X-DevicePluginOutgoing=kdeconnect.share.request;kdeconnect.share.request.update diff --git a/src/plugins/sms/sms.plugin.desktop.in b/src/plugins/sms/sms.plugin.desktop.in index b0df81d8c5..27bf4627df 100644 --- a/src/plugins/sms/sms.plugin.desktop.in +++ b/src/plugins/sms/sms.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-sms X-DevicePluginIncoming=kdeconnect.sms.messages X-DevicePluginOutgoing=kdeconnect.sms.request;kdeconnect.sms.request_conversation;kdeconnect.sms.request_conversations diff --git a/src/plugins/systemvolume/systemvolume.plugin.desktop.in b/src/plugins/systemvolume/systemvolume.plugin.desktop.in index f27881e7e5..0e21395c14 100644 --- a/src/plugins/systemvolume/systemvolume.plugin.desktop.in +++ b/src/plugins/systemvolume/systemvolume.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-systemvolume X-DevicePluginCategory=AudioVideo;Mixer; X-DevicePluginIncoming=kdeconnect.systemvolume.request X-DevicePluginOutgoing=kdeconnect.systemvolume diff --git a/src/plugins/telephony/telephony.plugin.desktop.in b/src/plugins/telephony/telephony.plugin.desktop.in index 31388e2df8..94146efb22 100644 --- a/src/plugins/telephony/telephony.plugin.desktop.in +++ b/src/plugins/telephony/telephony.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-telephony X-DevicePluginCategory=Network;Telephony; X-DevicePluginIncoming=kdeconnect.telephony X-DevicePluginOutgoing=kdeconnect.telephony.request_mute diff --git a/src/plugins/xdp/xdp.plugin.desktop.in b/src/plugins/xdp/xdp.plugin.desktop.in index 410d13b048..33c1a03e40 100644 --- a/src/plugins/xdp/xdp.plugin.desktop.in +++ b/src/plugins/xdp/xdp.plugin.desktop.in @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-xdp X-InputAdapterPriority=100 X-SessionAdapterPriority=200 diff --git a/tests/fixtures/mock.plugin b/tests/fixtures/mock.plugin index 82a1aa8d92..9ff165580b 100644 --- a/tests/fixtures/mock.plugin +++ b/tests/fixtures/mock.plugin @@ -12,7 +12,7 @@ Authors=Andy Holmes; Copyright=Copyright © Andy Holmes Version=1.0.0.alpha.45 Website=https://valent.andyholmes.ca -Help=https://valent.andyholmes.ca/help +Help=help:valent/plugin-mock X-DevicePluginIncoming=kdeconnect.mock.echo;kdeconnect.mock.transfer X-DevicePluginOutgoing=kdeconnect.mock.echo;kdeconnect.mock.transfer # The mock plugins should be lowest priority diff --git a/tests/meson.build b/tests/meson.build index bdbcdcfae2..eca932eaac 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -88,7 +88,31 @@ test('Validate GSchema files', find_program('glib-compile-schemas'), is_parallel: false, ) +# Help Tests +yelp_check = find_program('yelp-check', required: false) + +if yelp_check.found() + help_path = join_paths(meson.project_source_root(), 'help', 'C') + help_tests = [ + # See: https://gitlab.gnome.org/GNOME/yelp-tools/-/merge_requests/11 + # 'hrefs', + 'ids', + 'links', + 'media', + 'orphans', + 'validate', + ] + + foreach test : help_tests + test('yelp-check @0@'.format(test), yelp_check, + args: [test, help_path], + suite: ['help'], + ) + endforeach +endif + +# Uninstalled Tests subdir('fixtures') subdir('libvalent') subdir('plugins')