MCPcopy Create free account
hub / github.com/GNOME/gnome-shell / _mapWindow

Method _mapWindow

js/ui/windowManager.js:1464–1538  ·  view source on GitHub ↗
(shellwm, actor)

Source from the content-addressed store, hash-verified

1462 }
1463
1464 async _mapWindow(shellwm, actor) {
1465 actor._windowType = actor.meta_window.get_window_type();
1466 actor.meta_window.connectObject('notify::window-type', () => {
1467 const type = actor.meta_window.get_window_type();
1468 if (type === actor._windowType)
1469 return;
1470 if (type === Meta.WindowType.MODAL_DIALOG ||
1471 actor._windowType === Meta.WindowType.MODAL_DIALOG) {
1472 const parent = actor.get_meta_window().get_transient_for();
1473 if (parent)
1474 this._checkDimming(parent);
1475 }
1476
1477 actor._windowType = type;
1478 }, actor);
1479 actor.meta_window.connect('unmanaged', window => {
1480 const parent = window.get_transient_for();
1481 if (parent)
1482 this._checkDimming(parent);
1483 });
1484
1485 if (actor.meta_window.is_attached_dialog())
1486 this._checkDimming(actor.get_meta_window().get_transient_for());
1487
1488 const types = [
1489 Meta.WindowType.NORMAL,
1490 Meta.WindowType.DIALOG,
1491 Meta.WindowType.MODAL_DIALOG,
1492 ];
1493 if (!this._shouldAnimateActor(actor, types)) {
1494 shellwm.completed_map(actor);
1495 return;
1496 }
1497
1498 switch (this._getAnimationWindowType(actor)) {
1499 case Meta.WindowType.NORMAL:
1500 actor.set_pivot_point(0.5, 1.0);
1501 actor.scale_x = 0.01;
1502 actor.scale_y = 0.05;
1503 actor.opacity = 0;
1504 actor.show();
1505 this._mapping.add(actor);
1506
1507 await this._waitForOverviewToHide();
1508 actor.ease({
1509 opacity: 255,
1510 scale_x: 1,
1511 scale_y: 1,
1512 duration: SHOW_WINDOW_ANIMATION_TIME,
1513 mode: Clutter.AnimationMode.EASE_OUT_EXPO,
1514 onStopped: () => this._mapWindowDone(shellwm, actor),
1515 });
1516 break;
1517 case Meta.WindowType.MODAL_DIALOG:
1518 case Meta.WindowType.DIALOG:
1519 actor.set_pivot_point(0.5, 0.5);
1520 actor.scale_y = 0;
1521 actor.opacity = 0;

Callers

nothing calls this directly

Calls 8

_checkDimmingMethod · 0.95
_shouldAnimateActorMethod · 0.95
_mapWindowDoneMethod · 0.95
connectObjectMethod · 0.45
showMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected