(shellwm, actor)
| 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; |
nothing calls this directly
no test coverage detected