🎉 ShotScreen v1.0 - Initial Release
🚀 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.
This commit is contained in:
64
ShotScreen/Sources/FinderWindowManager.swift
Normal file
64
ShotScreen/Sources/FinderWindowManager.swift
Normal file
@@ -0,0 +1,64 @@
|
||||
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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user