Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
341ca4a
Fix slow dialog regression.
Mar 3, 2024
25fc392
Fix window focus issue on macOS
Mar 5, 2024
37b6bb2
Update libfiledialogs extension
Mar 11, 2024
85a42a5
Use Native Dialogs instead of Dear ImGui
Apr 4, 2024
125ba0d
Use Native Dialogs instead of Dear ImGui
Apr 4, 2024
e36755c
Update Create_0.gml
Apr 4, 2024
4988f61
Delete extensions/pygml/pygml.dll
Apr 6, 2024
78afbc9
Delete extensions/pygml/python38.dll
Apr 6, 2024
c190d96
Delete extensions/pygml/python38.zip
Apr 6, 2024
1619d84
Delete extensions/pygml/python38._pth
Apr 6, 2024
a8b7009
yay
Apr 6, 2024
adf1638
Delete extensions/libdlgmodule/libdlgmod.dylib
Apr 15, 2024
01e1992
Delete extensions/libdlgmodule/libdlgmod.zip
Apr 15, 2024
acca149
Add files via upload
Apr 15, 2024
50e739d
Update Minecraft Note Block Studio.yyp
Apr 17, 2024
c3c9e42
Delete extensions/libdlgmodule directory
Apr 17, 2024
1dad67a
Add files via upload
Apr 17, 2024
1d29629
Update Minecraft Note Block Studio.yyp
Apr 17, 2024
5bfa628
Delete extensions/libdlgmod/libdlgmod.so
Apr 30, 2024
3a07096
Delete extensions/libdlgmod/libdlgmod.zip
Apr 30, 2024
14a167e
Delete extensions/libdlgmod/libdlgmod_arm.so
Apr 30, 2024
58f3ff6
Delete extensions/libdlgmod/libdlgmod_arm64.so
Apr 30, 2024
493ef12
Add files via upload
Apr 30, 2024
bd6de11
Delete extensions/libdlgmod/libdlgmod.so
May 8, 2024
0a48415
Delete extensions/libdlgmod/libdlgmod.zip
May 8, 2024
63eccd2
Delete extensions/libdlgmod/libdlgmod_arm.so
May 8, 2024
4dc8a18
Delete extensions/libdlgmod/libdlgmod_arm64.so
May 8, 2024
ccc3cf8
Add files via upload
May 8, 2024
ae2cf95
Delete extensions/libdlgmod/libdlgmod.zip
May 15, 2024
7ce32d7
Add files via upload
May 15, 2024
5807e73
Delete extensions/libxprocess/libxprocess.zip
May 15, 2024
7f180ea
Add files via upload
May 15, 2024
888145f
Delete extensions/libdlgmod/libdlgmod.dylib
Jul 20, 2024
f3d1caa
Delete extensions/libdlgmod/libdlgmod.zip
Jul 20, 2024
db193b2
Delete extensions/libdlgmod/libdlgmod.so
Jul 20, 2024
3b8f29b
Delete extensions/libdlgmod/libdlgmod_arm.so
Jul 20, 2024
a4ebbf3
Delete extensions/libdlgmod/libdlgmod_arm64.so
Jul 20, 2024
411c871
Delete extensions/libdlgmod/libdlgmod.dll
Jul 20, 2024
18b6538
Add files via upload
Jul 20, 2024
b64e873
Add files via upload
Jul 20, 2024
1cbd013
Delete extensions/libxprocess/libxprocess.zip
Jul 20, 2024
1dd32b9
Add files via upload
Jul 20, 2024
cf9f947
Delete extensions/libdlgmod/libdlgmod.zip
Aug 6, 2024
89c02d4
Delete extensions/libxprocess/libxprocess.zip
Aug 6, 2024
2807d16
Add files via upload
Aug 6, 2024
a2c12d5
Add files via upload
Aug 6, 2024
40f1633
Delete extensions/libxprocess/libxprocess.zip
Aug 7, 2024
bbd89fd
Delete extensions/libdlgmod/libdlgmod.zip
Aug 7, 2024
822f9c6
Add files via upload
Aug 7, 2024
78a1321
Add files via upload
Aug 7, 2024
c61f301
Delete extensions/libdlgmod/libdlgmod.zip
Aug 9, 2024
d524ea8
Add files via upload
Aug 9, 2024
e0103a6
Delete extensions/libxprocess/libxprocess.zip
Aug 9, 2024
a33b88f
Add files via upload
Aug 9, 2024
2741b53
Delete extensions/libxprocess/libxprocess.dll
Aug 9, 2024
d166aeb
Add files via upload
Aug 9, 2024
aa3ab60
Delete extensions/libxprocess/libxprocess.dll
Aug 9, 2024
bbe67b9
Add files via upload
Aug 9, 2024
e2acb74
Add files via upload
Aug 21, 2024
6dc0e54
Delete datafiles/libzoom.dylib
Aug 21, 2024
5020839
Add files via upload
Aug 21, 2024
b39088d
Delete datafiles/libzoom.dylib
Aug 21, 2024
0c77278
Add files via upload
Aug 21, 2024
22c59fc
Delete extensions/libxprocess/libxprocess.dll
Sep 9, 2024
af8bb4a
Delete extensions/libxprocess/libxprocess.zip
Sep 9, 2024
ae60a69
Add files via upload
Sep 9, 2024
6341f68
Delete extensions/libdlgmod/libdlgmod.dll
Sep 9, 2024
d5a6d38
Delete extensions/libdlgmod/libdlgmod.zip
Sep 9, 2024
123ecfa
Add files via upload
Sep 9, 2024
5a09601
Delete extensions/libdlgmod/libdlgmod.dylib
Sep 9, 2024
e24ece1
Add files via upload
Sep 9, 2024
4480b04
Delete extensions/libxprocess/libxprocess.dylib
Sep 9, 2024
759b597
Add files via upload
Sep 9, 2024
f4b290c
Delete extensions/libdlgmod/libdlgmod.so
Sep 9, 2024
aa1ec29
Delete extensions/libdlgmod/libdlgmod_arm.so
Sep 9, 2024
23527fe
Delete extensions/libdlgmod/libdlgmod_arm64.so
Sep 9, 2024
8eb78a6
Add files via upload
Sep 9, 2024
8e183e3
Delete extensions/libxprocess/libxprocess.so
Sep 9, 2024
30bbb7a
Delete extensions/libxprocess/libxprocess_arm.so
Sep 9, 2024
f842291
Delete extensions/libxprocess/libxprocess_arm64.so
Sep 9, 2024
e6528c4
Add files via upload
Sep 9, 2024
c4f2dc2
Delete extensions/libdlgmod/libdlgmod.dll
Sep 16, 2024
21d94ee
Delete extensions/libdlgmod/libdlgmod.zip
Sep 16, 2024
079592b
Add files via upload
Sep 16, 2024
cced1b3
Delete extensions/libdlgmod/libdlgmod.zip
Sep 16, 2024
fde00cc
Add files via upload
Sep 16, 2024
6a22c74
Delete extensions/libdlgmod/libdlgmod.zip
Sep 16, 2024
bf420d3
Add files via upload
Sep 16, 2024
c502160
Delete extensions/libdlgmod/libdlgmod.zip
Sep 16, 2024
bd8631b
Add files via upload
Sep 16, 2024
66479c4
Delete extensions/libdlgmod/libdlgmod.zip
Sep 20, 2024
f886dc9
Add files via upload
Sep 20, 2024
546bad1
Add files via upload
Sep 21, 2024
892f991
Delete extensions/libdlgmod/libdlgmod.zip
Sep 21, 2024
5663eeb
Add files via upload
Sep 21, 2024
31aa60d
Delete extensions/libdlgmod/libdlgmod.dll
Sep 24, 2024
b11c433
Delete extensions/libdlgmod/libdlgmod.zip
Sep 24, 2024
423dca9
Add files via upload
Sep 24, 2024
f8aae34
yay
Dec 14, 2024
d08911e
Merge pull request #2 from time-killer-games/OpenNBS-feature/tabs-cro…
Dec 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,564 changes: 779 additions & 785 deletions Minecraft Note Block Studio.yyp

