parent
455ca25bb8
commit
97040a32ad
51
0001-introspect-Add-WindowsChanged-signal.patch
Normal file
51
0001-introspect-Add-WindowsChanged-signal.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From eea9b9a0dac494698a64892bab8d042e7d623c9f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Cenk Uluisik <cenk.uluisik@googlemail.com>
|
||||||
|
Date: Sun, 6 Mar 2022 19:32:48 +0100
|
||||||
|
Subject: [PATCH] introspect: Add WindowsChanged signal
|
||||||
|
|
||||||
|
The screencast portal supports recording a single window,
|
||||||
|
and presents a list of open windows when that option is
|
||||||
|
selected. To allow updating that list when windows are
|
||||||
|
opened or closed, add a new "WindowsChanged" signal that
|
||||||
|
the portal can listen to.
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2229>
|
||||||
|
---
|
||||||
|
data/dbus-interfaces/org.gnome.Shell.Introspect.xml | 6 ++++++
|
||||||
|
js/misc/introspect.js | 3 +++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/data/dbus-interfaces/org.gnome.Shell.Introspect.xml b/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
|
||||||
|
index 47fd7efdc2..cb19cfec56 100644
|
||||||
|
--- a/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
|
||||||
|
+++ b/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
|
||||||
|
@@ -18,6 +18,12 @@
|
||||||
|
-->
|
||||||
|
<signal name="RunningApplicationsChanged" />
|
||||||
|
|
||||||
|
+ <!--
|
||||||
|
+ WindowsChanged:
|
||||||
|
+ @short_description: Notifies when any window opens or closes
|
||||||
|
+ -->
|
||||||
|
+ <signal name="WindowsChanged" />
|
||||||
|
+
|
||||||
|
<!--
|
||||||
|
GetRunningApplications:
|
||||||
|
@short_description: Retrieves the description of all running applications
|
||||||
|
diff --git a/js/misc/introspect.js b/js/misc/introspect.js
|
||||||
|
index 45eee81ce3..8916804e7f 100644
|
||||||
|
--- a/js/misc/introspect.js
|
||||||
|
+++ b/js/misc/introspect.js
|
||||||
|
@@ -42,6 +42,9 @@ var IntrospectService = class {
|
||||||
|
this._syncRunningApplications();
|
||||||
|
});
|
||||||
|
|
||||||
|
+ tracker.connect('tracked-windows-changed',
|
||||||
|
+ () => this._dbusImpl.emit_signal('WindowsChanged', null));
|
||||||
|
+
|
||||||
|
this._syncRunningApplications();
|
||||||
|
|
||||||
|
this._senderChecker = new DBusSenderChecker(APP_ALLOWLIST);
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
@ -0,0 +1,64 @@
|
|||||||
|
From a1d650ce2722fd154b047ce73fa23db205d823d2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Mon, 12 Dec 2022 13:04:11 +0100
|
||||||
|
Subject: [PATCH] window-tracker: Emit 'tracked-windows-changed' on title
|
||||||
|
changes
|
||||||
|
|
||||||
|
This means the screen share window view gets updated also when the title
|
||||||
|
of a window changes. This is important since it often changes shortly
|
||||||
|
after mapping, which would otherwise go unnoticed by
|
||||||
|
xdg-desktop-portal-gnome.
|
||||||
|
|
||||||
|
An example is launching Files and it showing up as 'Loading..', or
|
||||||
|
launching a terminal, and it not showing the proper title (current
|
||||||
|
directory), but some place holder that is never visible on the
|
||||||
|
application window.
|
||||||
|
|
||||||
|
Adding it to the window tracker instead of in introspect.js itself is
|
||||||
|
for convenience - there is no per window signal tracking there, and it
|
||||||
|
already listens to the signal emissions about changed windows.
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2578>
|
||||||
|
---
|
||||||
|
src/shell-window-tracker.c | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/shell-window-tracker.c b/src/shell-window-tracker.c
|
||||||
|
index 991613ea3f..df357f81b7 100644
|
||||||
|
--- a/src/shell-window-tracker.c
|
||||||
|
+++ b/src/shell-window-tracker.c
|
||||||
|
@@ -524,6 +524,15 @@ on_wm_class_changed (MetaWindow *window,
|
||||||
|
tracked_window_changed (self, window);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+on_title_changed (MetaWindow *window,
|
||||||
|
+ GParamSpec *pspec,
|
||||||
|
+ gpointer user_data)
|
||||||
|
+{
|
||||||
|
+ ShellWindowTracker *self = SHELL_WINDOW_TRACKER (user_data);
|
||||||
|
+ tracked_window_changed (self, window);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
on_gtk_application_id_changed (MetaWindow *window,
|
||||||
|
GParamSpec *pspec,
|
||||||
|
@@ -554,6 +563,7 @@ track_window (ShellWindowTracker *self,
|
||||||
|
g_hash_table_insert (self->window_to_app, window, app);
|
||||||
|
|
||||||
|
g_signal_connect (window, "notify::wm-class", G_CALLBACK (on_wm_class_changed), self);
|
||||||
|
+ g_signal_connect (window, "notify::title", G_CALLBACK (on_title_changed), self);
|
||||||
|
g_signal_connect (window, "notify::gtk-application-id", G_CALLBACK (on_gtk_application_id_changed), self);
|
||||||
|
g_signal_connect (window, "unmanaged", G_CALLBACK (on_window_unmanaged), self);
|
||||||
|
|
||||||
|
@@ -586,6 +596,7 @@ disassociate_window (ShellWindowTracker *self,
|
||||||
|
|
||||||
|
_shell_app_remove_window (app, window);
|
||||||
|
g_signal_handlers_disconnect_by_func (window, G_CALLBACK (on_wm_class_changed), self);
|
||||||
|
+ g_signal_handlers_disconnect_by_func (window, G_CALLBACK (on_title_changed), self);
|
||||||
|
g_signal_handlers_disconnect_by_func (window, G_CALLBACK (on_gtk_application_id_changed), self);
|
||||||
|
g_signal_handlers_disconnect_by_func (window, G_CALLBACK (on_window_unmanaged), self);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 40.10
|
Version: 40.10
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Summary: Window management and application launching for GNOME
|
Summary: Window management and application launching for GNOME
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -47,6 +47,8 @@ Patch45: 0001-status-volume-Hide-sliders-initially.patch
|
|||||||
Patch46: 0001-kbdA11yDialog-Use-MetaKeyboardA11yFlags.patch
|
Patch46: 0001-kbdA11yDialog-Use-MetaKeyboardA11yFlags.patch
|
||||||
Patch47: 0001-layout-Initialize-regions-unconditionally.patch
|
Patch47: 0001-layout-Initialize-regions-unconditionally.patch
|
||||||
Patch48: 0001-introspect-Allowlist-GNOME-portal.patch
|
Patch48: 0001-introspect-Allowlist-GNOME-portal.patch
|
||||||
|
Patch49: 0001-introspect-Add-WindowsChanged-signal.patch
|
||||||
|
Patch50: 0001-window-tracker-Emit-tracked-windows-changed-on-title.patch
|
||||||
|
|
||||||
%define eds_version 3.33.1
|
%define eds_version 3.33.1
|
||||||
%define gnome_desktop_version 3.35.91
|
%define gnome_desktop_version 3.35.91
|
||||||
@ -265,6 +267,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
|
|||||||
%{_mandir}/man1/gnome-shell.1*
|
%{_mandir}/man1/gnome-shell.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 02 2022 Jonas Ådahl <jadahl@redhat.com> - 40.10-5
|
||||||
|
- Backport 'WindowsChanged' introspect signal
|
||||||
|
Related: #2148362
|
||||||
|
|
||||||
* Wed Nov 23 2022 Florian Müllner <fmuellner@redhat.com> - 40.10-4
|
* Wed Nov 23 2022 Florian Müllner <fmuellner@redhat.com> - 40.10-4
|
||||||
- Fix struts on login screen
|
- Fix struts on login screen
|
||||||
Resolves: #2145185
|
Resolves: #2145185
|
||||||
|
Loading…
Reference in New Issue
Block a user