Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package razercfg for openSUSE:Factory checked in at 2026-09-07 11:34:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/razercfg (Old) and /work/SRC/openSUSE:Factory/.razercfg.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "razercfg" Mon Sep 7 11:34:00 2026 rev:13 rq:1375961 version:0.44 Changes: -------- --- /work/SRC/openSUSE:Factory/razercfg/razercfg.changes 2025-07-11 21:31:12.735770351 +0200 +++ /work/SRC/openSUSE:Factory/.razercfg.new.1265/razercfg.changes 2026-09-07 11:34:50.179570044 +0200 @@ -1,0 +2,10 @@ +Sat May 23 18:36:34 UTC 2026 - Dirk Müller <[email protected]> + +- update to 0.44: + * Fix independent axes + * Fix QLineEdit.EchoMode + * Update Qt.CheckState + * Fix QSystemTrayIcon.ActionReason + * Update to pyqt6 + +------------------------------------------------------------------- Old: ---- razercfg-0.43.tar.xz razercfg-0.43.tar.xz.asc New: ---- razercfg-0.44.tar.xz razercfg-0.44.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ razercfg.spec ++++++ --- /var/tmp/diff_new_pack.OYdHC3/_old 2026-09-07 11:34:50.999598771 +0200 +++ /var/tmp/diff_new_pack.OYdHC3/_new 2026-09-07 11:34:51.001598841 +0200 @@ -1,7 +1,7 @@ # # spec file for package razercfg # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,11 +17,11 @@ Name: razercfg -Version: 0.43 +Version: 0.44 Release: 0 Summary: A Razer device configuration tool # Icons are http://creativecommons.org/licenses/by/4.0/ -License: GPL-2.0-or-later AND CC-BY-SA-4.0 +License: CC-BY-SA-4.0 AND GPL-2.0-or-later Group: Hardware/Other URL: https://bues.ch/cms/hacking/razercfg.html Source0: https://bues.ch/razercfg/%{name}-%{version}.tar.xz @@ -40,7 +40,7 @@ BuildRequires: systemd-rpm-macros BuildRequires: update-desktop-files BuildRequires: pkgconfig(udev) -Requires: python3-qt5 +Requires: python3-qt6 %{?systemd_ordering} %description ++++++ razercfg-0.43.tar.xz -> razercfg-0.44.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/CMakeLists.txt new/razercfg-0.44/CMakeLists.txt --- old/razercfg-0.43/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.10) project(razer C) if (COMMAND cmake_policy) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/HACKING.html new/razercfg-0.44/HACKING.html --- old/razercfg-0.43/HACKING.html 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/HACKING.html 1970-01-01 01:00:00.000000000 +0100 @@ -60,6 +60,10 @@ img { max-width: 100%; } + svg { + height: auto; + max-width: 100%; + } h1, h2, h3, h4, h5, h6 { margin-top: 1.4em; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/README.html new/razercfg-0.44/README.html --- old/razercfg-0.43/README.html 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/README.html 1970-01-01 01:00:00.000000000 +0100 @@ -60,6 +60,10 @@ img { max-width: 100%; } + svg { + height: auto; + max-width: 100%; + } h1, h2, h3, h4, h5, h6 { margin-top: 1.4em; } @@ -162,6 +166,70 @@ vertical-align: middle; } .display.math{display: block; text-align: center; margin: 0.5rem auto;} + /* CSS for syntax highlighting */ + pre > code.sourceCode { white-space: pre; position: relative; } + pre > code.sourceCode > span { line-height: 1.25; } + pre > code.sourceCode > span:empty { height: 1.2em; } + .sourceCode { overflow: visible; } + code.sourceCode > span { color: inherit; text-decoration: inherit; } + div.sourceCode { margin: 1em 0; } + pre.sourceCode { margin: 0; } + @media screen { + div.sourceCode { overflow: auto; } + } + @media print { + pre > code.sourceCode { white-space: pre-wrap; } + pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; } + } + pre.numberSource code + { counter-reset: source-line 0; } + pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } + pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + color: #aaaaaa; + } + pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } + div.sourceCode + { } + @media screen { + pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } + } + code span.al { color: #ff0000; font-weight: bold; } /* Alert */ + code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ + code span.at { color: #7d9029; } /* Attribute */ + code span.bn { color: #40a070; } /* BaseN */ + code span.bu { color: #008000; } /* BuiltIn */ + code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ + code span.ch { color: #4070a0; } /* Char */ + code span.cn { color: #880000; } /* Constant */ + code span.co { color: #60a0b0; font-style: italic; } /* Comment */ + code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ + code span.do { color: #ba2121; font-style: italic; } /* Documentation */ + code span.dt { color: #902000; } /* DataType */ + code span.dv { color: #40a070; } /* DecVal */ + code span.er { color: #ff0000; font-weight: bold; } /* Error */ + code span.ex { } /* Extension */ + code span.fl { color: #40a070; } /* Float */ + code span.fu { color: #06287e; } /* Function */ + code span.im { color: #008000; font-weight: bold; } /* Import */ + code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ + code span.kw { color: #007020; font-weight: bold; } /* Keyword */ + code span.op { color: #666666; } /* Operator */ + code span.ot { color: #007020; } /* Other */ + code span.pp { color: #bc7a00; } /* Preprocessor */ + code span.sc { color: #4070a0; } /* SpecialChar */ + code span.ss { color: #bb6688; } /* SpecialString */ + code span.st { color: #4070a0; } /* String */ + code span.va { color: #19177c; } /* Variable */ + code span.vs { color: #4070a0; } /* VerbatimString */ + code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ </style> </head> <body> @@ -185,10 +253,10 @@ <li><p>libusb 1.0: <a href="http://libusb.org/">http://libusb.org/</a><br /> Debian Linux: <code>apt-get install libusb-1.0-0-dev</code></p></li> -<li><p>PyQt5 (for the graphical qrazercfg tool only): <a -href="https://riverbankcomputing.com/software/pyqt/download5/">https://riverbankcomputing.com/software/pyqt/download5/</a> -Debian Linux: <code>apt-get install python3-pyqt5</code></p></li> -<li><p>cmake 3.5 or later (for building only): <a +<li><p>PyQt6 (for the graphical qrazercfg tool only: <a +href="https://pypi.org/project/PyQt6/">https://pypi.org/project/PyQt6/</a> +Debian Linux: <code>apt-get install python3-pyqt6</code></p></li> +<li><p>cmake 3.10 or later (for building only): <a href="https://cmake.org/">https://cmake.org/</a><br /> Debian Linux: <code>apt-get install cmake</code></p></li> </ul> @@ -201,17 +269,13 @@ <h2 id="building">Building</h2> <p>First invoke <code>cmake</code> to build the makefiles. Then invoke <code>make</code> to build the binaries:</p> -<pre> -cmake . -make -</pre> +<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cmake</span> .</span> +<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div> <p>(Note the required space and dot after the cmake command)</p> <h2 id="installing">Installing</h2> <p>First you need to install the tool libraries and binaries. Do this by executing the following command as root:</p> -<pre> -make install -</pre> +<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> install</span></code></pre></div> <p>Be aware that <code>make install</code> installs the shared library <code>librazer.so</code> to <code>$PREFIX/lib</code>. The default <code>$PREFIX</code> is <code>/usr/local/</code>, but the install prefix @@ -229,9 +293,7 @@ <p>The <code>make install</code> step installed the razerd.service file. Reboot or run the following command as root to start the razerd daemon:</p> -<pre> -systemctl start razerd -</pre> +<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">systemctl</span> start razerd</span></code></pre></div> <h3 id="if-you-do-not-use-systemd">If you do <strong>not</strong> use systemd:</h3> <p>To automatically start the required system daemon <code>razerd</code> @@ -239,18 +301,14 @@ package includes a generic example script, that should work out-of-the-box on many Linux distributions. To install it, invoke the following commands as root:</p> -<pre> -cp ./razerd.initscript /etc/init.d/razerd -ln -s /etc/init.d/razerd /etc/rc2.d/S99razerd -ln -s /etc/init.d/razerd /etc/rc5.d/S99razerd -ln -s /etc/init.d/razerd /etc/rc0.d/K01razerd -ln -s /etc/init.d/razerd /etc/rc6.d/K01razerd -</pre> +<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cp</span> ./razerd.initscript /etc/init.d/razerd</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">ln</span> <span class="at">-s</span> /etc/init.d/razerd /etc/rc2.d/S99razerd</span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="fu">ln</span> <span class="at">-s</span> /etc/init.d/razerd /etc/rc5.d/S99razerd</span> +<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="fu">ln</span> <span class="at">-s</span> /etc/init.d/razerd /etc/rc0.d/K01razerd</span> +<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="fu">ln</span> <span class="at">-s</span> /etc/init.d/razerd /etc/rc6.d/K01razerd</span></code></pre></div> <h3 id="if-you-use-udev">If you use <strong>udev</strong>:</h3> -The <code>make install</code> step installed the udev script to -<pre> -/etc/udev/rules.d/80-razer.rules -</pre> +<p>The <code>make install</code> step installed the udev script to</p> +<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">/etc/udev/rules.d/80-razer.rules</span></span></code></pre></div> <p>This should work on most distributions.</p> <p>If udev notification does not work, try to reboot the system.</p> <h2 id="razerd-configuration">RazerD Configuration</h2> @@ -271,21 +329,17 @@ <code>/dev/input/mice</code> device instead. This will enable X to pick up the mouse again after a configuration event from razerd.</p> <p>Example xorg.conf snippet:</p> -<pre> -Section "InputDevice" - Identifier "Mouse" - Driver "mouse" - Option "Device" "/dev/input/mice" -EndSection -</pre> +<pre><code>Section "InputDevice" + Identifier "Mouse" + Driver "mouse" + Option "Device" "/dev/input/mice" +EndSection</code></pre> <p>Alternatively, do not specify a <code>"Device"</code> at all. X will autodetect the device then:</p> -<pre> -Section "InputDevice" - Identifier "Mouse" - Driver "mouse" -EndSection -</pre> +<pre><code>Section "InputDevice" + Identifier "Mouse" + Driver "mouse" +EndSection</code></pre> <p>In any case, do <em>NOT</em> use: <code>Option "Device" "/dev/input/mouseX"</code></p> <h2 id="using-the-tools">Using the tools</h2> @@ -304,13 +358,10 @@ It must be called with the install prefix as its first argument. That usually is <code>/usr/local</code>, unless specified otherwise in cmake. A call to uninstall.sh might look like this:</p> -<pre> -./uninstall.sh /usr/local -</pre> +<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./uninstall.sh</span> /usr/local</span></code></pre></div> <h2 id="architecture">Architecture</h2> <p>The architecture layout of the razer tools looks like this:</p> -<pre> - ------------------- +<pre><code> ------------------- | hardware driver 0 |--v ------------------- | | ---------- @@ -345,8 +396,7 @@ | -------------------------- | | Other Python applications |---------^ - --------------------------- -</pre> + ---------------------------</code></pre> <p>So in general, your application wants to access the razer devices through pyrazer or (if it’s not a python app) through librazerd. (Note that librazerd is not written, yet. So currently the only way to access @@ -354,7 +404,7 @@ lowlevel librazer directly, because there will be no instance that keeps track of the device state and permissions and concurrency.</p> <h2 id="license">License</h2> -<p>Copyright (c) 2007-2024 Michael Büsch, et al.</p> +<p>Copyright (c) 2007-2026 Michael Büsch, et al.</p> <p>See the COPYING file for license information.</p> </body> </html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/README.md new/razercfg-0.44/README.md --- old/razercfg-0.43/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -19,10 +19,10 @@ * libusb 1.0: [http://libusb.org/](http://libusb.org/) Debian Linux: `apt-get install libusb-1.0-0-dev` -* PyQt5 (for the graphical qrazercfg tool only): [https://riverbankcomputing.com/software/pyqt/download5/](https://riverbankcomputing.com/software/pyqt/download5/) -Debian Linux: `apt-get install python3-pyqt5` +* PyQt6 (for the graphical qrazercfg tool only: [https://pypi.org/project/PyQt6/](https://pypi.org/project/PyQt6/) +Debian Linux: `apt-get install python3-pyqt6` -* cmake 3.5 or later (for building only): [https://cmake.org/](https://cmake.org/) +* cmake 3.10 or later (for building only): [https://cmake.org/](https://cmake.org/) Debian Linux: `apt-get install cmake` Note that almost all distributions ship prebuilt packages of the @@ -39,10 +39,10 @@ First invoke `cmake` to build the makefiles. Then invoke `make` to build the binaries: -<pre> +```sh cmake . make -</pre> +``` (Note the required space and dot after the cmake command) @@ -52,9 +52,9 @@ First you need to install the tool libraries and binaries. Do this by executing the following command as root: -<pre> +```sh make install -</pre> +``` Be aware that `make install` installs the shared library `librazer.so` to `$PREFIX/lib`. The default `$PREFIX` is `/usr/local/`, but the install prefix can also be changed via `-DCMAKE_INSTALL_PREFIX='<somewhere>'`. @@ -68,9 +68,9 @@ The `make install` step installed the razerd.service file. Reboot or run the following command as root to start the razerd daemon: -<pre> +```sh systemctl start razerd -</pre> +``` ### If you do **not** use systemd: @@ -79,20 +79,22 @@ example script, that should work out-of-the-box on many Linux distributions. To install it, invoke the following commands as root: -<pre> +```sh cp ./razerd.initscript /etc/init.d/razerd ln -s /etc/init.d/razerd /etc/rc2.d/S99razerd ln -s /etc/init.d/razerd /etc/rc5.d/S99razerd ln -s /etc/init.d/razerd /etc/rc0.d/K01razerd ln -s /etc/init.d/razerd /etc/rc6.d/K01razerd -</pre> +``` ### If you use **udev**: The `make install` step installed the udev script to -<pre> + +```sh /etc/udev/rules.d/80-razer.rules -</pre> +``` + This should work on most distributions. If udev notification does not work, try to reboot the system. @@ -120,23 +122,23 @@ Example xorg.conf snippet: -<pre> +``` Section "InputDevice" Identifier "Mouse" Driver "mouse" Option "Device" "/dev/input/mice" EndSection -</pre> +``` Alternatively, do not specify a `"Device"` at all. X will autodetect the device then: -<pre> +``` Section "InputDevice" Identifier "Mouse" Driver "mouse" EndSection -</pre> +``` In any case, do _NOT_ use: `Option "Device" "/dev/input/mouseX"` @@ -161,16 +163,16 @@ argument. That usually is `/usr/local`, unless specified otherwise in cmake. A call to uninstall.sh might look like this: -<pre> +```sh ./uninstall.sh /usr/local -</pre> +``` Architecture ------------ The architecture layout of the razer tools looks like this: -<pre> +``` ------------------- | hardware driver 0 |--v ------------------- | @@ -207,7 +209,7 @@ -------------------------- | | Other Python applications |---------^ --------------------------- -</pre> +``` So in general, your application wants to access the razer devices through pyrazer or (if it's not a python app) through librazerd. @@ -220,6 +222,6 @@ License ------- -Copyright (c) 2007-2024 Michael Büsch, et al. +Copyright (c) 2007-2026 Michael Büsch, et al. See the COPYING file for license information. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/razerd/razerd.c new/razercfg-0.44/razerd/razerd.c --- old/razercfg-0.43/razerd/razerd.c 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/razerd/razerd.c 1970-01-01 01:00:00.000000000 +0100 @@ -798,30 +798,38 @@ static int recv_bulk(struct client *client, char *buf, unsigned int len) { - unsigned int next_len, i; + unsigned int next_len, i, got; int nr; -//FIXME timeout for (i = 0; i < len; i += BULK_CHUNK_SIZE) { next_len = BULK_CHUNK_SIZE; if (i + next_len > len) next_len = len - i; - while (1) { - nr = recv(client->fd, buf + i, next_len, 0); + + got = 0; + while (got < next_len) { + nr = recv(client->fd, buf + i + got, next_len - got, 0); if (nr < 0) { - if (errno == EAGAIN || - errno == EINTR) { + if (errno == EAGAIN || errno == EINTR) { razer_msleep(1); continue; } + send_u32(client, ERR_PAYLOAD); + return -1; + } + if (nr == 0) { + /* Peer closed connection unexpectedly. */ + send_u32(client, ERR_PAYLOAD); + return -1; } - if (nr > 0) - break; + got += (unsigned int)nr; } - if (nr < 0 || (unsigned int)nr != next_len) { + + if (got != next_len) { send_u32(client, ERR_PAYLOAD); return -1; } + send_u32(client, ERR_NONE); } @@ -2082,6 +2090,7 @@ int err; int errcount = 0; fd_set wait_fdset; + int maxfd; loginfo("Razer device service daemon\n"); @@ -2100,13 +2109,54 @@ while (1) { FD_ZERO(&wait_fdset); - FD_SET(privsock, &wait_fdset); - FD_SET(ctlsock, &wait_fdset); - for (client = clients; client; client = client->next) - FD_SET(client->fd, &wait_fdset); - for (client = privileged_clients; client; client = client->next) - FD_SET(client->fd, &wait_fdset); - err = select(FD_SETSIZE, &wait_fdset, NULL, NULL, NULL); + + /* Build fdset while tracking maximum fd. Skip and log fds >= FD_SETSIZE. */ + maxfd = -1; + if (privsock >= 0) { + if (privsock < FD_SETSIZE) { + FD_SET(privsock, &wait_fdset); + maxfd = max(maxfd, privsock); + } else { + logerr("privsock fd %d >= FD_SETSIZE (%d), skipping\n", privsock, FD_SETSIZE); + } + } + if (ctlsock >= 0) { + if (ctlsock < FD_SETSIZE) { + FD_SET(ctlsock, &wait_fdset); + maxfd = max(maxfd, ctlsock); + } else { + logerr("ctlsock fd %d >= FD_SETSIZE (%d), skipping\n", ctlsock, FD_SETSIZE); + } + } + + for (client = clients; client; client = client->next) { + if (client->fd >= 0) { + if (client->fd < FD_SETSIZE) { + FD_SET(client->fd, &wait_fdset); + maxfd = max(maxfd, client->fd); + } else { + logerr("Client fd %d >= FD_SETSIZE (%d), skipping\n", client->fd, FD_SETSIZE); + } + } + } + for (client = privileged_clients; client; client = client->next) { + if (client->fd >= 0) { + if (client->fd < FD_SETSIZE) { + FD_SET(client->fd, &wait_fdset); + maxfd = max(maxfd, client->fd); + } else { + logerr("Privileged client fd %d >= FD_SETSIZE (%d), skipping\n", client->fd, FD_SETSIZE); + } + } + } + + if (maxfd < 0) { + /* No valid fds to wait on. Avoid busy-looping. */ + razer_msleep(100); + continue; + } + + err = select(maxfd + 1, &wait_fdset, NULL, NULL, NULL); if (err == 0) /* no fd ready */ err = -1; if (err > 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/ui/pyrazer/main.py new/razercfg-0.44/ui/pyrazer/main.py --- old/razercfg-0.43/ui/pyrazer/main.py 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/ui/pyrazer/main.py 1970-01-01 01:00:00.000000000 +0100 @@ -28,7 +28,7 @@ import hashlib import struct -RAZER_VERSION = "0.43" +RAZER_VERSION = "0.44" class RazerEx(Exception): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/ui/pyrazer/ui.py new/razercfg-0.44/ui/pyrazer/ui.py --- old/razercfg-0.43/ui/pyrazer/ui.py 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/ui/pyrazer/ui.py 1970-01-01 01:00:00.000000000 +0100 @@ -13,9 +13,9 @@ # GNU General Public License for more details. import sys -from PyQt5.QtCore import * -from PyQt5.QtGui import * -from PyQt5.QtWidgets import * +from PyQt6.QtCore import * +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * Signal = pyqtSignal from functools import partial from pyrazer import * @@ -150,7 +150,7 @@ self.stateCb = QCheckBox(led.name + " LED", self) self.layout().addWidget(self.stateCb, 0, 0) - self.stateCb.setCheckState(Qt.Checked if led.state else Qt.Unchecked) + self.stateCb.setCheckState(Qt.CheckState.Checked if led.state else Qt.CheckState.Unchecked) if led.supported_modes: self.modeComBox = WrappedComboBox(self) @@ -319,10 +319,10 @@ resSel.setCurrentIndex(index) independent = bool([x for x in axisMappings if x != axisMappings[0]]) if independent: - self.resIndependent.setCheckState(Qt.Checked) + self.resIndependent.setCheckState(Qt.CheckState.Checked) else: - self.resIndependent.setCheckState(Qt.Unchecked) - self.resIndependentChanged(self.resIndependent.checkState()) + self.resIndependent.setCheckState(Qt.CheckState.Unchecked) + self.resIndependentChanged() # Profile selection activeProf = razer.getActiveProfile(self.mouseWidget.mouse) @@ -353,7 +353,7 @@ def resChanged(self, unused=None): if self.mouseWidget.recurseProtect: return - if self.resIndependent.checkState() == Qt.Checked: + if self.resIndependent.checkState() == Qt.CheckState.Checked: axisId = 0 for resSel in self.resSel: index = resSel.currentIndex() @@ -370,8 +370,8 @@ resSel.setCurrentIndex(index) self.mouseWidget.recurseProtect -= 1 - def resIndependentChanged(self, newState): - if newState == Qt.Checked: + def resIndependentChanged(self, _=None): + if self.resIndependent.checkState() == Qt.CheckState.Checked: for resSel in self.resSel[1:]: resSel.setEnabled(True) else: @@ -381,13 +381,13 @@ def showButtonConf(self, checked): bconf = ButtonConfDialog(self) - bconf.exec_() + bconf.exec() def nameChange(self, unused): name = razer.getProfileName(self.mouseWidget.mouse, self.profileId) (newName, ok) = QInputDialog.getText(self, self.tr("New profile name"), self.tr("New profile name:"), - QLineEdit.Normal, + QLineEdit.EchoMode.Normal, name) if not ok: return @@ -680,7 +680,7 @@ QMessageBox.information(self, self.tr("About"), self.tr("Razer device configuration tool\n" "Version %s\n" - "Copyright (c) 2007-2020 Michael Buesch et al." + "Copyright (c) 2007-2026 Michael Buesch et al." % RAZER_VERSION)) def showEvent(self, ev): @@ -738,9 +738,9 @@ self.mainwnd.hidden.connect(self.__mainwndHidden) def __handleActivate(self, reason): - if reason in {QSystemTrayIcon.Trigger, - QSystemTrayIcon.DoubleClick, - QSystemTrayIcon.MiddleClick}: + if reason in {QSystemTrayIcon.ActivationReason.Trigger, + QSystemTrayIcon.ActivationReason.DoubleClick, + QSystemTrayIcon.ActivationReason.MiddleClick}: self.contextMenu().popup(QCursor.pos()) def __contextAboutToShow(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/ui/qrazercfg new/razercfg-0.44/ui/qrazercfg --- old/razercfg-0.43/ui/qrazercfg 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/ui/qrazercfg 1970-01-01 01:00:00.000000000 +0100 @@ -16,9 +16,9 @@ import sys import traceback -from PyQt5.QtCore import * -from PyQt5.QtGui import * -from PyQt5.QtWidgets import * +from PyQt6.QtCore import * +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * import pyrazer from pyrazer import ui @@ -34,7 +34,7 @@ try: mainwnd = ui.MainWindow() mainwnd.show() - return app.exec_() + return app.exec() except pyrazer.RazerEx as e: QMessageBox.critical(None, "qrazercfg - Fatal exception", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/razercfg-0.43/ui/qrazercfg-applet new/razercfg-0.44/ui/qrazercfg-applet --- old/razercfg-0.43/ui/qrazercfg-applet 1970-01-01 01:00:00.000000000 +0100 +++ new/razercfg-0.44/ui/qrazercfg-applet 1970-01-01 01:00:00.000000000 +0100 @@ -16,9 +16,9 @@ import sys import traceback -from PyQt5.QtCore import * -from PyQt5.QtGui import * -from PyQt5.QtWidgets import * +from PyQt6.QtCore import * +from PyQt6.QtGui import * +from PyQt6.QtWidgets import * import pyrazer from pyrazer import ui @@ -38,7 +38,7 @@ return 1 applet = ui.RazerApplet() applet.show() - return app.exec_() + return app.exec() except pyrazer.RazerEx as e: QMessageBox.critical(None, "qrazercfg-applet - Fatal exception",
