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-05-30 14:35:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ptyxis (Old) and /work/SRC/openSUSE:Factory/.ptyxis.new.25440 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ptyxis" Fri May 30 14:35:39 2025 rev:12 rq:1281013 version:48.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ptyxis/ptyxis.changes 2025-05-08 18:26:24.076035690 +0200 +++ /work/SRC/openSUSE:Factory/.ptyxis.new.25440/ptyxis.changes 2025-05-30 17:25:10.250874795 +0200 @@ -1,0 +2,10 @@ +Tue May 27 19:06:45 UTC 2025 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 48.4: + + Fix incorrect use of mnemonics in the new-terminal menu + + Don't add additional tabs with --new-window when restoring + session + + Fix session restore directory URI for tabs which have never + been visited + +------------------------------------------------------------------- Old: ---- ptyxis-48.3.obscpio New: ---- ptyxis-48.4.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ptyxis.spec ++++++ --- /var/tmp/diff_new_pack.gXL6EJ/_old 2025-05-30 17:25:10.742895193 +0200 +++ /var/tmp/diff_new_pack.gXL6EJ/_new 2025-05-30 17:25:10.746895358 +0200 @@ -17,7 +17,7 @@ Name: ptyxis -Version: 48.3 +Version: 48.4 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.gXL6EJ/_old 2025-05-30 17:25:10.770896353 +0200 +++ /var/tmp/diff_new_pack.gXL6EJ/_new 2025-05-30 17:25:10.770896353 +0200 @@ -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">48.3</param> + <param name="revision">48.4</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">v?(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ ptyxis-48.3.obscpio -> ptyxis-48.4.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/NEWS new/ptyxis-48.4/NEWS --- old/ptyxis-48.3/NEWS 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/NEWS 2025-05-27 19:50:29.000000000 +0200 @@ -1,3 +1,9 @@ +# Ptyxis 48.4 + + * Fix incorrect use of mnemonics in the new-terminal menu + * Don't add additional tabs with --new-window when restoring session + * Fix session restore directory URI for tabs which have never been visited + # Ptyxis 48.3 * New build to work around GNOME CI infrastructure issue diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/data/org.gnome.Ptyxis.metainfo.xml.in.in new/ptyxis-48.4/data/org.gnome.Ptyxis.metainfo.xml.in.in --- old/ptyxis-48.3/data/org.gnome.Ptyxis.metainfo.xml.in.in 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/data/org.gnome.Ptyxis.metainfo.xml.in.in 2025-05-27 19:50:29.000000000 +0200 @@ -43,6 +43,17 @@ <launchable type="desktop-id">@APP_ID@.desktop</launchable> <releases> + <release version="48.4" date="2025-05-27"> + <description> + <p>This is a bug fix release.</p> + <ul> + <li>Fix incorrect use of mnemonics in the new-terminal menu</li> + <li>Don't add additional tabs with --new-window when restoring session</li> + <li>Fix session restore directory URI for tabs which have never been visited</li> + </ul> + </description> + </release> + <release version="48.3" date="2025-05-07"/> <release version="48.2" date="2025-05-07"> <description> <ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/meson.build new/ptyxis-48.4/meson.build --- old/ptyxis-48.3/meson.build 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/meson.build 2025-05-27 19:50:29.000000000 +0200 @@ -1,5 +1,5 @@ project('ptyxis', 'c', - version: '48.3', + version: '48.4', 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-48.3/src/ptyxis-application.c new/ptyxis-48.4/src/ptyxis-application.c --- old/ptyxis-48.3/src/ptyxis-application.c 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-application.c 2025-05-27 19:50:29.000000000 +0200 @@ -609,8 +609,24 @@ { g_autoptr(PtyxisProfile) profile = ptyxis_application_dup_default_profile (self); PtyxisWindow *window = get_current_window (self); - PtyxisTab *tab = ptyxis_tab_new (profile); - PtyxisTerminal *terminal = ptyxis_tab_get_terminal (tab); + PtyxisTerminal *terminal; + PtyxisTab *tab; + + /* If the request to create a new-window was not combined with other + * actions above, and we restored a session, then we will consider the + * request satistfied and not try to add another tab. + * + * This can happen when `--new-window` is used as a keybinding to ensure + * a new window is added whether or not there is an existing instance. + */ + if (window != NULL && did_restore) + { + gtk_window_present (GTK_WINDOW (window)); + return EXIT_SUCCESS; + } + + tab = ptyxis_tab_new (profile); + terminal = ptyxis_tab_get_terminal (tab); if (window == NULL || !did_restore) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-container-menu.c new/ptyxis-48.4/src/ptyxis-container-menu.c --- old/ptyxis-48.3/src/ptyxis-container-menu.c 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-container-menu.c 2025-05-27 19:50:29.000000000 +0200 @@ -83,6 +83,7 @@ PtyxisContainerMenu *self = PTYXIS_CONTAINER_MENU (model); g_autoptr(PtyxisIpcContainer) container = NULL; g_autoptr(GIcon) icon = NULL; + g_autofree char *label_escaped = NULL; const char *icon_name; const char *label; const char *id; @@ -103,10 +104,12 @@ if ((icon_name = ptyxis_ipc_container_get_icon_name (container))) icon = g_themed_icon_new (icon_name); + label_escaped = ptyxis_escape_underline (label); + ht = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_variant_unref); g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_ACTION), g_variant_ref_sink (g_variant_new_string ("win.new-terminal"))); g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_TARGET), g_variant_ref_sink (g_variant_new ("(ss)", "", id))); - g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_LABEL), g_variant_ref_sink (g_variant_new_string (label))); + g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_LABEL), g_variant_ref_sink (g_variant_new_string (label_escaped))); if (icon != NULL) g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_ICON), g_icon_serialize (icon)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-profile-menu.c new/ptyxis-48.4/src/ptyxis-profile-menu.c --- old/ptyxis-48.3/src/ptyxis-profile-menu.c 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-profile-menu.c 2025-05-27 19:50:29.000000000 +0200 @@ -23,6 +23,7 @@ #include "ptyxis-profile.h" #include "ptyxis-profile-menu.h" +#include "ptyxis-util.h" struct _PtyxisProfileMenu { @@ -84,6 +85,7 @@ PtyxisProfileMenu *self = PTYXIS_PROFILE_MENU (model); g_autoptr(PtyxisProfile) profile = NULL; g_autofree char *label = NULL; + g_autofree char *label_escaped = NULL; const char *uuid; GHashTable *ht; @@ -97,11 +99,12 @@ uuid = self->uuids[position]; profile = ptyxis_profile_new (uuid); label = ptyxis_profile_dup_label (profile); + label_escaped = ptyxis_escape_underline (label); ht = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_variant_unref); g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_ACTION), g_variant_ref_sink (g_variant_new_string ("win.new-terminal"))); g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_TARGET), g_variant_ref_sink (g_variant_new ("(ss)", uuid, ""))); - g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_LABEL), g_variant_ref_sink (g_variant_new_string (label))); + g_hash_table_insert (ht, g_strdup (G_MENU_ATTRIBUTE_LABEL), g_variant_ref_sink (g_variant_new_string (label_escaped))); *attributes = ht; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-session.c new/ptyxis-48.4/src/ptyxis-session.c --- old/ptyxis-48.3/src/ptyxis-session.c 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-session.c 2025-05-27 19:50:29.000000000 +0200 @@ -105,6 +105,13 @@ cwd = ptyxis_terminal_dup_current_directory_uri (terminal); zoom = ptyxis_tab_get_zoom (tab); + /* If we had an initial directory and we've never got an update, + * it could be that the tab has never spawned to process the + * directory state updates. + */ + if (cwd == NULL) + cwd = ptyxis_tab_dup_previous_working_directory_uri (tab); + G_GNUC_BEGIN_IGNORE_DEPRECATIONS window_title = vte_terminal_get_window_title (VTE_TERMINAL (terminal)); G_GNUC_END_IGNORE_DEPRECATIONS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-tab.c new/ptyxis-48.4/src/ptyxis-tab.c --- old/ptyxis-48.3/src/ptyxis-tab.c 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-tab.c 2025-05-27 19:50:29.000000000 +0200 @@ -1505,6 +1505,15 @@ g_set_str (&self->initial_working_directory_uri, initial_working_directory_uri); } +char * +ptyxis_tab_dup_previous_working_directory_uri (PtyxisTab *self) +{ + g_return_val_if_fail (PTYXIS_IS_TAB (self), NULL); + + return g_strdup (self->previous_working_directory_uri); +} + + void ptyxis_tab_set_previous_working_directory_uri (PtyxisTab *self, const char *previous_working_directory_uri) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-tab.h new/ptyxis-48.4/src/ptyxis-tab.h --- old/ptyxis-48.3/src/ptyxis-tab.h 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-tab.h 2025-05-27 19:50:29.000000000 +0200 @@ -87,6 +87,7 @@ void ptyxis_tab_set_title_prefix (PtyxisTab *self, const char *title_prefix); char *ptyxis_tab_dup_current_directory_uri (PtyxisTab *self); +char *ptyxis_tab_dup_previous_working_directory_uri (PtyxisTab *self); void ptyxis_tab_set_previous_working_directory_uri (PtyxisTab *self, const char *previous_working_directory_uri); PtyxisTabProgress ptyxis_tab_get_progress (PtyxisTab *self); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-util.c new/ptyxis-48.4/src/ptyxis-util.c --- old/ptyxis-48.3/src/ptyxis-util.c 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-util.c 2025-05-27 19:50:29.000000000 +0200 @@ -453,3 +453,28 @@ return ptyxis_is_default (); } + +char * +ptyxis_escape_underline (const char *str) +{ + GString *gstr; + + if (str == NULL) + return NULL; + + gstr = g_string_new (NULL); + + for (const char *c = str; + *c != 0; + c = g_utf8_next_char (c)) + { + gunichar ch = g_utf8_get_char (c); + + if (ch == '_') + g_string_append_c (gstr, '_'); + + g_string_append_unichar (gstr, ch); + } + + return g_string_free (gstr, FALSE); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptyxis-48.3/src/ptyxis-util.h new/ptyxis-48.4/src/ptyxis-util.h --- old/ptyxis-48.3/src/ptyxis-util.h 2025-05-07 20:28:03.000000000 +0200 +++ new/ptyxis-48.4/src/ptyxis-util.h 2025-05-27 19:50:29.000000000 +0200 @@ -59,6 +59,7 @@ guint timeout); gboolean ptyxis_is_default (void); gboolean ptyxis_make_default (void); +char *ptyxis_escape_underline (const char *str); static inline void ptyxis_take_str (char **out_str, ++++++ ptyxis.obsinfo ++++++ --- /var/tmp/diff_new_pack.gXL6EJ/_old 2025-05-30 17:25:11.118910781 +0200 +++ /var/tmp/diff_new_pack.gXL6EJ/_new 2025-05-30 17:25:11.122910946 +0200 @@ -1,5 +1,5 @@ name: ptyxis -version: 48.3 -mtime: 1746642483 -commit: e4a5f10f9111541981b27562b771d95e6010bc3a +version: 48.4 +mtime: 1748368229 +commit: 7cd0630f48b5cd423830a3d02935f7514e52fbd1