Use Apple private APIs to get workspace id

This commit is contained in:
Kovid Goyal 2019-02-16 12:58:15 +05:30
parent c5cc208397
commit 8de4dd334b
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -21,6 +21,12 @@
#define NSEventModifierFlagControl NSControlKeyMask
#endif
typedef int CGSConnectionID;
typedef int CGSWindowID;
typedef int CGSWorkspaceID;
extern CGSConnectionID _CGSDefaultConnection(void);
extern void CGSGetWindowWorkspace(const CGSConnectionID cid, CGSWindowID wid, CGSWorkspaceID *workspace);
static NSMenuItem* title_menu = NULL;
@ -363,6 +369,14 @@ cocoa_focus_window(void *w) {
[window makeKeyWindow];
}
int
cocoa_get_workspace_id(void *w) {
NSWindow *window = (NSWindow*)w;
int ans = 0;
CGSGetWindowWorkspace(_CGSDefaultConnection(), [window windowNumber], &ans);
return ans;
}
bool
cocoa_toggle_fullscreen(void *w, bool traditional) {
NSWindow *window = (NSWindow*)w;