123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #import <AppKit/AppKit.h>
- #include <util/platform.h>
- #include "auto-scene-switcher.hpp"
- using namespace std;
- void GetWindowList(vector<string> &windows)
- {
- windows.resize(0);
- @autoreleasepool {
- NSWorkspace *ws = [NSWorkspace sharedWorkspace];
- NSArray *array = [ws runningApplications];
- for (NSRunningApplication *app in array) {
- NSString *name = app.localizedName;
- if (!name)
- continue;
- const char *str = name.UTF8String;
- if (str && *str)
- windows.emplace_back(str);
- }
- }
- }
- void GetCurrentWindowTitle(string &title)
- {
- title.resize(0);
- @autoreleasepool {
- NSWorkspace *ws = [NSWorkspace sharedWorkspace];
- NSRunningApplication *app = [ws frontmostApplication];
- if (app) {
- NSString *name = app.localizedName;
- if (!name)
- return;
- const char *str = name.UTF8String;
- if (str && *str)
- title = str;
- }
- }
- }
- void CleanupSceneSwitcher() {}
|