gnome-shell:cherry-pick-b719744e

Last commit made on 2019-01-16
Get this branch:
git clone -b cherry-pick-b719744e https://git.launchpad.net/gnome-shell

Branch merges

Branch information

Name:
cherry-pick-b719744e
Repository:
lp:gnome-shell

Recent commits

24cdcc5... by Georges Basile Stavracas Neto

st-bin: Destroy child in ClutterActor:destroy vfunc

According to Clutter documentation, "[…] actors implementing the
ClutterContainer interface should override the default implementation
of the class handler of this signal and call clutter_actor_destroy()
on their children."

StBin was doing that in GObject:dispose() instead. Move the child
destruction to a new ClutterActor:destroy() vfunc override.

(cherry picked from commit b719744e75e56502cf0340066f9311fdcc755628)

1b28cdf... by fujiwara

keyboard: Do not call KeyboardManager.holdKeyboard() with set-content-type

When gnome-shell receives the signal of 'set-content-type' from ibus,
gnome-shell calls KeyboardManager.holdKeyboard() and
KeyboardManager.releaseKeyboard() and the functions change the current
input focus in GNOME Xorg and it could result in closing a popup window
which has a password entry by focusing on the entry.
The solution is to stop to call the APIs on 'set-content-type' signal.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/391

(cherry picked from commit 551e827841626cd8084daa2210b3bf60e5be96be)

a732943... by =?utf-8?q?Florian_M=C3=BCllner?= <email address hidden>

altSwitcher: Fix error when all alternatives are disabled

While we do consider the case that we don't have a child to show for the
visibility, we are still trying to move the click action unconditionally.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/783

(cherry picked from commit e77463b875311ff35bb94daadf2d96cb1886e2c1)

5e7a7e3... by =?utf-8?q?Florian_M=C3=BCllner?= <email address hidden>

messageTray: Re-enable unredirection when banner is destroyed

The intention of commit 4dc20398 was to disable unredirection while
banners are shown, but the ::done-displaying signal currently used for
re-enabling unredirection is only emitted under some circumstances, so
it's possible that unredirection is left disabled indefinitely, whoops.

Fix this by tying disabling unredirection explicitly to the lifetime
of the banner actor.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/799

(cherry picked from commit e5ce3d541e48dd75c9218312cd74ecb760ab857a)

8111286... by =?utf-8?q?Florian_M=C3=BCllner?= <email address hidden>

messageTray: Disable unredirection while showing banners

We don't usually show notification banners while the monitor is in
fullscreen, but when we do - the notification is urgent - we should
actually show the banner, even if the top-most window is unredirected.
To achieve that, disable unredirection while the banner is showing.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/430

(cherry picked from commit 4dc2039859fc05d8cab43478e2c66bc51b530802)

06c6ecc... by Will Thompson

workspacesView: initialize self._restackedNotifyId

This attribute was previously only assigned in show(). hide() compares
this attribute to 0. If hide() is called before show() is first called,
the comparison would give the correct result (undefined > 0 is false)
but log a warning:

    JS WARNING: [resource:///org/gnome/shell/ui/workspacesView.js 529]:
    reference to undefined property "_restackedNotifyId"

Initialize this attribute in _init(), alongside _scrollEventId and
_keyPressEventId which are also used in hide().

(cherry picked from commit b2fabd935637126e7a8d00b11f918776e742280a)

36f9dcd... by Will Thompson

endSessionDialog: squash "reference to undefined property" warning

dialogContent is set to one of the elements of the list DialogContent,
but not all of those have a checkBoxText property. When logging out (as
opposed to shutting down), this causes a warning:

    JS WARNING: [resource:///org/gnome/shell/ui/endSessionDialog.js
    763]: reference to undefined property "checkBoxText"

(The line number corresponds to this line in 3.28.3.)

The warning is apparently not triggered if the undefined property is
used as part of a boolean expression:

    gjs> var x = {};
    gjs> x.a;
    typein:2:1 strict warning: reference to undefined property "a"
    gjs> if (x.b) { log('oh no'); }
    gjs> x.c || ''
    ""
_setCheckBoxLabel() just checks the truthiness of its 'text' argument,
and the empty string is false-y, so passing '' rather than undefined has
no functional effect.

(cherry picked from commit 0892b5dcdb1e3323f953304df9c4c11cb0985d3f)

219118e... by Andrea Azzarone

viewSelector: Don't unfocus other modals on reset

Don't drop the key focus on Clutter's side if anything but the overview has
pushed a modal (e.g. system modals when activated using the overview).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/618

(cherry picked from commit fffe58f829d027e1861f229ab3bf367a5f7764e5)

1e92935... by =?utf-8?q?Florian_M=C3=BCllner?= <email address hidden>

panel: Also ignore hidden windows for proximity

We currently only ignore minimized windows, not windows that are
hidden for other reasons - namely on wayland windows are initially
hidden until they are placed.

This fixes a flicker in the transparent top bar on wayland when the
"position" of an unplaced window wrongly suggests the window is
overlapping the top bar.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/693

(cherry-picked from commit a0dc8dc7ef8d1599205080195f58af196c73d444)

e7463e3... by Marco Trevisan (Treviño)

notificationDaemon: support file:// or icon theme names for image-path

While this sounds counter-intuitive, the image-path hint value might also
be used with URIs or icon names.

As per freedesktop standard:
  The "app_icon" parameter and "image-path" hint should be either an URI
  (file:// is the only URI schema supported right now) or a name in a
  freedesktop.org-compliant icon theme (not a GTK+ stock ID).

Thus the image-path hint should also be parsed as it happens for the
app_icon.

Reuse same logic, by falling back on _iconForNotificationData with the
hint value.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/285

(cherry picked from commit 33b8537bf5ba04f6f67b7f5a2e407c8dafd9ef95)