98 lines
3.4 KiB
Diff
98 lines
3.4 KiB
Diff
From 61c2ae5e954b82dac23b16ec6770e009d8e6f237 Mon Sep 17 00:00:00 2001
|
||
From: wangxiaoqing <wangxiaoqing@kylinos.com.cn>
|
||
Date: Tue, 16 Jun 2020 17:27:55 +0800
|
||
Subject: [PATCH] fix(mate-display): add the window scale changed tip with
|
||
notify
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
- 当窗口缩放发生改变时, 通过notify显示有些应用需要注销再登录才能起作用的提示。
|
||
|
||
Fixes #25310
|
||
---
|
||
plugins/xsettings/msd-xsettings-manager.c | 38 +++++++++++++++++++++++++++++++
|
||
po/zh_CN.po | 6 +++++
|
||
2 files changed, 44 insertions(+)
|
||
|
||
diff --git a/plugins/xsettings/msd-xsettings-manager.c b/plugins/xsettings/msd-xsettings-manager.c
|
||
index b31288d..17d5b88 100644
|
||
--- a/plugins/xsettings/msd-xsettings-manager.c
|
||
+++ b/plugins/xsettings/msd-xsettings-manager.c
|
||
@@ -39,6 +39,10 @@
|
||
#include <gtk/gtk.h>
|
||
#include <gio/gio.h>
|
||
|
||
+#ifdef HAVE_LIBNOTIFY
|
||
+#include <libnotify/notify.h>
|
||
+#endif
|
||
+
|
||
#include "mate-settings-profile.h"
|
||
#include "msd-xsettings-manager.h"
|
||
#include "xsettings-manager.h"
|
||
@@ -518,6 +522,38 @@ delayed_toggle_bg_draw (gboolean value)
|
||
}
|
||
|
||
static void
|
||
+info_message (const char *primary_text, const char *secondary_text)
|
||
+{
|
||
+#ifdef HAVE_LIBNOTIFY
|
||
+ NotifyNotification *notification;
|
||
+
|
||
+ notification = notify_notification_new (primary_text,
|
||
+ secondary_text,
|
||
+ "msd-xrandr");
|
||
+
|
||
+ notify_notification_show (notification, NULL); /* NULL-GError */
|
||
+#else
|
||
+ GtkWidget *dialog;
|
||
+
|
||
+ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,
|
||
+ "%s", primary_text);
|
||
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s",
|
||
+ secondary_text);
|
||
+
|
||
+ gtk_dialog_run (GTK_DIALOG (dialog));
|
||
+ gtk_widget_destroy (dialog);
|
||
+#endif /* HAVE_LIBNOTIFY */
|
||
+}
|
||
+
|
||
+static gboolean
|
||
+delayed_show_info_msg (gboolean value)
|
||
+{
|
||
+ info_message (_("Window zooming"), _("Window zooming has changed,\nsome applications need to logout and login again to work!"));
|
||
+
|
||
+ return FALSE;
|
||
+}
|
||
+
|
||
+static void
|
||
scale_change_workarounds (MateXSettingsManager *manager, int new_scale)
|
||
{
|
||
if (manager->priv->window_scale == new_scale)
|
||
@@ -578,6 +614,8 @@ scale_change_workarounds (MateXSettingsManager *manager, int new_scale)
|
||
g_timeout_add_seconds (1, (GSourceFunc) delayed_toggle_bg_draw, (gpointer) FALSE);
|
||
g_timeout_add_seconds (2, (GSourceFunc) delayed_toggle_bg_draw, (gpointer) TRUE);
|
||
}
|
||
+
|
||
+ g_timeout_add_seconds (2, (GSourceFunc) delayed_show_info_msg, (gpointer) TRUE);
|
||
}
|
||
|
||
/* Store new scale value */
|
||
diff --git a/po/zh_CN.po b/po/zh_CN.po
|
||
index 88573d4..e581552 100644
|
||
--- a/po/zh_CN.po
|
||
+++ b/po/zh_CN.po
|
||
@@ -1358,3 +1358,9 @@ msgstr "配置硬件时钟"
|
||
#: ../plugins/datetime/org.mate.settingsdaemon.datetimemechanism.policy.in.h:6
|
||
msgid "Privileges are required to configure the hardware clock."
|
||
msgstr "配置硬件时钟需要权限"
|
||
+
|
||
+msgid "Window zooming"
|
||
+msgstr "窗口缩放"
|
||
+
|
||
+msgid "Window zooming has changed,\nsome applications need to logout and login again to work!"
|
||
+msgstr "窗口缩放已经改变,\n有些应用需要注销再登录才能起作用!"
|
||
--
|
||
1.8.3.1
|
||
|