1
0
mirror of https://github.com/dguglielmi/sunny-overlay.git synced 2025-12-06 07:22:38 +01:00

app-misc/piper: bump to 0.2.901, clean old patches

This commit is contained in:
2018-07-17 12:21:19 +02:00
parent ebac96c1b6
commit 9ab650496e
28 changed files with 36 additions and 3451 deletions

View File

@@ -1,28 +1,3 @@
AUX piper-0.2.900-add-hr.po.patch 12922 BLAKE2B 7894438a852ad77b58a83af5606e2bf519698e8065b2f1284645ccced442065d3aa2ac3df883d4f3b8903866cab94a8226dccaebb83147bc49d6631d4f566a1e SHA512 ca7a0a219fb89ced4fb46a758307aa24a4466e5314a3a8155a028c05797540135e01c8c04010050b4fd3e1f81eaa2ff74af94d6cbb9ee10fad46e7213699b5d9
AUX piper-0.2.900-add-sv-l10n.patch 12883 BLAKE2B a9b1adf37d6a937b41327a925594fead60f102b4a5e60e17c95211c58046e34916c16cb697a6c42e8958aaf422513545fea867ad5725de6177bc7c216b228d6f SHA512 0a5c8ffd6f5f8acf03294123e205c103c9dd8a81ae32e85f26a1a9b624a7d258674ac407eb8d646caf11501152ebafab815a9842d675855b3554165c28670386
AUX piper-0.2.900-buttondialog-correctly-re-initialize-the-current-mac.patch 1089 BLAKE2B 54f07143adefbf22f7e9bab88649be09c8098ef0259ac90e6169292259d57edf9b8218c4996999f044035dc69107b8d8e3acaa6c94976d8806958c4f1dc96650 SHA512 53ad7fdbf9d54f77d3ef15727bbedd0222915058584e06eb7adf2d3470b6bd2d0171f9028bf8038c7d4e3b20ccc77a7a4cac6a30316bdb1f1a1bae765ee39fea
AUX piper-0.2.900-devicerow-don-t-overwrite-device-with-the-svg.patch 1636 BLAKE2B f3cb448a203532c6cc08f45003898bac5aa3b094a3feeef26bd391920400d9df1c5a3dfc8919cb578d25df6dd84e247a6ae2e20730d2f0152f40f2959974b17b SHA512 d9f5ead3f9c2a0a4855bd0518136b8e4108fb6cec34ec14f72410f400dcf3c1d1c0f48d70c71c828807d241fae590b8ac106ff1678cfcbb23531fc3ccb6d774a
AUX piper-0.2.900-do-not-generate-icon-cache-when-destdir-is-set.patch 1365 BLAKE2B 4b4fbedbec00ebfd8ed6bfbac22acf972c362156d9643e644b5db29feda5260cba0e58e6831af79333b96b1914c5435b5991840673895d181ef724e5be9176fb SHA512 7432e1f3d7de9683aef400ec41df309058afa6c83cb4dcb3cec20b2079906b963d7bff5902b376788964189c726221154a938fd8bdaa7da8f94757c72256c0c7
AUX piper-0.2.900-hide-led-modes-that-are-not-supported.patch 942 BLAKE2B e41ad82f13370d56d388a618cf159afadc1cef048d58412b1be28773f32d17fda4c0f789b8d0a21aa747fedfd759dfdca20a326f9db8ed1f70a8fa8d3a380150 SHA512 f119768b19457b4fd5137520f4ea92adb38d8c6482cae1c1c00e08473816532705b47482f7663c78f9af8a5c19c317b5aeaabed4a7a665cf4e4fcec8e7211801
AUX piper-0.2.900-led-add-an-image-for-the-led-off-page.patch 51142 BLAKE2B a7a6c74be17d570c19318a26a3bb98c58be83ead9eb10d8fbed1820c6e86f5743166fec8085a6daafd36eb43b1516987112216e4d1143fdf430e6dbb6c9de973 SHA512 989a11030601df692d0cf586162113ab1eaf56e6446a93342c9da93f94119b0998cb699670262b27dcad1a6fd271832803f48ae76ef37da5407dd7e58ce0ad32
AUX piper-0.2.900-leddialog-use-new-effect-duration-in-ms.patch 9024 BLAKE2B a52fb5270f551fa87f2b9d128b8dcb89dd6bdc44b2faad6815501a70d0e78351121d50ac04442923bfb533b96c627c71e193de917277d557e37bd080dd8fd150 SHA512 3cde7cc8174dcf63652aae21e3d5dcff1b4e0bfcbd613d0aed61c8ceb55cc569a196dd4a128a61a0d95ae824f152d0bf413c7746ccdd004da8418f0bb00f620d
AUX piper-0.2.900-mousemap-if-the-old-highlight-is-none-don-t-try-to-r.patch 1136 BLAKE2B 582810ff47abae0a98e2e55105944ec9df12dd8707cbc2e06b9257f3739baeaedd04aad01c8cf5ff4c804febc06e6cc302e80b1f68a1bcaf040634f0cb161437 SHA512 69d29697a0076b65d62297603d742f545f028d97d76f8388e19bd7d429fccfbdcb10a37c423e3a4d19218a7b8de69e731df69fb0bea3526621e8f86d0eb8b74c
AUX piper-0.2.900-mousemap-redraw-on-allocate.patch 1217 BLAKE2B c8eb313de706279e092df132368d79bd2b4049e0c0ee92c954a8d83df9f41196c7d1b11c66cd3ed6cbd33d5a1317d5a36b077299a25c83d8bbba2dde7ffa309b SHA512 fc83aaf259cdfb357d83a95917a2cb3de691f7def43871513d49dfebe0ba2da63ac5bbd12d524a6cd4de9f36272b2c1cd449c33b747ef8274ff739f36a85ff17
AUX piper-0.2.900-piper-ratbagd.py-sync-with-libratbag.patch 1653 BLAKE2B e9d284058977cd31d44f26337b7a71fd957b660f0f190205ef7e3480188034b1d0d8652feb77fcd05cab6caa67071e93b029114cc39a2b18749d2ad5931cc513 SHA512 f5a0597f6993d2ffc585c3af3dd5305f546b51e051258062b4692918641982c351c10b6d46204969476e3c9b86ec368c13491dadc813372f15236b34da0cafc3
AUX piper-0.2.900-ratbagd-sync-with-libratbag.patch 1711 BLAKE2B 6b523d65987349c7e105544072bd0ef48a06d5882d6196a739813c0d2e4965cf3dd353dd1400b053ba3805a524cb475be3cc79d16071192f4d98beecf600fef7 SHA512 bb07bd27077dacd839dcfd451e3de0116a474adc58aee0987c2ab52d4d37cccce646a66c6f56602a21675b7e60aa5f1420717c5221e4e4a466741bf09f496c7f
AUX piper-0.2.900-ratbagd-sync-with-libratbag.patch-1.patch 1056 BLAKE2B 96cc4a743a98521731e0d052f722b0a5fbd315cc927e95292bc9c871e5aeac14b61fec7bb96ea9c002893ea127983dd5e9537892b9972f21816b958a9f98ff47 SHA512 84e3f60c4ce6decf32c26e05da09d1583af585c388181f49dbbc3025b933a89b70fbbe4ec0456f02b7d91ec1b87e7eabd5dbdcc7710dbcf8466f66fc266d4b80
AUX piper-0.2.900-ratbagd-sync-with-libratbag.patch-2.patch 2413 BLAKE2B ebaee3f7a25f26de2620dd14fe42d3d41e304a4965716c53bf752f90d60b67413f6b314fa74ff7ed0455578df8fece5b70514253f7d35d1f5e1ddb68a50ef8ff SHA512 0b1a6c3c47a23084435808307ffe52d3b3f5003af8b7ae4181816680abe4612042d051f4915796f1c5a4cfc4f7eac4f470854756aa6a07be3ae8a05040aa66f2
AUX piper-0.2.900-ratbagd.py-sync-with-libratbag.patch 3292 BLAKE2B be3d794a60723164d03d9ef247290ad1e3e0a5c19ce4feadca45b49c184197112750491263a1dc0341bfcaf96b86e0bf63d7ffb5af6eede86f5b9bc031e0ff9c SHA512 07857f6fa147eb3be2801d5ea9b3f7d2c77179daeead1b889d8cddd6d4ddba4d09cd3b5504051f503b6d32f93f6e70ab0ac1bfa68461d07aa1a92deec7cc0588
AUX piper-0.2.900-ratbagdled-fix-docstring.patch 769 BLAKE2B f4451002d2fa429d26fab64f145a809a853ef4c47dac22554949990c9f3d9d7e70d3be6a4286c8fc768dd48895f35f6579930220cadb2b12cbe406a1bd3cc92d SHA512 81390e4b6321475ecd71c3fc8beaca67a3ce4d4188b98cdf6c68551d25674450f9939e6f762f5cdd1a6c00a4040fab1719223259dea3e9129c5a78e403ec8b00
AUX piper-0.2.900-ratbagdprofile-emit-notify-is-active-from-dbus-prope.patch 2777 BLAKE2B a8566396ca9c033b2bbc71cf5608f75a0241fd2cc4f3812ce0a1fa51e9b71ec8bff3cfce4e148f3f698a32838d34f9c3c131e4d673202b92604f800b4ba69ae9 SHA512 ac3705c875d2bafc8bee82dcafb70e0e39daf3bd16640c362c4fa9481415355611bce6fe9f59667e1d115ce26fc13280d9a4984480bf477b213c9eada221e7d7
AUX piper-0.2.900-ratbagdresolution-cache-the-is_active-property-to-si.patch 1513 BLAKE2B 0ea13eb678e7417a230e7a62be72a7bd1d6b4c63828dcc336b422c016a2d3264ce137c2194b2bdf5c205953041a5b057c7399e1cc30caceaaef7ebf8c49dab8d SHA512 0b747c7cb8434684aada15db7cd791ea8d7f13c82dd2f91b64d5ea2b71926032994a0662bd9bf48782793d690efaa7733428302fe9e4a01d50aefe9ae00c832a
AUX piper-0.2.900-ratbagdresolution-cache-the-is_default-property-to-s.patch 1809 BLAKE2B e9d146167ba615bfe896a9d281825012eca714d19d3bdf021b55410c5154cc5ce33bcafe5dc54635911714c96e8408a2a749239a1c0886eef4d026eb1362f7ed SHA512 3f03276ffd551c9bfdd06fd6ace935c9b97b4d860279634f9a59cf0d52d824974e14005883be2fca6274b6fb3affffa6bcc329392c37d89ef0dfd2eec3717e72
AUX piper-0.2.900-resolutionrow-use-new-ratbagdresolution-api.patch 998 BLAKE2B 679eac9c4d6d82d3947eb349e60da010a99ca750e222dbe77870e64c12e1bbbc9c9ac4960f86c1b58aedcdf4ccd0c59634f027abd82b47d42339fa44f20bf5ac SHA512 3802b9a9667dc0f3c8a57b4eb56cbb465a2570a50848e517b189b8c8e29fb2210af18cc0b3089df5a34bdea54a7043ff0ce7a01d77cc4138cef8c69fbc0154a4
AUX piper-0.2.900-resolutionspage-fix-bad-toggles-of-report-rate.patch 1183 BLAKE2B 26a0d65114d59e704b94c3ecf1c846f178e0b4f6b1028f0846c4421cd4537b32b8c092a08192cdf79b9e4b4113c16d101a75227a7cd013e263f3fee73b2f79c4 SHA512 29fdd5ab96f39a9718f5e2e3e4605a6c5659aaf431434b16f5e8f81e891e9a06bbc50e991bf9472a6a90286cd30da123cb9a12e1604486e2a128441db0f1ab65
AUX piper-0.2.900-resolutionsrow-snap-to-nearest-allowed-resolution-va.patch 2562 BLAKE2B 15c6a232229ae51bb7ed787e10347814658733c6be7fe4246ba33075b4687be7afce4a5ec3e51d2fb150a9dc22d9b3a3df367f9511c336512621643cdad0a9ea SHA512 ec7098f4b982acfff899e5e7003a34ed12457685bbaac0c295252275a56fbc752aa88d5485eb6d81e4286948229a46c020a1314fdcdbcee29a47d425c6e7292a
AUX piper-0.2.900-sync-led-type-from-libratbag.patch 630 BLAKE2B 9db7f156a281b4515d9411cd5ede58c5c72efe3ef6f86b58b3eea6af7fab51f41f49dee9d2b694633168fb26196c2a32286edaab251e1322381270fc260034b3 SHA512 d515002383530cad681a01daeb824be7cef98ae4946cd9eefa3c516ba3aac4510464af51ae4a49b3f1e123a03213850e858e1dee63b0ce99a21326913cda566c
AUX piper-0.2.900-update-hr.po.patch 581 BLAKE2B 177949c2e028f9786e96e47ea813327b798a25a9dd9c910c582787d3faa9d70a3165c854e151553b9bc4c13f0537c5071d837a67aafbfeb5b1a15898326d0d4f SHA512 86eb2a5416580354524289326a2ce744e1e104be4b8bd8ebcfc132d3891a7c77ab58f04a75fa34db3aa09c5dbd155d02fafb01c34d2f2d89abff67ced2f80cc3
AUX piper-0.2.900-update-polish-translation.patch 4850 BLAKE2B ff9c73f2087a4d0acfef9a1a0db771f043334b3d256b8abdb7d5bffaf8762c0ed90d369c2e5598d7c6c17e8133ab31e78871f3a8c76bfcee8217c43949d52ca2 SHA512 152e66b59db41e762442b08a0ff8a8e775bc5ab55430e06d050556f9539d14cd1bdb14e06e4bc66e9f43911ceaf66104bc8035a1b7c99a0af11caeca6f0caa86
DIST piper-0.2.900.tar.gz 60898 BLAKE2B 86795aba0514939f8029d3968a66b73f42d082dcf12d0eee9a2857febeace79314a72bc1b400c33c4eedf9198ddd475e23d915c3c1342ab39c1d838afb57346d SHA512 4967346376afbc95446cdeafac7eee132d66710926dc65e637d2f0939a28afe2588217d8c4406ce52cf81cf33121d3c7e0308873ac5a80539e9c57ead0576354
EBUILD piper-0.2.900.ebuild 2223 BLAKE2B d3b79f6377be731312696e0bdb3746b139319e58ea4cd28ae42a72723622f505a34ad40cd93b8dbfdf269fe167f5544f25301a024741c2967952a2d4a19f945f SHA512 338895d9c8fe6528f3e4a4478d541b70d182277b37c038cc8b024ad8d9b0c055f443036e9900ca3e7a0f627bcad381de7958068184c2e62b32d3d631d5b9089f
DIST piper-0.2.901.tar.gz 71670 BLAKE2B 8a78722c3ee948c81d26f57d83e67bf90c8e7d2e247106546771bcd44e4aed68ec7f41e584a89e7a208cce08ce4642cbc0b6e3248d2372458a4a88a51a2da384 SHA512 79860ac47d962c4af509fe344c6df6a8988904ba4983f4277f0302b245d004fce29da2f1c17718e288a7b7b5ffc18e186f36ddb38ecd85536f2651675f608623
EBUILD piper-0.2.901.ebuild 680 BLAKE2B bbddfba622cdbfbe0d6f97585a10f0c17f36dd9529a761b44ed5ed46ac29df2982b4fdd37b0aa32975ab6d98fabc2d6196c7fed093d7d8b0b13cc431ada7eb50 SHA512 ed9403af606fe97d814dd9f77c4040664dd72c2db20d6241d597d25c301e547ef9344ed7605aada24eaeb6a0869c76a62f5faf8c2a294949b79ae46cf064b50c
MISC metadata.xml 480 BLAKE2B 628471473bfa2fe2e495ef6daad43ab16bff6b2f62554ba987b7fa240efca9f54e4e42783590795c791ffcaf731b18736116152d75af91aa8339f7534ba4dd69 SHA512 1dd51740d531f6aa880af85346ddb0aceba018ba7de7fa4fe665eec9f074400416c48905d4adcd3a834ea2bf953713f0cbcf9ef01d1c507d1177a564085297c2

