Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vdu_controls for openSUSE:Factory 
checked in at 2026-08-09 21:42:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdu_controls (Old)
 and      /work/SRC/openSUSE:Factory/.vdu_controls.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vdu_controls"

Sun Aug  9 21:42:15 2026 rev:23 rq:1370277 version:2.6.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/vdu_controls/vdu_controls.changes        
2026-08-05 17:50:51.475021019 +0200
+++ /work/SRC/openSUSE:Factory/.vdu_controls.new.16738/vdu_controls.changes     
2026-08-09 21:45:14.562533575 +0200
@@ -1,0 +2,6 @@
+Thu Aug  6 21:04:53 UTC 2026 - Michael Hamilton <[email protected]>
+
+- Version 2.6.9
+  * Fix Qt session restoration state (X11 only feature) - really fix this time.
+
+-------------------------------------------------------------------

Old:
----
  vdu_controls-2.6.8.tar.gz

New:
----
  vdu_controls-2.6.9.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vdu_controls.spec ++++++
--- /var/tmp/diff_new_pack.pcMgmL/_old  2026-08-09 21:45:15.206555558 +0200
+++ /var/tmp/diff_new_pack.pcMgmL/_new  2026-08-09 21:45:15.206555558 +0200
@@ -17,7 +17,7 @@
 #
 
 Name:           vdu_controls
-Version:        2.6.8
+Version:        2.6.9
 Release:        0
 Summary:        Visual Display Unit virtual control panel
 License:        GPL-3.0-or-later

++++++ vdu_controls-2.6.8.tar.gz -> vdu_controls-2.6.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/CHANGELOG.md 
new/vdu_controls-2.6.9/CHANGELOG.md
--- old/vdu_controls-2.6.8/CHANGELOG.md 2026-08-05 02:57:02.000000000 +0200
+++ new/vdu_controls-2.6.9/CHANGELOG.md 2026-08-06 09:25:41.000000000 +0200
@@ -4,6 +4,9 @@
 -->
 # Changelog
 
+## Unreleased 2.6.9
+- Fix Qt session restoration state (X11 only feature) - really fix this time.
+
 ## Version 2.6.8 <small>(2026-08-05)</small> 
 - Fix Qt session restoration state - set executable to be wrapper-script.
 - Fix gnome QTextBrowser external http link following.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/README.md 
new/vdu_controls-2.6.9/README.md
--- old/vdu_controls-2.6.8/README.md    2026-08-05 02:57:02.000000000 +0200
+++ new/vdu_controls-2.6.9/README.md    2026-08-06 09:25:41.000000000 +0200
@@ -12,7 +12,7 @@
 > 
 
 > [!TIP]
