mirror of
https://github.com/dguglielmi/sunny-overlay.git
synced 2025-12-06 16:02:39 +01:00
app-misc/piper: add ebuild and patches
This commit is contained in:
28
app-misc/piper/Manifest
Normal file
28
app-misc/piper/Manifest
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
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
|
||||||
|
MISC metadata.xml 480 BLAKE2B 628471473bfa2fe2e495ef6daad43ab16bff6b2f62554ba987b7fa240efca9f54e4e42783590795c791ffcaf731b18736116152d75af91aa8339f7534ba4dd69 SHA512 1dd51740d531f6aa880af85346ddb0aceba018ba7de7fa4fe665eec9f074400416c48905d4adcd3a834ea2bf953713f0cbcf9ef01d1c507d1177a564085297c2
|
||||||
479
app-misc/piper/files/piper-0.2.900-add-hr.po.patch
Normal file
479
app-misc/piper/files/piper-0.2.900-add-hr.po.patch
Normal file
@@ -0,0 +1,479 @@
|
|||||||
|
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
|
||||||
|
|
||||||
478
app-misc/piper/files/piper-0.2.900-add-sv-l10n.patch
Normal file
478
app-misc/piper/files/piper-0.2.900-add-sv-l10n.patch
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
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
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,170 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
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
|
||||||
|
|
||||||
23
app-misc/piper/files/piper-0.2.900-update-hr.po.patch
Normal file
23
app-misc/piper/files/piper-0.2.900-update-hr.po.patch
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,190 @@
|
|||||||
|
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
|
||||||
|
|
||||||
11
app-misc/piper/metadata.xml
Normal file
11
app-misc/piper/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>dg@accelance.fr</email>
|
||||||
|
<name>David Guglielmi</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">libratbag/piper</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
||||||
63
app-misc/piper/piper-0.2.900.ebuild
Normal file
63
app-misc/piper/piper-0.2.900.ebuild
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user