mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
Make it possible to reimplement move-to-workspace keybindings from plugins
Export the necessary functions so that a plugin that wishes to do so can reimplement those keybindings without loss of functionality. https://bugzilla.gnome.org/show_bug.cgi?id=674104
This commit is contained in:
parent
e31f55e146
commit
f65b7c59d3
@ -5535,3 +5535,18 @@ meta_display_get_leader_window (MetaDisplay *display)
|
||||
{
|
||||
return display->leader_window;
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_display_clear_mouse_mode:
|
||||
* @display: a #MetaDisplay
|
||||
*
|
||||
* Sets the mouse-mode flag to %FALSE, which means that motion events are
|
||||
* no longer ignored in mouse or sloppy focus.
|
||||
* This is an internal function. It should be used only for reimplementing
|
||||
* keybindings, and only in a manner compatible with core code.
|
||||
*/
|
||||
void
|
||||
meta_display_clear_mouse_mode (MetaDisplay *display)
|
||||
{
|
||||
display->mouse_mode = FALSE;
|
||||
}
|
||||
|
@ -3434,7 +3434,7 @@ handle_move_to_workspace (MetaDisplay *display,
|
||||
meta_topic (META_DEBUG_FOCUS,
|
||||
"Resetting mouse_mode to FALSE due to "
|
||||
"handle_move_to_workspace() call with flip set.\n");
|
||||
workspace->screen->display->mouse_mode = FALSE;
|
||||
meta_display_clear_mouse_mode (workspace->screen->display);
|
||||
meta_workspace_activate_with_focus (workspace,
|
||||
window,
|
||||
event->xkey.time);
|
||||
|
@ -5677,6 +5677,9 @@ meta_window_change_workspace (MetaWindow *window,
|
||||
{
|
||||
g_return_if_fail (!window->override_redirect);
|
||||
|
||||
if (window->always_sticky)
|
||||
return;
|
||||
|
||||
meta_window_change_workspace_without_transients (window, workspace);
|
||||
|
||||
meta_window_foreach_transient (window, change_workspace_foreach,
|
||||
|
@ -175,4 +175,6 @@ void meta_display_unmanage_screen (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_display_clear_mouse_mode (MetaDisplay *display);
|
||||
|
||||
#endif
|
||||
|
@ -116,6 +116,8 @@ void meta_window_change_workspace_by_index (MetaWindow *window,
|
||||
gint space_index,
|
||||
gboolean append,
|
||||
guint32 timestamp);
|
||||
void meta_window_change_workspace (MetaWindow *window,
|
||||
MetaWorkspace *workspace);
|
||||
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
||||
void meta_window_set_compositor_private (MetaWindow *window, GObject *priv);
|
||||
void meta_window_configure_notify (MetaWindow *window, XConfigureEvent *event);
|
||||
|
Loading…
Reference in New Issue
Block a user