-> Laptop-panels are supported in version 2.6 (see 
[options](https://github.com/digitaltrails/vdu_controls#laptop-panel-brightness-controls)
 below).
+> Laptop-panels are supported in version 2.6 ([see 
below](#laptop-panel-brightness-controls)).
 
 
 ## Description
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/packaging/PKGBUILD 
new/vdu_controls-2.6.9/packaging/PKGBUILD
--- old/vdu_controls-2.6.8/packaging/PKGBUILD   2026-08-05 02:57:02.000000000 
+0200
+++ new/vdu_controls-2.6.9/packaging/PKGBUILD   2026-08-06 09:25:41.000000000 
+0200
@@ -1,6 +1,6 @@
 # Maintainer: Mark Wagie <mark dot wagie at proton dot me>
 pkgname=vdu_controls
-pkgver=2.6.8
+pkgver=2.6.9
 pkgrel=1
 pkgdesc="Visual Display Unit virtual control panel - a GUI front end to 
ddcutil"
 arch=('any')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/packaging/vdu_controls.spec 
new/vdu_controls-2.6.9/packaging/vdu_controls.spec
--- old/vdu_controls-2.6.8/packaging/vdu_controls.spec  2026-08-05 
02:57:02.000000000 +0200
+++ new/vdu_controls-2.6.9/packaging/vdu_controls.spec  2026-08-06 
09:25:41.000000000 +0200
@@ -17,7 +17,7 @@
 #
 
 Name:           vdu_controls
-Version:        2.6.8
+Version:        2.6.9
 Release:        0
 Summary:        Visual Display Unit virtual control panel
 License:        GPL-3.0-or-later
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/pyproject.toml 
new/vdu_controls-2.6.9/pyproject.toml
--- old/vdu_controls-2.6.8/pyproject.toml       2026-08-05 02:57:02.000000000 
+0200
+++ new/vdu_controls-2.6.9/pyproject.toml       2026-08-06 09:25:41.000000000 
+0200
@@ -7,7 +7,7 @@
 
 [project]
 name = "vdu_controls"
-version = "2.6.8"
+version = "2.6.9"
 description = "Visual Display Unit virtual control panel"
 requires-python = ">=3.9"
 dependencies = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/src/vdu_controls/constants.py 
new/vdu_controls-2.6.9/src/vdu_controls/constants.py
--- old/vdu_controls-2.6.8/src/vdu_controls/constants.py        2026-08-05 
02:57:02.000000000 +0200
+++ new/vdu_controls-2.6.9/src/vdu_controls/constants.py        2026-08-06 
09:25:41.000000000 +0200
@@ -38,7 +38,7 @@
 # the version reported in the About Dialog).  In this way, wider packaging
 # doesn't require hacks to copy with rc/beta suffixes which we are
 # never going to appear in delivered distro releases.
-VDU_CONTROLS_VERSION = '2.6.8'
+VDU_CONTROLS_VERSION = '2.6.9'
 VDU_CONTROLS_VERSION_TUPLE = tuple(int(i) for i in _re.split(r'[.-]', 
VDU_CONTROLS_VERSION)[:3])
 VDU_CONTROLS_BASE_VERSION = VDU_CONTROLS_VERSION.split('-')[0]
 VDU_CONTROLS_PRE_RELEASE = (VDU_CONTROLS_VERSION.split('-') + [ '' ])[1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vdu_controls-2.6.8/src/vdu_controls/installer.py 
new/vdu_controls-2.6.9/src/vdu_controls/installer.py
--- old/vdu_controls-2.6.8/src/vdu_controls/installer.py        2026-08-05 
02:57:02.000000000 +0200
+++ new/vdu_controls-2.6.9/src/vdu_controls/installer.py        2026-08-06 
09:25:41.000000000 +0200
@@ -14,7 +14,7 @@
 from vdu_controls.svg import VDU_CONTROLS_ICON_SVG
 
 
-def install_as_desktop_application(uninstall: bool = False) -> None:
+def install_as_desktop_application(python_script_name: str, uninstall: bool = 
False) -> None:
     """
     Self install this script in the current Linux user's bin directory
     and desktop applications->settings menu.
@@ -54,15 +54,16 @@
     if installed_script_path.exists():
         log.warning(f"reinstalling {installed_script_path.as_posix()}, 
assuming an upgrade is required.")
 
-    origin_script_path = Path(sys.argv[0])
+    script_path_str = python_script_name
+    origin_script_path = Path(script_path_str)
     if origin_script_path.name == "__main__.py" and 
origin_script_path.parent.name == 'vdu_controls':
         import zipapp
         log.info(f"Creating zipapp {installed_script_path.as_posix()}")
         zipapp.create_archive(origin_script_path.parent.parent, 
target=installed_script_path,
                               main='vdu_controls.__main__:main', 
interpreter=sys.executable)
     elif origin_script_path.name.endswith(".pyz"):
-        log.info(f"Copying existing zipapp {sys.argv[0]} to  
{installed_script_path.as_posix()}")
-        shutil.copy2(sys.argv[0], installed_script_path)
+        log.info(f"Copying existing zipapp {script_path_str} to  
{installed_script_path.as_posix()}")
+        shutil.copy2(script_path_str, installed_script_path)
     else:
         log.error(f"Unrecognized installable: {origin_script_path}")
         sys.exit(0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vdu_controls-2.6.8/src/vdu_controls/vdu_controls_application.py 
new/vdu_controls-2.6.9/src/vdu_controls/vdu_controls_application.py
--- old/vdu_controls-2.6.8/src/vdu_controls/vdu_controls_application.py 
2026-08-05 02:57:02.000000000 +0200
+++ new/vdu_controls-2.6.9/src/vdu_controls/vdu_controls_application.py 
2026-08-06 09:25:41.000000000 +0200
@@ -1619,20 +1619,24 @@
     return app_instance
 
 
-def fix_session_restoration_path(sys_args: List[str]) -> List[str]:
+def edit_session_restoration_path() -> str:
     """
-    Ensure that sys.argv[0] points to the wrapper script 
(blah/bin/vdu_controls)
+    if VDU_CONTROLS_WRAPPER is set, ensure that sys.argv[0] points to the
+    wrapper script defined by the env variable (blah/bin/vdu_controls)
     instead of the full path to __main__.py. This fixes session restoration
     on all desktop environments (KDE, GNOME, XFCE, LXQt, etc.) by ensuring
     the session manager saves the correct restart command.
+
+    Return: original python sys.argv[0] for use by the --install option
     """
     # Prefer the environment variable set by the wrapper.
     wrapper = getenv_logged("VDU_CONTROLS_WRAPPER", '')
+    python_script_name = sys.argv[0]
+    log.info(f"ArgvEdit: {python_script_name=}")
     if wrapper:
-        log.info(f"Wrapper script in use. Session restart executable: 
VDU_CONTROLS_WRAPPER={wrapper}.")
-        return [ wrapper ] + sys_args[1:]
-    log.info(f"Not started by wrapper script. Session restart executable: 
{sys.argv[0]}")
-    return sys_args
+        log.info(f"ArgvEdit: session restart executable: 
VDU_CONTROLS_WRAPPER={wrapper}.")
+        sys.argv[0] = wrapper
+    return python_script_name
 
 
 def main() -> None:
@@ -1673,8 +1677,10 @@
 
     QGuiApplication.setDesktopFileName("vdu_controls")  # Wayland needs this 
set to find/use the app's desktop icon.
     # Call QApplication before parsing arguments, it will parse and remove Qt 
session restoration arguments.
-    restartable_argv = fix_session_restoration_path(sys.argv)
-    app = QApplication(restartable_argv)
+    log.info(f"Original: {sys.argv=}")
+    python_script_name = edit_session_restoration_path()
+    app = QApplication(sys.argv)
+    log.info(f"Final: {sys.argv=}")
     assert app is not None
     app.setApplicationName('vdu_controls')
     app_thread = app.thread()
@@ -1685,7 +1691,7 @@
     global unix_signal_handler
     unix_signal_handler = SignalWakeupHandler(app)
 
-    log.info(f"{APPNAME} {VDU_CONTROLS_VERSION} {restartable_argv[0]}  ")
+    log.info(f"{APPNAME} {VDU_CONTROLS_VERSION} {sys.argv[0]}  ")
     log.info(f"python-locale: {locale.getlocale()} Qt-locale: 
{QLocale.system().name()}")
     log.info(f"desktop: {getenv_logged('XDG_CURRENT_DESKTOP', 
default='unknown')}; "
              f"session-type: {getenv_logged('XDG_SESSION_TYPE', 
default='unknown')}; "
@@ -1706,10 +1712,10 @@
     if args.create_config_files:
         main_config.write_file(default_config_path)
     if args.install:
-        install_as_desktop_application()
+        install_as_desktop_application(python_script_name)
         sys.exit()
     if args.uninstall:
-        install_as_desktop_application(uninstall=True)
+        install_as_desktop_application(python_script_name, uninstall=True)
         sys.exit()
     if args.detailed_help:
         print(app_locale.load_docs_text(HELP_FILENAME))

Reply via email to