45 lines
2.1 KiB
Diff
45 lines
2.1 KiB
Diff
|
From 8105cdf701db7af78bc2e17da6e01172ce7362c3 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||
|
Date: Wed, 21 Feb 2024 13:05:15 +0100
|
||
|
Subject: [PATCH 11/28] workspace-indicator: Support showing tooltips above
|
||
|
|
||
|
The indicator is located in the top bar, so tooltips are always
|
||
|
shown below the previews. However supporting showing tooltips
|
||
|
above previews when space permits allows the same code to be
|
||
|
used in the copy that is included with the window-list extension.
|
||
|
|
||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
|
||
|
---
|
||
|
extensions/workspace-indicator/workspaceIndicator.js | 9 +++++----
|
||
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||
|
index 117c7a65..9a1055aa 100644
|
||
|
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||
|
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||
|
@@ -224,16 +224,17 @@ class WorkspaceThumbnail extends St.Button {
|
||
|
});
|
||
|
|
||
|
const [stageX, stageY] = this.get_transformed_position();
|
||
|
- const thumbWidth = this.allocation.get_width();
|
||
|
- const thumbHeight = this.allocation.get_height();
|
||
|
- const tipWidth = this._tooltip.width;
|
||
|
+ const [thumbWidth, thumbHeight] = this.allocation.get_size();
|
||
|
+ const [tipWidth, tipHeight] = this._tooltip.get_size();
|
||
|
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||
|
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||
|
const x = Math.clamp(
|
||
|
stageX + xOffset,
|
||
|
monitor.x,
|
||
|
monitor.x + monitor.width - tipWidth);
|
||
|
- const y = stageY + thumbHeight + TOOLTIP_OFFSET;
|
||
|
+ const y = stageY - monitor.y > thumbHeight + TOOLTIP_OFFSET
|
||
|
+ ? stageY - tipHeight - TOOLTIP_OFFSET // show above
|
||
|
+ : stageY + thumbHeight + TOOLTIP_OFFSET; // show below
|
||
|
this._tooltip.set_position(x, y);
|
||
|
}
|
||
|
|
||
|
--
|
||
|
2.44.0
|
||
|
|