View File

@@ -1,479 +0,0 @@
From 0fd6dd33dbdb1f856a4715136accd974c3543002 Mon Sep 17 00:00:00 2001
From: muzena <trebelnik2@gmail.com>
Date: Fri, 25 Aug 2017 23:26:38 +0200
Subject: [PATCH 01/30] Add hr.po
---
po/LINGUAS | 1 +
po/hr.po | 449 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 450 insertions(+)
create mode 100644 po/hr.po
diff --git a/po/LINGUAS b/po/LINGUAS
index 4fa9310..62cada8 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,4 +1,5 @@
# Language list must be in alphabetical order
de
+hr
nl
pl
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..afea785
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,449 @@
+# Croatian Piper translation
+# Copyright (C) 2017 Jente Hidskes
+# This file is distributed under the same license as the piper package.
+# gogo <trebelnik2@gmail.com>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: piper\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-25 22:16+0200\n"
+"PO-Revision-Date: 2017-08-25 23:21+0200\n"
+"Language-Team: Croatian <>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.3\n"
+"Last-Translator: gogo <trebelnik2@gmail.com>\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Language: hr\n"
+
+#. Translators: section header for mapping one button's click to another.
+#: piper/buttondialog.py:144
+msgid "Button mapping"
+msgstr "Mapiranje tipki"
+
+#. Translators: section header for assigning special functions to buttons.
+#: piper/buttondialog.py:153
+msgid "Special mapping"
+msgstr "Posebno mapiranje"
+
+#. Translators: the {} will be replaced with the button index, e.g.
+#. "Button 1 click".
+#: piper/buttondialog.py:225 piper/buttonspage.py:84
+msgid "Button {} click"
+msgstr "Tipka {} klik"
+
+#: piper/buttonspage.py:88
+msgid "Macro: {}"
+msgstr "Makro: {}"
+
+#. Translators: the button is turned disabled, e.g. off.
+#: piper/buttonspage.py:91
+msgid "Disabled"
+msgstr "Onemogućeno"
+
+#. Translators: the button has an unknown function.
+#: piper/buttonspage.py:94 piper/ratbagd.py:613
+msgid "Unknown"
+msgstr "Nepoznato"
+
+#: piper/buttonspage.py:102
+msgid "Configure button {}"
+msgstr "Prilagodi tipku {}"
+
+#: piper/mouseperspective.py:86 data/ui/ResolutionsPage.ui:209
+msgid "Resolutions"
+msgstr "Razlučivost"
+
+#: piper/mouseperspective.py:88
+msgid "Buttons"
+msgstr "Tipke"
+
+#: piper/mouseperspective.py:90
+msgid "LEDs"
+msgstr "LED"
+
+#. Translators: the {} will be replaced with the profile index.
+#: piper/mouseperspective.py:94 piper/profilerow.py:42
+msgid "Profile {}"
+msgstr "Profil {}"
+
+#: piper/ratbagd.py:604
+msgid "Left mouse button click"
+msgstr "Lijeva tipka klika miša"
+
+#: piper/ratbagd.py:605
+msgid "Right mouse button click"
+msgstr "Desna tipka klika miša"
+
+#: piper/ratbagd.py:606
+msgid "Middle mouse button click"
+msgstr "Srednja tipka klika miša"
+
+#: piper/ratbagd.py:607
+msgid "Backward"
+msgstr "Natrag"
+
+#: piper/ratbagd.py:608
+msgid "Forward"
+msgstr "Naprijed"
+
+#: piper/ratbagd.py:614
+msgid "Doubleclick"
+msgstr "Dvostruki klik"
+
+#: piper/ratbagd.py:615
+msgid "Wheel Left"
+msgstr "Kotačić lijevo"
+
+#: piper/ratbagd.py:616
+msgid "Wheel Right"
+msgstr "Kotačić desno"
+
+#: piper/ratbagd.py:617
+msgid "Wheel Up"
+msgstr "Kotačić gore"
+
+#: piper/ratbagd.py:618
+msgid "Wheel Down"
+msgstr "Kotačić dolje"
+
+#: piper/ratbagd.py:619
+msgid "Ratchet Mode"
+msgstr "Zaustavljački način"
+
+#: piper/ratbagd.py:620
+msgid "Cycle Resolution Up"
+msgstr "Povećaj kružnu razlučivost"
+
+#: piper/ratbagd.py:621
+msgid "Cycle Resolution Down"
+msgstr "Smanji kružnu razlučivost"
+
+#: piper/ratbagd.py:622
+msgid "Resolution Up"
+msgstr "Povećaj razlučivost"
+
+#: piper/ratbagd.py:623
+msgid "Resolution Down"
+msgstr "Smanji razlučivost"
+
+#: piper/ratbagd.py:624
+msgid "Resolution Switch"
+msgstr "Prebaci razlučivosti"
+
+#: piper/ratbagd.py:625
+msgid "Default Resolution"
+msgstr "Zadana razlučivost"
+
+#: piper/ratbagd.py:626
+msgid "Cycle Profile Up"
+msgstr "Veći kružni profil"
+
+#: piper/ratbagd.py:627
+msgid "Cycle Profile Down"
+msgstr "Manji kružni profil"
+
+#: piper/ratbagd.py:628
+msgid "Profile Up"
+msgstr "Veći profil"
+
+#: piper/ratbagd.py:629
+msgid "Profile Down"
+msgstr "Manji profil"
+
+#: piper/ratbagd.py:630
+msgid "Second Mode"
+msgstr "Pomoćni način"
+
+#: piper/ratbagd.py:631
+msgid "Battery Level"
+msgstr "Razina baterije"
+
+#. Translators: this is used when there is no macro to preview.
+#: piper/ratbagd.py:759 data/ui/ButtonDialog.ui:106 data/ui/ButtonDialog.ui:187
+msgid "None"
+msgstr "Nedodjeljeno"
+
+#. Translators: the LED is off.
+#: piper/ratbagd.py:833 data/ui/LedDialog.ui:391
+msgid "Off"
+msgstr "Isključeno"
+
+#. Translators: the LED has a single, solid color.
+#: piper/ratbagd.py:835 data/ui/LedDialog.ui:66
+msgid "Solid"
+msgstr "Nepromjenjivo"
+
+#. Translators: the LED is cycling between red, green and blue.
+#: piper/ratbagd.py:837 data/ui/LedDialog.ui:188
+msgid "Cycle"
+msgstr "Kružno"
+
+#. Translators: the LED's is pulsating a single color on different
+#. brightnesses.
+#: piper/ratbagd.py:840 data/ui/LedDialog.ui:353
+msgid "Breathing"
+msgstr "Pulsirajuće"
+
+#: piper/window.py:50
+msgid "Cannot connect to ratbagd"
+msgstr "Nemoguće povezivanje sa ratbagdom"
+
+#: piper/window.py:51
+msgid "Please make sure ratbagd is running"
+msgstr "Pobrinite se da je ratbagd pokrenut"
+
+#: piper/window.py:64 piper/window.py:114
+msgid "Cannot find any devices"
+msgstr "Nemoguć pronalazak prikladnih uređaja"
+
+#: piper/window.py:65 piper/window.py:115
+msgid "Please make sure your device is supported and plugged in"
+msgstr "Pobrinite se da je vaš uređaj podržan i priključen"
+
+#: piper/window.py:77
+msgid "There are unapplied changes. Are you sure you want to quit?"
+msgstr "Postoje neprimijenjene promjene. Sigurno želite zatvoriti?"
+
+#. The current device disconnected, which can only happen from the
+#. mouse perspective as we'd otherwise be in the welcome screen with
+#. more than one device remaining. Hence, we display the error
+#. perspective.
+#: piper/window.py:106
+msgid "Your device disconnected!"
+msgstr "Vaš uređaj nije priključen!"
+
+#: piper/window.py:107
+msgid "Please make sure your device is plugged in"
+msgstr "Pobrinite se da je vaš uređaj priključen"
+
+#: piper/window.py:155
+msgid "Cannot display device SVG"
+msgstr "Nemoguć prikaz SVG uređaja"
+
+#: piper/window.py:157
+msgid "Unknown exception occurred"
+msgstr "Dogodila se nepoznata iznimka"
+
+#: data/ui/AboutDialog.ui.in:13
+msgid "Visit Piper's website"
+msgstr "Posjetite Piper web stranicu"
+
+#: data/ui/ButtonDialog.ui:65
+msgid "Search for a button mapping"
+msgstr "Pretraži mapiranje tipki"
+
+#: data/ui/ButtonDialog.ui:91
+msgid "Capture a macro for this button"
+msgstr "Uhvati makro za ovu tipku"
+
+#: data/ui/ButtonDialog.ui:104
+msgid "The currently set macro"
+msgstr "Trenutno postavljeni makro"
+
+#: data/ui/ButtonDialog.ui:129
+msgid "Send keystroke"
+msgstr "Pošalji pritisak tipke"
+
+#: data/ui/ButtonDialog.ui:169
+msgid "Enter a new key sequence for the macro."
+msgstr "Unesi novi slijed tipke za makro."
+
+#: data/ui/ButtonDialog.ui:221
+msgid "Press Escape to cancel or Return to accept."
+msgstr "Pritisni Escape za prekidanje ili Return za prihvaćanje."
+
+#: data/ui/ButtonDialog.ui:252
+msgid "Set the device's handedness."
+msgstr "Postavite za ljevu/desnu ruku uređaja."
+
+#: data/ui/ButtonDialog.ui:270
+msgid ""
+"This allows you to swap the order of the primary mouse buttons. In left-"
+"handed mode, the physical left mouse button generates a right mouse click "
+"and vice versa."
+msgstr ""
+"Ovo vam omogućuje zamjenu poredka glavnih tipka miša. U lijevorukom načinu "
+"rada, fizička lijeva tipka miša generira desni klik miša i obrnuto."
+
+#: data/ui/ButtonDialog.ui:290
+msgid "Left Handed"
+msgstr "Lijevoruko"
+
+#: data/ui/ButtonDialog.ui:295
+msgid "The left mouse button generates a left mouse click"
+msgstr "Lijeva tipka miša generira lijevi klik miša"
+
+#: data/ui/ButtonDialog.ui:309
+msgid "Right Handed"
+msgstr "Desnoruko"
+
+#: data/ui/ButtonDialog.ui:314
+msgid "The left mouse button generates a right mouse click"
+msgstr "Lijeva tipka miša generira desni klik miša"
+
+#: data/ui/ButtonDialog.ui:354 data/ui/LedDialog.ui:410
+msgid "Cancel"
+msgstr "Odustani"
+
+#: data/ui/ButtonDialog.ui:356 data/ui/LedDialog.ui:414
+msgid "Ignore any changes made"
+msgstr "Zanemari sve napravljene promjene"
+
+#: data/ui/ButtonDialog.ui:362 data/ui/LedDialog.ui:426
+#: data/ui/MousePerspective.ui:133
+msgid "Apply"
+msgstr "Primjeni"
+
+#: data/ui/ButtonDialog.ui:365 data/ui/LedDialog.ui:431
+msgid "Apply any changes made"
+msgstr "Primijeni sve napravljene promjene"
+
+#: data/ui/ButtonDialog.ui:405
+msgid "No button mapping found"
+msgstr "Nema pronađenih mapiranja tipki"
+
+#: data/ui/ButtonDialog.ui:421
+msgid "Try a different search"
+msgstr "Pokušajte drugačiju pretragu"
+
+#: data/ui/ErrorPerspective.ui:16
+msgid "Here, rodent, rodent, rodent..."
+msgstr "Ovdje, glodavac, glodavac, glodavac..."
+
+#: data/ui/ErrorPerspective.ui:69
+msgid "Uh Oh! Something went wrong..."
+msgstr "Ups! Nešto je pošlo po krivu..."
+
+#: data/ui/ErrorPerspective.ui:73 data/ui/WelcomePerspective.ui:123
+msgid "Quit"
+msgstr "Zatvori"
+
+#: data/ui/LedDialog.ui:58 data/ui/LedDialog.ui:208
+msgid "Choose a color for the LED"
+msgstr "Odaberi boju za LED"
+
+#: data/ui/LedDialog.ui:90 data/ui/LedDialog.ui:256
+msgid "Choose a brightness for the LED"
+msgstr "Odaberi svjetlinu za LED"
+
+#: data/ui/LedDialog.ui:104 data/ui/LedDialog.ui:269
+msgid "Brightness"
+msgstr "Svjetlina"
+
+#: data/ui/LedDialog.ui:135 data/ui/LedDialog.ui:300
+msgid "Choose an effect rate for the LED"
+msgstr "Odaberi frekvenciju efekta za LED"
+
+#: data/ui/LedDialog.ui:152 data/ui/LedDialog.ui:317
+#: data/ui/ResolutionsPage.ui:105
+msgid "Hz"
+msgstr "Hz"
+
+#: data/ui/LedDialog.ui:174 data/ui/LedDialog.ui:339
+msgid "Effect rate"
+msgstr "Frekvencija efekta"
+
+#: data/ui/LedDialog.ui:211
+msgid "Pick a Color for the LED"
+msgstr "Odaberi boju za LED"
+
+#: data/ui/LedDialog.ui:225
+msgid "Color"
+msgstr "Boja"
+
+#: data/ui/LedDialog.ui:378
+msgid "This LED is off"
+msgstr "Ovaj LED je isključen"
+
+#: data/ui/Menus.ui:7
+msgid "_About"
+msgstr "_O programu"
+
+#: data/ui/Menus.ui:11
+msgid "_Quit"
+msgstr "_Zatvori"
+
+#: data/ui/MousePerspective.ui:44
+msgid "Failed to commit changes to the device"
+msgstr "Neuspješno primijenjivanje promjena na uređaju"
+
+#: data/ui/MousePerspective.ui:102
+msgid "Select another profile"
+msgstr "Odaberi drugi profil"
+
+#: data/ui/MousePerspective.ui:127
+msgid "Commit the changes to the device"
+msgstr "Primijeni promjene na uređaju"
+
+#: data/ui/MousePerspective.ui:171
+msgid "Click to switch to another profile"
+msgstr "Klikni za prebacivanje na drugi profil"
+
+#: data/ui/MousePerspective.ui:186
+msgid "Add profile"
+msgstr "Dodaj profil"
+
+#: data/ui/MousePerspective.ui:190
+msgid "Add a new profile to the device"
+msgstr "Dodaj novi profil na uređaj"
+
+#: data/ui/OptionButton.ui:9
+msgid "Open the configuration dialog"
+msgstr "Otvori dijalog prilagodbe"
+
+#: data/ui/ProfileRow.ui:16
+msgid "Remove this profile from the device"
+msgstr "Ukloni ovaj profil sa uređaja"
+
+#: data/ui/ResolutionRow.ui:23
+msgid "Remove this resolution from the profile"
+msgstr "Ukloni ovu razlučivost sa uređaja"
+
+#. Translators: this is used to indicate the active resolution.
+#: data/ui/ResolutionRow.ui:65
+msgid "Active"
+msgstr "Aktivno"
+
+#: data/ui/ResolutionRow.ui:105
+msgid "Set this resolution's DPI"
+msgstr "Postavi ovaj DPI razlučivosti"
+
+#. Translators: the rate at which the device reports movement.
+#: data/ui/ResolutionsPage.ui:43
+msgid "Report rate"
+msgstr "Frekvencija"
+
+#: data/ui/ResolutionsPage.ui:60
+msgid "Change the profile's report rate"
+msgstr "Promijeni frekvenciju profila"
+
+#. Translators: the sensitivity of the device's sensor.
+#: data/ui/ResolutionsPage.ui:125
+msgid "Sensitivity"
+msgstr "Osjetljivost"
+
+#: data/ui/ResolutionsPage.ui:174
+msgid "Add a new resolution to the profile"
+msgstr "Dodaj novu razlučivost u profil"
+
+#: data/ui/WelcomePerspective.ui:20
+msgid "Welcome"
+msgstr "Dobrodošli"
+
+#: data/ui/WelcomePerspective.ui:38
+msgctxt "A subtitle under the \"Welcome\" title."
+msgid "Select a device to configure it"
+msgstr "Odaberite uređaj za prilagodbu"
+
+#: data/ui/WelcomePerspective.ui:89
+msgctxt "A tooltip over the list of devices."
+msgid "Select a device to configure it"
+msgstr "Odaberite uređaj za prilagodbu"
+
+#: data/ui/WelcomePerspective.ui:119
+msgid "Select a Device"
+msgstr "Odaberi uređaj"
--
2.16.1

