Skip to content

Commit 0ed38e3

Browse files
authored
Merge pull request #2868 from ControlSystemStudio/CSSTUDIO-2070
CSSTUDIO-2070 Workaround for issue where tooltips give window the focus
2 parents efc8b66 + 638c63f commit 0ed38e3

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

core/ui/src/main/java/org/phoebus/ui/docking/DockStage.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.logging.Level;
2323
import java.util.stream.Collectors;
2424

25+
import javafx.scene.input.MouseEvent;
2526
import org.phoebus.framework.jobs.JobManager;
2627
import org.phoebus.framework.workbench.Locations;
2728
import org.phoebus.ui.application.Messages;
@@ -131,6 +132,15 @@ public static DockPane configureStage(final Stage stage, final DockItem... tabs)
131132
*/
132133
public static DockPane configureStage(final Stage stage, final Geometry geometry, final DockItem... tabs)
133134
{
135+
stage.addEventFilter(MouseEvent.MOUSE_MOVED, mouseEvent -> {
136+
// Filtering MOUSE_MOVED events from unfocused windows prevents tooltips
137+
// from displaying in unfocused windows. This, in turn, prevents unfocused
138+
// windows from receiving the focus as a consequence on Windows and Mac OS.
139+
if (!stage.focusedProperty().get()) {
140+
mouseEvent.consume();
141+
}
142+
});
143+
134144
stage.getProperties().put(KEY_ID, createID("DockStage"));
135145

136146
final DockPane pane = new DockPane(tabs);

0 commit comments

Comments
 (0)