2021-04-18 17:08:35 +02:00
|
|
|
#import <Foundation/Foundation.h>
|
2021-04-19 10:18:52 +02:00
|
|
|
#include "lua.h"
|
2021-04-18 17:08:35 +02:00
|
|
|
|
2021-04-18 17:51:31 +02:00
|
|
|
void set_macos_bundle_resources(lua_State *L)
|
2021-04-18 17:08:35 +02:00
|
|
|
{ @autoreleasepool
|
|
|
|
{
|
2021-06-03 21:48:15 +02:00
|
|
|
/* Use resolved executablePath instead of resourcePath to allow lanching
|
|
|
|
the lite-xl binary via a symlink, like typically done by Homebrew:
|
|
|
|
|
|
|
|
/usr/local/bin/lite-xl -> /Applications/lite-xl.app/Contents/MacOS/lite-xl
|
|
|
|
|
|
|
|
The resourcePath returns /usr/local in this case instead of
|
|
|
|
/Applications/lite-xl.app/Contents/Resources, which makes later
|
|
|
|
access to the resource files fail. Resolving the symlink to the
|
|
|
|
executable and then the relative path to the expected directory
|
|
|
|
Resources is a workaround for starting the application from both
|
|
|
|
the launcher directly and the command line via the symlink.
|
|
|
|
*/
|
|
|
|
NSString* executable_path = [[NSBundle mainBundle] executablePath];
|
|
|
|
char resolved_path[PATH_MAX + 16 + 1];
|
|
|
|
realpath([executable_path UTF8String], resolved_path);
|
|
|
|
strcat(resolved_path, "/../../Resources");
|
|
|
|
char resource_path[PATH_MAX + 1];
|
|
|
|
realpath(resolved_path, resource_path);
|
|
|
|
lua_pushstring(L, resource_path);
|
2021-04-18 17:51:31 +02:00
|
|
|
lua_setglobal(L, "MACOS_RESOURCES");
|
2021-04-18 17:08:35 +02:00
|
|
|
}}
|
|
|
|
|
2021-04-21 09:52:16 +02:00
|
|
|
|
|
|
|
/* Thanks to mathewmariani, taken from his lite-macos github repository. */
|
|
|
|
void enable_momentum_scroll() {
|
|
|
|
[[NSUserDefaults standardUserDefaults]
|
|
|
|
setBool: YES
|
|
|
|
forKey: @"AppleMomentumScrollSupported"];
|
|
|
|
}
|
|
|
|
|