View File

@@ -1,478 +0,0 @@
From e90bb153b175768dd50a130e8e1af89f23d52440 Mon Sep 17 00:00:00 2001
From: AsavarTzeth <asavartzeth@gmail.com>
Date: Thu, 14 Sep 2017 12:17:20 +0200
Subject: [PATCH 12/30] Add sv l10n
Add Swedish translation to Piper.
---
po/LINGUAS | 1 +
po/sv.po | 448 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 449 insertions(+)
create mode 100644 po/sv.po
diff --git a/po/LINGUAS b/po/LINGUAS
index 62cada8..4a94a0a 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -3,3 +3,4 @@ de
hr
nl
pl
+sv
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..e95ae96
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,448 @@
+# Swedish localization of Piper
+# Copyright (C) 2017 the piper developers
+# This file is distributed under the same license as the piper package.
+# Patrik Nilsson <translation_AT_hembas.se>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: piper\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-09-14 09:20+0200\n"
+"PO-Revision-Date: 2017-09-14 12:14+0200\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.3\n"
+"Last-Translator: Patrik Nilsson <translation_AT_hembas.se>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: sv\n"
+
+#. Translators: section header for mapping one button's click to another.
+#: piper/buttondialog.py:144
+msgid "Button mapping"
+msgstr "Knappbindning"
+
+#. Translators: section header for assigning special functions to buttons.
+#: piper/buttondialog.py:153
+msgid "Special mapping"
+msgstr "Speciell bindning"
+
+#. Translators: the {} will be replaced with the button index, e.g.
+#. "Button 1 click".
+#: piper/buttondialog.py:225 piper/buttonspage.py:84
+msgid "Button {} click"
+msgstr "Knapp {} klick"
+
+#: piper/buttonspage.py:88
+msgid "Macro: {}"
+msgstr "Makro: {}"
+
+#. Translators: the button is turned disabled, e.g. off.
+#: piper/buttonspage.py:91
+msgid "Disabled"
+msgstr "Inaktiverad"
+
+#. Translators: the button has an unknown function.
+#: piper/buttonspage.py:94 piper/ratbagd.py:688
+msgid "Unknown"
+msgstr "Okänd"
+
+#: piper/buttonspage.py:102
+msgid "Configure button {}"
+msgstr "Konfigurera knapp {}"
+
+#: piper/mouseperspective.py:86 data/ui/ResolutionsPage.ui:209
+msgid "Resolutions"
+msgstr "Upplösningar"
+
+#: piper/mouseperspective.py:88
+msgid "Buttons"
+msgstr "Knappar"
+
+#: piper/mouseperspective.py:90
+msgid "LEDs"
+msgstr "Lysdioder"
+
+#. Translators: the {} will be replaced with the profile index.
+#: piper/mouseperspective.py:94 piper/profilerow.py:42
+msgid "Profile {}"
+msgstr "Profil {}"
+
+#: piper/ratbagd.py:679
+msgid "Left mouse button click"
+msgstr "Vänster musklick"
+
+#: piper/ratbagd.py:680
+msgid "Right mouse button click"
+msgstr "Höger musklick"
+
+#: piper/ratbagd.py:681
+msgid "Middle mouse button click"
+msgstr "Mellersta musklick"
+
+#: piper/ratbagd.py:682
+msgid "Backward"
+msgstr "Bakåt"
+
+#: piper/ratbagd.py:683
+msgid "Forward"
+msgstr "Framåt"
+
+#: piper/ratbagd.py:689
+msgid "Doubleclick"
+msgstr "Dubbelklick"
+
+#: piper/ratbagd.py:690
+msgid "Wheel Left"
+msgstr "Mushjul vänster"
+
+#: piper/ratbagd.py:691
+msgid "Wheel Right"
+msgstr "Mushjul höger"
+
+#: piper/ratbagd.py:692
+msgid "Wheel Up"
+msgstr "Mushjul Upp"
+
+#: piper/ratbagd.py:693
+msgid "Wheel Down"
+msgstr "Mushjul Ner"
+
+#: piper/ratbagd.py:694
+msgid "Ratchet Mode"
+msgstr "Spärrläge"
+
+#: piper/ratbagd.py:695
+msgid "Cycle Resolution Up"
+msgstr "Cykla upplösning upp"
+
+#: piper/ratbagd.py:696
+msgid "Cycle Resolution Down"
+msgstr "Cykla upplösning ner"
+
+#: piper/ratbagd.py:697
+msgid "Resolution Up"
+msgstr "Upplösning upp"
+
+#: piper/ratbagd.py:698
+msgid "Resolution Down"
+msgstr "Upplösning ner"
+
+#: piper/ratbagd.py:699
+msgid "Resolution Switch"
+msgstr "Växla upplösning"
+
+#: piper/ratbagd.py:700
+msgid "Default Resolution"
+msgstr "Standardupplösning"
+
+#: piper/ratbagd.py:701
+msgid "Cycle Profile Up"
+msgstr "Cykla profil upp"
+
+#: piper/ratbagd.py:702
+msgid "Cycle Profile Down"
+msgstr "Cykla profil ner"
+
+#: piper/ratbagd.py:703
+msgid "Profile Up"
+msgstr "Profil upp"
+
+#: piper/ratbagd.py:704
+msgid "Profile Down"
+msgstr "Profil ner"
+
+#: piper/ratbagd.py:705
+msgid "Second Mode"
+msgstr "Andra läget"
+
+#: piper/ratbagd.py:706
+msgid "Battery Level"
+msgstr "Batterinivå"
+
+#. Translators: this is used when there is no macro to preview.
+#: piper/ratbagd.py:834 data/ui/ButtonDialog.ui:106 data/ui/ButtonDialog.ui:187
+msgid "None"
+msgstr "Ingen"
+
+#. Translators: the LED is off.
+#: piper/ratbagd.py:908 data/ui/LedDialog.ui:391
+msgid "Off"
+msgstr "Av"
+
+#. Translators: the LED has a single, solid color.
+#: piper/ratbagd.py:910 data/ui/LedDialog.ui:66
+msgid "Solid"
+msgstr "Solid"
+
+#. Translators: the LED is cycling between red, green and blue.
+#: piper/ratbagd.py:912 data/ui/LedDialog.ui:188
+msgid "Cycle"
+msgstr "Cykla"
+
+#. Translators: the LED's is pulsating a single color on different
+#. brightnesses.
+#: piper/ratbagd.py:915 data/ui/LedDialog.ui:353
+msgid "Breathing"
+msgstr "Pulserande"
+
+#: piper/window.py:50
+msgid "Cannot connect to ratbagd"
+msgstr "Kan inte ansluta till ratbagd"
+
+#: piper/window.py:51
+msgid "Please make sure ratbagd is running"
+msgstr "Se till att ratbagd körs"
+
+#: piper/window.py:64 piper/window.py:114
+msgid "Cannot find any devices"
+msgstr "Kan inte hitta några enheter"
+
+#: piper/window.py:65 piper/window.py:115
+msgid "Please make sure your device is supported and plugged in"
+msgstr "Se till att din enhet stöds och är ansluten"
+
+#: piper/window.py:77
+msgid "There are unapplied changes. Are you sure you want to quit?"
+msgstr "Det finns ej utförda förändringar. Är du säker på att du vill avsluta?"
+
+#. The current device disconnected, which can only happen from the
+#. mouse perspective as we'd otherwise be in the welcome screen with
+#. more than one device remaining. Hence, we display the error
+#. perspective.
+#: piper/window.py:106
+msgid "Your device disconnected!"
+msgstr "Anslutningen till din enhet bröts!"
+
+#: piper/window.py:107
+msgid "Please make sure your device is plugged in"
+msgstr "Se till att din enhet är ansluten"
+
+#: piper/window.py:155
+msgid "Cannot display device SVG"
+msgstr "Kan inte visa enhetens SVG"
+
+#: piper/window.py:157
+msgid "Unknown exception occurred"
+msgstr "Okänt fel av typ \"exception\" inträffade"
+
+#: data/ui/AboutDialog.ui.in:13
+msgid "Visit Piper's website"
+msgstr "Besök Piper's webbplats"
+
+#: data/ui/ButtonDialog.ui:65
+msgid "Search for a button mapping"
+msgstr "Sök efter en knappbindning"
+
+#: data/ui/ButtonDialog.ui:91
+msgid "Capture a macro for this button"
+msgstr "Spela in makro för den här knappen"
+
+#: data/ui/ButtonDialog.ui:104
+msgid "The currently set macro"
+msgstr "Det nuvarande inställda makrot"
+
+#: data/ui/ButtonDialog.ui:129
+msgid "Send keystroke"
+msgstr "Skicka knapptryckning"
+
+#: data/ui/ButtonDialog.ui:169
+msgid "Enter a new key sequence for the macro."
+msgstr "Ange en ny nyckelsekvens för makrot."
+
+#: data/ui/ButtonDialog.ui:221
+msgid "Press Escape to cancel or Return to accept."
+msgstr "Tryck på Escape för att avbryta eller Retur för att acceptera."
+
+#: data/ui/ButtonDialog.ui:252
+msgid "Set the device's handedness."
+msgstr "Ställ in enheten för vänster eller höger-hänthet."
+
+#: data/ui/ButtonDialog.ui:270
+msgid ""
+"This allows you to swap the order of the primary mouse buttons. In left-"
+"handed mode, the physical left mouse button generates a right mouse click "
+"and vice versa."
+msgstr ""
+"Detta låter dig skifta ordningen på de primära musknapparna. I vänsterhänt "
+"läge genererar den vänstra musknappen ett högerklick och vice versa."
+
+#: data/ui/ButtonDialog.ui:290
+msgid "Left Handed"
+msgstr "Vänsterhänt"
+
+#: data/ui/ButtonDialog.ui:295
+msgid "The left mouse button generates a left mouse click"
+msgstr "Den vänstra musknappen genererar ett vänsterklick"
+
+#: data/ui/ButtonDialog.ui:309
+msgid "Right Handed"
+msgstr "Högerhänt"
+
+#: data/ui/ButtonDialog.ui:314
+msgid "The left mouse button generates a right mouse click"
+msgstr "Den vänstra musknappen genererar ett högerklick"
+
+#: data/ui/ButtonDialog.ui:354 data/ui/LedDialog.ui:410
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: data/ui/ButtonDialog.ui:356 data/ui/LedDialog.ui:414
+msgid "Ignore any changes made"
+msgstr "Ignorera eventuella ändringar"
+
+#: data/ui/ButtonDialog.ui:362 data/ui/LedDialog.ui:426
+#: data/ui/MousePerspective.ui:133
+msgid "Apply"
+msgstr "Tillämpa"
+
+#: data/ui/ButtonDialog.ui:365 data/ui/LedDialog.ui:431
+msgid "Apply any changes made"
+msgstr "Tillämpa eventuella ändringar"
+
+#: data/ui/ButtonDialog.ui:405
+msgid "No button mapping found"
+msgstr "Ingen knappbindning hittades"
+
+#: data/ui/ButtonDialog.ui:421
+msgid "Try a different search"
+msgstr "Prova en annan sökning"
+
+#: data/ui/ErrorPerspective.ui:16
+msgid "Here, rodent, rodent, rodent..."
+msgstr "Hit, gnagare, gnagare, gnagare..."
+
+#: data/ui/ErrorPerspective.ui:69
+msgid "Uh Oh! Something went wrong..."
+msgstr "Oj då! Något gick fel..."
+
+#: data/ui/ErrorPerspective.ui:73 data/ui/WelcomePerspective.ui:123
+msgid "Quit"
+msgstr "Avsluta"
+
+#: data/ui/LedDialog.ui:58 data/ui/LedDialog.ui:208
+msgid "Choose a color for the LED"
+msgstr "Välj en färg för lysdioden"
+
+#: data/ui/LedDialog.ui:90 data/ui/LedDialog.ui:256
+msgid "Choose a brightness for the LED"
+msgstr "Välj en ljusstyrka för lysdioden"
+
+#: data/ui/LedDialog.ui:104 data/ui/LedDialog.ui:269
+msgid "Brightness"
+msgstr "Ljusstyrka"
+
+#: data/ui/LedDialog.ui:135 data/ui/LedDialog.ui:300
+msgid "Choose an effect rate for the LED"
+msgstr "Välj en effektfrekvens för lysdioden"
+
+#: data/ui/LedDialog.ui:152 data/ui/LedDialog.ui:317
+#: data/ui/ResolutionsPage.ui:105
+msgid "Hz"
+msgstr "Hz"
+
+#: data/ui/LedDialog.ui:174 data/ui/LedDialog.ui:339
+msgid "Effect rate"
+msgstr "Effektfrekvens"
+
+#: data/ui/LedDialog.ui:211
+msgid "Pick a Color for the LED"
+msgstr "Välj en färg för lysdioden"
+
+#: data/ui/LedDialog.ui:225
+msgid "Color"
+msgstr "Färg"
+
+#: data/ui/LedDialog.ui:378
+msgid "This LED is off"
+msgstr "Den här lysdioden är av"
+
+#: data/ui/Menus.ui:7
+msgid "_About"
+msgstr "_Om"
+
+#: data/ui/Menus.ui:11
+msgid "_Quit"
+msgstr "_Avsluta"
+
+#: data/ui/MousePerspective.ui:44
+msgid "Failed to commit changes to the device"
+msgstr "Misslyckades med att utföra förändringarna i enheten"
+
+#: data/ui/MousePerspective.ui:102
+msgid "Select another profile"
+msgstr "Välj en annan profil"
+
+#: data/ui/MousePerspective.ui:127
+msgid "Commit the changes to the device"
+msgstr "Utför förändringarna i enheten"
+
+#: data/ui/MousePerspective.ui:171
+msgid "Click to switch to another profile"
+msgstr "Klicka för att växla till en annan profil"
+
+#: data/ui/MousePerspective.ui:186
+msgid "Add profile"
+msgstr "Lägg till profil"
+
+#: data/ui/MousePerspective.ui:190
+msgid "Add a new profile to the device"
+msgstr "Lägg till en ny profil till enheten"
+
+#: data/ui/OptionButton.ui:9
+msgid "Open the configuration dialog"
+msgstr "Öppna konfigurationsdialogen"
+
+#: data/ui/ProfileRow.ui:16
+msgid "Remove this profile from the device"
+msgstr "Ta bort den här profilen från enheten"
+
+#: data/ui/ResolutionRow.ui:23
+msgid "Remove this resolution from the profile"
+msgstr "Ta bort den här upplösningen från profilen"
+
+#. Translators: this is used to indicate the active resolution.
+#: data/ui/ResolutionRow.ui:65
+msgid "Active"
+msgstr "Aktiv"
+
+#: data/ui/ResolutionRow.ui:105
+msgid "Set this resolution's DPI"
+msgstr "Ange den här upplösningens DPI"
+
+#. Translators: the rate at which the device reports movement.
+#: data/ui/ResolutionsPage.ui:43
+msgid "Report rate"
+msgstr "Poll frekvens"
+
+#: data/ui/ResolutionsPage.ui:60
+msgid "Change the profile's report rate"
+msgstr "Ändra profilens poll frekvens"
+
+#. Translators: the sensitivity of the device's sensor.
+#: data/ui/ResolutionsPage.ui:125
+msgid "Sensitivity"
+msgstr "Känslighet"
+
+#: data/ui/ResolutionsPage.ui:174
+msgid "Add a new resolution to the profile"
+msgstr "Lägg till en ny upplösning för profilen"
+
+#: data/ui/WelcomePerspective.ui:20
+msgid "Welcome"
+msgstr "Välkommen"
+
+#: data/ui/WelcomePerspective.ui:38
+msgctxt "A subtitle under the \"Welcome\" title."
+msgid "Select a device to configure it"
+msgstr "Välj en enhet för att konfigurera den"
+
+#: data/ui/WelcomePerspective.ui:89
+msgctxt "A tooltip over the list of devices."
+msgid "Select a device to configure it"
+msgstr "Välj en enhet för att konfigurera den"
+
+#: data/ui/WelcomePerspective.ui:119
+msgid "Select a Device"
+msgstr "Välj en enhet"
--
2.16.1

