49 lines
1.7 KiB
Diff
49 lines
1.7 KiB
Diff
From 4c1ef83abc019a7ae1e39dde6f450fe2bef4e1e2 Mon Sep 17 00:00:00 2001
|
||
From: yangfeng <yangfeng@kylinsec.com.cn>
|
||
Date: Thu, 1 Feb 2024 15:37:15 +0800
|
||
Subject: [PATCH 1007/1008] fix(menu-applet-button):Fix win key popup Start
|
||
menu does not get focus, can not directly keyboard operation
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
- 修复win键弹出开始菜单没有获得焦点,无法直接键盘操作
|
||
|
||
Related #21246
|
||
---
|
||
src/menu/menu-applet-button.cpp | 11 +++++++++--
|
||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||
|
||
diff --git a/src/menu/menu-applet-button.cpp b/src/menu/menu-applet-button.cpp
|
||
index d2cd311..7b1b013 100644
|
||
--- a/src/menu/menu-applet-button.cpp
|
||
+++ b/src/menu/menu-applet-button.cpp
|
||
@@ -13,6 +13,7 @@
|
||
*/
|
||
|
||
#include "menu-applet-button.h"
|
||
+#include <gdk/gdkx.h>
|
||
#include <glibmm/i18n.h>
|
||
#include "kiran-helper.h"
|
||
#include "lib/base.h"
|
||
@@ -44,8 +45,14 @@ void MenuAppletButton::on_toggled()
|
||
{
|
||
if (this->get_active())
|
||
{
|
||
- // This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop,
|
||
- // and/or giving it the keyboard focus, possibly dependent on the user’s platform, window manager, and preferences.
|
||
+ window.show(); // 必须要先show,get_window才有值
|
||
+ auto gdk_window = window.get_window();
|
||
+ GdkWindow *gdk_x11_window = gdk_window->gobj();
|
||
+
|
||
+ // 当通过win快捷键触发时,gtk_get_current_event_time 值为0
|
||
+ guint32 server_time = gdk_x11_get_server_time(gdk_x11_window);
|
||
+
|
||
+ gdk_x11_window_set_user_time(gdk_x11_window, server_time);
|
||
window.present();
|
||
}
|
||
else
|
||
--
|
||
2.27.0
|
||
|