layout: Port to the new mutter-based barrier wrappers
... and remove our old ones. https://bugzilla.gnome.org/show_bug.cgi?id=677215
This commit is contained in:
parent
ea25331a55
commit
ab549f763d
@ -114,14 +114,6 @@ AC_SUBST([GNOME_KEYBINDINGS_KEYSDIR])
|
|||||||
|
|
||||||
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
|
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
|
||||||
|
|
||||||
saved_CFLAGS=$CFLAGS
|
|
||||||
saved_LIBS=$LIBS
|
|
||||||
CFLAGS=$GNOME_SHELL_CFLAGS
|
|
||||||
LIBS=$GNOME_SHELL_LIBS
|
|
||||||
AC_CHECK_FUNCS(JS_NewGlobalObject XFixesCreatePointerBarrier)
|
|
||||||
CFLAGS=$saved_CFLAGS
|
|
||||||
LIBS=$saved_LIBS
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
|
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
|
||||||
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
||||||
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
||||||
|
@ -106,9 +106,8 @@ const LayoutManager = new Lang.Class({
|
|||||||
this._keyboardIndex = -1;
|
this._keyboardIndex = -1;
|
||||||
this._hotCorners = [];
|
this._hotCorners = [];
|
||||||
this._background = null;
|
this._background = null;
|
||||||
this._leftPanelBarrier = 0;
|
this._leftPanelBarrier = null;
|
||||||
this._rightPanelBarrier = 0;
|
this._rightPanelBarrier = null;
|
||||||
this._trayBarrier = 0;
|
|
||||||
|
|
||||||
this._chrome = new Chrome(this);
|
this._chrome = new Chrome(this);
|
||||||
|
|
||||||
@ -257,24 +256,27 @@ const LayoutManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updatePanelBarriers: function() {
|
_updatePanelBarriers: function() {
|
||||||
if (this._leftPanelBarrier)
|
if (this._leftPanelBarrier) {
|
||||||
global.destroy_pointer_barrier(this._leftPanelBarrier);
|
this._leftPanelBarrier.destroy();
|
||||||
if (this._rightPanelBarrier)
|
this._leftPanelBarrier = null;
|
||||||
global.destroy_pointer_barrier(this._rightPanelBarrier);
|
}
|
||||||
|
|
||||||
|
if (this._rightPanelBarrier) {
|
||||||
|
this._rightPanelBarrier.destroy();
|
||||||
|
this._rightPanelBarrier = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.panelBox.height) {
|
if (this.panelBox.height) {
|
||||||
let primary = this.primaryMonitor;
|
let primary = this.primaryMonitor;
|
||||||
this._leftPanelBarrier =
|
|
||||||
global.create_pointer_barrier(primary.x, primary.y,
|
this._leftPanelBarrier = new Meta.Barrier({ display: global.display,
|
||||||
primary.x, primary.y + this.panelBox.height,
|
x1: primary.x, y1: primary.y,
|
||||||
1 /* BarrierPositiveX */);
|
x2: primary.x, y2: primary.y + this.panelBox.height,
|
||||||
this._rightPanelBarrier =
|
directions: Meta.BarrierDirection.POSITIVE_X });
|
||||||
global.create_pointer_barrier(primary.x + primary.width, primary.y,
|
this._rightPanelBarrier = new Meta.Barrier({ display: global.display,
|
||||||
primary.x + primary.width, primary.y + this.panelBox.height,
|
x1: primary.x + primary.width, y1: primary.y,
|
||||||
4 /* BarrierNegativeX */);
|
x2: primary.x + primary.width, y2: primary.y + this.panelBox.height,
|
||||||
} else {
|
directions: Meta.BarrierDirection.NEGATIVE_X });
|
||||||
this._leftPanelBarrier = 0;
|
|
||||||
this._rightPanelBarrier = 0;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -1007,54 +1007,6 @@ shell_global_end_modal (ShellGlobal *global,
|
|||||||
meta_plugin_end_modal (global->plugin, timestamp);
|
meta_plugin_end_modal (global->plugin, timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* shell_global_create_pointer_barrier:
|
|
||||||
* @global: a #ShellGlobal
|
|
||||||
* @x1: left X coordinate
|
|
||||||
* @y1: top Y coordinate
|
|
||||||
* @x2: right X coordinate
|
|
||||||
* @y2: bottom Y coordinate
|
|
||||||
* @directions: The directions we're allowed to pass through
|
|
||||||
*
|
|
||||||
* If supported by X creates a pointer barrier.
|
|
||||||
*
|
|
||||||
* Return value: value you can pass to shell_global_destroy_pointer_barrier()
|
|
||||||
*/
|
|
||||||
guint32
|
|
||||||
shell_global_create_pointer_barrier (ShellGlobal *global,
|
|
||||||
int x1, int y1, int x2, int y2,
|
|
||||||
int directions)
|
|
||||||
{
|
|
||||||
#if HAVE_XFIXESCREATEPOINTERBARRIER
|
|
||||||
return (guint32)
|
|
||||||
XFixesCreatePointerBarrier (global->xdisplay,
|
|
||||||
DefaultRootWindow (global->xdisplay),
|
|
||||||
x1, y1,
|
|
||||||
x2, y2,
|
|
||||||
directions,
|
|
||||||
0, NULL);
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* shell_global_destroy_pointer_barrier:
|
|
||||||
* @global: a #ShellGlobal
|
|
||||||
* @barrier: a pointer barrier
|
|
||||||
*
|
|
||||||
* Destroys the @barrier created by shell_global_create_pointer_barrier().
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
shell_global_destroy_pointer_barrier (ShellGlobal *global, guint32 barrier)
|
|
||||||
{
|
|
||||||
#if HAVE_XFIXESCREATEPOINTERBARRIER
|
|
||||||
g_return_if_fail (barrier > 0);
|
|
||||||
|
|
||||||
XFixesDestroyPointerBarrier (global->xdisplay, (PointerBarrier)barrier);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Code to close all file descriptors before we exec; copied from gspawn.c in GLib.
|
/* Code to close all file descriptors before we exec; copied from gspawn.c in GLib.
|
||||||
*
|
*
|
||||||
* Authors: Padraig O'Briain, Matthias Clasen, Lennart Poettering
|
* Authors: Padraig O'Briain, Matthias Clasen, Lennart Poettering
|
||||||
|
@ -70,15 +70,6 @@ void shell_global_set_cursor (ShellGlobal *global,
|
|||||||
ShellCursor type);
|
ShellCursor type);
|
||||||
void shell_global_unset_cursor (ShellGlobal *global);
|
void shell_global_unset_cursor (ShellGlobal *global);
|
||||||
|
|
||||||
guint32 shell_global_create_pointer_barrier (ShellGlobal *global,
|
|
||||||
int x1,
|
|
||||||
int y1,
|
|
||||||
int x2,
|
|
||||||
int y2,
|
|
||||||
int directions);
|
|
||||||
void shell_global_destroy_pointer_barrier (ShellGlobal *global,
|
|
||||||
guint32 barrier);
|
|
||||||
|
|
||||||
void shell_global_get_pointer (ShellGlobal *global,
|
void shell_global_get_pointer (ShellGlobal *global,
|
||||||
int *x,
|
int *x,
|
||||||
int *y,
|
int *y,
|
||||||
|
Loading…
Reference in New Issue
Block a user