gnome-shell:wip/carlosg/fix-workspace-transient-dialog-warnings

Last commit made on 2018-08-04
Get this branch:
git clone -b wip/carlosg/fix-workspace-transient-dialog-warnings https://git.launchpad.net/gnome-shell

Branch merges

Branch information

Name:
wip/carlosg/fix-workspace-transient-dialog-warnings
Repository:
lp:gnome-shell

Recent commits

c8ea06b... by Carlos Garnacho

workspaceThumbnail: Pass MetaWindow to _updateDialogPosition

This function was mistakenly called with a MetaWindow as first
argument inside the ::position-changed callback, instead of a
MetaWindowActor as it should.

However, that function quickly grabs the MetaWindow from the
actor, and all calling places have the MetaWindow readily available,
so switch to handing it as first function parameter.

Fixes warnings on ::position-changed, because of the aforementioned
typo.

d734b11... by Carlos Garnacho

workspace: Keep accounting of attached dialogs

We may end up with window-added emitted multiple times on the
same window, which results on:

1) Extra clones being created, all taking the same size and
   stacking.
2) JS exceptions because handle each clone actor being destroyed
   one by one, but all clones already have a NULL source when the
   first destroy handler is called, so we step on null objects
   inside _computeBoundingBox().

Keep accounting of those windows in order to avoid multiple
additions, which fixes both issues.

6b610b2... by Carlos Garnacho

keyboard: Refactor code resetting IM on window drags

When a window is dragged, the OSK should get hidden. Just
do this in a nicer way.

81956e9... by Carlos Garnacho

keyboard: defer position-changed till we have a rect

Emitting it that soon results in JS warnings, as we don't have
everything in place yet. The position-changed signal will be
emitted from other locations as soon as we have it.

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

Closes: #464

6b41f82... by Matej Urbančič

Updated Slovenian translation

1fca090... by Olivier Blin <email address hidden>

tools: fix XDG desktop syntax in gnome-shell-overrides-migration

Reported by desktop-file-validate:
error: value "True" for boolean key "NoDisplay" in group "Desktop
Entry" contains invalid characters, boolean values must be "false" or
"true"

da2fc2c... by verdre <email address hidden>

workspace: Simplify detecting added dialogs after closing a window

When trying to close a window in the overview by clicking the close
button and the window doesn't get closed but a dialog is added to the
window afterwards, we close the overview and show the dialog.

Instead of adding a separate listener for the window-added signal to the
WindowOverlay, let the WindowClones remember that the close button was
pressed and activate themselves if a dialog is added after that.

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

52cbc29... by verdre <email address hidden>

workspace: Fix infinite loop when finding parent window of dialogs

When a dialog is added to a window while the overview is shown, we get
its parent using get_transient_for() so we can add it to the right
window clone.

If we have multiple layers of dialogs we have to do this recursively
until we find the root ancestor. This case currently results in an
infinite loop: Since parent is always set to the same window, the
while-condition will always be true.

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

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

data: Fix comment in schema

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

showOSD: Fix handling of defined 'falsy' parameters

For the OSD, all parameters except for the icon are optional - if the
caller doesn't include the 'label' option, the OSD won't show a label
etc.

While this makes sense for an API, it means that we have to be careful
to correctly differentiate an option that was omitted and an option
that has a 'falsy' value like false or 0.

Unfortunately since commit ccaae5d3c we no longer do, with the result
that OSDs meant for the first monitor will show up on all, and a level
of 0 is presented as no level bar instead of an empty one, whoops.

https://bugzilla.gnome.org/show_bug.cgi?id=791669