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;
|
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,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Resetting mouse_mode to FALSE due to "
|
"Resetting mouse_mode to FALSE due to "
|
||||||
"handle_move_to_workspace() call with flip set.\n");
|
"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,
|
meta_workspace_activate_with_focus (workspace,
|
||||||
window,
|
window,
|
||||||
event->xkey.time);
|
event->xkey.time);
|
||||||
|
@ -5677,6 +5677,9 @@ meta_window_change_workspace (MetaWindow *window,
|
|||||||
{
|
{
|
||||||
g_return_if_fail (!window->override_redirect);
|
g_return_if_fail (!window->override_redirect);
|
||||||
|
|
||||||
|
if (window->always_sticky)
|
||||||
|
return;
|
||||||
|
|
||||||
meta_window_change_workspace_without_transients (window, workspace);
|
meta_window_change_workspace_without_transients (window, workspace);
|
||||||
|
|
||||||
meta_window_foreach_transient (window, change_workspace_foreach,
|
meta_window_foreach_transient (window, change_workspace_foreach,
|
||||||
|
@ -175,4 +175,6 @@ void meta_display_unmanage_screen (MetaDisplay *display,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
|
|
||||||
|
void meta_display_clear_mouse_mode (MetaDisplay *display);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -116,6 +116,8 @@ void meta_window_change_workspace_by_index (MetaWindow *window,
|
|||||||
gint space_index,
|
gint space_index,
|
||||||
gboolean append,
|
gboolean append,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
|
void meta_window_change_workspace (MetaWindow *window,
|
||||||
|
MetaWorkspace *workspace);
|
||||||
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
||||||
void meta_window_set_compositor_private (MetaWindow *window, GObject *priv);
|
void meta_window_set_compositor_private (MetaWindow *window, GObject *priv);
|
||||||
void meta_window_configure_notify (MetaWindow *window, XConfigureEvent *event);
|
void meta_window_configure_notify (MetaWindow *window, XConfigureEvent *event);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user