Large diffs are not rendered by default.

Binary file removed datafiles/Fonts/156-NotoSansSC-Regular.otf
Binary file not shown.
95 changes: 95 additions & 0 deletions datafiles/libzoom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#define EXPORTED_FUNCTION extern "C" __attribute__((visibility("default")))
#if (defined(__APPLE__) && defined(__MACH__))
#include <AppKit/AppKit.h>
#include <libproc.h>
#else
#include <X11/Xlib.h>
#endif
Expand Down Expand Up @@ -61,3 +62,97 @@ EXPORTED_FUNCTION void window_zoom(void *window) {
XCloseDisplay(display);
#endif
}

EXPORTED_FUNCTION void window_focus(void *window) {
#if defined(_WIN32)
SetWindowPos((HWND)window, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
SetWindowPos((HWND)window, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
#elif (defined(__APPLE__) && defined(__MACH__))
CGWindowID wid = [(NSWindow *)window windowNumber];
const CGWindowLevel kScreensaverWindowLevel = CGWindowLevelForKey(kCGScreenSaverWindowLevelKey);
CFArrayRef windowArray = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
CFIndex windowCount = 0;
if ((windowCount = CFArrayGetCount(windowArray))) {
for (CFIndex i = 0; i < windowCount; i++) {
NSDictionary *windowInfoDictionary = (__bridge NSDictionary *)((CFDictionaryRef)CFArrayGetValueAtIndex(windowArray, i));
NSNumber *ownerPID = (NSNumber *)(windowInfoDictionary[(id)kCGWindowOwnerPID]);
NSNumber *level = (NSNumber *)(windowInfoDictionary[(id)kCGWindowLayer]);
if (level.integerValue < kScreensaverWindowLevel) {
NSNumber *windowID = windowInfoDictionary[(id)kCGWindowNumber];
if (wid == windowID.integerValue) {
CFIndex appCount = [[[NSWorkspace sharedWorkspace] runningApplications] count];
for (CFIndex j = 0; j < appCount; j++) {
if (ownerPID.integerValue == [[[[NSWorkspace sharedWorkspace] runningApplications] objectAtIndex:j] processIdentifier]) {
NSRunningApplication *appWithPID = [[[NSWorkspace sharedWorkspace] runningApplications] objectAtIndex:j];
if (@available(macOS 14.0, *)) {
[[NSApplication sharedApplication] yieldActivationToApplication:appWithPID];
[appWithPID activateWithOptions:NSApplicationActivateAllWindows];
} else {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
[appWithPID activateWithOptions:NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps];
#pragma clang diagnostic pop
#pragma GCC diagnostic pop
}
char buf[PROC_PIDPATHINFO_MAXSIZE];
proc_pidpath(ownerPID.integerValue, buf, sizeof(buf));
NSString *buffer = [NSString stringWithUTF8String:buf];
unsigned long location = [buffer rangeOfString:@".app/Contents/MacOS/" options:NSBackwardsSearch].location;
NSString *path = (location != NSNotFound) ? [buffer substringWithRange:NSMakeRange(0, location)] : buffer;
NSString *app = [@" of application \\\"" stringByAppendingString:[path lastPathComponent]];
NSString *index = [@"set index of window id " stringByAppendingString:[windowID stringValue]];
NSString *execScript = [[index stringByAppendingString:app] stringByAppendingString:@"\\\" to 1"];
char *pointer = nullptr;
size_t buffer_size = 0;
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:execScript];
NSDictionary *errInfo = nil;
[script executeAndReturnError:&errInfo];
[script release];
break;
}
}
}
}
}
}
#else
Display *display = XOpenDisplay(nullptr);
XEvent event;
event.xclient.type = ClientMessage;
event.xclient.serial = 0;
event.xclient.send_event = true;
event.xclient.message_type = XInternAtom(display, "_NET_ACTIVE_WINDOW", false);
event.xclient.window = (Window)(std::uintptr_t)window;
event.xclient.format = 32;
XSendEvent(display, DefaultRootWindow(display), false, SubstructureRedirectMask | SubstructureNotifyMask, &event);
XMapRaised(display, (Window)(std::uintptr_t)window);
XMapWindow(display, (Window)(std::uintptr_t)window);
XCloseDisplay(display);
#endif
}

EXPORTED_FUNCTION void window_hide(void *window) {
#if defined(_WIN32)
SetWindowLong((HWND)window, GWL_STYLE, WS_POPUP);
MoveWindow((HWND)window, 0, 0, 1, 1, false);
SetWindowLong((HWND)window, GWL_EXSTYLE, WS_EX_LAYERED | WS_EX_TOOLWINDOW);
SetLayeredWindowAttributes((HWND)window, RGB(0, 0, 0), 0, LWA_ALPHA);
#elif (defined(__APPLE__) && defined(__MACH__))
[[NSApplication sharedApplication] setActivationPolicy:(NSApplicationActivationPolicy)1];
if (@available(macOS 14.0, *)) {
[[NSApplication sharedApplication] yieldActivationToApplication:[NSRunningApplication currentApplication]];
[[NSApplication sharedApplication] activate];
} else {
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
}
[(NSWindow *)window setStyleMask:NSWindowStyleMaskBorderless];
[(NSWindow *)window setFrame:NSMakeRect(0, 0, 1, 1) display:YES];
[(NSWindow *)window setAlphaValue:0];
#else
Display *display = XOpenDisplay(nullptr);
XUnmapWindow(display, (Window)(std::uintptr_t)window);
XCloseDisplay(display);
#endif
}
Binary file modified datafiles/libzoom.dylib
Binary file not shown.
19 changes: 19 additions & 0 deletions datafiles/libzoom.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
cd "${0%/*}"

if [ `uname` = "Darwin" ]; then
clang++ "libzoom.cpp" -o "libzoom.dylib" -I. -std=c++17 -shared -ObjC++ -framework AppKit -mmacos-version-min=10.13 -arch arm64 -arch x86_64 -fPIC;
elif [ $(uname) = "Linux" ]; then
g++ "libzoom.cpp" -o "libzoom.so" -std=c++17 -shared -static-libgcc -static-libstdc++ `pkg-config --cflags --libs x11` -fPIC;
elif [ $(uname) = "FreeBSD" ]; then
clang++ "libzoom.cpp" -o "libzoom.so" -std=c++17 -shared `pkg-config --cflags --libs x11`;
elif [ $(uname) = "DragonFly" ]; then
g++ "libzoom.cpp" -o "libzoom.so" -std=c++17 -shared -static-libgcc -static-libstdc++ `pkg-config --cflags --libs x11` -fPIC;
elif [ $(uname) = "NetBSD" ]; then
g++ "libzoom.cpp" -o "libzoom.so" -std=c++17 -shared -static-libgcc -static-libstdc++ `pkg-config --cflags --libs x11` -fPIC;
elif [ $(uname) = "OpenBSD" ]; then
clang++ "libzoom.cpp" -o "libzoom.so" -std=c++17 -shared `pkg-config --cflags --libs x11`;
elif [ $(uname) = "SunOS" ]; then
export PKG_CONFIG_PATH=/usr/lib/64/pkgconfig && g++ "libzoom.cpp" -o "libzoom.so" -std=c++17 -shared -static-libgcc `pkg-config --cflags --libs x11` -fPIC;
else
g++ "libzoom.cpp" -o "libzoom.dll" -std=c++17 -shared -static-libgcc -static-libstdc++ -static -fPIC;
fi
Binary file added extensions/libdlgmod/libdlgmod.dll
Binary file not shown.
Binary file added extensions/libdlgmod/libdlgmod.dylib
Binary file not shown.
Binary file added extensions/libdlgmod/libdlgmod.so
Binary file not shown.
Loading