Skip to content

Commit 80f28ae

Browse files
authored
Merge pull request #251494 from microsoft/tyriar/251428
Fix terminal icon picker issues
2 parents cc59a7f + c2f9910 commit 80f28ae

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/vs/workbench/contrib/terminal/browser/terminalIconPicker.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { Disposable } from '../../../../base/common/lifecycle.js';
1111
import type { ThemeIcon } from '../../../../base/common/themables.js';
1212
import { IHoverService } from '../../../../platform/hover/browser/hover.js';
1313
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
14+
import { ILayoutService } from '../../../../platform/layout/browser/layoutService.js';
1415
import { defaultInputBoxStyles } from '../../../../platform/theme/browser/defaultStyles.js';
1516
import { getIconRegistry, IconContribution } from '../../../../platform/theme/common/iconRegistry.js';
1617
import { WorkbenchIconSelectBox } from '../../../services/userDataProfile/browser/iconSelectBox.js';
@@ -39,14 +40,14 @@ export class TerminalIconPicker extends Disposable {
3940

4041
constructor(
4142
@IInstantiationService instantiationService: IInstantiationService,
42-
@IHoverService private readonly _hoverService: IHoverService
43+
@IHoverService private readonly _hoverService: IHoverService,
44+
@ILayoutService private readonly _layoutService: ILayoutService,
4345
) {
4446
super();
4547

4648
this._iconSelectBox = instantiationService.createInstance(WorkbenchIconSelectBox, {
4749
icons: icons.value,
48-
inputBoxStyles: defaultInputBoxStyles,
49-
showIconInfo: true
50+
inputBoxStyles: defaultInputBoxStyles
5051
});
5152
}
5253

@@ -58,18 +59,21 @@ export class TerminalIconPicker extends Disposable {
5859
this._iconSelectBox.dispose();
5960
}));
6061
this._iconSelectBox.clearInput();
62+
const body = getActiveDocument().body;
63+
const bodyRect = body.getBoundingClientRect();
6164
const hoverWidget = this._hoverService.showInstantHover({
6265
content: this._iconSelectBox.domNode,
63-
target: getActiveDocument().body,
66+
target: {
67+
targetElements: [body],
68+
x: bodyRect.left + (bodyRect.width - dimension.width) / 2,
69+
y: bodyRect.top + this._layoutService.activeContainerOffset.quickPickTop - 2
70+
},
6471
position: {
6572
hoverPosition: HoverPosition.BELOW,
6673
},
6774
persistence: {
6875
sticky: true,
6976
},
70-
appearance: {
71-
showPointer: true
72-
}
7377
}, true);
7478
if (hoverWidget) {
7579
this._register(hoverWidget);

0 commit comments

Comments
 (0)