Giter VIP home page Giter VIP logo

phoenix's Introduction

Phoenix

Build Status

Phoenix

A lightweight macOS window and app manager scriptable with JavaScript. You can also easily use languages which compile to JavaScript such as TypeScript. Phoenix aims for efficiency and a very small footprint. If you like the idea of scripting your own window or app management toolkit with JavaScript, Phoenix is probably going to give you the things you want. With Phoenix you can bind keyboard shortcuts and system events, and use these to interact with macOS.

  • Current version: 4.0.0 (Changelog)
  • Requires: macOS 10.14 or higher

Note: the default master branch will always be stable.

Key Features

  • highly customisable, write your own configuration
  • bind keyboard shortcuts and system events to your callback functions
  • control and interact with your screens, spaces, mouse, apps and windows
  • log messages, deliver notifications, display content or ask input with modals
  • run external commands like you would in the command line

Install

To install, extract the downloaded archive and just drag-and-drop Phoenix to your Applications folder. When you run Phoenix for the first time, you will be asked to allow it to control your UI. macOS will ask you to open Privacy & Security in System Settings. Once open, go to the Accessibility section and enable with the toggle next to Phoenix. An admin account is required to accomplish this.

Alternatively, if you have Homebrew installed, you can simply run brew install --cask phoenix.

Uninstall

To uninstall Phoenix, delete the app from your Applications folder. The configuration file created by Phoenix itself is located in your home folder. Delete ~/.phoenix.js and any related configurations if desired. For developers, you may also need to delete ~/.phoenix.debug.js.

Application preferences are stored in ~/Library/Preferences/org.khirviko.Phoenix.plist. For developers, in ~/Library/Preferences/org.khirviko.Phoenix.debug.plist.

If you have used the storage, also delete the file ~/Library/Application Support/Phoenix/storage.json. Again for developers, you may also need to delete ~/Library/Application Support/Phoenix/storage.debug.json.

For uninstalling additional support files, see the following folders:

~/Library/Application Scripts/org.khirviko.Phoenix.Launcher
~/Library/Caches/org.khirviko.Phoenix
~/Library/Containers/org.khirviko.Phoenix.Launcher
~/Library/HTTPStorages/org.khirviko.Phoenix
~/Library/WebKit/org.khirviko.Phoenix

# For developers
~/Library/Application Scripts/org.khirviko.Phoenix.Launcher.debug
~/Library/Caches/org.khirviko.Phoenix.debug
~/Library/Containers/org.khirviko.Phoenix.Launcher.debug
~/Library/HTTPStorages/org.khirviko.Phoenix.debug
~/Library/WebKit/org.khirviko.Phoenix.debug

Usage

Phoenix lives on your status bar (or as a background daemon) and can be scripted in JavaScript (or languages which compile to JavaScript such as TypeScript).

Screenshot of Phoenix

See the documentation to get started with your script. Your script should reside in ~/.phoenix.js — the file will be created when you launch Phoenix for the first time. Alternatively — if you prefer — you may also have your script in ~/Library/Application Support/Phoenix/phoenix.js or ~/.config/phoenix/phoenix.js. For ideas, see what other people have built in their configurations in the Wiki. Feel free to add your own configuration to the Wiki to show other people the nice things you can do. Previous configurations (<= 1.5) are not compatible with 2.0, see Changelog for what changes are needed.

Development

You will need some basic knowledge about installing the required languages and tools. If you need help, do not hesitate to ask! To get started, you will need:

  1. Git
  2. Xcode 14 or higher
  3. Xcode command line tools

First clone the repository from a terminal:

git clone https://github.com/kasper/phoenix.git
cd phoenix

To develop Phoenix, open Phoenix.xcworkspace in Xcode. Install Xcode from the App Store, if you do not already have it installed. You will also need Xcode command line tools — you will be prompted for this. Everything else should work as is — you can develop, debug, test, build and run Phoenix straight from Xcode.

For code formatting, Phoenix uses ClangFormat. You will need to have it in your path to be able to make sure any code changes align with the formatting rules. If you do not have ClangFormat installed, the build process will simply skip linting.

To install Phoenix from the source, you will need to build the workspace from a terminal:

xcodebuild -workspace Phoenix.xcworkspace \
           -scheme Phoenix \
           -configuration Release \
           SYMROOT="$PWD/build/" \
           clean build

Once complete, you will find a newly built Phoenix app in build/Release/. After this, you can follow the normal install guide.

For a debug build, change the -configuration flag to Debug in the above command. This will place a debug build of the app in build/Debug.

Phoenix manages dependencies with CocoaPods. Note that you do not need CocoaPods for basic development. However, if you want to install new pods or update existing ones, you will also need:

  1. Ruby (3.2.2 or higher), it is recommended that you manage Ruby versions with for instance rbenv
  2. Bundler
  3. CocoaPods

Install Bundler, if you do not already have it installed. To install CocoaPods and its dependencies, use Bundler inside the phoenix directory to install the required Ruby gems according to the Gemfile. Once complete, you can install the pods listed in the Podfile with CocoaPods.

gem install bundler
bundle install
pod install

In addition to the Objective-C core, Phoenix also uses a JavaScript-based (5.1) library to implement additional features to the API. The minified library is included in the repository in Phoenix/phoenix-min.js so that everything works as is. However, if you want to develop features for this library, you will also need:

  1. Node.js (20.2.0 or higher), it is recommended that you manage Node.js versions with for instance NVM

Install the development packages listed in package.json.

npm install

To build phoenix-min.js from the source, run the command npm run build in the root directory. NPM will then build the source from library/src/ and install the new library to Phoenix/phoenix-min.js. For convenience, this is also handled automatically by Xcode when you build Phoenix.

Documentation

The documentation for Phoenix is built from the docs/ directory using Docusaurus. To develop the documentation locally, navigate to the directory and run the following:

npm install
npm start

Contributing

Feel free to contribute to this project by creating issues, pull requests and editing the Wiki. See the guidelines.

Contact

If you have any questions, feedback or just want to say hi, you can open an issue, start a discussion, email or message on Threads.

Thanks

Phoenix is currently being developed by Kasper Hirvikoski (@kasper) with the generous help of contributions made by many individuals. It was originally authored by Steven Degutis (@sdegutis). As it stands now, it has been rewritten from the ground up by Kasper Hirvikoski.

License

Released under the MIT License. See license.

phoenix's People

Contributors

alswl avatar cfraizer avatar chrisosaurus avatar colindean avatar danielgibbsnz avatar jasonm23 avatar jasonnn6789 avatar kasper avatar kawarimidoll avatar mathias avatar matthewmichihara avatar metakirby5 avatar miksu avatar pascalw avatar sennah911 avatar shayne avatar szhu avatar txchen avatar varp avatar vitorgalvao avatar yoavf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phoenix's Issues

Mouse.location() bug

I use save_mouse_position_for_window() to save mouse postion, and restore_mouse_position_for_window() to restore mouse postion.

It works good for phoenix 1.0, and in phoenix 2.0, it always restore with a wrong postion.

After comare, I found, Mouse.location() and Mouse.moveTo()'s result sum is 800px - the height of Macbook Pro screen height.

My fix in config file is here:
alswl/.oOo.@bdd84c7

`otherWindowsOnSameScreen` takes many time

Sometime I use Window.focusedWindow().otherWindowsOnSameScreen(),it takes about 5 seconds.

log code:

  var start = new Date().getTime();
  var otherWindowsOnSameScreen = Window.focusedWindow().otherWindowsOnSameScreen();
  api.log('windowsOnOtherScreen 0.1: ' + (new Date().getTime() - start));

log from Console.

3/2/15 09:46:10.942 Phoenix[50589]: windowsOnOtherScreen 0.1: 4922

I cannnot reproduce it always, it happened about 10+ times one day.

logging

Maybe it is already implemented but it would be great to have logs, especially when developing or trying out other people's .phonex.js

Phoenix needs a new maintainer...

I have migrated my workflow to Hammerspoon, as it can do everything Phoenix can, plus a lot more.

If you would like to take over the maintenance of Phoenix, please comment here.

REPL/CLI/Interactive Console

It would be nice if there was a REPL/CLI/Interactive Console to assist people who are getting to grips with the api.

Any feelings about this? @kasper

window API: unique window identifier?

There is currently no way to compare two Window instances and determine that they refer to the same window. I'm kind of interested in writing code which keeps some per-window state, but since it can't be attached to the Window object itself, it needs to be stored somewhere else with a reference to the Window object. Unfortunately, two separate instances of the Window object referring to the same window can't actually be definitively compared, so this is (as far as I can tell) impossible. One way to allow this sort of mapping would be to expose the CGWindowID as a property on Window, which would let scripts store per-window state in a structure keyed by this window id.

Include basic grid support as a JavaScript library

Perhaps it would be a nice addition to provide a very basic grid support as a JavaScript library that could be included in Phoenix and enabled if desired. This would provide a good starting point for people with little (or none) programming experience.

Wiki nuked?

There are lots of links to the wiki (js api, example configs, et c), but no actual content in the wiki. Accidental deletion, at some point?

Preprocessor output is clipped

It seems the the output of a preprocessor is being clipped. When the output is read, it's start point appears to be set to the length of the shebang string.

This is a bit odd to me, which preprocessors are spitting out their shebang line that needs to be cut out?

