此图像来自SystemPreferences> Appearance

我想知道如何以编程方式获得该值?
我问,因为我正在绘制一个带有自定义标题栏的窗口,我希望它尽可能地与正常(非自定义)可可窗口相似(在行为上).
也许我可以管道的终端命令或是否有一个cocoa API来执行此操作?
编辑:
回答(感谢NSGod)
- (void)mouseUp:(NSEvent *)event{
if ([event clickCount] == 2) {
//Get settings from "System Preferences" > "Appearance" > "Double-click on windows title bar to minimize"
NSString *const MDAppleMiniaturizeOnDoubleClickKey = @"AppleMiniaturizeOnDoubleClick";
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
// [userDefaults addSuiteNamed:NSGlobalDomain]; // unnecessary
BOOL shouldMiniaturize = [[userDefaults objectForKey:MDAppleMiniaturizeOnDoubleClickKey] boolValue];
if (shouldMiniaturize) {
[self miniaturize:self];
}
}
}
Run Code Online (Sandbox Code Playgroud)
后来我发现可以找到Appearance(Aqua/Graphite):
NSString * const kAppleAquaColorVariant = @"AppleAquaColorVariant";
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
// [userDefaults addSuiteNamed:NSGlobalDomain]; // unnecessary
NSNumber *color …Run Code Online (Sandbox Code Playgroud) 我正在编写一个应用程序,它具有使用NSWindow子类创建的自定义透明NSWindow,其中包含以下内容:
- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
{
self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:bufferingType defer:flag];
if (self)
{
[self setOpaque:NO];
[self setBackgroundColor:[NSColor clearColor]];
}
return self;
}
- (BOOL)canBecomeKeyWindow
{
return YES;
}
- (BOOL)canBecomeMainWindow
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我有一切都很完美,包括拖动和调整大小,除了窗口不适用于Spaces.我不能通过按住窗口同时通过键盘快捷键切换空格,或者拖动到窗口的底部/顶部/左/右来将窗口移动到另一个空间.反正有一个自定义窗口的行为与空间的普通窗口完全一样吗?
我有一个相当简单的问题.我将如何以编程方式添加/删除任务控制中找到的工作空间.我在这里看过这篇关于以编程方式更改到另一个空间的帖子,我认为它可能类似于答案,使用CGSPrivate.h.我不需要担心私有框架,因为它不会在应用商店中出现.
编辑:我也看到一篇关于修改com.apple.spaces.plist和添加工作区的帖子,但我不知道如何添加它,因为dict有UUID和其他东西.