相关疑难解决方法(0)

让NSWindow成为前沿但不是焦点

我想在所有其他窗户前面带一个新的NSWindow,但没有把它放在焦点上.

我可以将它显示在前面,重点如下:

NSApplication *thisApp = [NSApplication sharedApplication];
[thisApp activateIgnoringOtherApps:YES];

[self makeKeyAndOrderFront:self];

有关如何使其显示在顶部但不关注其他应用程序的任何线索?

macos cocoa objective-c

15
推荐指数
2
解决办法
9922
查看次数

让NSWindow保持领先

我从我的主要NSWindow开了一个NSWindow.

DropHereWindowController *dropHereWindowController = [[DropHereWindowController alloc] initWithWindowNibName:@"DropHereWindow"];
[dropHereWindowController showWindow:nil];
Run Code Online (Sandbox Code Playgroud)

将文件从finder拖到"DropHereWindow"时,我希望此窗口保持在主窗口的顶部.然而,当打开取景器(不再有焦点)时,我的"DropHereWindow"就在我的主窗口后面.

我尝试了orderFront,makeKey,makeKeyAndFront,但没有任何帮助.我能做些什么呢?

macos cocoa focus nswindow

15
推荐指数
3
解决办法
1万
查看次数

Applescript - 将窗口带到前景

我有一个应用程序,同时打开几个窗口.我想把一个特定的窗口带到前台(我知道它的标题).

目前我正在使用组合键来完成这项任务,但我想尝试一些不同的东西,因为我遇到了这种方法的一些问题.

tell application "System Events"
    set frontmost of process "appIT" to true
    keystroke "1" using command down
    delay 0.2
end tell
Run Code Online (Sandbox Code Playgroud)

macos applescript window foreground

11
推荐指数
2
解决办法
3万
查看次数

强制保持应用程序窗口在顶部 - Mac OS X.

早些时候我使用了Afloat,但现在它似乎已经死了......

是否有任何活着的软件或任何简单的"方便"的方式来强制保持应用程序窗口在其他人(包括全屏应用程序)之上

我可以想象这可以通过在.app之类的plist文件中添加一些内容来完成

<!-- Info.plist -->

<key>LSUIElement</key>
<true /> 
Run Code Online (Sandbox Code Playgroud)

用于在任何全屏应用上显示应用(使用击键)

谷歌对我帮助不大(

macos cocoa info.plist plist

8
推荐指数
1
解决办法
2581
查看次数

从CGWindowListCopyWindowInfo获取NSWindow*

我已经完成了列出所有窗口(按照从前到后的顺序,我认为/希望)使用,CGWindowListCopyWindowInfo但我有一个问题得到NSWindow*它,所以我可以使用orderFront:等.

看来我甚CGWindowID至都没有得到它.

这是我的代码,它是js-ctypes.

var cfarr_win = ostypes.API('CGWindowListCopyWindowInfo')(ostypes.CONST.kCGWindowListOptionAll | ostypes.CONST.kCGWindowListExcludeDesktopElements, ostypes.CONST.kCGNullWindowID);

var cnt_win = ostypes.API('CFArrayGetCount')(cfarr_win);

for (var i = 0; i < cnt_win; i++) {
    var thisWin = {};
    // trying to get NSWindow* to the window here, so i can use with orderFront: etc

    // example on how i get pid:
    var rez_pid = ostypes.API('objc_msgSend')(c_win, ostypes.HELPER.sel('objectForKey:'), myNSStrings.get('kCGWindowOwnerPID'));
    var int_pid = ostypes.API('objc_msgSend')(rez_pid, ostypes.HELPER.sel('integerValue'));
    thisWin.pid = int_pid;

    // How can I get NSWindow*

} …
Run Code Online (Sandbox Code Playgroud)

macos core-graphics objective-c core-foundation

6
推荐指数
1
解决办法
2474
查看次数