Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package uwsm for openSUSE:Factory checked in at 2026-02-17 16:49:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/uwsm (Old) and /work/SRC/openSUSE:Factory/.uwsm.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uwsm" Tue Feb 17 16:49:02 2026 rev:4 rq:1333434 version:0.26.3 Changes: -------- --- /work/SRC/openSUSE:Factory/uwsm/uwsm.changes 2026-02-09 15:45:07.841331948 +0100 +++ /work/SRC/openSUSE:Factory/.uwsm.new.1977/uwsm.changes 2026-02-17 16:51:12.401110606 +0100 @@ -1,0 +2,6 @@ +Mon Feb 16 17:36:27 UTC 2026 - Alexey Kolos <[email protected]> + +- Update to version 0.26.3: + * Added support for DESKTOP_ENTRY_* metadata vars in app wrapper + +------------------------------------------------------------------- Old: ---- uwsm-0.26.2.obscpio New: ---- uwsm-0.26.3.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ uwsm.spec ++++++ --- /var/tmp/diff_new_pack.NB69Wc/_old 2026-02-17 16:51:14.493198046 +0100 +++ /var/tmp/diff_new_pack.NB69Wc/_new 2026-02-17 16:51:14.493198046 +0100 @@ -1,7 +1,7 @@ # # spec file for package uwsm # -# Copyright (c) 2026 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,7 +17,7 @@ Name: uwsm -Version: 0.26.2 +Version: 0.26.3 Release: 0 Summary: Universal Wayland Session Manager License: MIT @@ -52,12 +52,12 @@ Enhances: tofi Enhances: wmenu Enhances: wofi -Provides: fumon = %{version} -Provides: uuctl = %{version} Provides: %{name}-app = %{version} Provides: %{name}-terminal = %{version} Provides: %{name}-terminal-scope = %{version} Provides: %{name}-terminal-service = %{version} +Provides: fumon = %{version} +Provides: uuctl = %{version} BuildArch: noarch %description ++++++ _service ++++++ --- /var/tmp/diff_new_pack.NB69Wc/_old 2026-02-17 16:51:14.573201391 +0100 +++ /var/tmp/diff_new_pack.NB69Wc/_new 2026-02-17 16:51:14.577201557 +0100 @@ -2,7 +2,7 @@ <service name="obs_scm" mode="manual"> <param name="url">https://github.com/Vladimir-csp/uwsm.git</param> <param name="scm">git</param> - <param name="revision">v0.26.2</param> + <param name="revision">v0.26.3</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.NB69Wc/_old 2026-02-17 16:51:14.609202895 +0100 +++ /var/tmp/diff_new_pack.NB69Wc/_new 2026-02-17 16:51:14.613203062 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/Vladimir-csp/uwsm.git</param> - <param name="changesrevision">631ec48016748d130a243c4969001216abde082b</param></service></servicedata> + <param name="changesrevision">e65a9978a888970b1bbe3cd89e2b4c5a72ade11f</param></service></servicedata> (No newline at EOF) ++++++ uwsm-0.26.2.obscpio -> uwsm-0.26.3.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uwsm-0.26.2/README.md new/uwsm-0.26.3/README.md --- old/uwsm-0.26.2/README.md 2026-02-07 13:33:28.000000000 +0100 +++ new/uwsm-0.26.3/README.md 2026-02-14 18:07:32.000000000 +0100 @@ -482,6 +482,12 @@ things via `uwsm app` or wrapped in a shell expression to handle output. Not all launchers are able to provide Desktop Entry ID, most just provide the resulting command, so units will lack fancy description. + +Fuzzel since 1.14.0 exports app metadata via `DESKTOP_ENTRY_*` vars, hopefully +starting a good trend. Those vars are supported transparently by `uwsm app`. +See [relevant PR](https://codeberg.org/dnkl/fuzzel/pulls/666#issuecomment-6804562) +for more info. + Some examples: | Launcher | Via | What | Entry | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uwsm-0.26.2/debian/changelog new/uwsm-0.26.3/debian/changelog --- old/uwsm-0.26.2/debian/changelog 2026-02-07 13:33:28.000000000 +0100 +++ new/uwsm-0.26.3/debian/changelog 2026-02-14 18:07:32.000000000 +0100 @@ -1,5 +1,5 @@ -uwsm (0.26.2-1~local0) UNRELEASED; urgency=medium +uwsm (0.26.3-1~local0) UNRELEASED; urgency=medium * Upstream build. - -- Vladimir-csp <[email protected]> Sat, 07 Feb 2026 15:33:28 +0300 + -- Vladimir-csp <[email protected]> Sat, 14 Feb 2026 20:07:32 +0300 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uwsm-0.26.2/uwsm/main.py new/uwsm-0.26.3/uwsm/main.py --- old/uwsm-0.26.2/uwsm/main.py 2026-02-07 13:33:28.000000000 +0100 +++ new/uwsm-0.26.3/uwsm/main.py 2026-02-14 18:07:32.000000000 +0100 @@ -3399,6 +3399,8 @@ entry = entries[0] + unit_properties.append(f"SourcePath={entry.filename}") + # request terminal if entry.getTerminal(): print_debug("entry requested a terminal") @@ -3499,6 +3501,34 @@ # end of Desktop entry parsing + else: + # parse DESKTOP_ENTRY_* vars + + if not app_name and os.environ.get("DESKTOP_ENTRY_ID", default=""): + app_name = os.environ.get("DESKTOP_ENTRY_ID").removesuffix(".desktop") + print_debug("set app_name from DESKTOP_ENTRY_ID", app_name) + + if os.environ.get("DESKTOP_ENTRY_PATH", default=""): + unit_properties.append(f"SourcePath={os.environ.get('DESKTOP_ENTRY_PATH')}") + print_debug("set SourcePath property from DESKTOP_ENTRY_PATH", os.environ.get("DESKTOP_ENTRY_PATH")) + + # get localized entry name for description if no override + if not unit_description: + unit_description = " - ".join( + n + for n in ( + os.environ.get("DESKTOP_ENTRY_NAME_L", default="") + or os.environ.get("DESKTOP_ENTRY_NAME", default=""), + os.environ.get("DESKTOP_ENTRY_GENERICNAME_L", default="") + or os.environ.get("DESKTOP_ENTRY_GENERICNAME", default=""), + ) + if n + ) + if unit_description: + print_debug( + "set unit_description from DESKTOP_ENTRY_*NAME*", unit_description + ) + print_debug("cmdline", cmdline) if terminal: @@ -3748,6 +3778,21 @@ if return_cmdline: return final_args + # drop DESKTOP_ENTRY_* vars from environment + os.environ.pop("DESKTOP_ENTRY_ID", default="") + os.environ.pop("DESKTOP_ENTRY_PATH", default="") + os.environ.pop("DESKTOP_ENTRY_NAME", default="") + os.environ.pop("DESKTOP_ENTRY_NAME_L", default="") + os.environ.pop("DESKTOP_ENTRY_COMMENT", default="") + os.environ.pop("DESKTOP_ENTRY_COMMENT_L", default="") + os.environ.pop("DESKTOP_ENTRY_GENERICNAME", default="") + os.environ.pop("DESKTOP_ENTRY_GENERICNAME_L", default="") + os.environ.pop("DESKTOP_ENTRY_ICON", default="") + os.environ.pop("DESKTOP_ENTRY_ACTION", default="") + os.environ.pop("DESKTOP_ENTRY_ACTION_NAME", default="") + os.environ.pop("DESKTOP_ENTRY_ACTION_NAME_L", default="") + os.environ.pop("DESKTOP_ENTRY_ACTION_ICON", default="") + if fork: return subprocess.Popen(final_args) @@ -4506,7 +4551,9 @@ try: if is_active(): - v_dealbreakers.add("A compositor and/or graphical-session* targets are already active") + v_dealbreakers.add( + "A compositor and/or graphical-session* targets are already active" + ) if not Args.parsed.verbose: return errors, v_dealbreakers, dealbreakers except Exception as caught_exception: @@ -4528,7 +4575,9 @@ if not Args.parsed.verbose: return errors, v_dealbreakers, dealbreakers except Exception as caught_exception: - errors.update("Could not determine parent process command!", caught_exception) + errors.update( + "Could not determine parent process command!", caught_exception + ) return errors, v_dealbreakers, dealbreakers # check foreground VT @@ -4558,10 +4607,14 @@ if session_id_str: try: bus_system = DbusInteractions("system") - session_vtnr = int(bus_system.get_session_property(session_id_str, "VTNr")) + session_vtnr = int( + bus_system.get_session_property(session_id_str, "VTNr") + ) print_debug("session_vtnr", session_vtnr) if session_vtnr == 0: - dealbreakers.add(f"Session {session_id_str} is not associated with a VT") + dealbreakers.add( + f"Session {session_id_str} is not associated with a VT" + ) if not Args.parsed.verbose: return errors, v_dealbreakers, dealbreakers elif session_vtnr not in allowed_vtnr: @@ -4586,7 +4639,9 @@ bus_system = DbusInteractions("system") print_debug("bus_system initial", bus_system) - session_remote = int(bus_system.get_session_property(session_id_str, "Remote")) + session_remote = int( + bus_system.get_session_property(session_id_str, "Remote") + ) print_debug("session_remote", session_remote) if session_remote: dealbreakers.add(f"Session {session_id_str} is not local") @@ -4619,7 +4674,9 @@ return errors, v_dealbreakers, dealbreakers except Exception as caught_exception: - errors.update("Could not check if graphical.target is reached!", caught_exception) + errors.update( + "Could not check if graphical.target is reached!", caught_exception + ) return errors, v_dealbreakers, dealbreakers return errors, v_dealbreakers, dealbreakers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uwsm-0.26.2/uwsm-plugins/mango.sh new/uwsm-0.26.3/uwsm-plugins/mango.sh --- old/uwsm-0.26.2/uwsm-plugins/mango.sh 2026-02-07 13:33:28.000000000 +0100 +++ new/uwsm-0.26.3/uwsm-plugins/mango.sh 2026-02-14 18:07:32.000000000 +0100 @@ -2,25 +2,16 @@ # sourced by uwsm environment preloader quirks_mango() { - - # detect disabled xwayland - if grep -qE '^[[:space:]]*xwayland[[:space:]]+disable' "${XDG_CONFIG_HOME}/mango/config.conf" 2> /dev/null; then - XWAYLAND=false - else - XWAYLAND=true - fi - - # Append "wlroots" to XDG_CURRENT_DESKTOP if not already there + # Append "wlroots" to XDG_CURRENT_DESKTOP if not already there # (mangowc is a wlroots-based compositor) if [ "${__WM_DESKTOP_NAMES_EXCLUSIVE__}" != "true" ]; then - case "A:${XDG_CURRENT_DESKTOP}:Z" in - *:wlroots:*) true ;; - *) export XDG_CURRENT_DESKTOP="${XDG_CURRENT_DESKTOP}:wlroots" ;; + case "A:${XDG_CURRENT_DESKTOP}:Z" in + *:wlroots:*) true ;; + *) export XDG_CURRENT_DESKTOP="${XDG_CURRENT_DESKTOP}:wlroots" ;; esac fi - # mark additional vars for export on finalize - UWSM_FINALIZE_VARNAMES="${UWSM_FINALIZE_VARNAMES}${UWSM_FINALIZE_VARNAMES:+ }XCURSOR_SIZE XCURSOR_THEME" - export UWSM_FINALIZE_VARNAMES - + # mark additional vars for export on finalize + UWSM_FINALIZE_VARNAMES="${UWSM_FINALIZE_VARNAMES}${UWSM_FINALIZE_VARNAMES:+ }XCURSOR_SIZE XCURSOR_THEME" + export UWSM_FINALIZE_VARNAMES } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uwsm-0.26.2/version.sh new/uwsm-0.26.3/version.sh --- old/uwsm-0.26.2/version.sh 2026-02-07 13:33:28.000000000 +0100 +++ new/uwsm-0.26.3/version.sh 2026-02-14 18:07:32.000000000 +0100 @@ -4,7 +4,7 @@ # or prints back UWSM_VERSION env if set, # or prints a fallback version if not in git repo. -VERSION=0.26.2 +VERSION=0.26.3 set -e ++++++ uwsm.obsinfo ++++++ --- /var/tmp/diff_new_pack.NB69Wc/_old 2026-02-17 16:51:15.009219614 +0100 +++ /var/tmp/diff_new_pack.NB69Wc/_new 2026-02-17 16:51:15.021220116 +0100 @@ -1,5 +1,5 @@ name: uwsm -version: 0.26.2 -mtime: 1770467608 -commit: 631ec48016748d130a243c4969001216abde082b +version: 0.26.3 +mtime: 1771088852 +commit: e65a9978a888970b1bbe3cd89e2b4c5a72ade11f