View File

@@ -1,30 +0,0 @@
From 7e24a26dbbec99ed12173a340aa9b85859959ce2 Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Mon, 28 Aug 2017 12:48:12 +0200
Subject: [PATCH 04/30] ButtonDialog: correctly (re)initialize the current
macro on Escape
Fixes #159.
---
piper/buttondialog.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/piper/buttondialog.py b/piper/buttondialog.py
index b3558b9..fecbb6f 100644
--- a/piper/buttondialog.py
+++ b/piper/buttondialog.py
@@ -301,7 +301,10 @@ class ButtonDialog(Gtk.Dialog):
return
# Escape cancels the editing.
elif event.keyval == Gdk.KEY_Escape:
- self._create_current_macro(macro=self._mapping)
+ if self._action_type == RatbagdButton.ACTION_TYPE_MACRO:
+ self._create_current_macro(macro=self._mapping)
+ else:
+ self._create_current_macro()
self.stack.set_visible_child_name("overview")
return
elif event.type == Gdk.EventType.KEY_RELEASE:
--
2.16.1

View File

@@ -1,40 +0,0 @@
From c619cd3bb2e60c30ce6ef0be180f8ab3783b93ee Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue, 29 Aug 2017 10:28:14 +1000
Subject: [PATCH 14/30] DeviceRow: don't overwrite "device" with the SVG
device is the RatbagdDevice, don't overwrite it because we're still trying to
access things like device.name
---
piper/devicerow.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/piper/devicerow.py b/piper/devicerow.py
index 63e31a9..6885cee 100644
--- a/piper/devicerow.py
+++ b/piper/devicerow.py
@@ -43,16 +43,16 @@ class DeviceRow(Gtk.ListBoxRow):
svg_path = device.get_svg("gnome")
if os.path.isfile(svg_path):
handle = Rsvg.Handle.new_from_file(svg_path)
- device = handle.get_pixbuf_sub("#Device")
+ svg = handle.get_pixbuf_sub("#Device")
handle.close()
- if device is None:
+ if svg is None:
print("Device {}'s SVG is incompatible".format(device.name), file=sys.stderr)
else:
- device = device.scale_simple(50, 50, GdkPixbuf.InterpType.BILINEAR)
- if device is None:
+ svg = svg.scale_simple(50, 50, GdkPixbuf.InterpType.BILINEAR)
+ if svg is None:
print("Cannot resize device SVG", file=sys.stderr)
else:
- self.image.set_from_pixbuf(device)
+ self.image.set_from_pixbuf(svg)
else:
print("Device {} has no image or its path is invalid".format(device.name), file=sys.stderr)
--
2.16.1

