Comments (4)
I can confirm I had noticed something like that, my guess was like yours, whatever they use for "bridging" to the wallpaper is still there (maybe our friend WallpaperAgent) and is messing up subsequent relaunches because some events didn't happen fully (I would guess the full transition to slowed down video + conversion to a fixed wallpaper). Waiting 10s before tries works fine.
What I noticed is that things do clear up though on subsequent proper launch/exit (so if you have 2 screens, you have 2 instances remaining for a bit, you launch again, you get 4, but the 4 will quit properly).
One of "those things" 🤷
from aerial.
After hacking around, I realized that what I really need is the ability to ignore mouse events while the lock screen password prompt is up.
I tried a bunch of ideas, and the closest I got was detecting if the coreautha
process had a window open:
if let info = CGWindowListCopyWindowInfo(.optionAll,kCGNullWindowID) as? [[ String : Any]] {
for dict in info {
let owner = dict["kCGWindowOwnerName"] as? String ?? "none"
if (owner == "coreautha") {
NSLog("\(dict)")
}
}
Unfortunately in Sonoma, the 'coreautha' window is opened at the "Lock screen after ..." timeout, and there is no way to tell from the data if it's visible or not visible.
Regardless of whether the password prompt is visible or not, I always see something like this:
[
"kCGWindowSharingState": 0,
"kCGWindowLayer": 1000,
"kCGWindowNumber": 518,
"kCGWindowOwnerName": coreautha,
"kCGWindowOwnerPID": 706,
"kCGWindowMemoryUsage": 2160,
"kCGWindowAlpha": 1,
"kCGWindowBounds": {
Height = 0;
Width = 0;
X = 0;
Y = 0;
},
"kCGWindowStoreType": 1]
the bounds are always 0,0,0,0 and Alpha is always 1, regardless of whether the lock screen password dialog is on or off...
from aerial.
Interesting, did you try looking for "com.apple.screenIsUnlocked" in distributed notifications ? I believe this is what you seek.
Edit : This is what I used to use before, I changed it to willstop for "some reason" that I can't quite remember right now.
Side note, the 0,0 thing kinda makes me think of the good old days of absolute full screen modes on other OSes. They seem to replicate that a bit here with making whatever the window is believe it's owning the entire screen, but that model fails hard with multiple monitors.
from aerial.
com.apple.screenIsUnlocked : my screensaver process is definitely not receiving those in Sonoma at all (although I can see they are being sent at the os level)
-[SessionAgentNotificationCenter sendDistributedNotification:forUserID:] | sendDistributedNotification: com.apple.screenIsUnlocked, with userID:501
I'm wondering if there's some way to dig into the coreautha (or loginwindow) processes and figure out if they are frontmost or not sleeping or similar...
from aerial.
Related Issues (20)
- Aerial constantly asking for permission to access macOS screensaver. Did macOS 14.1 break Aerial again? HOT 9
- No Locations HOT 2
- Overlays on main screen only HOT 2
- Videos not spanned across screens HOT 10
- MBP Intel, Sonoma: only main display selected (external), but Aerial always starts on both displays (internal AND external) HOT 6
- Videos from a local folder are not being shuffled HOT 3
- Video not fullscreen HOT 8
- com.glouel.AerialUpdater running 24/7 as per screentime even after uninstalling. HOT 1
- Cache is full… but is unlimited HOT 2
- Sonoma 14.4 Aerial will not run HOT 13
- Edit Location Text on Local Source Videos - (Default is File Name) HOT 1
- Sonoma not spanning across two monitors HOT 3
- Lean Version HOT 4
- not working with mojve HOT 2
- Says ! screen saver is disabled but upon checking it is enabled HOT 9
- Aerial with black screen- 3 monitor setup HOT 13
- Aerial shows nothing when clicking the option in system settings. HOT 3
- Why Use Aerial when Sonoma Has Similar Capability? HOT 1
- Sonoma OCLP Green video thumbnails. HOT 8
- Stop working when plug in or out my setup HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aerial.