workspace: Avoid setting overlay title width
Avoid setting the width of the overlay title ourselves to keep the default width of -1, this way StLabel will change its width by itself as soon as the text is updated. The width only needs to be changed if the window title changes, and we don't animate it in this case anyway so there's no need to pass a width to _animateOverlayActor(). Setting the title width to the preferred width on relayout is impossible because get_preferred_width() will always return the width we set the label to before. If the width is not set to -1, there's no way to get the new preferred width without calculating it ourselves from the underlying ClutterText instance. https://bugzilla.gnome.org/show_bug.cgi?id=787260
This commit is contained in:
parent
b72b773d87
commit
c04289853f
@ -545,12 +545,10 @@ var WindowOverlay = new Lang.Class({
|
|||||||
let titleX = cloneX + (cloneWidth - title.width) / 2;
|
let titleX = cloneX + (cloneWidth - title.width) / 2;
|
||||||
let titleY = cloneY + cloneHeight - (title.height - this.borderSize) / 2;
|
let titleY = cloneY + cloneHeight - (title.height - this.borderSize) / 2;
|
||||||
|
|
||||||
if (animate) {
|
if (animate)
|
||||||
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), title.width);
|
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY));
|
||||||
} else {
|
else
|
||||||
title.width = title.width;
|
|
||||||
title.set_position(Math.floor(titleX), Math.floor(titleY));
|
title.set_position(Math.floor(titleX), Math.floor(titleY));
|
||||||
}
|
|
||||||
|
|
||||||
let borderX = cloneX - this.borderSize;
|
let borderX = cloneX - this.borderSize;
|
||||||
let borderY = cloneY - this.borderSize;
|
let borderY = cloneY - this.borderSize;
|
||||||
@ -573,6 +571,9 @@ var WindowOverlay = new Lang.Class({
|
|||||||
time: Overview.ANIMATION_TIME,
|
time: Overview.ANIMATION_TIME,
|
||||||
transition: 'easeOutQuad' };
|
transition: 'easeOutQuad' };
|
||||||
|
|
||||||
|
if (width !== undefined)
|
||||||
|
params.width = width;
|
||||||
|
|
||||||
if (height !== undefined)
|
if (height !== undefined)
|
||||||
params.height = height;
|
params.height = height;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user