For me this is messing badly with the output from coffee / lit-coffee, which (as expected) has no shebang in the output and so has it's opening function wrapper and var declarations mangled.

I'm working on a fix for this now, and will have a PR ready in a little while.

Add screenshot, animated GIF or video to README

Based on the feedback on Reddit and Hacker News it seems some people would like to see a screenshot, animated GIF or video to describe what Phoenix is. Obviously this is a bit tricky since out-of-the-box Phoenix doesn’t do anything. I’m open to ideas and suggestions!

key binding works weird in 2.0

my test config:

var mash = ["alt"];
Phoenix.bind('0', mash, function() {
  var modal = new Modal();
  modal.message = 'F!';
  modal.duration = 2;
  modal.show();
});

when I press option + 0, it leave a º in my current mouse postion, then call the modal.show().

Allow mouse buttons >3 to be bound?

I've got a mouse with mouse buttons 4 and 5 on the side. It'd be nice to be able to include them in my bindings and even combine with key combos so I could bind a cmd+button 4 etc.

Phoenix supported ElCapitan SplitView?

Hi, @kasper .
Thank you kindly reply in this issue #31 :)

I usually use a El Capitan new feature Split View when writing code.

Phoenix work fine with state of the Split View. Wonderful :)
but, It does occasionally behave strangely.

e.g.

var Frame = {
  width: 1,
  height: 1,
  half: {
    width: 0.5,
    height: 0.5
  },
};

// omit...

keys.push(Phoenix.bind('h', controlShift, function() {
  Window.focusedWindow() && Window.focusedWindow().grid(Frame.half.width, Frame.height);
}));

keys.push(Phoenix.bind('l', controlShift, function() {
  Window.focusedWindow() && Window.focusedWindow().reverseGrid(Frame.half.width, Frame.height);
}));

On Split View mode,
e.g.

|< Full display size  >|
    30%        70%

|        |             |
| Chrome |    iTerm    |
|        |             |

Pressed Ctrl+Shift+h, focused window(Chrome) resized half display size and move to left side on display. OK.

     50%         50%

|           |          |
|  Chrome   |   iTerm  |
|           |          |

Pressed Ctrl+Shift+l, resized and move to right side on display.
but, already exists some window(iTerm) right side on display.
So, Chrome was move to the background of the iTerm.

     50%         50%

|           |          |
|           |   iTerm  | <- background Chrome
|           |          |

I hope that the location of windows to switch.
Are there any good methods for that?

Is it dead? ... new maintainer?

So I'm just wondering if Phoenix is now dead, (I assume so.) I'd like to maintain it from here on out, if given your blessings of course Steve.

I still think the Lua migration is worthwhile, but I think there's room for a JS based WM/GUI toolkit too.

Window events can be a bit noisy with zero-frame and off-screen windows

I'm working on a layout that depends on the events: windowDidOpen and windowDidClose. Unfortunately, windowDidClose isn't working as expected. It appears as if NSAccessibilityUIElementDestroyedNotification is reporting erratically, pretty much at any time except when a window is actually closed.

To repro: simply add an event handler for windowDidClose, log the app name and frame then start clicking around different apps.

image

Events?

Can I bind to any kind of events? Ideally I want to write something that will grab the position of all windows on all screens when a monitor is unplugged, and then restore them when the monitor is replugged. I'm experimenting with Cordless Dog's Stay right now, but being able to hack this shit in coffeescript would be a level of 1337ness almost too tempting to resist... :-)

PS> Thanks for releasing what looks like awesome software.

App.launch changes

App.launch in 1.x will launch or focus app.

App.launch in 2.x will only launch, now I must use code like this:

function launchOrFocus(appName) {
  var app = _.find(App.runningApps(), function(x) { return x.name() == appName});
  if (app === undefined) {
    App.launch(appName);
  } else {
    app.focus();
  }
}

WIP: Phoenix 2.0

Hello! I took over maintaining Phoenix a couple months ago. I’ve been hard at work and as a result the whole project has been rewritten and refactored from the ground up. See the WIP 2.0-branch. I’ve also clarified the API significantly. As a consequence this means existing configurations will not be compatible without small changes. See the Changelog. Due to API-deprecations, Phoenix now requires OS X Yosemite (10.10) or higher.

The branch is still work in progress, however feel free to test it if you like. There may be still issues, so be aware of that. The existing API may still change, but mostly it’s now stable. If you notice something, please submit a new issue. For general discussion, you can use this thread. I will continue the work on 2.0 and my plan is to add basic support for events and I’ve got some ideas, features and API enhancements I’d like to see in the future before actually “releasing” 2.0.

Add support for a daemon-mode with no status bar menu

Advanced users may want to run Phoenix completely in the background as a daemon and with no status bar menu. These users are also aware of how to manage background applications.

Add a daemon-option that can be set through the API. Dependant on #67. In addition, we also need to be sure that Sparkle updates are checked automatically (currently at a weekly basis).

Windows in z-order?

Is there a way to iterate the windows in z-order? I'm trying to figure out if it's possible to implement windows-style cmd-tab cycling with phoenix, but I think not being able to see the order of the stack of windows would be a deal-breaker.

Window focus() fails

The following code looks for a window containing the given name, and tries to bring it to front. The focus() function appears to always return 0/false.

log = function(x) {
  return Phoenix.log(x);
};

var findWindow = function(name) {
  var i, len, winList, win; 
  winList = Window.visibleWindows();
  for (i = 0, len = winList.length; i < len; i++) {
    win = winList[i];
    log(win.title());
    if (win.title().indexOf(name) > -1) {
      log(win.title());
      log(win.focus());
    }
  }
};

Function bound to key dies, and I don't know how to investigate

