Session, login & lock

81 symbols · 69 function · 12 data

functionSLSSessionCopyCurrentSessionPropertiescprobed

The login session's properties, including whether the screen is locked. The observed dictionary has 15 keys; note the inconsistent naming — the lock keys have no k prefix (CGSSessionScreenIsLocked, CGSSessionScreenLockedTime) while most others do (kCGSSessionOnConsoleKey, kCGSSessionUserNameKey, kCGSSessionSecureInputPID). This is the supported way to observe lock state without polling the UI.
Swift
typealias CopySessionProperties = @convention(c) (Int32) -> Unmanaged<CFDictionary>?
let props = unsafeBitCast(dlsym(lib, "SLSSessionCopyCurrentSessionProperties")!,
                          to: CopySessionProperties.self)(cid)?.takeRetainedValue() as? [String: Any]
let locked = props?["CGSSessionScreenIsLocked"] as? Bool ?? false
let onConsole = props?["kCGSSessionOnConsoleKey"] as? Bool ?? false
CFDictionaryRef SLSSessionCopyCurrentSessionProperties(int cid);
also exported by CoreGraphics as CGSSessionCopyCurrentSessionProperties

No published signature (80)

Exported and resolvable with dlsym, but not reverse-engineered here yet.
symbolkindCoreGraphics name
SLSConsoleDisplayGetCurrentVBLDeltaInNanosecondsfunction
SLSConsoleDisplayGetPriorVBLTimeInNanosecondsfunction
SLSConsoleDisplayGetTimingfunction
SLSConsoleSetUpdatesAllowedfunction
SLSCopyAllSessionPropertiesTemporaryBridgefunction
SLSCopyCurrentSessionDictionaryfunctionCGSCopyCurrentSessionDictionary
SLSCopySessionListfunctionCGSCopySessionList
SLSCopySessionPropertiesTemporaryBridgefunction
SLSCosmeticShieldCursorfunctionCGSCosmeticShieldCursor
SLSCreateLoginSessionfunctionCGSCreateLoginSession
SLSCreateLoginSessionWithDataAndVisibilityfunctionCGSCreateLoginSessionWithDataAndVisibility
SLSCreateSessionfunctionCGSCreateSession
SLSCreateSessionTemporaryBridgefunction
SLSCreateSessionWithDataAndOptionsfunctionCGSCreateSessionWithDataAndOptions
SLSCreateSessionWithDataAndVisibilityfunctionCGSCreateSessionWithDataAndVisibility
SLSFindSessionAuditSessionIDfunction
SLSGetLoginNamefunctionCGSGetLoginName
SLSGetSessionUIDfunction
SLSMoveSessionToConsoleTemporaryBridgefunction
SLSPackagesInitializeSessionPreferencesfunction
SLSPersistenceCopySessionBitmapKeyfunction
SLSPersistenceGetSessionStatusfunction
SLSPersistenceSetSessionBitmapKeyfunction
SLSPersistenceSetSessionStatusfunction
SLSPersistenceWillTerminateSessionfunctionCGSPersistenceWillTerminateSession
SLSReleaseSessionfunctionCGSReleaseSession
SLSReleaseSessionTemporaryBridgefunction
SLSSessionCopyAllSessionPropertiesfunctionCGSSessionCopyAllSessionProperties
SLSSessionCopyCurrentSessionReadOnceDatafunctionCGSSessionCopyCurrentSessionReadOnceData
SLSSessionCreateLoginSessionIDfunctionCGSSessionCreateLoginSessionID
SLSSessionCreateSessionIDWithOptionsfunctionCGSSessionCreateSessionIDWithOptions
SLSSessionFullScreenAppPidfunctionCGSSessionFullScreenAppPid
SLSSessionHasExcludeShapesfunction
SLSSessionIDGetFullScreenAppPidfunctionCGSSessionIDGetFullScreenAppPid
SLSSessionIDSetScreenLockWindowIDfunctionCGSSessionIDSetScreenLockWindowID
SLSSessionIDSetSleepWindowIDfunctionCGSSessionIDSetSleepWindowID
SLSSessionReleaseSessionIDfunctionCGSSessionReleaseSessionID
SLSSessionSetApplicationBindingsForWorkspacesfunctionCGSSessionSetApplicationBindingsForWorkspaces
SLSSessionSetCurrentSessionPropertiesfunctionCGSSessionSetCurrentSessionProperties
SLSSessionSetCurrentSessionWorkspaceApplicationBindingsfunctionCGSSessionSetCurrentSessionWorkspaceApplicationBindings
SLSSessionSetCurrentSessionWorkspaceLaunchPathfunctionCGSSessionSetCurrentSessionWorkspaceLaunchPath
SLSSessionSetCurrentSessionWorkspaceNotificationConnectionIDfunctionCGSSessionSetCurrentSessionWorkspaceNotificationConnectionID
SLSSessionSetCurrentSessionWorkspacePreferencesfunctionCGSSessionSetCurrentSessionWorkspacePreferences
SLSSessionSetNotificationConnectionForWorkspacesfunctionCGSSessionSetNotificationConnectionForWorkspaces
SLSSessionSetPreferencesForWorkspacesfunctionCGSSessionSetPreferencesForWorkspaces
SLSSessionSwitchToAuditSessionIDfunction
SLSSessionSwitchToAuditSessionIDWithOptionsfunction
SLSSessionSwitchToSessionIDfunctionCGSSessionSwitchToSessionID
SLSSetDictionaryForCurrentSessionfunctionCGSSetDictionaryForCurrentSession
SLSSetLoginNamefunctionCGSSetLoginName
SLSSetLoginwindowConnectionfunctionCGSSetLoginwindowConnection
SLSSetSessionPropertiesTemporaryBridgefunction
SLSSetSessionSwitchCubeAnimationfunctionCGSSetSessionSwitchCubeAnimation
SLSShieldCursorfunctionCGSShieldCursor
SLSSuperShieldingWindowIDfunctionCGSSuperShieldingWindowID
SLSSwitchConsoleToSessionfunctionCGSSwitchConsoleToSession
SLSUpdateCurrentSessionWorkspaceDatafunctionCGSUpdateCurrentSessionWorkspaceData
SLSessionCopyCurrentDictionaryfunctionCGSessionCopyCurrentDictionary
SLSessionOwnerCopyXPCSerializationAndInvalidatefunction
SLSessionOwnerCreateBySettingLoginwindowConnectionfunction
SLSessionOwnerCreateNewSessionWithAuditSessionIDfunction
SLSessionOwnerCreateWithPortfunction
SLSessionOwnerCreateWithXPCSerializationfunction
SLSessionOwnerGetAuditSessionIDfunction
SLSessionOwnerGetSessionIDfunction
SLSessionOwnerIsValidfunction
SLShieldingWindowIDfunctionCGShieldingWindowID
SLShieldingWindowLevelfunctionCGShieldingWindowLevel
kSLDisplayStreamSelectiveSharingSessiondata
kSLSConnectionNeedsSafeAreaInsetShielddata
kSLSCoordinatedLoginNotificationNamedata
kSLSCoordinatedScreenLockNotificationNamedata
kSLSSessionSwitchTransitionTypeCubedata
kSLSSessionSwitchTransitionTypeKeydata
kSLSSessionSwitchTransitionTypeNonedata
kSLSSessionSwitchTransitionTypeUnsetdata
kSLSSpaceAbsoluteLevelNotificationCenterAtScreenLockdata
kSLSSpaceAbsoluteLevelScreenLockdata
kSLSSpaceAbsoluteLevelShieldWindowdata
kSLSUserAccessibilityReportSessionIDKeydata