Mercurial > minori
comparison dep/animia/src/win/quartz.cc @ 192:50108040d792
dep/animia/quartz: GetWindowBundleIdentifier -> GetProcessBundleIdentifier
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Thu, 07 Dec 2023 01:50:29 -0500 |
| parents | 0fc126d52de4 |
| children | c4ca035c565d |
comparison
equal
deleted
inserted
replaced
| 191:0fc126d52de4 | 192:50108040d792 |
|---|---|
| 39 | 39 |
| 40 // return [title UTF8String]; | 40 // return [title UTF8String]; |
| 41 return osx::util::StringFromCFString(title, result); | 41 return osx::util::StringFromCFString(title, result); |
| 42 } | 42 } |
| 43 | 43 |
| 44 static bool GetWindowBundleIdentifier(pid_t pid, std::string& result) { | 44 static bool GetProcessBundleIdentifier(pid_t pid, std::string& result) { |
| 45 /* The Bundle ID is essentially OS X's solution to Windows' | 45 /* The Bundle ID is essentially OS X's solution to Windows' |
| 46 * "class name"; theoretically, it should be different for | 46 * "class name"; theoretically, it should be different for |
| 47 * each program, although it requires an app bundle. | 47 * each program, although it requires an app bundle. |
| 48 */ | 48 */ |
| 49 | 49 |
| 96 { | 96 { |
| 97 CFNumberRef num = nullptr; | 97 CFNumberRef num = nullptr; |
| 98 if (CFDictionaryGetValueIfPresent(window, CFSTR("kCGWindowNumber"), reinterpret_cast<const void**>(&num)) && num) | 98 if (CFDictionaryGetValueIfPresent(window, CFSTR("kCGWindowNumber"), reinterpret_cast<const void**>(&num)) && num) |
| 99 osx::util::GetCFNumber(num, win.id); | 99 osx::util::GetCFNumber(num, win.id); |
| 100 } | 100 } |
| 101 if (!GetWindowBundleIdentifier(proc.pid, win.class_name)) { | 101 if (!GetProcessBundleIdentifier(proc.pid, win.class_name)) { |
| 102 // Fallback to the Quartz window name, which is unlikely to be filled, but it | 102 // Fallback to the Quartz window name, which is unlikely to be filled, but it |
| 103 // *could* be. | 103 // *could* be. |
| 104 CFStringRef str = nullptr; | 104 CFStringRef str = nullptr; |
| 105 if (CFDictionaryGetValueIfPresent(window, CFSTR("kCGWindowName"), reinterpret_cast<const void**>(&str)) && str) | 105 if (CFDictionaryGetValueIfPresent(window, CFSTR("kCGWindowName"), reinterpret_cast<const void**>(&str)) && str) |
| 106 osx::util::StringFromCFString(str, win.class_name); | 106 osx::util::StringFromCFString(str, win.class_name); |