I am trying to replicate the functionality of Divvy. Divvy allows me to hit a prefix key (Alt-Space, say), pops up a little window, waits for me to hit another key (I'll call it the suffix key), and then moves the window to a preset position/size based on the key. Let's say the H key moves it to the left half of the screen, the L key moves it to the right half of the screen.

So I wrote procedural code that works, but when trying to convert it to an OO style, it's failing. And I have no idea how to investigate. How do I investigate?

The procedural code does the following:

  • There is an entry point, bound to Alt-Space (the prefix key). The entry point enables handlers for H and L. The entry point also shows a modal explaining that the user has to hit H or L next.
  • The H and L handlers move the window to the right spot, then close the modal and disables the H and L handlers.

So I thought I could encapsulate the concept of a prefix key with its suffix keys, but it's not working at all :-(

/* New-style prefix keys, WIP */
function PrefixKey(key, modifiers, description) {
    this.modal = centered_modal(description);
    this.suffixes = [];
    var that = this;
    this.prefix = Phoenix.bind(key, modifiers, function () {
        that.enableSuffixes();
        that.modal.show();
    });
}
PrefixKey.prototype.enableSuffixes = function () {
    this.suffixes.forEach(function (x) {
        x.enable();
    });
};
PrefixKey.prototype.disableSuffixes = function () {
    this.suffixes.forEach(function (x) {
        x.disable();
    });
};
PrefixKey.prototype.addSuffix = function (key, modifiers, cb) {
    var that = this;
    var result = Phoenix.bind(key, modifiers, function () {
        cb(); // ***
        that.modal.close();
        that.disableSuffixes();
    });
    result.disable();
    this.suffixes.push(result);
    return result;
}
var gPrefix = new PrefixKey('g', ['alt'], "new style");
var gLeft = gPrefix.addSuffix('h', [], function () {
    move_window({x: 0, y: 0, width: 0.5, height: 1.0});
});

So I hit Alt-G, the centered modal shows up saying "new style". I hit H. The window moves to the right spot, so I know that the cb(); call works. (I've annotated it with "***", above.)

But the modal doesn't close, and the suffixes aren't disabled.

How do I figure out what happens after that cb(); call?

launch crash on 0b9d539

DiagnosticReports:

Process:               Phoenix [2141]
Path:                  /opt/homebrew-cask/*/Phoenix.app/Contents/MacOS/Phoenix
Identifier:            org.khirviko.Phoenix
Version:               2.0 (7)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Phoenix [2141]
User ID:               501

Date/Time:             2015-10-08 16:47:18.181 +0800
OS Version:            Mac OS X 10.11 (15A284)
Report Version:        11
Anonymous UUID:        3C99D856-F0FC-BA65-B8B0-8CC7892756F0


Time Awake Since Boot: 710 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0:
--> 
    __TEXT                 0000000107d48000-0000000107d5b000 [   76K] r-x/rwx SM=COW  /opt/homebrew-cask/*/Phoenix.app/Contents/MacOS/Phoenix

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x00007fff93978219 CFDataGetBytePtr + 25
1   org.khirviko.Phoenix            0x0000000107d4db40 +[PHKeyTranslator characterForKeyCode:] + 69 (PHKeyTranslator.m:36)
2   org.khirviko.Phoenix            0x0000000107d4e77c __38+[PHKeyTranslator keyCodeForLocalKey:]_block_invoke + 2776 (PHKeyTranslator.m:120)
3   libdispatch.dylib               0x00007fff85353453 _dispatch_client_callout + 8
4   libdispatch.dylib               0x00007fff8535334b dispatch_once_f + 67
5   org.khirviko.Phoenix            0x0000000107d4dca2 +[PHKeyTranslator keyCodeForLocalKey:] + 162 (once.h:68)
6   org.khirviko.Phoenix            0x0000000107d4f83a +[PHKeyTranslator keyCodeForKey:] + 45 (PHKeyTranslator.m:223)
7   org.khirviko.Phoenix            0x0000000107d529b7 -[PHKeyHandler initWithKey:modifiers:] + 316 (PHKeyHandler.m:83)
8   org.khirviko.Phoenix            0x0000000107d52b6c +[PHKeyHandler withKey:modifiers:] + 89 (PHKeyHandler.m:107)
9   org.khirviko.Phoenix            0x0000000107d4ac4e -[PHContext bindKey:modifiers:callback:] + 270 (PHContext.m:199)
10  org.khirviko.Phoenix            0x0000000107d4bf5a -[PHPhoenix bindKey:modifiers:callback:] + 118 (PHPhoenix.m:38)
11  com.apple.CoreFoundation        0x00007fff939d98cc __invoking___ + 140
12  com.apple.CoreFoundation        0x00007fff939d975e -[NSInvocation invoke] + 286
13  com.apple.JavaScriptCore        0x00007fff96104d33 JSC::ObjCCallbackFunctionImpl::call(JSContext*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 451
14  com.apple.JavaScriptCore        0x00007fff961048a6 JSC::objCCallbackFunctionCallAsFunction(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 262
15  com.apple.JavaScriptCore        0x00007fff9610544d long long JSC::APICallbackFunction::call<JSC::ObjCCallbackFunction>(JSC::ExecState*) + 573
16  com.apple.JavaScriptCore        0x00007fff95be9da0 JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*) + 528
17  com.apple.JavaScriptCore        0x00007fff960ed5fb llint_entry + 22914
18  com.apple.JavaScriptCore        0x00007fff960e7a69 vmEntryToJavaScript + 326
19  com.apple.JavaScriptCore        0x00007fff96016af9 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 169
20  com.apple.JavaScriptCore        0x00007fff95bcf034 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 10388
21  com.apple.JavaScriptCore        0x00007fff95dbb975 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 469
22  com.apple.JavaScriptCore        0x00007fff95bcc658 JSEvaluateScript + 424
23  com.apple.JavaScriptCore        0x00007fff9604dc69 -[JSContext evaluateScript:withSourceURL:] + 105
24  org.khirviko.Phoenix            0x0000000107d4a28c -[PHContext loadScript:] + 171 (PHContext.m:124)
25  org.khirviko.Phoenix            0x0000000107d4a997 -[PHContext setupContext] + 466 (PHContext.m:168)
26  org.khirviko.Phoenix            0x0000000107d4ab0e -[PHContext load] + 171 (PHContext.m:186)
27  org.khirviko.Phoenix            0x0000000107d4bbe6 -[PHAppDelegate applicationDidFinishLaunching:] + 132 (PHAppDelegate.m:40)
28  com.apple.CoreFoundation        0x00007fff939f3a0c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
29  com.apple.CoreFoundation        0x00007fff939f399f ___CFXRegistrationPost_block_invoke + 63
30  com.apple.CoreFoundation        0x00007fff939f3917 _CFXRegistrationPost + 407
31  com.apple.CoreFoundation        0x00007fff939f3682 ___CFXNotificationPost_block_invoke + 50
32  com.apple.CoreFoundation        0x00007fff939b0442 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1922
33  com.apple.CoreFoundation        0x00007fff939af695 _CFXNotificationPost + 693
34  com.apple.Foundation            0x00007fff96bfe31a -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
35  com.apple.AppKit                0x00007fff85bae045 -[NSApplication _postDidFinishNotification] + 297
36  com.apple.AppKit                0x00007fff85baddaf -[NSApplication _sendFinishLaunchingNotification] + 203
37  com.apple.AppKit                0x00007fff85a68f65 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 557
38  com.apple.AppKit                0x00007fff85a68a0f -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 250
39  com.apple.Foundation            0x00007fff96c4cbbd -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 290
40  com.apple.Foundation            0x00007fff96c4ca37 _NSAppleEventManagerGenericHandler + 102
41  com.apple.AE                    0x00007fff97f1d1b5 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 531
42  com.apple.AE                    0x00007fff97f1cf3c dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 31
43  com.apple.AE                    0x00007fff97f1ce58 aeProcessAppleEvent + 288
44  com.apple.HIToolbox             0x00007fff89f44ef5 AEProcessAppleEvent + 55
45  com.apple.AppKit                0x00007fff85a643d4 _DPSNextEvent + 2245
46  com.apple.AppKit                0x00007fff85a63369 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
47  com.apple.AppKit                0x00007fff85a57ecc -[NSApplication run] + 682
48  com.apple.AppKit                0x00007fff85a21162 NSApplicationMain + 1176
49  libdyld.dylib                   0x00007fff8eef55ad start + 1

Thread 1:
0   libsystem_kernel.dylib          0x00007fff8b39778a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89e0258c _pthread_wqthread + 1283
2   libsystem_pthread.dylib         0x00007fff89e00375 start_wqthread + 13

Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x00007fff8b3980a2 kevent_qos + 10
1   libdispatch.dylib               0x00007fff853591ad _dispatch_mgr_invoke + 216
2   libdispatch.dylib               0x00007fff85358e15 _dispatch_mgr_thread + 52

Thread 3:
0   libsystem_kernel.dylib          0x00007fff8b39778a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89e0258c _pthread_wqthread + 1283
2   libsystem_pthread.dylib         0x00007fff89e00375 start_wqthread + 13

Thread 4:
0   libsystem_kernel.dylib          0x00007fff8b39778a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89e0258c _pthread_wqthread + 1283
2   libsystem_pthread.dylib         0x00007fff89e00375 start_wqthread + 13

Thread 5:
0   libsystem_kernel.dylib          0x00007fff8b39778a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89e0258c _pthread_wqthread + 1283
2   libsystem_pthread.dylib         0x00007fff89e00375 start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib          0x00007fff8b39778a __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x00007fff89e0258c _pthread_wqthread + 1283
2   libsystem_pthread.dylib         0x00007fff89e00375 start_wqthread + 13

Thread 7:: JavaScriptCore::Marking
0   libsystem_kernel.dylib          0x00007fff8b396f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib         0x00007fff89e0373d _pthread_cond_wait + 767
2   libc++.1.dylib                  0x00007fff84ccc68f std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 47
3   com.apple.JavaScriptCore        0x00007fff95bb381b JSC::GCThread::waitForNextPhase() + 171
4   com.apple.JavaScriptCore        0x00007fff95bb3668 JSC::GCThread::gcThreadMain() + 88
5   com.apple.JavaScriptCore        0x00007fff95ba8f62 WTF::threadEntryPoint(void*) + 178
6   com.apple.JavaScriptCore        0x00007fff95ba8e8f WTF::wtfThreadEntryPoint(void*) + 15
7   libsystem_pthread.dylib         0x00007fff89e029b1 _pthread_body + 131
8   libsystem_pthread.dylib         0x00007fff89e0292e _pthread_start + 168
9   libsystem_pthread.dylib         0x00007fff89e00385 thread_start + 13

Thread 8:: JavaScriptCore::Marking
0   libsystem_kernel.dylib          0x00007fff8b396f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib         0x00007fff89e0373d _pthread_cond_wait + 767
2   libc++.1.dylib                  0x00007fff84ccc68f std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 47
3   com.apple.JavaScriptCore        0x00007fff95bb381b JSC::GCThread::waitForNextPhase() + 171
4   com.apple.JavaScriptCore        0x00007fff95bb3668 JSC::GCThread::gcThreadMain() + 88
5   com.apple.JavaScriptCore        0x00007fff95ba8f62 WTF::threadEntryPoint(void*) + 178
6   com.apple.JavaScriptCore        0x00007fff95ba8e8f WTF::wtfThreadEntryPoint(void*) + 15
7   libsystem_pthread.dylib         0x00007fff89e029b1 _pthread_body + 131
8   libsystem_pthread.dylib         0x00007fff89e0292e _pthread_start + 168
9   libsystem_pthread.dylib         0x00007fff89e00385 thread_start + 13

Thread 9:: JavaScriptCore::Marking
0   libsystem_kernel.dylib          0x00007fff8b396f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib         0x00007fff89e0373d _pthread_cond_wait + 767
2   libc++.1.dylib                  0x00007fff84ccc68f std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 47
3   com.apple.JavaScriptCore        0x00007fff95bb381b JSC::GCThread::waitForNextPhase() + 171
4   com.apple.JavaScriptCore        0x00007fff95bb3668 JSC::GCThread::gcThreadMain() + 88
5   com.apple.JavaScriptCore        0x00007fff95ba8f62 WTF::threadEntryPoint(void*) + 178
6   com.apple.JavaScriptCore        0x00007fff95ba8e8f WTF::wtfThreadEntryPoint(void*) + 15
7   libsystem_pthread.dylib         0x00007fff89e029b1 _pthread_body + 131
8   libsystem_pthread.dylib         0x00007fff89e0292e _pthread_start + 168
9   libsystem_pthread.dylib         0x00007fff89e00385 thread_start + 13

Thread 10:
0   libsystem_kernel.dylib          0x00007fff8b3972b2 __semwait_signal + 10
1   libsystem_c.dylib               0x00007fff94458a75 nanosleep + 199
2   libc++.1.dylib                  0x00007fff84d0b020 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 75
3   com.apple.JavaScriptCore        0x00007fff961e2a8b bmalloc::Heap::scavenge(std::__1::unique_lock<bmalloc::StaticMutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >) + 155
4   com.apple.JavaScriptCore        0x00007fff961e26e4 bmalloc::Heap::concurrentScavenge() + 68
5   com.apple.JavaScriptCore        0x00007fff961e4c6a bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::entryPoint() + 90
6   com.apple.JavaScriptCore        0x00007fff961e4c09 bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::pthreadEntryPoint(void*) + 9
7   libsystem_pthread.dylib         0x00007fff89e029b1 _pthread_body + 131
8   libsystem_pthread.dylib         0x00007fff89e0292e _pthread_start + 168
9   libsystem_pthread.dylib         0x00007fff89e00385 thread_start + 13

Thread 11:: DFG Worklist Worker Thread
0   com.apple.JavaScriptCore        0x00007fff95c62cbc JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock() + 316
1   com.apple.JavaScriptCore        0x00007fff95c62717 JSC::DFG::CPSRethreadingPhase::run() + 199
2   com.apple.JavaScriptCore        0x00007fff95c6237f bool JSC::DFG::runPhase<JSC::DFG::CPSRethreadingPhase>(JSC::DFG::Graph&) + 175
3   com.apple.JavaScriptCore        0x00007fff95eb8dbb JSC::DFG::Plan::compileInThreadImpl(JSC::DFG::LongLivedState&) + 907
4   com.apple.JavaScriptCore        0x00007fff95eb87b0 JSC::DFG::Plan::compileInThread(JSC::DFG::LongLivedState&, JSC::DFG::ThreadData*) + 512
5   com.apple.JavaScriptCore        0x00007fff95f0ade1 JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) + 561
6   com.apple.JavaScriptCore        0x00007fff95ba8f62 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore        0x00007fff95ba8e8f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib         0x00007fff89e029b1 _pthread_body + 131
9   libsystem_pthread.dylib         0x00007fff89e0292e _pthread_start + 168
10  libsystem_pthread.dylib         0x00007fff89e00385 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x0000000000000000  rdx: 0x000000000000001f
  rdi: 0x0000000000000000  rsi: 0x00007fff74f253c8  rbp: 0x00007fff57eb4da0  rsp: 0x00007fff57eb4d90
   r8: 0x00007fff8a1cf622   r9: 0x00007fff74f25470  r10: 0x00007fff98da9001  r11: 0x00007fff93978200
  r12: 0xab00b63709c762f2  r13: 0x00007fff94aeed40  r14: 0x00007fb312e6d570  r15: 0x0000000000000000
  rip: 0x00007fff93978219  rfl: 0x0000000000010246  cr2: 0x0000000000000000

Logical CPU:     2
Error Code:      0x00000004
Trap Number:     14


Binary Images:
       0x107d48000 -        0x107d5afff +org.khirviko.Phoenix (2.0 - 7) <92695A61-2B71-36F2-962A-3DFFBCF9B7D2> /opt/homebrew-cask/*/Phoenix.app/Contents/MacOS/Phoenix
    0x7fff6e005000 -     0x7fff6e03bf5f  dyld (360.14) <DF977301-4A63-32ED-9939-1EE3122D18D4> /usr/lib/dyld
    0x7fff84436000 -     0x7fff84461ff3  libarchive.2.dylib (32) <731529D2-1178-3742-AFE0-6CA8568FBB19> /usr/lib/libarchive.2.dylib
    0x7fff84462000 -     0x7fff844d1fff  com.apple.SearchKit (1.4.0 - 1.4.0) <45A716CD-D9E7-3F1F-9EC8-BB37CA9E8C04> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff844d2000 -     0x7fff84521ff7  com.apple.opencl (2.6.9 - 2.6.9) <68A63931-3F6F-3DE2-9C8D-624006908B83> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff84554000 -     0x7fff8456aff7  libLinearAlgebra.dylib (1159) <01BD9187-521F-3F96-B477-24511318AECD> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff845c3000 -     0x7fff845cbffb  libsystem_dnssd.dylib (624.1.2) <DB6AB206-4AD8-369D-BF57-1D246AD60582> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff845cc000 -     0x7fff848b1ff3  com.apple.CoreServices.CarbonCore (1136 - 1136) <9DE930A3-63C0-3E21-965A-132D97D61892> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff848b2000 -     0x7fff848c0fff  libxar.1.dylib (302) <898402AF-0DF3-341D-83EA-4A1B1770E718> /usr/lib/libxar.1.dylib
    0x7fff848c1000 -     0x7fff848f9fff  com.apple.RemoteViewServices (2.0 - 99) <8BD12AE2-BE91-37CF-955B-62E08551FF83> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff8492c000 -     0x7fff8493aff7  libbz2.1.0.dylib (38) <99C5121D-8147-3B51-8D79-66245C863338> /usr/lib/libbz2.1.0.dylib
    0x7fff8493b000 -     0x7fff8493bfff  com.apple.Accelerate (1.10 - Accelerate 1.10) <524AF1B0-1E45-3F03-83FF-493F9F8E1FF8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff84cc5000 -     0x7fff84d18ff7  libc++.1.dylib (120.1) <54190E1B-EE49-3D6D-AC29-2813D7380BA5> /usr/lib/libc++.1.dylib
    0x7fff84dd9000 -     0x7fff84de8ffb  com.apple.LangAnalysis (1.7.0 - 1.7.0) <E7D610A1-1445-3CA3-B9A1-EE15D54B75AB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff84e01000 -     0x7fff84e78fc7  libcorecrypto.dylib (334) <4E1B969F-8449-3B21-9880-51AD58E25AA6> /usr/lib/system/libcorecrypto.dylib
    0x7fff84e9a000 -     0x7fff85018fff  com.apple.UIFoundation (1.0 - 435) <237F281F-7F15-3309-B749-F8DA37822F9F> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
    0x7fff85044000 -     0x7fff85094fff  libcups.2.dylib (435) <FA565876-F9B2-3021-8E89-6D665ED01B3D> /usr/lib/libcups.2.dylib
    0x7fff85095000 -     0x7fff851baff7  com.apple.LaunchServices (728.4 - 728.4) <78774CB9-B206-360F-BC9F-2ACA69811814> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff85202000 -     0x7fff8526cff7  com.apple.framework.CoreWLAN (11.0 - 1100.19) <3CA2F32A-4FBF-39ED-83EC-F2E3C43D3775> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x7fff85344000 -     0x7fff85350ff7  com.apple.OpenDirectory (10.11 - 194) <E0F63D60-23C8-3FB7-BA78-5BD861354352> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff85351000 -     0x7fff8537efff  libdispatch.dylib (500.1.5) <6B38497E-9448-3433-9D6B-6223F2A99431> /usr/lib/system/libdispatch.dylib
    0x7fff8539f000 -     0x7fff853a4ff3  libunwind.dylib (35.3) <FDA18078-A775-3BAF-A5A6-8A7B75D6AA99> /usr/lib/system/libunwind.dylib
    0x7fff853a5000 -     0x7fff85445fff  com.apple.Metadata (10.7.0 - 972.9) <83FB4CDD-29DE-3DAD-8FEB-FD9E9474576F> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff85490000 -     0x7fff85491fff  libsystem_secinit.dylib (20) <932ED582-E80F-39DA-B0FA-F1BC5F1AD2F8> /usr/lib/system/libsystem_secinit.dylib
    0x7fff854c6000 -     0x7fff854d1fff  com.apple.CrashReporterSupport (10.11 - 715) <D0D22E00-4DA0-3AEF-8522-0814F9070666> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff8574a000 -     0x7fff8574cfff  libCVMSPluginSupport.dylib (12.0.34.11) <36238490-6F35-35CA-B0B8-4032ABA7C537> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff85a1a000 -     0x7fff8663cfff  com.apple.AppKit (6.9 - 1404.11) <AE68D5C7-0215-3027-A54B-437B1B392CA2> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff86645000 -     0x7fff86645fff  libenergytrace.dylib (10) <64F779D4-2192-37EC-8DB5-EC55BAE50058> /usr/lib/libenergytrace.dylib
    0x7fff8664b000 -     0x7fff8676ffef  libsqlite3.dylib (216) <E846F7F0-F594-38B2-AA2C-210E8F4CE590> /usr/lib/libsqlite3.dylib
    0x7fff86770000 -     0x7fff86795ff7  libPng.dylib (1432) <975C970D-DCFA-35E4-918A-46939F279D75> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff86cf2000 -     0x7fff86d50fff  libsystem_network.dylib (582.1.4) <14ECA259-D471-3E47-A843-FF0990577893> /usr/lib/system/libsystem_network.dylib
    0x7fff86e0f000 -     0x7fff86e14fff  com.apple.ImageCapture (9.0 - 9.0) <E53CC0B8-9D36-3636-B602-8AB4CEB4C313> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff86e31000 -     0x7fff8703dff7  com.apple.CoreImage (11.0.0 - 366) <8FEAE237-1EBA-3058-B4B3-BB36F6640F44> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff8704f000 -     0x7fff87094ff7  com.apple.coreservices.SharedFileList (24.2 - 24.2) <07212306-2DBC-303B-B042-4C02E70F073C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x7fff8715d000 -     0x7fff871f3ff7  com.apple.ColorSync (4.9.0 - 4.9.0) <AA8AD098-1792-3803-926B-6A9DAC9CCF9A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff8741e000 -     0x7fff8743afff  com.apple.GenerationalStorage (2.0 - 239) <05652CAD-E7F5-3225-929D-E13F241FBA41> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x7fff87442000 -     0x7fff876bfffb  com.apple.security (7.0 - 57336.1.9) <E44CA10F-E1E2-3DC5-BCF3-EF76649A0918> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff876c0000 -     0x7fff876e9ff7  libxslt.1.dylib (14) <412A09C9-7C02-351E-A416-2453361EACA9> /usr/lib/libxslt.1.dylib
    0x7fff876ea000 -     0x7fff8775dfff  com.apple.framework.IOKit (2.0.2 - 1178.1.4) <B30239A0-B11E-36E9-AB49-2C53942A6447> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff87764000 -     0x7fff877afffb  com.apple.print.framework.PrintCore (11.0 - 472) <34EA102A-D482-37FF-9C9B-E4FE4275913B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff87c51000 -     0x7fff87c55fff  libpam.2.dylib (20) <7F986CE8-EF74-3BC3-BB7E-5267E24EAFFE> /usr/lib/libpam.2.dylib
    0x7fff87c56000 -     0x7fff87e1cfef  com.apple.ImageIO.framework (3.3.0 - 1432) <06EADBB8-54E0-39B5-BAA4-935FE9E62FE4> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff87eb0000 -     0x7fff87ebbff7  libChineseTokenizer.dylib (16) <1794A880-9C3D-37B2-8F3E-6CAFFB396089> /usr/lib/libChineseTokenizer.dylib
    0x7fff87ebc000 -     0x7fff87fe8ff7  com.apple.CoreText (352.0 - 494.3) <2A5DCA97-300D-36FB-9E94-3041CFF6D615> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff88272000 -     0x7fff88274ff7  com.apple.securityhi (9.0 - 55006) <A46A58CB-E0AA-3EBD-AABF-A3B219A18ACF> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff88275000 -     0x7fff894bbfe3  com.apple.CoreGraphics (1.600.0 - 934) <D2175CEA-C733-34C4-A0F0-3F6C36897333> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff897a4000 -     0x7fff897b4fff  libbsm.0.dylib (34) <F1E41935-5C5D-3704-AE9D-AEA1F2BCF8B1> /usr/lib/libbsm.0.dylib
    0x7fff897b5000 -     0x7fff897b6fff  libDiagnosticMessagesClient.dylib (100) <F2D8CFCC-A00A-3675-9C01-EF0C663F2445> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff897b7000 -     0x7fff897b7fff  com.apple.CoreServices (728.4 - 728.4) <208E32DA-E7D9-3B4F-A545-EE2BFB53696D> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff8988a000 -     0x7fff89892fff  libsystem_networkextension.dylib (384.1.2) <4736FCC5-9DBA-31F4-AAC8-CD0A177CF502> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff89893000 -     0x7fff89898fff  com.apple.TCC (1.0 - 1) <8D7468B6-D5A3-3BF9-BD98-E8087AF0B61B> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff8989f000 -     0x7fff898a7fff  libcopyfile.dylib (127) <CA2602AB-E8B7-3CD8-A0C5-D86E35FDA09F> /usr/lib/system/libcopyfile.dylib
    0x7fff898a8000 -     0x7fff898c2ff3  liblzma.5.dylib (10) <8CD18286-49EA-31E4-8A73-1BF8DECED6C6> /usr/lib/liblzma.5.dylib
    0x7fff89c53000 -     0x7fff89cb1fff  com.apple.SystemConfiguration (1.14 - 1.14) <FED4C250-DDEB-3CC3-B88D-FFA56E21425E> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff89cb3000 -     0x7fff89cbcffb  libsystem_notify.dylib (149) <56ABC155-CB99-30A8-A8B1-C204B5615092> /usr/lib/system/libsystem_notify.dylib
    0x7fff89dff000 -     0x7fff89e08ff7  libsystem_pthread.dylib (137.1.1) <1373D0F1-C6CA-364E-A6BA-8BDBD0D34670> /usr/lib/system/libsystem_pthread.dylib
    0x7fff89f04000 -     0x7fff8a1f9ff3  com.apple.HIToolbox (2.1.1 - 806) <510697D0-2F92-3256-B587-AD11DF988430> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff8a317000 -     0x7fff8a745fff  com.apple.vision.FaceCore (3.3.1 - 3.3.1) <D02FBB03-42A5-3E75-83C1-F563B1E3258F> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff8a7b6000 -     0x7fff8a7d7fff  com.apple.Sharing (438.0.1 - 438.0.1) <10C4A9FA-47C9-37D9-A60A-C27CC57A2539> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x7fff8a7d8000 -     0x7fff8a7e3fff  libkxld.dylib (3247.1.106) <D38002C3-A391-361B-ACD3-5FF2EDA51EDC> /usr/lib/system/libkxld.dylib
    0x7fff8a7e4000 -     0x7fff8a7f5fff  libz.1.dylib (60) <43317BEA-ACA2-34C2-AF37-902AA926C83A> /usr/lib/libz.1.dylib
    0x7fff8aa1d000 -     0x7fff8ac2afff  libicucore.A.dylib (551.24) <DEB70F32-DA94-323B-B6D1-03D09C8FB10C> /usr/lib/libicucore.A.dylib
    0x7fff8af55000 -     0x7fff8af55fff  com.apple.audio.units.AudioUnit (1.13 - 1.13) <017C6053-C32E-34EE-AAAE-6702E74F14EF> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff8af62000 -     0x7fff8b107ff3  com.apple.audio.toolbox.AudioToolbox (1.13 - 1.13) <7380C7DA-7CE8-34DF-BB3D-DAFE9406674F> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff8b108000 -     0x7fff8b10dff7  libmacho.dylib (875.1) <A9EC23EC-11A0-3B4F-A8AC-B990C8267A6E> /usr/lib/system/libmacho.dylib
    0x7fff8b1d7000 -     0x7fff8b1daff7  com.apple.help (1.3.3 - 46) <AA185754-DEEB-3091-9301-7B23C4D36818> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff8b2bb000 -     0x7fff8b32affb  com.apple.datadetectorscore (7.0 - 460) <65672990-505F-3B1D-87FB-42BE532A4D07> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff8b380000 -     0x7fff8b39efff  libsystem_kernel.dylib (3247.1.106) <7DD242A1-E2BF-39D1-8787-B174046E4F15> /usr/lib/system/libsystem_kernel.dylib
    0x7fff8b501000 -     0x7fff8b6cfff7  com.apple.QuartzCore (1.11 - 410.7) <3DDB2E3A-6902-3216-8DC4-56ED16B7C698> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff8ba26000 -     0x7fff8ba2cff7  com.apple.speech.recognition.framework (5.1.1 - 5.1.1) <433F8745-874A-39B3-A7C6-2EDA8C2C6B4A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff8bab5000 -     0x7fff8bb65fff  com.apple.backup.framework (1.7 - 1.7) <551ABBE3-211D-3D7D-B811-B2F863DD17CB> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff8bd79000 -     0x7fff8bdadff7  com.apple.CoreVideo (1.8 - 191.1) <FA99D150-EFCE-3F32-ACDF-5E91AD97F176> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff8bdae000 -     0x7fff8c1aafff  libLAPACK.dylib (1159) <50654652-353D-3B6D-9065-8932042F3B17> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff8c1d4000 -     0x7fff8c1d8fff  libGIF.dylib (1432) <4C5B63B4-ABCA-3A99-A69F-D0E27E87E5A3> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff8c5b2000 -     0x7fff8c5f0ff7  libGLImage.dylib (12.0.34.11) <057F9F59-B58A-3C8D-A965-F4929A212406> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff8c743000 -     0x7fff8c75fff3  libresolv.9.dylib (60) <B192EC27-84EC-3D8A-9CBF-0374B5C9B31A> /usr/lib/libresolv.9.dylib
    0x7fff8c769000 -     0x7fff8c76bff7  libquarantine.dylib (80) <1693C5FE-EA0A-3122-85EB-7950ECC7435A> /usr/lib/system/libquarantine.dylib
    0x7fff8c76c000 -     0x7fff8c774fff  libGFXShared.dylib (12.0.34.11) <011CCF06-3F8D-3695-A60F-E67F72FF1583> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff8c789000 -     0x7fff8c7b2ff7  libsystem_info.dylib (476) <65D0643A-C8AE-3E8D-9F6E-E4AD823F16B2> /usr/lib/system/libsystem_info.dylib
    0x7fff8ca50000 -     0x7fff8cb42ff7  libiconv.2.dylib (44) <82529E3B-0485-344C-8075-83C7725D6A6F> /usr/lib/libiconv.2.dylib
    0x7fff8cb7e000 -     0x7fff8cb80ff7  libsystem_configuration.dylib (801.1.1) <EB55C3D8-048D-350E-BF24-0CBD4479D51C> /usr/lib/system/libsystem_configuration.dylib
    0x7fff8cb81000 -     0x7fff8cb88ff7  libcompiler_rt.dylib (62) <253B36E5-572D-377D-AE99-A02CE32590E5> /usr/lib/system/libcompiler_rt.dylib
    0x7fff8cc14000 -     0x7fff8cc1afff  com.apple.IOAccelerator (203.7.1 - 203.7.1) <68212F3D-7660-3391-89CA-99363ED9AB4D> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x7fff8cc1d000 -     0x7fff8cc84fff  com.apple.framework.CoreWiFi (11.0 - 1100.19) <537EFC2F-3A23-36D7-9320-8834D51EB243> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
    0x7fff8cc85000 -     0x7fff8cd94fe7  libvDSP.dylib (563.3) <837D67E4-AA5D-3273-9CA5-EB42C3872E1B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff8cd95000 -     0x7fff8cd98ffb  libScreenReader.dylib (425.4) <1DCA43B7-C1BA-3A17-B69D-6F0491F648C0> /usr/lib/libScreenReader.dylib
    0x7fff8cdba000 -     0x7fff8cdd3ffb  com.apple.openscripting (1.7 - 169) <6AA25650-8900-33C6-AD49-D0543DB27C16> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff8cdd4000 -     0x7fff8cde8fff  libsystem_coretls.dylib (82) <21EDACF1-D9B3-3086-9821-60EB75E7F965> /usr/lib/system/libsystem_coretls.dylib
    0x7fff8cf59000 -     0x7fff8cf8affb  com.apple.GSS (4.0 - 2.0) <D50CDB44-72E9-3520-9965-93901621F781> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff8cf8b000 -     0x7fff8cf90fff  com.apple.DiskArbitration (2.7 - 2.7) <B391A885-1286-3718-A341-8C84560DDE58> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff8d3b9000 -     0x7fff8d3c5fff  com.apple.speech.synthesis.framework (5.4.12 - 5.4.12) <8D8F331E-21D2-3B7E-B977-3EB1D9E44D5B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff8d3c7000 -     0x7fff8d3d1fff  com.apple.NetAuth (6.0 - 6.0) <ABBBE552-26E0-3682-8BFD-C59EC702F347> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff8d6c4000 -     0x7fff8d6fefff  com.apple.QD (3.12 - 302) <46969760-B02A-3ED5-B8BC-D6144939B16E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff8d826000 -     0x7fff8d876ff7  com.apple.Symbolication (1.4 - 58044) <BC1259C8-C671-3014-A9C4-85BC767EA962> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
    0x7fff8d955000 -     0x7fff8d971ff7  libsystem_malloc.dylib (67) <1B57A614-3D60-3F87-876F-7DB4AF38120F> /usr/lib/system/libsystem_malloc.dylib
    0x7fff8eac3000 -     0x7fff8ed4aff3  com.apple.CFNetwork (760.0.5 - 760.0.5) <66C3378C-430D-3803-8025-66120AFDCD16> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff8ed95000 -     0x7fff8ed96ffb  libSystem.B.dylib (1225.1.1) <E48AAE3F-370E-34AE-AECA-4CA28F211479> /usr/lib/libSystem.B.dylib
    0x7fff8ed97000 -     0x7fff8edd8ff7  libGLU.dylib (12.0.34.11) <4F500E40-33FD-3EFF-8513-E553E3B4D560> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff8edd9000 -     0x7fff8edfdfff  libJPEG.dylib (1432) <69E090BE-7139-35B8-A621-BBE5CE2DB085> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff8edfe000 -     0x7fff8eea1fff  com.apple.Bluetooth (4.4.0 - 4.4.0f4) <DA1727B1-03EE-32BE-922E-43F06C498AFF> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
    0x7fff8eef2000 -     0x7fff8eef5ffb  libdyld.dylib (360.14) <F9D64D8C-4C33-3D06-B7F8-697F13292894> /usr/lib/system/libdyld.dylib
    0x7fff8ef84000 -     0x7fff8ef8ffff  libGL.dylib (12.0.34.11) <C7196A5D-3BC1-301A-9695-A9122BC773B3> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff8f14a000 -     0x7fff8f164fff  com.apple.Kerberos (3.0 - 1) <D2F0BF94-8656-3FBF-81AC-43D417B661F1> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff8f34d000 -     0x7fff8f34effb  libremovefile.dylib (41) <C7CFF5F2-AFFB-3C8D-BDB4-D66D50E657C0> /usr/lib/system/libremovefile.dylib
    0x7fff8f612000 -     0x7fff8f8b8fff  com.apple.CoreData (120 - 640) <7934FDB8-526E-32F4-BE20-55388DB8CCBF> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff903a8000 -     0x7fff903c5fff  com.apple.AppleVPAFramework (2.0.15 - 2.0.15) <2847B765-B0A9-3D74-BDEF-556795270AE1> /System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
    0x7fff90469000 -     0x7fff9046cfff  libCoreVMClient.dylib (119.5) <3B709F2E-35BA-3D96-9324-E56AF5F68E50> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff90471000 -     0x7fff90471fff  libOpenScriptingUtil.dylib (169) <5C4A51D4-09A9-3209-8E57-15F112725CC4> /usr/lib/libOpenScriptingUtil.dylib
    0x7fff90472000 -     0x7fff9047efff  com.apple.SpeechRecognitionCore (2.2.7 - 2.2.7) <12117823-8A9E-3C88-A01C-3B25D68535CE> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
    0x7fff9047f000 -     0x7fff90483fff  com.apple.CommonPanels (1.2.6 - 96) <1D76DDD3-D45A-3679-8B72-5EECE6C1ACAC> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff90829000 -     0x7fff9082dfff  libcache.dylib (75) <4948E2C8-867F-3E9D-AAE7-2F30F0B345C6> /usr/lib/system/libcache.dylib
    0x7fff90875000 -     0x7fff908feff7  com.apple.PerformanceAnalysis (1.0 - 1) <E7C53B84-558F-39EA-949C-82F4163F6F14> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff908ff000 -     0x7fff90908ff3  com.apple.CommonAuth (4.0 - 2.0) <6EF43A6E-C071-36A3-8B94-694AC6BEF6D3> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff90909000 -     0x7fff90909fff  com.apple.Accelerate.vecLib (3.10 - vecLib 3.10) <4720E500-E247-3002-9672-EE2336D7679A> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff9090a000 -     0x7fff9091dfff  com.apple.CoreBluetooth (1.0 - 1) <A63B8FB0-F8B3-368D-B482-733FF0373610> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
    0x7fff9091e000 -     0x7fff90960ff7  com.apple.Metal (54.26.3 - 54.26.3) <9000AE52-6638-309E-90A5-CB18C83A0A0E> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x7fff9098e000 -     0x7fff90996fff  com.apple.CoreServices.FSEvents (1222.1.1 - 1222.1.1) <79DF16A7-E169-38A5-BF5E-2D45F86DE154> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff90997000 -     0x7fff90999ff7  libRadiance.dylib (1432) <576E5580-A695-320E-9525-103FCD723137> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff90a5a000 -     0x7fff90a7efff  com.apple.MultitouchSupport.framework (304.9 - 304.9) <650FA404-DC2C-365E-8373-218F1D765D35> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff910c9000 -     0x7fff911c4fff  libFontParser.dylib (158) <3CD078A8-2E20-3B0F-B312-A2E641C76873> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff911c5000 -     0x7fff91458ff7  libmecabra.dylib (696) <55386F90-7260-38EC-BA41-897865944908> /usr/lib/libmecabra.dylib
    0x7fff9154e000 -     0x7fff915f5fff  com.apple.LanguageModeling (1.0 - 1) <C405E993-F0DF-39E4-9B74-FE310E63DD8E> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff915f6000 -     0x7fff91611ff7  libCRFSuite.dylib (34) <65E4DC91-A994-3921-B5B0-696123CE0C1E> /usr/lib/libCRFSuite.dylib
    0x7fff91612000 -     0x7fff916a7fff  com.apple.ink.framework (10.9 - 214) <F1B3B6C9-FF8D-3E68-93EB-8CDCEB65171A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff916a8000 -     0x7fff918b3fff  libFosl_dynamic.dylib (16.24) <7B19F360-858C-3C49-9E6D-A95CF3BE2186> /usr/lib/libFosl_dynamic.dylib
    0x7fff91a90000 -     0x7fff91abffc3  libsystem_m.dylib (3105) <07D50372-30ED-3B03-9FA0-0662BF8F0098> /usr/lib/system/libsystem_m.dylib
    0x7fff9250c000 -     0x7fff92552ff7  libauto.dylib (186) <460B0167-C89B-37EC-823C-52F684B31C26> /usr/lib/libauto.dylib
    0x7fff92553000 -     0x7fff92575ff7  com.apple.IconServices (68 - 68) <9F8B9184-8DA8-3B7A-970B-3086DDD1CC6F> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x7fff92ea2000 -     0x7fff92f2fdd7  com.apple.AppleJPEG (1.0 - 1) <6230F3A0-C89D-3A35-A896-A17B3513E8DB> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x7fff93034000 -     0x7fff93037fff  com.apple.IOSurface (108.0.1 - 108.0.1) <43D70E5A-64F5-384A-A95E-64253538C24F> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff93038000 -     0x7fff93038ff7  libunc.dylib (29) <D9B0C7B1-8648-3AAC-931C-E7CD362FAA8A> /usr/lib/system/libunc.dylib
    0x7fff9322c000 -     0x7fff93234fef  libsystem_platform.dylib (73.1.1) <3F4D2390-E3DE-3C24-A515-95DFAC8671C4> /usr/lib/system/libsystem_platform.dylib
    0x7fff932bc000 -     0x7fff932bffff  libsystem_sandbox.dylib (459.1.8) <2F36D536-482C-39EC-BAFD-72297728F0A4> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff932c0000 -     0x7fff932e7fff  com.apple.ChunkingLibrary (167 - 167) <C22F5038-7354-330F-8F38-36F187E6A4B1> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
    0x7fff9334c000 -     0x7fff9334efff  libsystem_coreservices.dylib (19) <692631A0-1923-32CA-9BD5-044B1382FFDE> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff93369000 -     0x7fff9336bfff  com.apple.loginsupport (1.0 - 1) <07F03548-C89E-3082-B170-6D03D839B551> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x7fff93425000 -     0x7fff937bafdf  com.apple.vImage (8.0 - 8.0) <3DEF81C9-CD75-32BF-A927-4FCD89D57190> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff9380f000 -     0x7fff93820fff  libSparseBLAS.dylib (1159) <86AFE478-E6FB-38AB-84A3-7E4317521F2C> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x7fff93821000 -     0x7fff9387dfef  libTIFF.dylib (1432) <0E036A7E-5581-3727-95C6-A3359C76BC5C> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff938db000 -     0x7fff938f2fff  libsystem_asl.dylib (322) <97D794DA-8CE5-3676-AC5E-364F6D172BDA> /usr/lib/system/libsystem_asl.dylib
    0x7fff938f3000 -     0x7fff93912ff7  com.apple.framework.Apple80211 (11.0 - 1101.30) <7A0350BD-18E0-38F3-80F2-EABD1643BA2D> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff93941000 -     0x7fff93952fff  libcmph.dylib (6) <43880250-9C2D-395C-90C7-CCCE109FF1B2> /usr/lib/libcmph.dylib
    0x7fff93953000 -     0x7fff93dc7ff7  com.apple.CoreFoundation (6.9 - 1253) <A8A44D66-A3B2-3B5D-B75B-EC2DC968F4BD> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff93eae000 -     0x7fff93eaffff  liblangid.dylib (122) <EAC09BF0-5E88-3060-AA51-EC71B4D26F3C> /usr/lib/liblangid.dylib
    0x7fff93ef6000 -     0x7fff93f24ff7  com.apple.DictionaryServices (1.2 - 250) <94678AC8-41FF-3D2E-A35E-D83AD18D7A78> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff93f25000 -     0x7fff93fadfff  com.apple.CoreSymbolication (3.1 - 58048.1) <CC7CAE84-DEC6-3184-B841-559DBE97D025> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x7fff940d3000 -     0x7fff940ebfcf  libcompression.dylib (23) <7467B2EB-E0E0-3E9D-9EAD-3E04500C6395> /usr/lib/libcompression.dylib
    0x7fff940ec000 -     0x7fff940fafff  com.apple.opengl (12.0.34 - 12.0.34) <7D63C884-AF3D-3167-ABCE-F7EEBDF9762B> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff940fb000 -     0x7fff94124fff  libc++abi.dylib (125) <F5027B46-1801-344D-BD51-2E6D188C8900> /usr/lib/libc++abi.dylib
    0x7fff94125000 -     0x7fff94125ff7  libkeymgr.dylib (28) <47080280-8B57-3D75-8A20-9E100864DE27> /usr/lib/system/libkeymgr.dylib
    0x7fff94126000 -     0x7fff94126ff7  liblaunch.dylib (755.1.19) <7EC0F297-43CC-3D11-B46B-7E72E372648A> /usr/lib/system/liblaunch.dylib
    0x7fff94127000 -     0x7fff94140fff  com.apple.CFOpenDirectory (10.11 - 194) <64C52603-1947-3350-819E-3A45F9036036> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff941b7000 -     0x7fff941e5ff7  com.apple.CoreServicesInternal (248 - 248) <EAD7A7B3-D775-3E4C-98B8-36D047795993> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff94200000 -     0x7fff942f0fff  libJP2.dylib (1432) <FF480444-B2C9-3790-B739-0DF2B5BAD57D> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff943d9000 -     0x7fff94466fe7  libsystem_c.dylib (1081.1.3) <A60CE86D-1FF3-32AD-A672-C7597F884529> /usr/lib/system/libsystem_c.dylib
    0x7fff94467000 -     0x7fff9446ffff  com.apple.NetFS (6.0 - 4.0) <5602F3EB-64F6-3495-BEF0-988F92974234> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff945a4000 -     0x7fff945a7ff7  libCoreFSCache.dylib (119.5) <9BFF447F-D571-3EE6-860E-29886F1F913F> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
    0x7fff946d8000 -     0x7fff946d9fff  libsystem_blocks.dylib (65) <1B4F1F10-823E-3781-8162-6884D14DF0D6> /usr/lib/system/libsystem_blocks.dylib
    0x7fff9495f000 -     0x7fff94960ff3  com.apple.print.framework.Print (10.0 - 266) <F13A0609-793A-3A43-A961-AAFC81AC8FDA> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff94973000 -     0x7fff9499cfff  libxpc.dylib (755.1.19) <3E09C275-A33B-357A-B0AB-A2DDF88EC9D5> /usr/lib/system/libxpc.dylib
    0x7fff94ae8000 -     0x7fff94e4b6d7  libobjc.A.dylib (680) <7C5FAD04-2C01-3ED6-AA40-78925C12A456> /usr/lib/libobjc.A.dylib
    0x7fff94e4c000 -     0x7fff94e63fff  libmarisa.dylib (4) <4D3AE55B-CE77-364F-B8DE-C95CAA48B291> /usr/lib/libmarisa.dylib
    0x7fff94f8b000 -     0x7fff94fffff3  com.apple.securityfoundation (6.0 - 55126) <C2DFA113-1814-3701-B185-D82E11A26E86> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff95a65000 -     0x7fff95a65fff  libmetal_timestamp.dylib (600.0.41.2) <C8548755-D695-380D-991E-A94484084B6E> /System/Library/PrivateFrameworks/GPUCompiler.framework/libmetal_timestamp.dylib
    0x7fff95ae0000 -     0x7fff95b90fe7  libvMisc.dylib (563.3) <E594DCB8-3013-3AC1-9319-1EC47B1FCB40> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff95ba5000 -     0x7fff9624aff3  com.apple.JavaScriptCore (11601 - 11601.1.56) <1FC92922-FBCD-3EA4-AE13-F2F05525A125> /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore
    0x7fff9624b000 -     0x7fff96267ff7  libextension.dylib (78) <3A674BC1-8D7E-3A62-80EF-F950B02CB0FF> /usr/lib/libextension.dylib
    0x7fff96ae4000 -     0x7fff96ae6ff7  com.apple.xpc.ServiceManagement (1.0 - 1) <0EA1807B-4F41-317D-A6C2-E6A23F201252> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff96ae7000 -     0x7fff96ae7fff  com.apple.Carbon (154 - 157) <DF95E7EB-1CFC-3C83-B114-60FFEEAE166E> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff96ae8000 -     0x7fff96bf6fff  com.apple.desktopservices (1.10 - 1.10) <76AA21FE-0F96-366A-9B43-6188FBC29ABE> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff96bf7000 -     0x7fff96f4bff7  com.apple.Foundation (6.9 - 1252) <2D13ED37-BFFE-3B7F-A65A-D6ED43B05EE9> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff96f4c000 -     0x7fff96f9dff7  com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <E9B6EFBA-F6EA-3F20-8C91-53EC7D464773> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff96f9e000 -     0x7fff96fe3ff3  libFontRegistry.dylib (155) <BC1B3AD5-4927-3AB7-94FF-CD93BF895D98> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff96fe4000 -     0x7fff96ff5ff7  libsystem_trace.dylib (200) <E26A91EA-AD67-3FA2-A3B6-79A93DCC716E> /usr/lib/system/libsystem_trace.dylib
    0x7fff96ff6000 -     0x7fff97030ff7  com.apple.DebugSymbols (132 - 132) <6F5853A1-5DA8-3C42-8E02-2B972F34BCE0> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x7fff975b8000 -     0x7fff975b8fff  com.apple.ApplicationServices (48 - 48) <B5326BD2-AF17-3880-A8C5-3C990AE4A1C8> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff975b9000 -     0x7fff976a8fff  libxml2.2.dylib (29) <0702E13C-D726-3DAF-B0D1-77F7B9EF6A37> /usr/lib/libxml2.2.dylib
    0x7fff976b6000 -     0x7fff97727fff  com.apple.ApplicationServices.ATS (377 - 394) <BCFC24A8-6ACA-3B90-8896-019F38A649F6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff97728000 -     0x7fff97785fff  com.apple.CoreServices.OSServices (728.4 - 728.4) <FF34E0E4-6559-3102-8833-E93DF21C9A4F> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff97786000 -     0x7fff9778bff7  libheimdal-asn1.dylib (452.1.1) <6E911973-1E1A-3F80-B955-FA78CF20FBFD> /usr/lib/libheimdal-asn1.dylib
    0x7fff9778c000 -     0x7fff978d3fff  com.apple.coreui (2.1 - 362) <1F30C006-9058-3B39-9DC3-594FDB108174> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff979f7000 -     0x7fff97a43ffb  com.apple.HIServices (1.22 - 548) <19389B63-C373-31AE-9180-3A11093EAE58> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff97a61000 -     0x7fff97bc8fff  libBLAS.dylib (1159) <35ADE4D4-391A-30C2-9D38-388F543EA4BA> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff97f15000 -     0x7fff97f6afff  com.apple.AE (701 - 701) <87FDCC5A-82AC-36A2-BFE9-D0B2A3D870F1> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff97f74000 -     0x7fff97fe7ffb  com.apple.Heimdal (4.0 - 2.0) <2D358FB4-61BB-3BB6-9EF7-D9868A0B0275> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff9803a000 -     0x7fff98045ff7  libcommonCrypto.dylib (60074) <BD1DCF19-8353-3F6A-AFFA-EBBA29A302A8> /usr/lib/system/libcommonCrypto.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 1
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 2736
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=212.6M resident=0K(0%) swapped_out_or_unallocated=212.6M(100%)
Writable regions: Total=1.1G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.1G(100%)

                                  VIRTUAL   REGION 
REGION TYPE                          SIZE    COUNT (non-coalesced) 
===========                       =======  ======= 
Activity Tracing                    2048K        2 
CG shared images                     144K        4 
CoreUI image file                    160K        3 
Dispatch continuations              8192K        2 
JS JIT generated code              128.0M        5 
JS JIT generated code (reserved)   896.0M        2         reserved VM address space (unallocated)
Kernel Alloc Once                      8K        3 
MALLOC                              36.3M       12 
MALLOC guard page                     32K        7 
Memory Tag 242                        12K        2 
Process Corpse Info                 2048K        2 
STACK GUARD                         56.0M       13 
Stack                               13.1M       13 
VM_ALLOCATE                           56K        6 
WebKit Malloc                       4468K        5 
__DATA                              16.6M      181 
__IMAGE                              528K        2 
__LINKEDIT                          87.6M        4 
__TEXT                             125.0M      187 
__UNICODE                            552K        2 
mapped file                         34.6M        6 
shared memory                       16.3M        8 
===========                       =======  ======= 
TOTAL                                1.4G      449 
TOTAL, minus reserved VM space     531.5M      449 


Sparkle support

Use Sparkle-framework (with CocoaPods) to enable automatic software updates.

Request: Is it possible to follow XDG standards?

I have a lot of dot files in my home directory ( I think we all have) that cause two problems:

  • Dot files are mixed up with other files that I work on, which makes it hard to find what I am looking for, and makes the view ugly :)
  • This clutter makes it almost impossible to track the config files that I want to save under a version control.

Create a git repository in your home directory and do a git status to get a feeling of what I mean :)

Q: Show an interactive window?

I have been thinking of creating a window switcher. You press a key, you get a popup with a search box at the top and a list of window names below. You enter some characters into the search box, the list of window names gets shortened to the matching windows. You move up and down in the result list, select the window you want, and then you go there.

Is there a way for me to somehow interact between Phoenix and such a popup?

Javascript exceptions in keyhandler functions are not caught

Consider the following snippet:

var handler = Phoenix.bind('down', ctrlAltCmd, function() {
  foo.bar(); // foo is not defined
});

This does not trigger any exception handling, so you won't notice anything went wrong.

Taking a quick peek at the code I noticed that here a new context is created to execute the key handlers function. This new context has no exceptionHandler set.

Is there any specific reason a new context is created here? Executing the function in the parent context or sharing the exception handler would fix this issue. Please let me know which option you think is best and I'll create a PR.

bind()s not working if Phoenix is started when Input Source is non-English

Hi, and thank you for this project! I literally use it every day.

I've noticed this issue:

  • if Phoenix is started when Bulgarian (or another non-US) Input Source is enabled, bind()-ins are NOT working at all.

However, if Phoenix is started when U.S. Input Source is enabled, Phoenix bind()-ings are working OK.

To reproduce:

  1. set this minimal example in .phoenix.js
var handler = Phoenix.bind( 'd', [ 'cmd' ], function() {
  focusApplicationIfRunning('VLC')
});

function focusApplicationIfRunning ( title ) {
  var app = App.get( title );
  if ( app ) {
    App.launch( title ).focus();
  }
}
  1. stop Phoenix
  2. switch Bulgarian Input Source (I've reproduced the issue with Bulgarian and also Hebrew; I couldn't reproduce with U.S. or British)
  3. start Phoenix
  4. The Command-D binding (set in .phoenix.js) doesn't work

Thanks

How to set focus on application on another Space

Have 2 spaces, 1 and 2.
Chrome is running, not minimized in Space 1.
Currently on Space 2.

How to switch to Space 1 and focus Chrome? I can find Chrome using findAppByTitle (from one of the sample configs). I cannot find any windows using app.allWindows() or Windows.allWindows().

Not sure if this is a feature request, user error, or bug.

JSA Support

Hi,

I have been using Mjolnir and then Hammerspoon, but I really do not like Lua. I came across Phoenix today and was excited, but it does not have all the functionality of Hammerspoon. Will it be updated to allow for remote controlling with Alfred through a RPC protocol? Also, why not use the built in JavaScript for Automation? That would be very nice to see. I tried to use JSA in the script, but it would not work. Also, what type of libraries does this have other than the windows controlling. IE: a file system access library, etc.

Clarification if master is always stable or not

The instructions say to build from source, but they don't mention whether the master branch will always be stable enough to do so or whether we should build off another branch or something. Can this be clarified somewhere?

Self build support?

We should amend the README.md or maybe add a INSTALL.md file with self build instructions for developers who are interested in contributing.

feature req: api.alert could return an object allowing alert to be edited/canceled

I've got a nifty little binding that puts me into a mode that lets me start typing to interactively find a window I'm looking for. E.g. I bind it to hyper-f and then I hit hyper-f,c,h,r,o and it raises the first window that matches "c", then "ch", then "chr", then "chro". If I then hit tab it cycles to the next matching window for whatever regex i've entered so far. I hit enter or escape when I'm done.

Anyway, the thing that's really missing is some visual feedback that A) you're in the pattern-entering mode, and B) what you've entered so far. I have implemented it using repeated calls to api.alert, but it's pretty obnoxious to stack a whole bunch of them up, and there's no way to clear them out when exiting my mode. I think what would be really cool is if api.alert() returned an object that had methods 'cancel' and 'setText' so that you could modify the alert in place or make it go away on demand.

What do you think?

Sometimes app.focus() has a very long delay

Pheonix 2.0

It's quite hard to reproduce this issue, but it happens to me from time to time. I have a keybinding that is supposed to activate an app.

Config:

function focusApp(name) {
  Phoenix.log('About to focus ' + name);
  App.runningApps().forEach(function(app) {
    if (app.name() === name) {
      Phoenix.log('Found and focusing ' + name);
      Phoenix.log(app.focus());
      Phoenix.log('Done focusing ' + name);
    }
  });
}

var handlers = [];
var mod = ['ctrl', 'cmd', 'alt'];

// ...more stuff

handlers.push(Phoenix.bind('w', mod, function () {
  focusApp('Google Chrome');
}));

// ...more stuff

Most of the times it works. However, sometimes when I press Ctrl+Cmd+Alt+w nothing happens for a few seconds and the Chrome pops up.

Logs:

screen shot 2015-10-22 at 3 00 51 pm

I can confirm logs are added instantly when I press the shortcut, it's app.focus()'s effect that is delayed.

@kasper any ideas what's going on or how can I further debug the issue?

Building with Xcode 7 throws errors

I checkouted 2.0 branch, and run command...

xcodebuild build

but, displyed ** BUILD FAILED **

result,

/Users/zchee/src/github.com/kasper/phoenix/Phoenix/PHAXUIElement.m:14:17: error: method override for the designated initializer of the superclass '-init' not found [-Werror,-Wobjc-designated-initializers]
@implementation PHAXUIElement
                ^
In module 'Foundation' imported from /Users/zchee/src/github.com/kasper/phoenix/Phoenix/PHAXUIElement.h:5:
In module 'CoreFoundation' imported from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Dispatch' imported from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15:
In module 'os' imported from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/dispatch/dispatch.h:48:
In module 'ObjectiveC' imported from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/os/object.h:75:
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/objc/NSObject.h:60:1: note: method marked as designated initializer of the class here
- (instancetype)init
^
1 error generated.

I do not edit .xcodeproj file.
Do you have any idea?

  • OS: OS X El Capitan beta 8
  • Xcode: Xcode-beta 7 beta 6 (7A192o)

Restart OSX before Security Settings are registered?

I've seen this happen a few times now, hopefully it's reproducible.

(OS Yosemite 10.10.5)

  1. Remove Phoenix from Security/Accessibility
  2. Build new App Bundle
  3. Run, follow security notice to System Prefs (and Quit phoenix dialog)
  4. Add Phoenix in Security/Accessiblity
  5. Start Phoenix
  6. process starts again at (3) and Phoenix will not run until OSX is restarted. (have not yet tried just a logout)

Post to Product Hunt

If someone has an invite (@kasper) or likes our project and would like to post Phoenix to Product Hunt (producthunt.com), I would really appreciate your help! Thanks!

Continuous prompt to Enable Accessibility

With 2.0, no matter how many times I enable accessibility for Phoenix, I get prompted to enable it. I follow the steps, relaunch and am prompted again. Each time accessibility for Phoenix seems to be disabled when I open Security & Privacy.

This does not happen with Phoenix 1.5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.