Mercurial > minori
comparison dep/animone/src/win/quartz.cc @ 299:246017a7907a
dep/animone: clean up OS X code
GetProcessName() really belongs in fd.cc after removing the
stupid unnecessary LaunchServices code that was stolen from...
some library :)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Mon, 13 May 2024 14:15:47 -0400 |
parents | 5437009cb10e |
children | a7d4e5107531 |
comparison
equal
deleted
inserted
replaced
298:dec4d3c9a909 | 299:246017a7907a |
---|---|
3 * | 3 * |
4 * This file does not require an Objective-C++ compiler, | 4 * This file does not require an Objective-C++ compiler, |
5 * but it *does* require an Objective-C runtime. | 5 * but it *does* require an Objective-C runtime. |
6 */ | 6 */ |
7 #include "animone/win/quartz.h" | 7 #include "animone/win/quartz.h" |
8 #include "animone/fd.h" | |
8 #include "animone.h" | 9 #include "animone.h" |
9 #include "animone/util/osx.h" | |
10 | 10 |
11 #include <objc/message.h> | 11 #include <objc/message.h> |
12 #include <objc/runtime.h> | 12 #include <objc/runtime.h> |
13 | 13 |
14 #include <ApplicationServices/ApplicationServices.h> | 14 #include <ApplicationServices/ApplicationServices.h> |
266 | 266 |
267 Process proc; | 267 Process proc; |
268 { | 268 { |
269 CFDictionaryGetValue(window, CFSTR("kCGWindowOwnerPID"), proc.pid); | 269 CFDictionaryGetValue(window, CFSTR("kCGWindowOwnerPID"), proc.pid); |
270 if (!CFDictionaryGetValue(window, CFSTR("kCGWindowOwnerName"), proc.name)) | 270 if (!CFDictionaryGetValue(window, CFSTR("kCGWindowOwnerName"), proc.name)) |
271 osx::util::GetProcessName(proc.pid, proc.name); | 271 fd::GetProcessName(proc.pid, proc.name); |
272 } | 272 } |
273 | 273 |
274 Window win; | 274 Window win; |
275 { | 275 { |
276 CFDictionaryGetValue(window, CFSTR("kCGWindowNumber"), win.id); | 276 CFDictionaryGetValue(window, CFSTR("kCGWindowNumber"), win.id); |
277 | 277 |
278 if (!GetProcessBundleIdentifier(proc.pid, win.class_name)) | 278 if (!GetProcessBundleIdentifier(proc.pid, win.class_name)) |
279 // Fallback to the Quartz window name, which is unlikely to be filled, but it | 279 /* XXX is this right? */ |
280 // *could* be. | |
281 CFDictionaryGetValue(window, CFSTR("kCGWindowName"), win.class_name); | 280 CFDictionaryGetValue(window, CFSTR("kCGWindowName"), win.class_name); |
282 | 281 |
283 GetWindowTitle(win.id, proc.pid, win.text); | 282 GetWindowTitle(win.id, proc.pid, win.text); |
284 } | 283 } |
285 | 284 |