🚀 First official release of ShotScreen with complete feature set: ✨ Core Features: - Advanced screenshot capture system - Multi-monitor support - Professional UI/UX design - Automated update system with Sparkle - Apple notarized & code signed 🛠 Technical Excellence: - Native Swift macOS application - Professional build & deployment pipeline - Comprehensive error handling - Memory optimized performance 📦 Distribution Ready: - Professional DMG packaging - Apple notarization complete - No security warnings for users - Ready for public distribution This is the foundation release that establishes ShotScreen as a premium screenshot tool for macOS.
64 lines
2.0 KiB
Swift
64 lines
2.0 KiB
Swift
import AppKit
|
|
import Foundation
|
|
|
|
// MARK: - Finder Window Manager
|
|
class FinderWindowManager {
|
|
|
|
// MARK: - Data Structures
|
|
struct FinderWindowInfo {
|
|
let path: String
|
|
let bounds: NSRect
|
|
let viewType: String
|
|
let sortColumn: String
|
|
let reversed: Bool
|
|
let windowIndex: Int
|
|
|
|
init(path: String, bounds: NSRect, viewType: String = "icon view", sortColumn: String = "name", reversed: Bool = false, windowIndex: Int = 0) {
|
|
self.path = path
|
|
self.bounds = bounds
|
|
self.viewType = viewType
|
|
self.sortColumn = sortColumn
|
|
self.reversed = reversed
|
|
self.windowIndex = windowIndex
|
|
}
|
|
}
|
|
|
|
// MARK: - Properties
|
|
private var savedWindows: [FinderWindowInfo] = []
|
|
private var isCurrentlyRestoring: Bool = false
|
|
|
|
// MARK: - Public Interface
|
|
|
|
/// Save all currently open Finder windows and their properties
|
|
/// NOTE: Currently disabled - functionality removed for simplicity
|
|
func saveOpenFinderWindows() {
|
|
// Feature disabled - no window saving functionality
|
|
return
|
|
}
|
|
|
|
/// Restore previously saved Finder windows as individual windows
|
|
/// NOTE: Currently disabled - functionality removed for simplicity
|
|
func restoreFinderWindows() {
|
|
// Feature disabled - no window restoration functionality
|
|
return
|
|
}
|
|
|
|
/// Clear saved window data
|
|
func cleanup() {
|
|
savedWindows.removeAll()
|
|
isCurrentlyRestoring = false
|
|
print("🧹 FinderWindowManager cleaned up")
|
|
}
|
|
|
|
/// Force cleanup - only call when app is terminating
|
|
func forceCleanup() {
|
|
cleanup()
|
|
print("🧹 FinderWindowManager force cleaned up (app terminating)")
|
|
}
|
|
|
|
/// Update saved positions without full cleanup - useful for position tracking
|
|
func updateCurrentPositions() {
|
|
// This will refresh the saved positions with current window states
|
|
saveOpenFinderWindows()
|
|
}
|
|
} |