View File

@@ -1,41 +0,0 @@
From bb355b9d2991fff8f06f2dfe7fa46ecedef6a19c Mon Sep 17 00:00:00 2001
From: Ikey Doherty <ikey@solus-project.com>
Date: Thu, 19 Oct 2017 15:31:32 +0100
Subject: [PATCH 21/30] Do not generate icon-cache when DESTDIR is set
This ensures that the icon cache will be generated when installed locally,
but will also make sure that we don't generate one when DESTDIR is set.
This helps with packaging, where packages should never provide the duplicate
"icon-theme.cache" file inside the package.
This is based around the meson build system implemented by @TingPing in
the gnome-twitch project.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
---
meson_install.sh | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/meson_install.sh b/meson_install.sh
index d004eb7..e5aa42a 100644
--- a/meson_install.sh
+++ b/meson_install.sh
@@ -1,7 +1,11 @@
#!/usr/bin/env sh
-# Update icon cache
-gtk-update-icon-cache -f -t ${DESTDIR}/${MESON_INSTALL_PREFIX}/share/icons/hicolor
+if [ -z $DESTDIR ]; then
+ PREFIX=${MESON_INSTALL_PREFIX:-/usr}
-# Install new schemas
-#glib-compile-schemas ${DESTDIR}/${MESON_INSTALL_PREFIX}/share/glib-2.0/schemas/
+ # Update icon cache
+ gtk-update-icon-cache -f -t $PREFIX/share/icons/hicolor
+
+ # Install new schemas
+ #glib-compile-schemas $PREFIX/share/glib-2.0/schemas/
+fi
--
2.16.1

View File

@@ -1,27 +0,0 @@
From 5f6ed202a57c64c9dcd614006aa0e16d49449c76 Mon Sep 17 00:00:00 2001
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
Date: Wed, 14 Feb 2018 02:06:23 +0100
Subject: [PATCH 30/30] Hide LED modes that are not supported
If a LED does not support e.g. 'Cycle' mode then we should
not show that page in the LED stack.
---
piper/leddialog.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/piper/leddialog.py b/piper/leddialog.py
index 50a58d1..44f4bea 100644
--- a/piper/leddialog.py
+++ b/piper/leddialog.py
@@ -55,6 +55,8 @@ class LedDialog(Gtk.Dialog):
for k, v in self._modes.items():
if mode == v:
self.stack.set_visible_child_name(k)
+ if v not in self._led.modes:
+ self.stack.get_child_by_name(k).set_visible(False)
rgba = self._get_led_color_as_rgba()
self.colorchooser.set_rgba(rgba)
self.colorbutton.set_rgba(rgba)
--
2.16.1

View File

