workspace: Don't restrict title width to window preview

Now that only one window title is visible at any time, it no longer
matters if a title extends into other window previews, so we can
always show the full title.

https://bugzilla.gnome.org/show_bug.cgi?id=783953
This commit is contained in:
Florian Müllner 2017-06-01 16:36:10 +02:00
parent 4fd5eee2c6
commit b3b30f239d

View File

@ -538,24 +538,13 @@ var WindowOverlay = new Lang.Class({
else else
button.set_position(Math.floor(buttonX), Math.floor(buttonY)); button.set_position(Math.floor(buttonX), Math.floor(buttonY));
// Clutter.Actor.get_preferred_width() will return the fixed width if one let titleX = cloneX + (cloneWidth - title.width) / 2;
// is set, so we need to reset the width by calling set_width(-1), to forward
// the call down to StLabel.
// We also need to save and restore the current width, otherwise the animation
// starts from the wrong point.
let prevTitleWidth = title.width;
title.set_width(-1);
let [titleMinWidth, titleNatWidth] = title.get_preferred_width(-1);
let titleWidth = Math.max(titleMinWidth, Math.min(titleNatWidth, cloneWidth));
title.width = prevTitleWidth;
let titleX = cloneX + (cloneWidth - titleWidth) / 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), titleWidth); this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), title.width);
else { } else {
title.width = titleWidth; title.width = title.width;
title.set_position(Math.floor(titleX), Math.floor(titleY)); title.set_position(Math.floor(titleX), Math.floor(titleY));
} }