Compare commits
16 Commits
3.10.1-way
...
3.11.1-way
Author | SHA1 | Date | |
---|---|---|---|
![]() |
78fcfec5c1 | ||
![]() |
1bd3a162f8 | ||
![]() |
918cfdcbda | ||
![]() |
cd76313297 | ||
![]() |
dc8231c2cf | ||
![]() |
4d01eb3a23 | ||
![]() |
35f47b211d | ||
![]() |
77046edf21 | ||
![]() |
488df061c7 | ||
![]() |
21d511e50f | ||
![]() |
15e83f0c2f | ||
![]() |
a23830fd13 | ||
![]() |
c8bf8c17be | ||
![]() |
d82e24981b | ||
![]() |
01b8ffac5d | ||
![]() |
1fa56bd7e0 |
@@ -6,3 +6,5 @@ EXTRA_DIST = HACKING MAINTAINERS rationales.txt
|
|||||||
DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache
|
DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
|
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||||
|
12
NEWS
12
NEWS
@@ -1,3 +1,15 @@
|
|||||||
|
3.11.1
|
||||||
|
======
|
||||||
|
* Fix tile previews getting stuck on right click during drags [Lionel; #704759]
|
||||||
|
* Use new UPower API [Bastien]
|
||||||
|
* Set hot spot when cursor set from wl_buffer [Jonas; #709593]
|
||||||
|
* Expose min-backlight-step [Asad; #710380]
|
||||||
|
* Misc. bug fixes and cleanups [Jasper, Olav, Magdalen; #709776]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Magdalen Berns, Lionel Landwerlin, Asad Mehmood, Bastien Nocera,
|
||||||
|
Jasper St. Pierre, Olav Vitters, Jonas Ådahl
|
||||||
|
|
||||||
3.10.1
|
3.10.1
|
||||||
======
|
======
|
||||||
* Don't apply fullscreen workarounds to CSD windows [Giovanni; #708718]
|
* Don't apply fullscreen workarounds to CSD windows [Giovanni; #708718]
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
AC_PREREQ(2.50)
|
AC_PREREQ(2.50)
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
m4_define([mutter_major_version], [3])
|
m4_define([mutter_major_version], [3])
|
||||||
m4_define([mutter_minor_version], [10])
|
m4_define([mutter_minor_version], [11])
|
||||||
m4_define([mutter_micro_version], [1])
|
m4_define([mutter_micro_version], [1])
|
||||||
|
|
||||||
m4_define([mutter_version],
|
m4_define([mutter_version],
|
||||||
@@ -79,7 +80,7 @@ MUTTER_PC_MODULES="
|
|||||||
xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0
|
xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0
|
||||||
$CLUTTER_PACKAGE >= 1.15.94
|
$CLUTTER_PACKAGE >= 1.15.94
|
||||||
cogl-1.0 >= 1.13.3
|
cogl-1.0 >= 1.13.3
|
||||||
upower-glib > 0.9.11
|
upower-glib >= 0.99.0
|
||||||
gnome-desktop-3.0
|
gnome-desktop-3.0
|
||||||
"
|
"
|
||||||
|
|
||||||
|
@@ -207,7 +207,6 @@ meta_key_binding_get_modifiers
|
|||||||
meta_key_binding_get_mask
|
meta_key_binding_get_mask
|
||||||
meta_key_binding_is_builtin
|
meta_key_binding_is_builtin
|
||||||
meta_keybindings_set_custom_handler
|
meta_keybindings_set_custom_handler
|
||||||
meta_keybindings_switch_window
|
|
||||||
meta_screen_ungrab_all_keys
|
meta_screen_ungrab_all_keys
|
||||||
meta_screen_grab_all_keys
|
meta_screen_grab_all_keys
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
@@ -21,6 +21,7 @@ environment.</description>
|
|||||||
-->
|
-->
|
||||||
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" />
|
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" />
|
||||||
<download-page rdf:resource="http://download.gnome.org/sources/mutter/" />
|
<download-page rdf:resource="http://download.gnome.org/sources/mutter/" />
|
||||||
|
<download-page rdf:resource="http://download.gnome.org/sources/mutter-wayland/" />
|
||||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=mutter" />
|
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=mutter" />
|
||||||
|
|
||||||
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
|
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
|
||||||
|
@@ -395,7 +395,6 @@ $(dbus_xrandr_built_sources) : Makefile.am xrandr.xml
|
|||||||
--generate-c-code meta-dbus-xrandr \
|
--generate-c-code meta-dbus-xrandr \
|
||||||
$(srcdir)/xrandr.xml
|
$(srcdir)/xrandr.xml
|
||||||
|
|
||||||
dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h
|
|
||||||
|
|
||||||
$(dbus_idle_built_sources) : Makefile.am idle-monitor.xml
|
$(dbus_idle_built_sources) : Makefile.am idle-monitor.xml
|
||||||
$(AM_V_GEN)gdbus-codegen \
|
$(AM_V_GEN)gdbus-codegen \
|
||||||
|
@@ -476,26 +476,6 @@ meta_core_change_workspace (Display *xdisplay,
|
|||||||
new_workspace));
|
new_workspace));
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
meta_core_get_num_workspaces (Screen *xscreen)
|
|
||||||
{
|
|
||||||
MetaScreen *screen;
|
|
||||||
|
|
||||||
screen = meta_screen_for_x_screen (xscreen);
|
|
||||||
|
|
||||||
return meta_screen_get_n_workspaces (screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
meta_core_get_active_workspace (Screen *xscreen)
|
|
||||||
{
|
|
||||||
MetaScreen *screen;
|
|
||||||
|
|
||||||
screen = meta_screen_for_x_screen (xscreen);
|
|
||||||
|
|
||||||
return meta_workspace_index (screen->active_workspace);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_core_show_window_menu (Display *xdisplay,
|
meta_core_show_window_menu (Display *xdisplay,
|
||||||
Window frame_xwindow,
|
Window frame_xwindow,
|
||||||
|
@@ -153,8 +153,6 @@ void meta_core_change_workspace (Display *xdisplay,
|
|||||||
Window frame_xwindow,
|
Window frame_xwindow,
|
||||||
int new_workspace);
|
int new_workspace);
|
||||||
|
|
||||||
int meta_core_get_num_workspaces (Screen *xscreen);
|
|
||||||
int meta_core_get_active_workspace (Screen *xscreen);
|
|
||||||
int meta_core_get_frame_workspace (Display *xdisplay,
|
int meta_core_get_frame_workspace (Display *xdisplay,
|
||||||
Window frame_xwindow);
|
Window frame_xwindow);
|
||||||
const char* meta_core_get_workspace_name_with_index (Display *xdisplay,
|
const char* meta_core_get_workspace_name_with_index (Display *xdisplay,
|
||||||
|
@@ -1667,7 +1667,8 @@ window_raise_with_delay_callback (void *data)
|
|||||||
static void
|
static void
|
||||||
meta_display_mouse_mode_focus (MetaDisplay *display,
|
meta_display_mouse_mode_focus (MetaDisplay *display,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
guint32 timestamp) {
|
guint32 timestamp)
|
||||||
|
{
|
||||||
if (window->type != META_WINDOW_DESKTOP)
|
if (window->type != META_WINDOW_DESKTOP)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
@@ -1706,7 +1707,8 @@ meta_display_mouse_mode_focus (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
window_focus_on_pointer_rest_callback (gpointer data) {
|
window_focus_on_pointer_rest_callback (gpointer data)
|
||||||
|
{
|
||||||
MetaFocusData *focus_data;
|
MetaFocusData *focus_data;
|
||||||
MetaDisplay *display;
|
MetaDisplay *display;
|
||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
@@ -1761,7 +1763,7 @@ window_focus_on_pointer_rest_callback (gpointer data) {
|
|||||||
timestamp = meta_display_get_current_time_roundtrip (display);
|
timestamp = meta_display_get_current_time_roundtrip (display);
|
||||||
meta_display_mouse_mode_focus (display, window, timestamp);
|
meta_display_mouse_mode_focus (display, window, timestamp);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
display->focus_timeout_id = 0;
|
display->focus_timeout_id = 0;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -2411,6 +2413,7 @@ meta_display_handle_event (MetaDisplay *display,
|
|||||||
|
|
||||||
if ((window &&
|
if ((window &&
|
||||||
meta_grab_op_is_mouse (display->grab_op) &&
|
meta_grab_op_is_mouse (display->grab_op) &&
|
||||||
|
(device_event->mods.effective & display->window_grab_modifiers) &&
|
||||||
display->grab_button != device_event->detail &&
|
display->grab_button != device_event->detail &&
|
||||||
display->grab_window == window) ||
|
display->grab_window == window) ||
|
||||||
grab_op_is_keyboard (display->grab_op))
|
grab_op_is_keyboard (display->grab_op))
|
||||||
|
@@ -1840,7 +1840,6 @@ invoke_handler_by_name (MetaDisplay *display,
|
|||||||
invoke_handler (display, screen, handler, window, event, NULL);
|
invoke_handler (display, screen, handler, window, event, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now called from only one place, may be worth merging */
|
|
||||||
static gboolean
|
static gboolean
|
||||||
process_event (MetaKeyBinding *bindings,
|
process_event (MetaKeyBinding *bindings,
|
||||||
int n_bindings,
|
int n_bindings,
|
||||||
@@ -1848,7 +1847,6 @@ process_event (MetaKeyBinding *bindings,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
XIDeviceEvent *event,
|
XIDeviceEvent *event,
|
||||||
KeySym keysym,
|
|
||||||
gboolean on_window)
|
gboolean on_window)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -1866,7 +1864,6 @@ process_event (MetaKeyBinding *bindings,
|
|||||||
MetaKeyHandler *handler = bindings[i].handler;
|
MetaKeyHandler *handler = bindings[i].handler;
|
||||||
|
|
||||||
if ((!on_window && handler->flags & META_KEY_BINDING_PER_WINDOW) ||
|
if ((!on_window && handler->flags & META_KEY_BINDING_PER_WINDOW) ||
|
||||||
event->evtype != XI_KeyPress ||
|
|
||||||
bindings[i].keycode != event->detail ||
|
bindings[i].keycode != event->detail ||
|
||||||
((event->mods.effective & 0xff & ~(display->ignored_modifier_mask)) !=
|
((event->mods.effective & 0xff & ~(display->ignored_modifier_mask)) !=
|
||||||
bindings[i].mask) ||
|
bindings[i].mask) ||
|
||||||
@@ -1933,7 +1930,7 @@ process_overlay_key (MetaDisplay *display,
|
|||||||
*/
|
*/
|
||||||
if (process_event (display->key_bindings,
|
if (process_event (display->key_bindings,
|
||||||
display->n_key_bindings,
|
display->n_key_bindings,
|
||||||
display, screen, NULL, event, keysym,
|
display, screen, NULL, event,
|
||||||
FALSE))
|
FALSE))
|
||||||
{
|
{
|
||||||
/* As normally, after we've handled a global key
|
/* As normally, after we've handled a global key
|
||||||
@@ -2197,7 +2194,7 @@ meta_display_process_key_event (MetaDisplay *display,
|
|||||||
/* Do the normal keybindings */
|
/* Do the normal keybindings */
|
||||||
return process_event (display->key_bindings,
|
return process_event (display->key_bindings,
|
||||||
display->n_key_bindings,
|
display->n_key_bindings,
|
||||||
display, screen, window, event, keysym,
|
display, screen, window, event,
|
||||||
!all_keys_grabbed && window);
|
!all_keys_grabbed && window);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4171,28 +4168,6 @@ meta_keybindings_set_custom_handler (const gchar *name,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_keybindings_switch_window: (skip)
|
|
||||||
* @display: a #MetaDisplay
|
|
||||||
* @screen: a #MetaScreen
|
|
||||||
* @event_window: a #MetaWindow
|
|
||||||
* @event: a #XIDeviceEvent
|
|
||||||
* @binding: a #MetaKeyBinding
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
meta_keybindings_switch_window (MetaDisplay *display,
|
|
||||||
MetaScreen *screen,
|
|
||||||
MetaWindow *event_window,
|
|
||||||
XIDeviceEvent *event,
|
|
||||||
MetaKeyBinding *binding)
|
|
||||||
{
|
|
||||||
gint backwards = (binding->handler->flags & META_KEY_BINDING_IS_REVERSED) != 0;
|
|
||||||
|
|
||||||
do_choose_window (display, screen, event_window, event, binding,
|
|
||||||
backwards, FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_builtin_key_bindings (MetaDisplay *display)
|
init_builtin_key_bindings (MetaDisplay *display)
|
||||||
{
|
{
|
||||||
|
@@ -352,6 +352,8 @@ meta_cursor_reference_from_buffer (MetaCursorTracker *tracker,
|
|||||||
|
|
||||||
self = g_slice_new0 (MetaCursorReference);
|
self = g_slice_new0 (MetaCursorReference);
|
||||||
self->ref_count = 1;
|
self->ref_count = 1;
|
||||||
|
self->hot_x = hot_x;
|
||||||
|
self->hot_y = hot_y;
|
||||||
|
|
||||||
backend = clutter_get_default_backend ();
|
backend = clutter_get_default_backend ();
|
||||||
cogl_context = clutter_backend_get_cogl_context (backend);
|
cogl_context = clutter_backend_get_cogl_context (backend);
|
||||||
|
@@ -100,6 +100,7 @@ static gboolean meta_monitor_config_assign_crtcs (MetaConfiguration *config,
|
|||||||
GPtrArray *outputs);
|
GPtrArray *outputs);
|
||||||
|
|
||||||
static void power_client_changed_cb (UpClient *client,
|
static void power_client_changed_cb (UpClient *client,
|
||||||
|
GParamSpec *pspec,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -232,7 +233,7 @@ meta_monitor_config_init (MetaMonitorConfig *self)
|
|||||||
self->up_client = up_client_new ();
|
self->up_client = up_client_new ();
|
||||||
self->lid_is_closed = up_client_get_lid_is_closed (self->up_client);
|
self->lid_is_closed = up_client_get_lid_is_closed (self->up_client);
|
||||||
|
|
||||||
g_signal_connect_object (self->up_client, "changed",
|
g_signal_connect_object (self->up_client, "notify::lid-is-closed",
|
||||||
G_CALLBACK (power_client_changed_cb), self, 0);
|
G_CALLBACK (power_client_changed_cb), self, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1336,6 +1337,7 @@ turn_off_laptop_display (MetaMonitorConfig *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
power_client_changed_cb (UpClient *client,
|
power_client_changed_cb (UpClient *client,
|
||||||
|
GParamSpec *pspec,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
MetaMonitorManager *manager = meta_monitor_manager_get ();
|
MetaMonitorManager *manager = meta_monitor_manager_get ();
|
||||||
|
@@ -729,6 +729,9 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton,
|
|||||||
g_variant_new_take_string (make_display_name (manager, output)));
|
g_variant_new_take_string (make_display_name (manager, output)));
|
||||||
g_variant_builder_add (&properties, "{sv}", "backlight",
|
g_variant_builder_add (&properties, "{sv}", "backlight",
|
||||||
g_variant_new_int32 (output->backlight));
|
g_variant_new_int32 (output->backlight));
|
||||||
|
g_variant_builder_add (&properties, "{sv}", "min-backlight-step",
|
||||||
|
g_variant_new_int32 ((output->backlight_max - output->backlight_min) ?
|
||||||
|
100 / (output->backlight_max - output->backlight_min) : -1));
|
||||||
g_variant_builder_add (&properties, "{sv}", "primary",
|
g_variant_builder_add (&properties, "{sv}", "primary",
|
||||||
g_variant_new_boolean (output->is_primary));
|
g_variant_new_boolean (output->is_primary));
|
||||||
g_variant_builder_add (&properties, "{sv}", "presentation",
|
g_variant_builder_add (&properties, "{sv}", "presentation",
|
||||||
|
@@ -6836,8 +6836,7 @@ meta_window_property_notify (MetaWindow *window,
|
|||||||
void
|
void
|
||||||
meta_window_change_workspace_by_index (MetaWindow *window,
|
meta_window_change_workspace_by_index (MetaWindow *window,
|
||||||
gint space_index,
|
gint space_index,
|
||||||
gboolean append,
|
gboolean append)
|
||||||
guint32 timestamp)
|
|
||||||
{
|
{
|
||||||
MetaWorkspace *workspace;
|
MetaWorkspace *workspace;
|
||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
@@ -6856,11 +6855,7 @@ meta_window_change_workspace_by_index (MetaWindow *window,
|
|||||||
meta_screen_get_workspace_by_index (screen, space_index);
|
meta_screen_get_workspace_by_index (screen, space_index);
|
||||||
|
|
||||||
if (!workspace && append)
|
if (!workspace && append)
|
||||||
{
|
workspace = meta_screen_append_new_workspace (screen, FALSE, CurrentTime);
|
||||||
if (timestamp == CurrentTime)
|
|
||||||
timestamp = meta_display_get_current_time_roundtrip (window->display);
|
|
||||||
workspace = meta_screen_append_new_workspace (screen, FALSE, timestamp);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (workspace)
|
if (workspace)
|
||||||
{
|
{
|
||||||
@@ -10075,13 +10070,16 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window,
|
|||||||
switch (xev->evtype)
|
switch (xev->evtype)
|
||||||
{
|
{
|
||||||
case XI_ButtonRelease:
|
case XI_ButtonRelease:
|
||||||
|
if (xev->detail == 1)
|
||||||
|
{
|
||||||
meta_display_check_threshold_reached (window->display,
|
meta_display_check_threshold_reached (window->display,
|
||||||
xev->root_x,
|
xev->root_x,
|
||||||
xev->root_y);
|
xev->root_y);
|
||||||
/* If the user was snap moving then ignore the button release
|
/* If the user was snap moving then ignore the button
|
||||||
* because they may have let go of shift before releasing the
|
* release because they may have let go of shift before
|
||||||
* mouse button and they almost certainly do not want a
|
* releasing the mouse button and they almost certainly do
|
||||||
* non-snapped movement to occur from the button release.
|
* not want a non-snapped movement to occur from the button
|
||||||
|
* release.
|
||||||
*/
|
*/
|
||||||
if (!window->display->grab_last_user_action_was_snap)
|
if (!window->display->grab_last_user_action_was_snap)
|
||||||
{
|
{
|
||||||
@@ -10114,8 +10112,8 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window,
|
|||||||
update_tile_mode (window);
|
update_tile_mode (window);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_display_end_grab_op (window->display, xev->time);
|
meta_display_end_grab_op (window->display, xev->time);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case XI_Motion:
|
case XI_Motion:
|
||||||
|
@@ -35,13 +35,6 @@ gboolean meta_keybindings_set_custom_handler (const gchar *name,
|
|||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GDestroyNotify free_data);
|
GDestroyNotify free_data);
|
||||||
|
|
||||||
void meta_keybindings_switch_window (MetaDisplay *display,
|
|
||||||
MetaScreen *screen,
|
|
||||||
MetaWindow *event_window,
|
|
||||||
XIDeviceEvent *event,
|
|
||||||
MetaKeyBinding *binding);
|
|
||||||
|
|
||||||
|
|
||||||
void meta_screen_ungrab_all_keys (MetaScreen *screen, guint32 timestamp);
|
void meta_screen_ungrab_all_keys (MetaScreen *screen, guint32 timestamp);
|
||||||
gboolean meta_screen_grab_all_keys (MetaScreen *screen, guint32 timestamp);
|
gboolean meta_screen_grab_all_keys (MetaScreen *screen, guint32 timestamp);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -150,8 +150,7 @@ void meta_window_unset_demands_attention (MetaWindow *window);
|
|||||||
const char* meta_window_get_startup_id (MetaWindow *window);
|
const char* meta_window_get_startup_id (MetaWindow *window);
|
||||||
void meta_window_change_workspace_by_index (MetaWindow *window,
|
void meta_window_change_workspace_by_index (MetaWindow *window,
|
||||||
gint space_index,
|
gint space_index,
|
||||||
gboolean append,
|
gboolean append);
|
||||||
guint32 timestamp);
|
|
||||||
void meta_window_change_workspace (MetaWindow *window,
|
void meta_window_change_workspace (MetaWindow *window,
|
||||||
MetaWorkspace *workspace);
|
MetaWorkspace *workspace);
|
||||||
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
||||||
|
@@ -385,32 +385,6 @@ meta_wayland_pointer_end_grab (MetaWaylandPointer *pointer)
|
|||||||
interface->focus (pointer->grab, pointer->current, NULL);
|
interface->focus (pointer->grab, pointer->current, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
current_surface_destroy (struct wl_listener *listener, void *data)
|
|
||||||
{
|
|
||||||
MetaWaylandPointer *pointer =
|
|
||||||
wl_container_of (listener, pointer, current_listener);
|
|
||||||
|
|
||||||
pointer->current = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
meta_wayland_pointer_set_current (MetaWaylandPointer *pointer,
|
|
||||||
MetaWaylandSurface *surface)
|
|
||||||
{
|
|
||||||
if (pointer->current)
|
|
||||||
wl_list_remove (&pointer->current_listener.link);
|
|
||||||
|
|
||||||
pointer->current = surface;
|
|
||||||
|
|
||||||
if (!surface)
|
|
||||||
return;
|
|
||||||
|
|
||||||
wl_resource_add_destroy_listener (surface->resource,
|
|
||||||
&pointer->current_listener);
|
|
||||||
pointer->current_listener.notify = current_surface_destroy;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
modal_focus (MetaWaylandPointerGrab *grab,
|
modal_focus (MetaWaylandPointerGrab *grab,
|
||||||
MetaWaylandSurface *surface,
|
MetaWaylandSurface *surface,
|
||||||
|
@@ -62,7 +62,6 @@ struct _MetaWaylandPointer
|
|||||||
|
|
||||||
wl_fixed_t x, y; /* TODO: remove, use ClutterInputDevice instead */
|
wl_fixed_t x, y; /* TODO: remove, use ClutterInputDevice instead */
|
||||||
MetaWaylandSurface *current;
|
MetaWaylandSurface *current;
|
||||||
struct wl_listener current_listener;
|
|
||||||
wl_fixed_t current_x, current_y;
|
wl_fixed_t current_x, current_y;
|
||||||
|
|
||||||
guint32 button_count;
|
guint32 button_count;
|
||||||
@@ -97,10 +96,6 @@ gboolean
|
|||||||
meta_wayland_pointer_start_popup_grab (MetaWaylandPointer *pointer,
|
meta_wayland_pointer_start_popup_grab (MetaWaylandPointer *pointer,
|
||||||
MetaWaylandSurface *popup);
|
MetaWaylandSurface *popup);
|
||||||
|
|
||||||
void
|
|
||||||
meta_wayland_pointer_set_current (MetaWaylandPointer *pointer,
|
|
||||||
MetaWaylandSurface *surface);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_wayland_pointer_get_relative_coordinates (MetaWaylandPointer *pointer,
|
meta_wayland_pointer_get_relative_coordinates (MetaWaylandPointer *pointer,
|
||||||
MetaWaylandSurface *surface,
|
MetaWaylandSurface *surface,
|
||||||
|
Reference in New Issue
Block a user