@@ -1,170 +0,0 @@
From 271207eb35831a0b8e00b0d3d53041bf765bbd85 Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Sat, 11 Nov 2017 17:52:59 +0100
Subject: [PATCH 28/30] LedDialog: use new effect duration in ms
libratbag/libratbag#422 introduced effect duration in ms for LEDs as opposed to
effect rate in Hz, as was discussed in #175. This commit updates Piper's
UI to reflect these changes.
Fixes #175.
---
data/ui/LedDialog.ui | 30 ++++++++++++++++--------------
piper/leddialog.py | 16 ++++++++++++----
piper/ledspage.py | 2 +-
3 files changed, 29 insertions(+), 19 deletions(-)
diff --git a/data/ui/LedDialog.ui b/data/ui/LedDialog.ui
index 408fb0a..0c1e422 100644
--- a/data/ui/LedDialog.ui
+++ b/data/ui/LedDialog.ui
@@ -7,11 +7,11 @@
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
- <object class="GtkAdjustment" id="adjustment_effect_rate">
- <property name="lower">100</property>
- <property name="upper">20000</property>
- <property name="step_increment">50</property>
- <property name="page_increment">50</property>
+ <object class="GtkAdjustment" id="adjustment_effect_duration">
+ <property name="lower">0</property>
+ <property name="upper">10000</property>
+ <property name="step_increment">100</property>
+ <property name="page_increment">500</property>
</object>
<template class="LedDialog" parent="GtkDialog">
<property name="width_request">400</property>
@@ -132,11 +132,12 @@
<object class="GtkScale">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">Choose an effect rate for the LED</property>
- <property name="adjustment">adjustment_effect_rate</property>
+ <property name="tooltip_text" translatable="yes">Choose an effect duration for the LED</property>
+ <property name="adjustment">adjustment_effect_duration</property>
<property name="round_digits">0</property>
<property name="digits">0</property>
<property name="value_pos">right</property>
+ <signal name="change-value" handler="_on_change_value" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@@ -149,7 +150,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Hz</property>
+ <property name="label" translatable="yes">ms</property>
<property name="justify">right</property>
<property name="track_visited_links">False</property>
<style>
@@ -171,7 +172,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Effect rate</property>
+ <property name="label" translatable="yes">Effect duration</property>
<property name="track_visited_links">False</property>
</object>
</child>
@@ -297,11 +298,12 @@
<object class="GtkScale">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">Choose an effect rate for the LED</property>
- <property name="adjustment">adjustment_effect_rate</property>
+ <property name="tooltip_text" translatable="yes">Choose an effect duration for the LED</property>
+ <property name="adjustment">adjustment_effect_duration</property>
<property name="round_digits">0</property>
<property name="digits">0</property>
<property name="value_pos">right</property>
+ <signal name="change-value" handler="_on_change_value" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@@ -314,7 +316,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Hz</property>
+ <property name="label" translatable="yes">ms</property>
<property name="justify">right</property>
<property name="track_visited_links">False</property>
<style>
@@ -336,7 +338,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Effect rate</property>
+ <property name="label" translatable="yes">Effect duration</property>
<property name="track_visited_links">False</property>
</object>
</child>
@@ -363,7 +365,7 @@
<object class="GtkImage" id="led_off_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="resource">/org/freedesktop/Piper/led-off.svg</property>
+ <property name="resource">/org/freedesktop/Piper/led-off.svg</property>
</object>
<packing>
<property name="expand">True</property>
diff --git a/piper/leddialog.py b/piper/leddialog.py
index c8c73a5..50a58d1 100644
--- a/piper/leddialog.py
+++ b/piper/leddialog.py
@@ -33,7 +33,7 @@ class LedDialog(Gtk.Dialog):
colorchooser = GtkTemplate.Child()
colorbutton = GtkTemplate.Child()
adjustment_brightness = GtkTemplate.Child()
- adjustment_effect_rate = GtkTemplate.Child()
+ adjustment_effect_duration = GtkTemplate.Child()
led_off_image = GtkTemplate.Child()
def __init__(self, ratbagd_led, *args, **kwargs):
@@ -59,13 +59,21 @@ class LedDialog(Gtk.Dialog):
self.colorchooser.set_rgba(rgba)
self.colorbutton.set_rgba(rgba)
self.adjustment_brightness.set_value(self._led.brightness)
- self.adjustment_effect_rate.set_value(self._led.effect_rate)
+ self.adjustment_effect_duration.set_value(self._led.effect_duration)
sp = Gtk.CssProvider()
sp.load_from_data("* { background: #565854}".encode())
Gtk.StyleContext.add_provider(self.led_off_image.get_style_context(),
sp, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
+ @GtkTemplate.Callback
+ def _on_change_value(self, scale, scroll, value):
+ # Round the value resulting from a scroll event to the nearest multiple
+ # of 500. This is to work around the Gtk.Scale not snapping to its
+ # Gtk.Adjustment's step_increment.
+ scale.set_value(int(value - (value % 500)))
+ return True
+
def _get_led_color_as_rgba(self):
# Helper function to convert ratbagd's 0-255 color range to a Gdk.RGBA
# with a 0.0-1.0 color range.
@@ -90,5 +98,5 @@ class LedDialog(Gtk.Dialog):
return self.adjustment_brightness.get_value()
@GObject.Property
- def effect_rate(self):
- return self.adjustment_effect_rate.get_value()
+ def effect_duration(self):
+ return self.adjustment_effect_duration.get_value()
diff --git a/piper/ledspage.py b/piper/ledspage.py
index 7994b53..af50773 100644
--- a/piper/ledspage.py
+++ b/piper/ledspage.py
@@ -87,5 +87,5 @@ class LedsPage(Gtk.Box):
led.mode = dialog.mode
led.color = dialog.color
led.brightness = dialog.brightness
- led.effect_rate = dialog.effect_rate
+ led.effect_duration = dialog.effect_duration
dialog.destroy()
--
2.16.1

View File

@@ -1,35 +0,0 @@
From 6cf9b31a18c863445df24f2b565705cd916d2cfe Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 16 Oct 2017 11:32:13 +1000
Subject: [PATCH 27/30] MouseMap: if the old highlight is None, don't try to
redraw
When pressing a button and moving out of the button area with the button held
down, we get two leave events - once when actually leaving the button and once
more when the button press is released later. On the second call, the old
highlight is already None, causing a crash when we're trying to get SVG
information about it.
Fixes #185
---
piper/mousemap.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/piper/mousemap.py b/piper/mousemap.py
index 0d8fbb5..716bd64 100644
--- a/piper/mousemap.py
+++ b/piper/mousemap.py
@@ -314,6 +314,10 @@ class MouseMap(Gtk.Container):
def _on_leave(self, widget, event):
# Restores the device SVG to its original state.
old_highlight = self._highlight_element
+
+ if old_highlight is None:
+ return
+
self._highlight_element = None
self._redraw_svg_element(old_highlight)
--
2.16.1

View File

@@ -1,34 +0,0 @@
From e35fda4f884efa1237b6729395a99ea85cc7872f Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Mon, 28 Aug 2017 12:41:09 +0200
Subject: [PATCH 03/30] MouseMap: redraw on allocate
In a previous commit I added this optimization that prevents redrawing
the widget when it is reallocated: with the widget being centered,
enlarging the window does not require to redraw the widget.
However, I missed the case where the allocation actually gets smaller
(and thus the SVG is repositioned) when the width of one of the child
widgets changes, which would with this optimization result in parts of
the SVG being shifted a few pixels to the left with the remainder being
in its original position. Hence, this fixes a visual glitch in drawing
the SVG.
---
piper/mousemap.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/piper/mousemap.py b/piper/mousemap.py
index 7b122ba..0d8fbb5 100644
--- a/piper/mousemap.py
+++ b/piper/mousemap.py
@@ -112,7 +112,6 @@ class MouseMap(Gtk.Container):
Gtk.Container.__init__(self, *args, **kwargs)
self.set_has_window(False)
- self.set_redraw_on_allocate(False)
self.spacing = spacing
self._layer = layer
--
2.16.1

View File

@@ -1,54 +0,0 @@
From 65564128f254a2b0d1923d524f2155a19d985d57 Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Thu, 31 Aug 2017 11:57:27 +0200
Subject: [PATCH 10/30] piper/ratbagd.py: sync with libratbag
---
piper/ratbagd.py | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 05d3408..5f889aa 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -389,6 +389,8 @@ class RatbagdDevice(_RatbagdDBus):
class RatbagdProfile(_RatbagdDBus):
"""Represents a ratbagd profile."""
+ CAP_WRITABLE_NAME = 100
+
def __init__(self, object_path):
_RatbagdDBus.__init__(self, "Profile", object_path)
self._dirty = False
@@ -425,6 +427,28 @@ class RatbagdProfile(_RatbagdDBus):
self.notify("is-active")
self._on_obj_notify(None, None)
+ @GObject.Property
+ def capabilities(self):
+ """The capabilities of this profile as an array. Capabilities not
+ present on the profile are not in the list. Thus use e.g.
+
+ if RatbagdProfile.CAP_WRITABLE_NAME is in profile.capabilities:
+ do something
+ """
+ return self._get_dbus_property("Capabilities")
+
+ @GObject.property
+ def name(self):
+ """The name of the profile"""
+ return self._get_dbus_property("Name")
+
+ @name.setter
+ def name(self, name):
+ """Set the name of this profile.
+
+ @param name The new name, as str"""
+ self._set_dbus_property("Name", "s", name)
+
@GObject.Property
def index(self):
"""The index of this profile."""
--
2.16.1

View File

@@ -1,52 +0,0 @@
From 2d3af894136fad8fbce54963005c58a8c125376c Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Thu, 7 Sep 2017 11:51:46 +0200
Subject: [PATCH 11/30] ratbagd: sync with libratbag
---
piper/ratbagd.py | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 5f889aa..e74039d 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -621,7 +621,6 @@ class RatbagdButton(_RatbagdDBus):
ACTION_TYPE_NONE = 0
ACTION_TYPE_BUTTON = 1
ACTION_TYPE_SPECIAL = 2
- ACTION_TYPE_KEY = 3
ACTION_TYPE_MACRO = 4
ACTION_SPECIAL_UNKNOWN = (1 << 30)
@@ -764,26 +763,11 @@ class RatbagdButton(_RatbagdDBus):
"""
self._set_dbus_property("SpecialMapping", "u", special)
- @GObject.Property
- def key(self):
- """A list of integers, the first being the keycode and the other
- entries, if any, are modifiers (if mapped to key)."""
- return self._get_dbus_property("KeyMapping")
-
- @key.setter
- def key(self, keys):
- """Set the key mapping.
-
- @param keys A list of integers, the first being the keycode and the rest
- modifiers.
- """
- self._set_dbus_property("KeyMapping", "au", keys)
-
@GObject.Property
def action_type(self):
"""An enum describing the action type of the button. One of
ACTION_TYPE_NONE, ACTION_TYPE_BUTTON, ACTION_TYPE_SPECIAL,
- ACTION_TYPE_KEY, ACTION_TYPE_MACRO. This decides which
+ ACTION_TYPE_MACRO. This decides which
*Mapping property has a value.
"""
return self._get_dbus_property("ActionType")
--
2.16.1

View File

@@ -1,32 +0,0 @@
From 4f560b0d1e13383a075dfe94de106942a2028860 Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Thu, 14 Sep 2017 16:07:51 +0200
Subject: [PATCH 13/30] ratbagd: sync with libratbag
---
piper/ratbagd.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index e74039d..4478cf2 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -623,6 +623,7 @@ class RatbagdButton(_RatbagdDBus):
ACTION_TYPE_SPECIAL = 2
ACTION_TYPE_MACRO = 4
+ ACTION_SPECIAL_INVALID = -1
ACTION_SPECIAL_UNKNOWN = (1 << 30)
ACTION_SPECIAL_DOUBLECLICK = (1 << 30) + 1
ACTION_SPECIAL_WHEEL_LEFT = (1 << 30) + 2
@@ -684,6 +685,7 @@ class RatbagdButton(_RatbagdDBus):
"""A table mapping a special function to its human-readable description."""
SPECIAL_DESCRIPTION = {
+ ACTION_SPECIAL_INVALID: N_("Invalid"),
ACTION_SPECIAL_UNKNOWN: N_("Unknown"),
ACTION_SPECIAL_DOUBLECLICK: N_("Doubleclick"),
ACTION_SPECIAL_WHEEL_LEFT: N_("Wheel Left"),
--
2.16.1

View File

@@ -1,80 +0,0 @@
From f159af3b1efa66fbf1e4fe0195c46fdc12df21e5 Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Sun, 15 Oct 2017 12:30:48 +0200
Subject: [PATCH 18/30] ratbagd: sync with libratbag
---
piper/ratbagd.py | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 21b1d36..9e4000a 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -581,14 +581,9 @@ class RatbagdResolution(_RatbagdDBus):
self._set_dbus_property("ReportRate", "u", rate)
@GObject.Property
- def maximum(self):
- """The maximum possible resolution."""
- return self._get_dbus_property("Maximum")
-
- @GObject.Property
- def minimum(self):
- """The minimum possible resolution."""
- return self._get_dbus_property("Minimum")
+ def resolutions(self):
+ """The list of supported DPI values"""
+ return self._get_dbus_property("Resolutions")
@GObject.Property
def is_active(self):
@@ -880,15 +875,20 @@ class RatbagdMacro(GObject.Object):
class RatbagdLed(_RatbagdDBus):
"""Represents a ratbagd led."""
- TYPE_UNKNOWN = -1
- TYPE_LOGO = 0
- TYPE_SIDE = 1
+ TYPE_LOGO = 1
+ TYPE_SIDE = 2
+ TYPE_BATTERY = 3
+ TYPE_DPI = 4
MODE_OFF = 0
MODE_ON = 1
MODE_CYCLE = 2
MODE_BREATHING = 3
+ COLORDEPTH_MONOCHROME = 400
+ COLORDEPTH_RGB_888 = 401
+ COLORDEPTH_RGB_111 = 402
+
LED_DESCRIPTION = {
# Translators: the LED is off.
MODE_OFF: N_("Off"),
@@ -926,7 +926,7 @@ class RatbagdLed(_RatbagdDBus):
@GObject.Property
def type(self):
- """An enum describing this led's type, one of RatbagdLed.TYPE_UNKNOWN,
+ """An enum describing this led's type,
RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE."""
return self._get_dbus_property("Type")
@@ -943,6 +943,12 @@ class RatbagdLed(_RatbagdDBus):
"""
self._set_dbus_property("Color", "(uuu)", color)
+ @GObject.Property
+ def colordepth(self):
+ """An enum describing this led's colordepth, one of
+ RatbagdLed.COLORDEPTH_MONOCHROME, RatbagdLed.COLORDEPTH_RGB"""
+ return self._get_dbus_property("ColorDepth")
+
@GObject.Property
def effect_rate(self):
"""The LED's effect rate in Hz, values range from 100 to 20000."""
--
2.16.1

View File

@@ -1,97 +0,0 @@
From d243325068981ce2f662f4f0eb2d0b04d18a7faf Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Mon, 20 Nov 2017 12:06:02 +0100
Subject: [PATCH 29/30] ratbagd.py: sync with libratbag
---
piper/ratbagd.py | 42 +++++++++++++++++++++++++++++++++---------
1 file changed, 33 insertions(+), 9 deletions(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 9513f74..d686452 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -275,12 +275,25 @@ class Ratbagd(_RatbagdDBus):
"""A list of RatbagdDevice objects supported by ratbagd."""
return self._devices
+ def __getitem__(self, id):
+ """Returns the requested device, or None."""
+ for d in self.devices:
+ if d.id == id:
+ return d
+ return None
+
@GObject.Property
def themes(self):
"""A list of theme names. The theme 'default' is guaranteed to be
available."""
return self._get_dbus_property("Themes")
+ def __enter__(self):
+ return self
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ pass
+
class RatbagdDevice(_RatbagdDBus):
"""Represents a ratbagd device."""
@@ -585,6 +598,11 @@ class RatbagdResolution(_RatbagdDBus):
"""The list of supported DPI values"""
return self._get_dbus_property("Resolutions")
+ @GObject.Property
+ def report_rates(self):
+ """The list of supported report rates"""
+ return self._get_dbus_property("ReportRates")
+
@GObject.Property
def is_active(self):
"""True if this is the currently active resolution, False
@@ -925,9 +943,15 @@ class RatbagdLed(_RatbagdDBus):
"""
self._set_dbus_property("Mode", "u", mode)
+ @GObject.Property
+ def modes(self):
+ """The supported modes as a list"""
+ return self._get_dbus_property("Modes")
+
@GObject.Property
def type(self):
- """An enum describing this led's type, one of RatbagdLed.TYPE_*."""
+ """An enum describing this led's type,
+ RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE."""
return self._get_dbus_property("Type")
@GObject.Property
@@ -950,17 +974,17 @@ class RatbagdLed(_RatbagdDBus):
return self._get_dbus_property("ColorDepth")
@GObject.Property
- def effect_rate(self):
- """The LED's effect rate in Hz, values range from 100 to 20000."""
- return self._get_dbus_property("EffectRate")
+ def effect_duration(self):
+ """The LED's effect duration in ms, values range from 0 to 10000."""
+ return self._get_dbus_property("EffectDuration")
- @effect_rate.setter
- def effect_rate(self, effect_rate):
- """Set the effect rate in Hz. Allowed values range from 100 to 20000.
+ @effect_duration.setter
+ def effect_duration(self, effect_duration):
+ """Set the effect duration in ms. Allowed values range from 0 to 10000.
- @param effect_rate The new effect rate, as int
+ @param effect_duration The new effect duration, as int
"""
- self._set_dbus_property("EffectRate", "u", effect_rate)
+ self._set_dbus_property("EffectDuration", "u", effect_duration)
@GObject.Property
def brightness(self):
--
2.16.1

View File

@@ -1,26 +0,0 @@
From 6ab0ddec71d0bd5dbebae29855c4dd13b758db4c Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Sun, 15 Oct 2017 12:31:58 +0200
Subject: [PATCH 19/30] RatbagdLed: fix docstring
---
piper/ratbagd.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 9e4000a..4290aa4 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -926,8 +926,7 @@ class RatbagdLed(_RatbagdDBus):
@GObject.Property
def type(self):
- """An enum describing this led's type,
- RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE."""
+ """An enum describing this led's type, one of RatbagdLed.TYPE_*."""
return self._get_dbus_property("Type")
@GObject.Property
--
2.16.1

View File

@@ -1,74 +0,0 @@
From f8ab2492ddaa1f32f7edc789b876133656a9b02c Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Thu, 31 Aug 2017 11:29:57 +0200
Subject: [PATCH 07/30] RatbagdProfile: emit notify::is-active from DBus'
PropertyChanged signal
This ensures that it is fired in all instances where the property is
updated, and not just on our own `set_active` method.
We also cache the property so that we can emit the signals only for the
profile that *was* the active one, and the one that *became* the active
one, to circumvent
https://github.com/libratbag/libratbag/blob/bb23f68d53a5da85c195def66ec103f086b9254b/ratbagd/ratbagd-profile.c#L271
Fixes #167.
---
piper/ratbagd.py | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index ec601cf..90ec505 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -314,7 +314,8 @@ class RatbagdDevice(_RatbagdDBus):
profile.connect("notify::is-active", self._on_active_profile_changed)
def _on_active_profile_changed(self, profile, pspec):
- self.emit("active-profile-changed", self._profiles[profile.index])
+ if profile.is_active:
+ self.emit("active-profile-changed", self._profiles[profile.index])
@GObject.Property
def id(self):
@@ -391,6 +392,7 @@ class RatbagdProfile(_RatbagdDBus):
def __init__(self, object_path):
_RatbagdDBus.__init__(self, "Profile", object_path)
self._dirty = False
+ self._active = self._get_dbus_property("IsActive")
# FIXME: if we start adding and removing objects from any of these
# lists, things will break!
@@ -415,6 +417,14 @@ class RatbagdProfile(_RatbagdDBus):
self._dirty = True
self.notify("dirty")
+ def _on_properties_changed(self, proxy, changed_props, invalidated_props):
+ if "IsActive" in changed_props.keys():
+ active = changed_props["IsActive"]
+ if active != self._active:
+ self._active = active
+ self.notify("is-active")
+ self._on_obj_notify(None, None)
+
@GObject.Property
def index(self):
"""The index of this profile."""
@@ -473,13 +483,12 @@ class RatbagdProfile(_RatbagdDBus):
@GObject.Property
def is_active(self):
"""Returns True if the profile is currenly active, false otherwise."""
- return self._get_dbus_property("IsActive")
+ return self._active
def set_active(self):
"""Set this profile to be the active profile."""
ret = self._dbus_call("SetActive", "")
self._set_dbus_property("IsActive", "b", True, readwrite=False)
- self.notify("is-active")
return ret
--
2.16.1

View File

@@ -1,43 +0,0 @@
From 1c0548a4dc013eac9fe2414ef69700c330a2ecbe Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Thu, 31 Aug 2017 11:32:09 +0200
Subject: [PATCH 08/30] RatbagdResolution: cache the is_active property to
signal only changes
Circumvents https://github.com/libratbag/libratbag/blob/bb23f68d53a5da85c195def66ec103f086b9254b/ratbagd/ratbagd-resolution.c#L85
---
piper/ratbagd.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 90ec505..3467212 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -500,10 +500,14 @@ class RatbagdResolution(_RatbagdDBus):
def __init__(self, object_path):
_RatbagdDBus.__init__(self, "Resolution", object_path)
+ self._active = self._get_dbus_property("IsActive")
def _on_properties_changed(self, proxy, changed_props, invalidated_props):
if "IsActive" in changed_props.keys():
- self.notify("is-active")
+ active = changed_props["IsActive"]
+ if active != self._active:
+ self._active = active
+ self.notify("is-active")
@GObject.Property
def index(self):
@@ -560,7 +564,7 @@ class RatbagdResolution(_RatbagdDBus):
def is_active(self):
"""True if this is the currently active resolution, False
otherwise"""
- return self._get_dbus_property("IsActive")
+ return self._active
@GObject.Property
def is_default(self):
--
2.16.1

View File

@@ -1,47 +0,0 @@
From 3aae9c0a4541ec8b44a8ec95bf10342b1d71aa0b Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Thu, 31 Aug 2017 11:34:19 +0200
Subject: [PATCH 09/30] RatbagdResolution: cache the is_default property to
signal only changes
Circumvents https://github.com/libratbag/libratbag/blob/bb23f68d53a5da85c195def66ec103f086b9254b/ratbagd/ratbagd-resolution.c#L118
---
piper/ratbagd.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 3467212..05d3408 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -501,6 +501,7 @@ class RatbagdResolution(_RatbagdDBus):
def __init__(self, object_path):
_RatbagdDBus.__init__(self, "Resolution", object_path)
self._active = self._get_dbus_property("IsActive")
+ self._default = self._get_dbus_property("IsDefault")
def _on_properties_changed(self, proxy, changed_props, invalidated_props):
if "IsActive" in changed_props.keys():
@@ -508,6 +509,11 @@ class RatbagdResolution(_RatbagdDBus):
if active != self._active:
self._active = active
self.notify("is-active")
+ elif "IsDefault" in changed_props.keys():
+ default = changed_props["IsDefault"]
+ if default != self._default:
+ self._default = default
+ self.notify("is-default")
@GObject.Property
def index(self):
@@ -570,7 +576,7 @@ class RatbagdResolution(_RatbagdDBus):
def is_default(self):
"""True if this is the currently default resolution, False
otherwise"""
- return self._get_dbus_property("IsDefault")
+ return self._default
def set_default(self):
"""Set this resolution to be the default."""
--
2.16.1

View File

@@ -1,28 +0,0 @@
From 87dc9f427a9376915f30231459fb76c84d57b973 Mon Sep 17 00:00:00 2001
From: Jente Hidskes <hjdskes@gmail.com>
Date: Sun, 15 Oct 2017 12:33:47 +0200
Subject: [PATCH 20/30] ResolutionRow: use new RatbagdResolution API
The API was changed in https://github.com/libratbag/libratbag/pull/393.
---
piper/resolutionrow.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/piper/resolutionrow.py b/piper/resolutionrow.py
index 8cba448..108af45 100644
--- a/piper/resolutionrow.py
+++ b/piper/resolutionrow.py
@@ -60,8 +60,8 @@ class ResolutionRow(Gtk.ListBoxRow):
self._on_is_active_changed)
xres, __ = resolution.resolution
- minres = resolution.minimum
- maxres = resolution.maximum
+ minres = resolution.resolutions[0]
+ maxres = resolution.resolutions[-1]
self.dpi_label.set_text("{} DPI".format(xres))
self.active_label.set_visible(resolution.is_active)
--
2.16.1

View File

@@ -1,31 +0,0 @@
From a5d52ff49777676eab5e75ebd84990ff43922f86 Mon Sep 17 00:00:00 2001
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
Date: Tue, 19 Sep 2017 22:49:10 +0200
Subject: [PATCH 15/30] ResolutionsPage: fix bad toggles of report rate
The radiobuttons for changing the report rate fires the 'toggled'
signal both when being set and unset. This caused the report rate
to flip when chaning the active profile.
Follow the advice in the GTK documentation and check if the button
is active in the callback function.
---
piper/resolutionspage.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/piper/resolutionspage.py b/piper/resolutionspage.py
index 0c52c44..0e0d1f6 100644
--- a/piper/resolutionspage.py
+++ b/piper/resolutionspage.py
@@ -99,6 +99,8 @@ class ResolutionsPage(Gtk.Box):
# TODO: currently no devices expose CAP_INDIVIDUAL_REPORT_RATE, but if
# so then we should check for this here and set it only on the relevant
# resolution.
+ if not button.get_active():
+ return
profile = self._device.active_profile
for resolution in profile.resolutions:
resolution.report_rate = rate
--
2.16.1

View File

@@ -1,67 +0,0 @@
From 1f1b43b40ae4ed5699f8fbf420eb2d4d32fa2fbc Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 16 Oct 2017 09:58:07 +1000
Subject: [PATCH 25/30] ResolutionsRow: snap to nearest allowed resolution
value
libratbag now exports a list of permitted resolutions rather than a min/max
value (and a guesswork step increment on piper's side). Use that and snap the
resolution slider to the nearest value in that list.
See https://github.com/libratbag/libratbag/pull/393
Related to #186
---
piper/resolutionrow.py | 29 +++++++++++++++++++++++++----
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/piper/resolutionrow.py b/piper/resolutionrow.py
index 108af45..884fad7 100644
--- a/piper/resolutionrow.py
+++ b/piper/resolutionrow.py
@@ -62,6 +62,7 @@ class ResolutionRow(Gtk.ListBoxRow):
xres, __ = resolution.resolution
minres = resolution.resolutions[0]
maxres = resolution.resolutions[-1]
+ self.resolutions = resolution.resolutions
self.dpi_label.set_text("{} DPI".format(xres))
self.active_label.set_visible(resolution.is_active)
@@ -75,10 +76,30 @@ class ResolutionRow(Gtk.ListBoxRow):
@GtkTemplate.Callback
def _on_change_value(self, scale, scroll, value):
- # Round the value resulting from a scroll event to the nearest multiple
- # of 50. This is to work around the Gtk.Scale not snapping to its
- # Gtk.Adjustment's step_increment.
- scale.set_value(int(value - (value % 50)))
+
+ # Cursor-controlled slider may get out of the GtkAdjustment's range
+ value = min(max(self.resolutions[0], value), self.resolutions[-1])
+
+ # Find the nearest permitted value to our Gtk.Scale value
+ lo = max([r for r in self.resolutions if r <= value])
+ hi = min([r for r in self.resolutions if r >= value])
+
+ if value - lo < hi - value:
+ value = lo
+ else:
+ value = hi
+
+ scale.set_value(value)
+
+ # libratbag provides a fake-exponential range with the deltas
+ # increasing as the resolution goes up. Make sure we set our
+ # steps to the next available value.
+ idx = self.resolutions.index(value)
+ if idx < len(self.resolutions) - 1:
+ delta = self.resolutions[idx + 1] - self.resolutions[idx]
+ self.scale.props.adjustment.set_step_increment(delta)
+ self.scale.props.adjustment.set_page_increment(delta)
+
return True
@GtkTemplate.Callback
--
2.16.1

View File

@@ -1,25 +0,0 @@
From be0aff095dd11697b033cec07339ceaea9c18ce0 Mon Sep 17 00:00:00 2001
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
Date: Tue, 17 Oct 2017 21:05:52 +0200
Subject: [PATCH 22/30] sync LED type from libratbag
A new LED type "wheel" was added in libratbag
---
piper/ratbagd.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/piper/ratbagd.py b/piper/ratbagd.py
index 4290aa4..9513f74 100644
--- a/piper/ratbagd.py
+++ b/piper/ratbagd.py
@@ -879,6 +879,7 @@ class RatbagdLed(_RatbagdDBus):
TYPE_SIDE = 2
TYPE_BATTERY = 3
TYPE_DPI = 4
+ TYPE_WHEEL = 5
MODE_OFF = 0
MODE_ON = 1
--
2.16.1

View File

@@ -1,23 +0,0 @@
From 1c75b90db93ccaa21a5c6f73e6fef9c80240fad7 Mon Sep 17 00:00:00 2001
From: gogogogi <trebelnik2@gmail.com>
Date: Sat, 26 Aug 2017 00:28:55 +0200
Subject: [PATCH 02/30] Update hr.po
---
po/hr.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/po/hr.po b/po/hr.po
index afea785..f665233 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -1,5 +1,5 @@
# Croatian Piper translation
-# Copyright (C) 2017 Jente Hidskes
+# Copyright (C) 2017 gogo
# This file is distributed under the same license as the piper package.
# gogo <trebelnik2@gmail.com>, 2017.
#
--
2.16.1

View File

@@ -1,190 +0,0 @@
From 15c9aeddd102d27084275fba0d29e72194225498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20Dr=C4=85g?= <piotrdrag@gmail.com>
Date: Sun, 1 Oct 2017 13:39:19 +0200
Subject: [PATCH 17/30] Update Polish translation
---
po/pl.po | 66 ++++++++++++++++++++++++++++++++++------------------------------
1 file changed, 35 insertions(+), 31 deletions(-)
diff --git a/po/pl.po b/po/pl.po
index bd53d2a..906d1e3 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: piper\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-23 20:38+0200\n"
-"PO-Revision-Date: 2017-08-23 23:13+0200\n"
+"POT-Creation-Date: 2017-10-01 13:37+0200\n"
+"PO-Revision-Date: 2017-10-01 13:38+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@@ -45,7 +45,7 @@ msgid "Disabled"
msgstr "Wyłączone"
#. Translators: the button has an unknown function.
-#: piper/buttonspage.py:94 piper/ratbagd.py:613
+#: piper/buttonspage.py:94 piper/ratbagd.py:689
msgid "Unknown"
msgstr "Nieznane"
@@ -70,121 +70,125 @@ msgstr "Diody LED"
msgid "Profile {}"
msgstr "{}. profil"
-#: piper/ratbagd.py:604
+#: piper/ratbagd.py:679
msgid "Left mouse button click"
msgstr "Kliknięcie lewym przyciskiem myszy"
-#: piper/ratbagd.py:605
+#: piper/ratbagd.py:680
msgid "Right mouse button click"
msgstr "Kliknięcie prawym przyciskiem myszy"
-#: piper/ratbagd.py:606
+#: piper/ratbagd.py:681
msgid "Middle mouse button click"
msgstr "Kliknięcie środkowym przyciskiem myszy"
-#: piper/ratbagd.py:607
+#: piper/ratbagd.py:682
msgid "Backward"
msgstr "Wstecz"
-#: piper/ratbagd.py:608
+#: piper/ratbagd.py:683
msgid "Forward"
msgstr "Dalej"
-#: piper/ratbagd.py:614
+#: piper/ratbagd.py:688
+msgid "Invalid"
+msgstr "Nieprawidłowe"
+
+#: piper/ratbagd.py:690
msgid "Doubleclick"
msgstr "Podwójne kliknięcie"
-#: piper/ratbagd.py:615
+#: piper/ratbagd.py:691
msgid "Wheel Left"
msgstr "Kółko w lewo"
-#: piper/ratbagd.py:616
+#: piper/ratbagd.py:692
msgid "Wheel Right"
msgstr "Kółko w prawo"
-#: piper/ratbagd.py:617
+#: piper/ratbagd.py:693
msgid "Wheel Up"
msgstr "Kółko w górę"
-#: piper/ratbagd.py:618
+#: piper/ratbagd.py:694
msgid "Wheel Down"
msgstr "Kółko w dół"
-#: piper/ratbagd.py:619
+#: piper/ratbagd.py:695
msgid "Ratchet Mode"
msgstr "Tryb zapadkowy"
-#: piper/ratbagd.py:620
+#: piper/ratbagd.py:696
msgid "Cycle Resolution Up"
msgstr "Przewija rozdzielczość w górę"
-#: piper/ratbagd.py:621
+#: piper/ratbagd.py:697
msgid "Cycle Resolution Down"
msgstr "Przewija rozdzielczość w dół"
-#: piper/ratbagd.py:622
+#: piper/ratbagd.py:698
msgid "Resolution Up"
msgstr "Rozdzielczość w górę"
-#: piper/ratbagd.py:623
+#: piper/ratbagd.py:699
msgid "Resolution Down"
msgstr "Rozdzielczość w dół"
-#: piper/ratbagd.py:624
+#: piper/ratbagd.py:700
msgid "Resolution Switch"
msgstr "Przełączenie rozdzielczości"
-#: piper/ratbagd.py:625
+#: piper/ratbagd.py:701
msgid "Default Resolution"
msgstr "Domyślna rozdzielczość"
-#: piper/ratbagd.py:626
+#: piper/ratbagd.py:702
msgid "Cycle Profile Up"
msgstr "Przewija profil w górę"
-#: piper/ratbagd.py:627
+#: piper/ratbagd.py:703
msgid "Cycle Profile Down"
msgstr "Przewija profil w dół"
-#: piper/ratbagd.py:628
+#: piper/ratbagd.py:704
msgid "Profile Up"
msgstr "Profil w górę"
-#: piper/ratbagd.py:629
+#: piper/ratbagd.py:705
msgid "Profile Down"
msgstr "Profil w dół"
-#: piper/ratbagd.py:630
+#: piper/ratbagd.py:706
msgid "Second Mode"
msgstr "Drugi poziom"
-#: piper/ratbagd.py:631
+#: piper/ratbagd.py:707
msgid "Battery Level"
msgstr "Poziom naładowania akumulatora"
#. Translators: this is used when there is no macro to preview.
-#: piper/ratbagd.py:759 data/ui/ButtonDialog.ui:106 data/ui/ButtonDialog.ui:187
+#: piper/ratbagd.py:820 data/ui/ButtonDialog.ui:106 data/ui/ButtonDialog.ui:187
msgid "None"
msgstr "Brak"
#. Translators: the LED is off.
-#: piper/ratbagd.py:833 data/ui/LedDialog.ui:391
+#: piper/ratbagd.py:894 data/ui/LedDialog.ui:391
msgid "Off"
msgstr "Wyłączone"
#. Translators: the LED has a single, solid color.
-#: piper/ratbagd.py:835 data/ui/LedDialog.ui:66
+#: piper/ratbagd.py:896 data/ui/LedDialog.ui:66
msgid "Solid"
msgstr "Jeden kolor"
#. Translators: the LED is cycling between red, green and blue.
-#: piper/ratbagd.py:837 data/ui/LedDialog.ui:188
+#: piper/ratbagd.py:898 data/ui/LedDialog.ui:188
msgid "Cycle"
msgstr "Zmienny kolor"
#. Translators: the LED's is pulsating a single color on different
#. brightnesses.
-#: piper/ratbagd.py:840 data/ui/LedDialog.ui:353
+#: piper/ratbagd.py:901 data/ui/LedDialog.ui:353
msgid "Breathing"
msgstr "Pulsujący kolor"
--
2.16.1

View File

@@ -1,63 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{3_4,3_5,3_6} )
inherit gnome2 meson python-r1
DESCRIPTION="GTK application to configure gaming mice"
HOMEPAGE="https://github.com/libratbag/piper"
SRC_URI="https://github.com/libratbag/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
virtual/pkgconfig
dev-python/pygobject:3
>=x11-libs/gtk+-3.22:3[introspection]
"
RDEPEND="
dev-libs/libratbag
dev-python/python-evdev[${PYTHON_USEDEP}]
"
PATCHES=(
${FILESDIR}/${P}-add-hr.po.patch
${FILESDIR}/${P}-update-hr.po.patch
${FILESDIR}/${P}-mousemap-redraw-on-allocate.patch
${FILESDIR}/${P}-buttondialog-correctly-re-initialize-the-current-mac.patch
${FILESDIR}/${P}-ratbagdprofile-emit-notify-is-active-from-dbus-prope.patch
${FILESDIR}/${P}-ratbagdresolution-cache-the-is_active-property-to-si.patch
${FILESDIR}/${P}-ratbagdresolution-cache-the-is_default-property-to-s.patch
${FILESDIR}/${P}-piper-ratbagd.py-sync-with-libratbag.patch
${FILESDIR}/${P}-ratbagd-sync-with-libratbag.patch
${FILESDIR}/${P}-add-sv-l10n.patch
${FILESDIR}/${P}-ratbagd-sync-with-libratbag.patch-1.patch
${FILESDIR}/${P}-devicerow-don-t-overwrite-device-with-the-svg.patch
${FILESDIR}/${P}-resolutionspage-fix-bad-toggles-of-report-rate.patch
${FILESDIR}/${P}-update-polish-translation.patch
${FILESDIR}/${P}-ratbagd-sync-with-libratbag.patch-2.patch
${FILESDIR}/${P}-ratbagdled-fix-docstring.patch
${FILESDIR}/${P}-resolutionrow-use-new-ratbagdresolution-api.patch
${FILESDIR}/${P}-do-not-generate-icon-cache-when-destdir-is-set.patch
${FILESDIR}/${P}-sync-led-type-from-libratbag.patch
${FILESDIR}/${P}-resolutionsrow-snap-to-nearest-allowed-resolution-va.patch
${FILESDIR}/${P}-led-add-an-image-for-the-led-off-page.patch
${FILESDIR}/${P}-mousemap-if-the-old-highlight-is-none-don-t-try-to-r.patch
${FILESDIR}/${P}-leddialog-use-new-effect-duration-in-ms.patch
${FILESDIR}/${P}-ratbagd.py-sync-with-libratbag.patch
${FILESDIR}/${P}-hide-led-modes-that-are-not-supported.patch
)
src_prepare() {
python_setup
default
}
src_configure() {
meson_src_configure
}

View File

@@ -0,0 +1,34 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{3_4,3_5,3_6} )
inherit gnome2 meson python-r1
DESCRIPTION="GTK application to configure gaming mice"
HOMEPAGE="https://github.com/libratbag/piper"
SRC_URI="https://github.com/libratbag/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
virtual/pkgconfig
dev-python/pygobject:3
>=x11-libs/gtk+-3.22:3[introspection]
"
RDEPEND="
dev-libs/libratbag
dev-python/python-evdev[${PYTHON_USEDEP}]
"
src_prepare() {
python_setup
default
}
src_configure() {
meson_src_configure
}