[ColorPicker, macOS] Add link to request required screen recording permission.

This commit is contained in:
Pāvels Nadtočajevs 2025-04-18 00:05:49 +03:00
parent 931820d33c
commit e6d3cf63fb
No known key found for this signature in database
GPG key ID: 8413210218EF35D2
5 changed files with 60 additions and 3 deletions

View file

@ -100,9 +100,35 @@ bool OS_MacOS::is_sandboxed() const {
return has_environment("APP_SANDBOX_CONTAINER_ID");
}
bool OS_MacOS::request_permission(const String &p_name) {
if (@available(macOS 10.15, *)) {
if (p_name == "macos.permission.RECORD_SCREEN") {
if (CGPreflightScreenCaptureAccess()) {
return true;
} else {
CGRequestScreenCaptureAccess();
return false;
}
}
} else {
if (p_name == "macos.permission.RECORD_SCREEN") {
return true;
}
}
return false;
}
Vector<String> OS_MacOS::get_granted_permissions() const {
Vector<String> ret;
if (@available(macOS 10.15, *)) {
if (CGPreflightScreenCaptureAccess()) {
ret.push_back("macos.permission.RECORD_SCREEN");
}
} else {
ret.push_back("macos.permission.RECORD_SCREEN");
}
if (is_sandboxed()) {
NSArray *bookmarks = [[NSUserDefaults standardUserDefaults] arrayForKey:@"sec_bookmarks"];
for (id bookmark in bookmarks) {