Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ptyxis for openSUSE:Factory checked in at 2025-10-28 14:48:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ptyxis (Old) and /work/SRC/openSUSE:Factory/.ptyxis.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ptyxis" Tue Oct 28 14:48:50 2025 rev:16 rq:1314012 version:49.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ptyxis/ptyxis.changes 2025-09-29 21:12:27.712512496 +0200 +++ /work/SRC/openSUSE:Factory/.ptyxis.new.1980/ptyxis.changes 2025-10-28 14:50:00.355617940 +0100 @@ -1,0 +2,10 @@ +Tue Oct 28 05:45:13 UTC 2025 - Bjørn Lie <[email protected]> + +- Update to version 49.2: + + Avoid using document portal paths during DnD when in Flatpak. + + Improve single-instance handling of preferences window. + + Fix snapshot rewriting for transparency when window fully empty + and only blinking cursor. + + Fix container check for showing list of containers in menu. + +------------------------------------------------------------------- Old: ---- ptyxis-49.1.obscpio New: ---- ptyxis-49.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ptyxis.spec ++++++ --- /var/tmp/diff_new_pack.wxh706/_old 2025-10-28 14:50:00.999645026 +0100 +++ /var/tmp/diff_new_pack.wxh706/_new 2025-10-28 14:50:00.999645026 +0100 @@ -17,7 +17,7 @@ Name: ptyxis -Version: 49.1 +Version: 49.2 Release: 0 Summary: A terminal for GNOME with first-class support for containers License: GPL-3.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.wxh706/_old 2025-10-28 14:50:01.047647044 +0100 +++ /var/tmp/diff_new_pack.wxh706/_new 2025-10-28 14:50:01.051647212 +0100 @@ -3,7 +3,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://gitlab.gnome.org/chergert/ptyxis.git</param> - <param name="revision">49.1</param> + <param name="revision">49.2</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">v?(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ ptyxis-49.1.obscpio -> ptyxis-49.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/NEWS new/ptyxis-49.2/NEWS --- old/ptyxis-49.1/NEWS 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/NEWS 2025-10-28 00:44:36.000000000 +0100 @@ -1,3 +1,11 @@ +# Ptyxis 49.2 + + * Avoid using document portal paths during DnD when in Flatpak + * Improve single-instnace handling of preferences window + * Fix snapshot rewriting for transparency when window fully empty + and only blinking cursor. + * Fix container check for showing list of containers in menu + # Ptyxis 49.1 * Check for --working-directory when applying --new-window option diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/build-aux/0001-build-disable-app.patch new/ptyxis-49.2/build-aux/0001-build-disable-app.patch --- old/ptyxis-49.1/build-aux/0001-build-disable-app.patch 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/build-aux/0001-build-disable-app.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -From f7a60a870208982c8c64e6f5a1714123e566ea73 Mon Sep 17 00:00:00 2001 -From: Christian Hergert <[email protected]> -Date: Tue, 3 Dec 2024 15:10:06 -0800 -Subject: [PATCH] build: disable app - ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 96cf5465..657b3b79 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -1019,4 +1019,4 @@ endif - - # Demo application - --subdir('app') -+# subdir('app') --- -2.47.1 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/data/org.gnome.Ptyxis.metainfo.xml.in.in new/ptyxis-49.2/data/org.gnome.Ptyxis.metainfo.xml.in.in --- old/ptyxis-49.1/data/org.gnome.Ptyxis.metainfo.xml.in.in 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/data/org.gnome.Ptyxis.metainfo.xml.in.in 2025-10-28 00:44:36.000000000 +0100 @@ -43,6 +43,7 @@ <launchable type="desktop-id">@[email protected]</launchable> <releases> + <release version="49.2" date="2025-10-27"/> <release version="49.1" date="2025-09-26"/> <release version="49.0" date="2025-09-12"/> </releases> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/meson.build new/ptyxis-49.2/meson.build --- old/ptyxis-49.1/meson.build 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/meson.build 2025-10-28 00:44:36.000000000 +0100 @@ -1,5 +1,5 @@ project('ptyxis', 'c', - version: '49.1', + version: '49.2', meson_version: '>= 1.0.0', default_options: [ 'warning_level=2', 'werror=false', 'c_std=gnu11', ], ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/org.gnome.Ptyxis.Devel.json new/ptyxis-49.2/org.gnome.Ptyxis.Devel.json --- old/ptyxis-49.1/org.gnome.Ptyxis.Devel.json 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/org.gnome.Ptyxis.Devel.json 2025-10-28 00:44:36.000000000 +0100 @@ -80,6 +80,7 @@ "buildsystem" : "meson", "config-opts" : [ "--buildtype=release", + "-Dapp=false", "-Dgtk3=false", "-Dgtk4=true", "-Dglade=false", @@ -90,11 +91,7 @@ { "type" : "git", "url" : "https://gitlab.gnome.org/GNOME/vte.git", - "branch" : "master" - }, - { - "type" : "patch", - "path" : "build-aux/0001-build-disable-app.patch" + "branch" : "vte-0-82" } ] }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/src/ptyxis-preferences-window.c new/ptyxis-49.2/src/ptyxis-preferences-window.c --- old/ptyxis-49.1/src/ptyxis-preferences-window.c 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/src/ptyxis-preferences-window.c 2025-10-28 00:44:36.000000000 +0100 @@ -144,6 +144,7 @@ N_PROPS }; +static PtyxisPreferencesWindow *instance; static GParamSpec *properties[N_PROPS]; static gboolean @@ -747,6 +748,43 @@ ADW_NAVIGATION_PAGE (editor)); } +static gboolean +dispose_in_idle (gpointer data) +{ + g_object_run_dispose (data); + return G_SOURCE_REMOVE; +} + +static gboolean +ptyxis_preferences_window_close_request (GtkWindow *window) +{ + GtkWindowGroup *group; + + g_assert (PTYXIS_IS_PREFERENCES_WINDOW (window)); + + if (instance == PTYXIS_PREFERENCES_WINDOW (window)) + { + instance = NULL; + + /* We use a single window group for the preferences window + * so that it can stack appropriately above other windows. + * Clear it so that we release the group too. + */ + if ((group = gtk_window_get_group (window))) + gtk_window_group_remove_window (group, window); + + /* Dispose in idle to force cleanup. This wasn't seeming to + * happen automatically on close-request. + */ + g_idle_add_full (G_PRIORITY_LOW, + dispose_in_idle, + g_object_ref (window), + g_object_unref); + } + + return GTK_WINDOW_CLASS (ptyxis_preferences_window_parent_class)->close_request (window); +} + static void ptyxis_preferences_window_constructed (GObject *object) { @@ -1066,12 +1104,15 @@ { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkWindowClass *window_class = GTK_WINDOW_CLASS (klass); object_class->constructed = ptyxis_preferences_window_constructed; object_class->dispose = ptyxis_preferences_window_dispose; object_class->get_property = ptyxis_preferences_window_get_property; object_class->set_property = ptyxis_preferences_window_set_property; + window_class->close_request = ptyxis_preferences_window_close_request; + properties[PROP_DEFAULT_PALETTE_ID] = g_param_spec_string ("default-palette-id", NULL, NULL, NULL, @@ -1241,8 +1282,6 @@ PtyxisPreferencesWindow * ptyxis_preferences_window_get_default (void) { - static PtyxisPreferencesWindow *instance; - if (instance == NULL) { g_autoptr(GtkWindowGroup) sole_group = gtk_window_group_new (); @@ -1251,7 +1290,6 @@ "modal", FALSE, NULL); gtk_window_group_add_window (sole_group, GTK_WINDOW (instance)); - g_object_add_weak_pointer (G_OBJECT (instance), (gpointer *)&instance); } return instance; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/src/ptyxis-terminal.c new/ptyxis-49.2/src/ptyxis-terminal.c --- old/ptyxis-49.1/src/ptyxis-terminal.c 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/src/ptyxis-terminal.c 2025-10-28 00:44:36.000000000 +0100 @@ -49,6 +49,8 @@ #define TEXT_X_MOZ_URL "text/x-moz-url" #define TEXT_URI_LIST "text/uri-list" +#define FILE_ATTRIBUTE_HOST_PATH "xattr::document-portal.host-path" + struct _PtyxisTerminal { VteTerminal parent_instance; @@ -508,6 +510,59 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (TextUriList, text_uri_list_free) +static gboolean +file_is_from_document_portal (GFile *file) +{ +#ifdef G_OS_UNIX + static char *docportal; + + if G_UNLIKELY (docportal == NULL) + docportal = g_strdup_printf ("%s/doc/", g_get_user_runtime_dir ()); + + if (g_file_is_native (file)) + { + const char *path = g_file_peek_path (file); + + if (g_str_has_prefix (path, docportal)) + return TRUE; + } +#endif + + return FALSE; +} + +static char * +ptyxis_terminal_get_portal_host_path (GFile *file) +{ + g_autoptr(GFileInfo) info = NULL; + + g_return_val_if_fail (G_IS_FILE (file), NULL); + + if ((info = g_file_query_info (file, + FILE_ATTRIBUTE_HOST_PATH, + G_FILE_QUERY_INFO_NONE, + NULL, NULL))) + { + const char *host_path; + + if ((host_path = g_file_info_get_attribute_string (info, FILE_ATTRIBUTE_HOST_PATH))) + { + g_autofree gchar *fs_path = NULL; + gsize len = strlen (host_path); + + /* Early portal versions added a "\x00" suffix, trim it if present */ + if (len > 4 && g_strcmp0 (&host_path[len-4], "\\x00") == 0) + fs_path = g_strndup (host_path, len - 4); + else + fs_path = g_strdup (host_path); + + return g_filename_display_name (fs_path); + } + } + + return NULL; +} + static void ptyxis_terminal_drop_file_list (PtyxisTerminal *self, const GList *files) @@ -521,9 +576,18 @@ for (const GList *iter = files; iter; iter = iter->next) { + g_autofree char *host_path = NULL; GFile *file = G_FILE (iter->data); - if (g_file_is_native (file)) + if (file_is_from_document_portal (file) && + (host_path = ptyxis_terminal_get_portal_host_path (file))) + { + g_autofree char *quoted = g_shell_quote (host_path); + + g_string_append (string, quoted); + g_string_append_c (string, ' '); + } + else if (g_file_is_native (file)) { g_autofree char *quoted = g_shell_quote (g_file_peek_path (file)); @@ -1024,6 +1088,16 @@ g_ptr_array_add (children, node); } } + else if (gsk_render_node_get_node_type (root) == GSK_COLOR_NODE) + { + /* If we got a color node then we are probably blinking a cursor on + * screen and this is the frame where there is no cursor visible. + * + * This is effectively the background and we don't care about that for + * the same reasons as above. Just remove it and paint nothing. + */ + return; + } if (children->len > 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-49.1/src/ptyxis-window.ui new/ptyxis-49.2/src/ptyxis-window.ui --- old/ptyxis-49.1/src/ptyxis-window.ui 2025-09-26 22:03:55.000000000 +0200 +++ new/ptyxis-49.2/src/ptyxis-window.ui 2025-10-28 00:44:36.000000000 +0100 @@ -525,16 +525,7 @@ </binding> </object> </property> - <property name="model"> - <object class="PtyxisGatedListModel"> - <binding name="gated"> - <closure function="ptyxis_window_check_singular" type="gboolean"> - <lookup name="n-items">maybe_containers</lookup> - </closure> - </binding> - <property name="model">maybe_containers</property> - </object> - </property> + <property name="model">maybe_containers</property> </object> </child> </object> ++++++ ptyxis.obsinfo ++++++ --- /var/tmp/diff_new_pack.wxh706/_old 2025-10-28 14:50:01.695674298 +0100 +++ /var/tmp/diff_new_pack.wxh706/_new 2025-10-28 14:50:01.703674635 +0100 @@ -1,5 +1,5 @@ name: ptyxis -version: 49.1 -mtime: 1758917035 -commit: 2dc67e8b3794326df42f27fd65dea798fadddb98 +version: 49.2 +mtime: 1761608676 +commit: 69abafd6a9d623018d3b7105e4908c442ff739ef
