[gnome-shell] workspace: Adjust for close button side in chromeWidth
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspace: Adjust for close button side in chromeWidth
- Date: Thu, 11 Jun 2020 18:58:18 +0000 (UTC)
commit 96bfd1f8bedb02105f7b3c292667ae29e571b50d
Author: Jonas Dreßler <verdre v0yd nl>
Date: Mon Jun 8 17:52:57 2020 +0200
workspace: Adjust for close button side in chromeWidth
When the close button is shown on the left side of the WindowClone, we
also need to return its width in chromeWidth() on the left side instead
of the right side, so do that.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1298
js/ui/workspace.js | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 97b5f8cc9a..a64ed0b99d 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -308,8 +308,9 @@ var WindowClone = GObject.registerClass({
});
const layout = Meta.prefs_get_button_layout();
- const side = layout.left_buttons.includes(Meta.ButtonFunction.CLOSE)
- ? St.Side.LEFT : St.Side.RIGHT;
+ this._closeButtonSide =
+ layout.left_buttons.includes(Meta.ButtonFunction.CLOSE)
+ ? St.Side.LEFT : St.Side.RIGHT;
this._closeButton = new St.Button({
visible: false,
@@ -324,7 +325,7 @@ var WindowClone = GObject.registerClass({
source: this._border,
align_axis: Clutter.AlignAxis.X_AXIS,
pivot_point: new Graphene.Point({ x: 0.5, y: -1 }),
- factor: side === St.Side.LEFT ? 0 : 1,
+ factor: this._closeButtonSide === St.Side.LEFT ? 0 : 1,
}));
this._closeButton.add_constraint(new Clutter.AlignConstraint({
source: this._border,
@@ -395,16 +396,26 @@ var WindowClone = GObject.registerClass({
const [, closeButtonHeight] = this._closeButton.get_preferred_height(-1);
const [, titleHeight] = this._title.get_preferred_height(-1);
- return [this._borderSize + closeButtonHeight / 2,
- Math.max(this._borderSize, (titleHeight / 2) + (this._borderSize / 2))];
+ const topOversize = this._borderSize + closeButtonHeight / 2;
+ const bottomOversize = Math.max(
+ this._borderSize,
+ (titleHeight / 2) + (this._borderSize / 2));
+
+ return [topOversize, bottomOversize];
}
chromeWidths() {
this._border.ensure_style();
const [, closeButtonWidth] = this._closeButton.get_preferred_width(-1);
- return [this._borderSize,
- this._borderSize + closeButtonWidth / 2];
+ const leftOversize = this._closeButtonSide === St.Side.LEFT
+ ? this._borderSize + closeButtonWidth / 2
+ : this._borderSize;
+ const rightOversize = this._closeButtonSide === St.Side.LEFT
+ ? this._borderSize
+ : this._borderSize + closeButtonWidth / 2;
+
+ return [leftOversize, rightOversize];
}
showOverlay(animate) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]