Atoll/DynamicIsland/components/Notch/DynamicIslandWindow.swift
2026-01-29 12:26:04 +05:30

67 lines
1.9 KiB
Swift

/*
* Atoll (DynamicIsland)
* Copyright (C) 2024-2026 Atoll Contributors
*
* Originally from boring.notch project
* Modified and adapted for Atoll (DynamicIsland)
* See NOTICE for details.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import Cocoa
class DynamicIslandWindow: NSPanel {
override init(
contentRect: NSRect,
styleMask: NSWindow.StyleMask,
backing: NSWindow.BackingStoreType,
defer flag: Bool
) {
super.init(
contentRect: contentRect,
styleMask: styleMask,
backing: backing,
defer: flag
)
isFloatingPanel = true
isOpaque = false
titleVisibility = .hidden
titlebarAppearsTransparent = true
backgroundColor = .clear
isMovable = false
collectionBehavior = [
.fullScreenAuxiliary,
.stationary,
.canJoinAllSpaces,
.ignoresCycle,
]
isReleasedWhenClosed = false
level = .mainMenu + 3
hasShadow = false
ScreenCaptureVisibilityManager.shared.register(self, scope: .entireInterface)
}
override var canBecomeKey: Bool {
true
}
override var canBecomeMain: Bool {
true
}
}