shell-global: add a "display" property
and update callers to fetch that rather than doing "global.screen.get_display()" https://bugzilla.gnome.org/show_bug.cgi?id=654639
This commit is contained in:
parent
b262a42458
commit
aed50e2a39
@ -223,7 +223,7 @@ AltTabPopup.prototype = {
|
|||||||
let keysym = event.get_key_symbol();
|
let keysym = event.get_key_symbol();
|
||||||
let event_state = Shell.get_event_state(event);
|
let event_state = Shell.get_event_state(event);
|
||||||
let backwards = event_state & Clutter.ModifierType.SHIFT_MASK;
|
let backwards = event_state & Clutter.ModifierType.SHIFT_MASK;
|
||||||
let action = global.screen.get_display().get_keybinding_action(event.get_key_code(), event_state);
|
let action = global.display.get_keybinding_action(event.get_key_code(), event_state);
|
||||||
|
|
||||||
this._disableHover();
|
this._disableHover();
|
||||||
|
|
||||||
|
@ -135,9 +135,7 @@ LayoutManager.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get focusIndex() {
|
get focusIndex() {
|
||||||
let screen = global.screen;
|
let focusWindow = global.display.focus_window;
|
||||||
let display = screen.get_display();
|
|
||||||
let focusWindow = display.focus_window;
|
|
||||||
|
|
||||||
if (focusWindow) {
|
if (focusWindow) {
|
||||||
let wrect = focusWindow.get_outer_rect();
|
let wrect = focusWindow.get_outer_rect();
|
||||||
|
@ -222,10 +222,9 @@ function WindowList() {
|
|||||||
WindowList.prototype = {
|
WindowList.prototype = {
|
||||||
_init : function () {
|
_init : function () {
|
||||||
this.actor = new St.BoxLayout({ name: 'Windows', vertical: true, style: 'spacing: 8px' });
|
this.actor = new St.BoxLayout({ name: 'Windows', vertical: true, style: 'spacing: 8px' });
|
||||||
let display = global.screen.get_display();
|
|
||||||
let tracker = Shell.WindowTracker.get_default();
|
let tracker = Shell.WindowTracker.get_default();
|
||||||
this._updateId = Main.initializeDeferredWork(this.actor, Lang.bind(this, this._updateWindowList));
|
this._updateId = Main.initializeDeferredWork(this.actor, Lang.bind(this, this._updateWindowList));
|
||||||
display.connect('window-created', Lang.bind(this, this._updateWindowList));
|
global.display.connect('window-created', Lang.bind(this, this._updateWindowList));
|
||||||
tracker.connect('tracked-windows-changed', Lang.bind(this, this._updateWindowList));
|
tracker.connect('tracked-windows-changed', Lang.bind(this, this._updateWindowList));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -194,8 +194,7 @@ function start() {
|
|||||||
panel.startStatusArea();
|
panel.startStatusArea();
|
||||||
panel.startupAnimation();
|
panel.startupAnimation();
|
||||||
|
|
||||||
let display = global.screen.get_display();
|
global.display.connect('overlay-key', Lang.bind(overview, overview.toggle));
|
||||||
display.connect('overlay-key', Lang.bind(overview, overview.toggle));
|
|
||||||
|
|
||||||
global.stage.connect('captured-event', _globalKeyPressHandler);
|
global.stage.connect('captured-event', _globalKeyPressHandler);
|
||||||
|
|
||||||
@ -524,9 +523,8 @@ function _globalKeyPressHandler(actor, event) {
|
|||||||
let keyCode = event.get_key_code();
|
let keyCode = event.get_key_code();
|
||||||
let modifierState = Shell.get_event_state(event);
|
let modifierState = Shell.get_event_state(event);
|
||||||
|
|
||||||
let display = global.screen.get_display();
|
|
||||||
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
|
// This relies on the fact that Clutter.ModifierType is the same as Gdk.ModifierType
|
||||||
let action = display.get_keybinding_action(keyCode, modifierState);
|
let action = global.display.get_keybinding_action(keyCode, modifierState);
|
||||||
|
|
||||||
// The screenshot action should always be available (even if a
|
// The screenshot action should always be available (even if a
|
||||||
// modal dialog is present)
|
// modal dialog is present)
|
||||||
|
@ -234,9 +234,7 @@ FocusGrabber.prototype = {
|
|||||||
|
|
||||||
this.actor = actor;
|
this.actor = actor;
|
||||||
|
|
||||||
let metaDisplay = global.screen.get_display();
|
this._prevFocusedWindow = global.display.focus_window;
|
||||||
|
|
||||||
this._prevFocusedWindow = metaDisplay.focus_window;
|
|
||||||
this._prevKeyFocusActor = global.stage.get_key_focus();
|
this._prevKeyFocusActor = global.stage.get_key_focus();
|
||||||
|
|
||||||
if (!Main.overview.visible)
|
if (!Main.overview.visible)
|
||||||
@ -290,8 +288,6 @@ FocusGrabber.prototype = {
|
|||||||
if (!this._hasFocus)
|
if (!this._hasFocus)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
let metaDisplay = global.screen.get_display();
|
|
||||||
|
|
||||||
if (this._focusActorChangedId > 0) {
|
if (this._focusActorChangedId > 0) {
|
||||||
global.stage.disconnect(this._focusActorChangedId);
|
global.stage.disconnect(this._focusActorChangedId);
|
||||||
this._focusActorChangedId = 0;
|
this._focusActorChangedId = 0;
|
||||||
@ -310,8 +306,8 @@ FocusGrabber.prototype = {
|
|||||||
this._hasFocus = false;
|
this._hasFocus = false;
|
||||||
this.emit('focus-ungrabbed');
|
this.emit('focus-ungrabbed');
|
||||||
|
|
||||||
if (this._prevFocusedWindow && !metaDisplay.focus_window) {
|
if (this._prevFocusedWindow && !global.display.focus_window) {
|
||||||
metaDisplay.set_input_focus_window(this._prevFocusedWindow, false, global.get_current_time());
|
global.display.set_input_focus_window(this._prevFocusedWindow, false, global.get_current_time());
|
||||||
this._prevFocusedWindow = null;
|
this._prevFocusedWindow = null;
|
||||||
}
|
}
|
||||||
if (this._prevKeyFocusActor) {
|
if (this._prevKeyFocusActor) {
|
||||||
|
@ -237,7 +237,6 @@ AppMenuButton.prototype = {
|
|||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
PanelMenu.Button.prototype._init.call(this, 0.0);
|
PanelMenu.Button.prototype._init.call(this, 0.0);
|
||||||
this._metaDisplay = global.screen.get_display();
|
|
||||||
this._startingApps = [];
|
this._startingApps = [];
|
||||||
|
|
||||||
this._targetApp = null;
|
this._targetApp = null;
|
||||||
|
@ -16,8 +16,7 @@ WindowAttentionHandler.prototype = {
|
|||||||
this._tracker = Shell.WindowTracker.get_default();
|
this._tracker = Shell.WindowTracker.get_default();
|
||||||
this._tracker.connect('startup-sequence-changed', Lang.bind(this, this._onStartupSequenceChanged));
|
this._tracker.connect('startup-sequence-changed', Lang.bind(this, this._onStartupSequenceChanged));
|
||||||
|
|
||||||
let display = global.screen.get_display();
|
global.display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention));
|
||||||
display.connect('window-demands-attention', Lang.bind(this, this._onWindowDemandsAttention));
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onStartupSequenceChanged : function(tracker) {
|
_onStartupSequenceChanged : function(tracker) {
|
||||||
|
@ -161,7 +161,7 @@ WindowClone.prototype = {
|
|||||||
// will look funny.
|
// will look funny.
|
||||||
|
|
||||||
if (!this._selected &&
|
if (!this._selected &&
|
||||||
this.metaWindow != global.screen.get_display().focus_window)
|
this.metaWindow != global.display.focus_window)
|
||||||
this._zoomEnd();
|
this._zoomEnd();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -93,6 +93,7 @@ enum {
|
|||||||
PROP_OVERLAY_GROUP,
|
PROP_OVERLAY_GROUP,
|
||||||
PROP_SCREEN,
|
PROP_SCREEN,
|
||||||
PROP_GDK_SCREEN,
|
PROP_GDK_SCREEN,
|
||||||
|
PROP_DISPLAY,
|
||||||
PROP_SCREEN_WIDTH,
|
PROP_SCREEN_WIDTH,
|
||||||
PROP_SCREEN_HEIGHT,
|
PROP_SCREEN_HEIGHT,
|
||||||
PROP_STAGE,
|
PROP_STAGE,
|
||||||
@ -160,6 +161,9 @@ shell_global_get_property(GObject *object,
|
|||||||
case PROP_GDK_SCREEN:
|
case PROP_GDK_SCREEN:
|
||||||
g_value_set_object (value, global->gdk_screen);
|
g_value_set_object (value, global->gdk_screen);
|
||||||
break;
|
break;
|
||||||
|
case PROP_DISPLAY:
|
||||||
|
g_value_set_object (value, global->meta_display);
|
||||||
|
break;
|
||||||
case PROP_SCREEN_WIDTH:
|
case PROP_SCREEN_WIDTH:
|
||||||
{
|
{
|
||||||
int width, height;
|
int width, height;
|
||||||
@ -364,6 +368,14 @@ shell_global_class_init (ShellGlobalClass *klass)
|
|||||||
"Screen height, in pixels",
|
"Screen height, in pixels",
|
||||||
0, G_MAXINT, 1,
|
0, G_MAXINT, 1,
|
||||||
G_PARAM_READABLE));
|
G_PARAM_READABLE));
|
||||||
|
g_object_class_install_property (gobject_class,
|
||||||
|
PROP_DISPLAY,
|
||||||
|
g_param_spec_object ("display",
|
||||||
|
"Display",
|
||||||
|
"Metacity display object for the shell",
|
||||||
|
META_TYPE_DISPLAY,
|
||||||
|
G_PARAM_READABLE));
|
||||||
|
|
||||||
g_object_class_install_property (gobject_class,
|
g_object_class_install_property (gobject_class,
|
||||||
PROP_STAGE,
|
PROP_STAGE,
|
||||||
g_param_spec_object ("stage",
|
g_param_spec_object ("stage",
|
||||||
@ -667,6 +679,17 @@ shell_global_get_gdk_screen (ShellGlobal *global)
|
|||||||
return global->gdk_screen;
|
return global->gdk_screen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* shell_global_get_display:
|
||||||
|
*
|
||||||
|
* Return value: (transfer none): The default #MetaDisplay
|
||||||
|
*/
|
||||||
|
MetaDisplay *
|
||||||
|
shell_global_get_display (ShellGlobal *global)
|
||||||
|
{
|
||||||
|
return global->meta_display;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_global_get_window_actors:
|
* shell_global_get_window_actors:
|
||||||
*
|
*
|
||||||
|
@ -31,6 +31,7 @@ ShellGlobal *shell_global_get (void);
|
|||||||
|
|
||||||
MetaScreen *shell_global_get_screen (ShellGlobal *global);
|
MetaScreen *shell_global_get_screen (ShellGlobal *global);
|
||||||
GdkScreen *shell_global_get_gdk_screen (ShellGlobal *global);
|
GdkScreen *shell_global_get_gdk_screen (ShellGlobal *global);
|
||||||
|
MetaDisplay *shell_global_get_display (ShellGlobal *global);
|
||||||
GList *shell_global_get_window_actors (ShellGlobal *global);
|
GList *shell_global_get_window_actors (ShellGlobal *global);
|
||||||
GSettings *shell_global_get_settings (ShellGlobal *global);
|
GSettings *shell_global_get_settings (ShellGlobal *global);
|
||||||
guint32 shell_global_get_current_time (ShellGlobal *global);
|
guint32 shell_global_get_current_time (ShellGlobal *global);
|
||||||
|
@ -418,7 +418,7 @@ update_focus_app (ShellWindowTracker *self)
|
|||||||
MetaWindow *new_focus_win;
|
MetaWindow *new_focus_win;
|
||||||
ShellApp *new_focus_app;
|
ShellApp *new_focus_app;
|
||||||
|
|
||||||
new_focus_win = meta_display_get_focus_window (meta_screen_get_display (shell_global_get_screen (shell_global_get ())));
|
new_focus_win = meta_display_get_focus_window (shell_global_get_display (shell_global_get ()));
|
||||||
new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (self, new_focus_win) : NULL;
|
new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (self, new_focus_win) : NULL;
|
||||||
|
|
||||||
set_focus_app (self, new_focus_app);
|
set_focus_app (self, new_focus_app);
|
||||||
|
Loading…
Reference in New Issue
Block a user