[gnome-shell] introspect: Introspect screen size
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] introspect: Introspect screen size
- Date: Fri, 31 Jul 2020 09:17:18 +0000 (UTC)
commit a9b803f0755ca84c0a45406ee4ac94602cb9f4e4
Author: Jonas Ådahl <jadahl gmail com>
Date: Wed Jul 22 18:38:22 2020 +0200
introspect: Introspect screen size
To be used by the screen cast service.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1372
.../dbus-interfaces/org.gnome.Shell.Introspect.xml | 8 +++++++
js/misc/introspect.js | 25 +++++++++++++++++++++-
2 files changed, 32 insertions(+), 1 deletion(-)
---
diff --git a/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
b/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
index d71f2414b2..47fd7efdc2 100644
--- a/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
+++ b/data/dbus-interfaces/org.gnome.Shell.Introspect.xml
@@ -70,6 +70,14 @@
-->
<property name="AnimationsEnabled" type="b" access="read"/>
+ <!--
+ ScreenSize:
+ @short_description: The size of the screen
+
+ Since: 3
+ -->
+ <property name="ScreenSize" type="(ii)" access="read"/>
+
<property name="version" type="u" access="read"/>
</interface>
</node>
diff --git a/js/misc/introspect.js b/js/misc/introspect.js
index e592fb3cf2..6578e2b76a 100644
--- a/js/misc/introspect.js
+++ b/js/misc/introspect.js
@@ -5,7 +5,7 @@ const INTROSPECT_SCHEMA = 'org.gnome.shell';
const INTROSPECT_KEY = 'introspect';
const APP_WHITELIST = ['org.freedesktop.impl.portal.desktop.gtk'];
-const INTROSPECT_DBUS_API_VERSION = 2;
+const INTROSPECT_DBUS_API_VERSION = 3;
const { loadInterfaceXML } = imports.misc.fileUtils;
@@ -59,6 +59,11 @@ var IntrospectService = class {
this._settings.connect('notify::enable-animations',
this._syncAnimationsEnabled.bind(this));
this._syncAnimationsEnabled();
+
+ const monitorManager = Meta.MonitorManager.get();
+ monitorManager.connect('monitors-changed',
+ this._syncScreenSize.bind(this));
+ this._syncScreenSize();
}
_isStandaloneApp(app) {
@@ -209,10 +214,28 @@ var IntrospectService = class {
}
}
+ _syncScreenSize() {
+ const oldScreenWidth = this._screenWidth;
+ const oldScreenHeight = this._screenHeight;
+ this._screenWidth = global.screen_width;
+ this._screenHeight = global.screen_height;
+
+ if (oldScreenWidth !== this._screenWidth ||
+ oldScreenHeight !== this._screenHeight) {
+ const variant = new GLib.Variant('(ii)',
+ [this._screenWidth, this._screenHeight]);
+ this._dbusImpl.emit_property_changed('ScreenSize', variant);
+ }
+ }
+
get AnimationsEnabled() {
return this._animationsEnabled;
}
+ get ScreenSize() {
+ return [this._screenWidth, this._screenHeight];
+ }
+
get version() {
return INTROSPECT_DBUS_API_VERSION;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]