windowManager: Support coords
This commit is contained in:
parent
a4cf0501ee
commit
752aca811c
@ -1163,8 +1163,8 @@ const WindowManager = new Lang.Class({
|
||||
this._tilePreview.hide();
|
||||
},
|
||||
|
||||
_showWindowMenu: function(shellwm, window) {
|
||||
this._windowMenuManager.showForWindow(window);
|
||||
_showWindowMenu: function(shellwm, window, x, y) {
|
||||
this._windowMenuManager.showForWindow(window, x, y);
|
||||
},
|
||||
|
||||
_startAppSwitcher : function(display, screen, window, binding) {
|
||||
|
@ -129,11 +129,10 @@ const WindowMenuManager = new Lang.Class({
|
||||
this._manager = new PopupMenu.PopupMenuManager({ actor: Main.layoutManager.dummyCursor });
|
||||
},
|
||||
|
||||
showForWindow: function(window) {
|
||||
showForWindow: function(window, x, y) {
|
||||
let menu = new WindowMenu(window);
|
||||
this._manager.addMenu(menu);
|
||||
|
||||
let [x, y] = global.get_pointer();
|
||||
Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0);
|
||||
menu.open(BoxPointer.PopupAnimation.NONE);
|
||||
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||
|
@ -74,7 +74,9 @@ static void gnome_shell_plugin_show_tile_preview (MetaPlugin *plugin,
|
||||
int tile_monitor);
|
||||
static void gnome_shell_plugin_hide_tile_preview (MetaPlugin *plugin);
|
||||
static void gnome_shell_plugin_show_window_menu (MetaPlugin *plugin,
|
||||
MetaWindow *window);
|
||||
MetaWindow *window,
|
||||
int x,
|
||||
int y);
|
||||
|
||||
static gboolean gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
||||
XEvent *event);
|
||||
@ -307,9 +309,11 @@ gnome_shell_plugin_hide_tile_preview (MetaPlugin *plugin)
|
||||
|
||||
static void
|
||||
gnome_shell_plugin_show_window_menu (MetaPlugin *plugin,
|
||||
MetaWindow *window)
|
||||
MetaWindow *window,
|
||||
int x,
|
||||
int y)
|
||||
{
|
||||
_shell_wm_show_window_menu (get_shell_wm (), window);
|
||||
_shell_wm_show_window_menu (get_shell_wm (), window, x, y);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -41,7 +41,9 @@ void _shell_wm_show_tile_preview (ShellWM *wm,
|
||||
int tile_monitor);
|
||||
void _shell_wm_hide_tile_preview (ShellWM *wm);
|
||||
void _shell_wm_show_window_menu (ShellWM *wm,
|
||||
MetaWindow *window);
|
||||
MetaWindow *window,
|
||||
int x,
|
||||
int y);
|
||||
|
||||
gboolean _shell_wm_filter_keybinding (ShellWM *wm,
|
||||
MetaKeyBinding *binding);
|
||||
|
@ -141,8 +141,8 @@ shell_wm_class_init (ShellWMClass *klass)
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL, NULL,
|
||||
G_TYPE_NONE, 1,
|
||||
META_TYPE_WINDOW);
|
||||
G_TYPE_NONE, 3,
|
||||
META_TYPE_WINDOW, G_TYPE_INT, G_TYPE_INT);
|
||||
shell_wm_signals[FILTER_KEYBINDING] =
|
||||
g_signal_new ("filter-keybinding",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
@ -298,9 +298,11 @@ _shell_wm_hide_tile_preview (ShellWM *wm)
|
||||
|
||||
void
|
||||
_shell_wm_show_window_menu (ShellWM *wm,
|
||||
MetaWindow *window)
|
||||
MetaWindow *window,
|
||||
int x,
|
||||
int y)
|
||||
{
|
||||
g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window);
|
||||
g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window, x, y);
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user