GUI image optimizer for Mac

Overview

ImageOptim

ImageOptim is a GUI for lossless image optimization tools: Zopfli, PNGOUT, OxiPNG, AdvPNG, PNGCrush, JPEGOptim, Jpegtran, Guetzli, Gifsicle, SVGO, svgcleaner and MozJPEG.

Building

Requires:

git clone --recursive https://imageoptim.com ImageOptim
cd ImageOptim

To get started, open imageoptim/ImageOptim.xcodeproj. It will automatically download and build all subprojects when run in Xcode.

In case of build errors, these sometimes help:

git submodule update --init
cd gifsicle # or pngquant
make clean
make
Issues
  • Question about the algorithm

    Question about the algorithm

    Hi!

    Have I understood the algorithm correctly:

    The file is minimized by all algorithms and I receive the best result of one of them?

    ?

    opened by eGavr 58
  • SVG support

    SVG support

    opened by deepj 26
  • New Icon

    New Icon

    ImageOptim icon is ugly. No doubt about it :)

    However, despite the uglyness it does have two properties of a good icon: distinct shape and distinct color. The black splattered nobody-knows-what symbol clearly stands out in the sea of shiny silverish-with-hint-of-color tilted-rectangle icons.

    I'd love to see a better-looking icon that still stands out (rather than being e.g. some variation of Preview.app's icon).

    Also, I may need ability to migrate to the new icon gradually. The old one has been used for so long that's all over the web and people are used to it (call it Stockholm Syndrome if you like ;) I don't want to suddenly auto-update everybody's ImageOptim one day and have them wonder "where's ImageOptim gone!?!" (e.g. I could first make old icon with shade/color of the new one, then use new one, but maybe with darker outline, etc.)

    The current crush-warning-sign symbol is obscure, so doesn't need to be kept.

    I was thinking about icon with thick black scissors (to keep feel black X that current icon has) trimming away white border from a photo.

    Alternative idea is a thick bundle of images squeezed in the middle with measuring tape (that could have KB symbols instead of cm/inch :)

    opened by kornelski 23
  • Progressive JPEGs

    Progressive JPEGs

    Hello,

    Great tool you have here! :+1:

    Is it possible to add the "progressive" flag for JPEG transcoders? We feel that large hero banners on a website should be progressive and thus provide some visual feedback to the visitor while they're loading.

    Thoughts?

    opened by toncid 18
  • Add option to reduce number of active threads

    Add option to reduce number of active threads

    ImageOptim appears to check to see how many cores the machine has and spawns threads accordingly. But sometimes you don't want the app to peg the needle at 100% CPU, and it can certainly slow other apps to a crawl. A way to tell the app to spawn fewer threads and/or reduce their priority might make it a better neighbor.

    opened by RJWoodhead 16
  • error: could not lock config file .git/config: File exists

    error: could not lock config file .git/config: File exists

    ../scripts/fetch-submodule guetzli && touch guetzli/src error: could not lock config file .git/config: File exists fatal: Failed to register url for submodule path 'guetzli/guetzli/guetzli' Submodule 'guetzli/guetzli' (https://github.com/google/guetzli.git) registered for path 'guetzli/guetzli/guetzli' Cloning into '/Users/liupeng/Documents/workspace/ImageOptim/guetzli/guetzli'... Submodule path 'guetzli': checked out '264d83509ac699fc4707cda52dfb7252ad071bac' Command /usr/bin/make emitted errors but did not return a nonzero exit code to indicate failure

    opened by liufsd 14
  • help. i wanna solve this error

    help. i wanna solve this error

    2017-03-18 2 30 59

    I was using Optim app for 3month. But oneday suddenly app doesn't work. I really need this app. I want to know how to solve this problem and why this problem occured. please anyone help me

    opened by Jame-suu 12
  • Not move files to trash

    Not move files to trash

    I don't like that the original files are just moved to the trash.

    Presenting all the optimised files, and then replacing them yourself would be better in some cases. Therefore you could add a button at the end of the process saying "Replace with original files".

    Or something like that.

    opened by iluuu1994 11
  • Random crashes on Mojave

    Random crashes on Mojave

    After the upgrade from Sierra to Mojave I suddenly started to experience random GUI crashes while crunching through a number of images at once. ImageOptim didn't crash when I ran about 10 images or less. When I had a project with lots of images to compress - even as little as ~35, the crashes appeared. I uninstalled 1.8.0 vith Cleanmymac. Installed 1.8.1a4 The crashes continued. I asked my friend with Mojave to process some images. Crash. So it's probably not just me.

    This is what I found from Console in system.log:

    Oct 19 23:09:23 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[2669]): Service exited due to SIGSEGV | sent by exc handler[2669]
    Oct 19 23:09:28 MacBook-Pro ImageOptim[2832]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:12:02 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[2832]): Service exited due to SIGSEGV | sent by exc handler[2832]
    Oct 19 23:12:08 MacBook-Pro ImageOptim[2955]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:18:55 MacBook-Pro ImageOptim[3129]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:20:38 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[3129]): Service exited due to SIGSEGV | sent by exc handler[3129]
    Oct 19 23:22:05 MacBook-Pro ImageOptim[3293]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:23:42 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[3293]): Service exited due to SIGSEGV | sent by exc handler[3293]
    Oct 19 23:23:56 MacBook-Pro ImageOptim[3451]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:25:45 MacBook-Pro ImageOptim[3527]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:28:08 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[3527]): Service exited due to SIGSEGV | sent by exc handler[3527]
    Oct 19 23:28:19 MacBook-Pro ImageOptim[3669]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:35:09 MacBook-Pro ImageOptim[3892]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    Oct 19 23:37:36 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[3892]): Service exited due to SIGSEGV | sent by exc handler[3892]
    Oct 19 23:37:49 MacBook-Pro ImageOptim[4066]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    

    While writing this post ImageOptim just finished with 4 images. I switched to ImageOptim, doing nothing, switched back to browser to continue writing. After about 5 seconds system message appeared that ImageOptim crashed. It might have happened at the time of switching or later - I don't know because in cases of previous crashes the time for the system popup to appear took about the same amount of time. These lines appeared in the system.log:

    Oct 19 23:41:03 MacBook-Pro com.apple.xpc.launchd[1] (net.pornel.ImageOptim.8664[4066]): Service exited due to SIGSEGV | sent by exc handler[4066]
    Oct 19 23:41:12 MacBook-Pro ImageOptim[4299]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
    
    opened by TanelVari 11
  • Build failed, linker can't find _Gif_FullUnoptimize symbol

    Build failed, linker can't find _Gif_FullUnoptimize symbol

    Linker can't find _Gif_FullUnoptimize symbol, because gifunopt.c is not in gifsicle.xcodeproj/Source. Please add it to project.

    opened by stunpix 11
  • Crash

    Crash

    • start imageoptim, add a bunch of files (PNG)
    • add a new PNG to the list (assumes bottom position)
    • grab from bottom, and drag upwards
    • boom

    v1.8.8

    might be some useful info in the OS crash dialogue

    Process:               ImageOptim [48986]
    Path:                  /Applications/ImageOptim.app/Contents/MacOS/ImageOptim
    Identifier:            ImageOptim
    Version:               1.8.8 (1.8.8)
    Code Type:             X86-64 (Native)
    Parent Process:        ??? [1]
    Responsible:           ImageOptim [48986]
    User ID:               507
    
    Date/Time:             2021-09-23 13:36:15.085 +0200
    OS Version:            Mac OS X 10.15.7 (19H1417)
    Report Version:        12
    Bridge OS Version:     5.5 (18P4759a)
    Anonymous UUID:        0AA7CFD5-28BA-AE3B-7C6E-ABE05BB5F055
    
    
    Time Awake Since Boot: 170000 seconds
    
    System Integrity Protection: enabled
    
    Crashed Thread:        11  Dispatch queue: com.apple.root.utility-qos
    
    Exception Type:        EXC_CRASH (SIGABRT)
    Exception Codes:       0x0000000000000000, 0x0000000000000000
    Exception Note:        EXC_CORPSE_NOTIFY
    
    Application Specific Information:
    *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x600003000570> was mutated while being enumerated.'
    abort() called
    terminating with uncaught exception of type NSException
    
    Application Specific Backtrace 1:
    0   CoreFoundation                      0x00007fff32bcc437 __exceptionPreprocess + 250
    1   libobjc.A.dylib                     0x00007fff6ba6d5bf objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff32c44b6b __NSFastEnumerationMutationHandler + 159
    3   ImageOptim                          0x000000010203eebd ImageOptim + 24253
    4   libdispatch.dylib                   0x00007fff6cbbc658 _dispatch_client_callout + 8
    5   libdispatch.dylib                   0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    6   libdispatch.dylib                   0x00007fff6cbce4be _dispatch_source_invoke + 2084
    7   libdispatch.dylib                   0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    8   libdispatch.dylib                   0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    9   libsystem_pthread.dylib             0x00007fff6ce169f7 _pthread_wqthread + 220
    10  libsystem_pthread.dylib             0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 0:: Dispatch queue: com.apple.main-thread
    0   libobjc.A.dylib               	0x00007fff6ba626c7 objc_release + 103
    1   libobjc.A.dylib               	0x00007fff6ba7e054 AutoreleasePoolPage::releaseUntil(objc_object**) + 134
    2   libobjc.A.dylib               	0x00007fff6ba62dba objc_autoreleasePoolPop + 175
    3   com.apple.CoreFoundation      	0x00007fff32b0e315 _CFAutoreleasePoolPop + 22
    4   com.apple.CoreFoundation      	0x00007fff32b43c54 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 232
    5   com.apple.AppKit              	0x00007fff30683798 -[_NSBindingAdaptor tableColumn:willDisplayCell:row:] + 78
    6   com.apple.AppKit              	0x00007fff300b3eda -[NSTableView _sendBindingAdapterWillDisplayCell:forColumn:row:] + 121
    7   com.apple.AppKit              	0x00007fff300b3669 -[NSTableView preparedCellAtColumn:row:] + 666
    8   net.pornel.ImageOptim         	0x0000000102042861 0x102039000 + 39009
    9   net.pornel.ImageOptim         	0x0000000102042390 0x102039000 + 37776
    10  com.apple.AppKit              	0x00007fff2feb515e -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 124
    11  com.apple.AppKit              	0x00007fff2ff1baee -[NSTableView _updateTrackingAreasWithInvalidCursorRects:] + 84
    12  com.apple.AppKit              	0x00007fff2feb597a -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2200
    13  com.apple.AppKit              	0x00007fff2feb597a -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2200
    14  com.apple.AppKit              	0x00007fff2ff1b305 -[NSScrollView _updateTrackingAreasWithInvalidCursorRects:] + 134
    15  com.apple.AppKit              	0x00007fff2feb597a -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2200
    16  com.apple.AppKit              	0x00007fff2feb597a -[NSView(NSInternal) _updateTrackingAreasWithInvalidCursorRects:] + 2200
    17  com.apple.AppKit              	0x00007fff2feb4e6d _NSWindowDisplayCycleUpdateStructuralRegions + 319
    18  com.apple.AppKit              	0x00007fff2feaf694 __NSWindowGetDisplayCycleObserverForUpdateStructuralRegions_block_invoke + 420
    19  com.apple.AppKit              	0x00007fff2fea7822 NSDisplayCycleObserverInvoke + 155
    20  com.apple.AppKit              	0x00007fff2fea73ac NSDisplayCycleFlush + 937
    21  com.apple.QuartzCore          	0x00007fff3e641d04 CA::Transaction::run_commit_handlers(CATransactionPhase) + 106
    22  com.apple.QuartzCore          	0x00007fff3e640a16 CA::Transaction::commit() + 230
    23  com.apple.AppKit              	0x00007fff2ff632f1 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 266
    24  com.apple.AppKit              	0x00007fff30681c20 ___NSRunLoopObserverCreateWithHandler_block_invoke + 41
    25  com.apple.CoreFoundation      	0x00007fff32b4fbc5 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    26  com.apple.CoreFoundation      	0x00007fff32b4faf7 __CFRunLoopDoObservers + 457
    27  com.apple.CoreFoundation      	0x00007fff32b4f095 __CFRunLoopRun + 874
    28  com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    29  com.apple.Foundation          	0x00007fff351ebc38 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
    30  com.apple.Foundation          	0x00007fff352997af -[NSRunLoop(NSRunLoop) runUntilDate:] + 103
    31  com.apple.AppKit              	0x00007fff3014127a NSCoreDragReceiveMessageProc + 2190
    32  com.apple.HIServices          	0x00007fff30e13498 CallReceiveMessageCollectionWithMessage + 103
    33  com.apple.HIServices          	0x00007fff30e0d7e3 DoMultipartDropMessage + 113
    34  com.apple.HIServices          	0x00007fff30e0d5d1 DoDropMessage + 40
    35  com.apple.HIServices          	0x00007fff30e0c1bd DragInApplication + 524
    36  com.apple.HIServices          	0x00007fff30e0af98 CoreDragStartDragging + 612
    37  com.apple.AppKit              	0x00007fff3013e00e -[NSCoreDragManager _dragUntilMouseUp:accepted:] + 1304
    38  com.apple.AppKit              	0x00007fff3013ca1e -[NSCoreDragManager dragImage:fromWindow:at:offset:event:pasteboard:source:slideBack:] + 2942
    39  com.apple.AppKit              	0x00007fff3013be8f -[NSWindow(NSDrag) dragImage:at:offset:event:pasteboard:source:slideBack:] + 134
    40  com.apple.AppKit              	0x00007fff305897cd -[NSTableView _doImageDragUsingRowsWithIndexes:event:pasteboard:source:slideBack:startRow:] + 662
    41  com.apple.AppKit              	0x00007fff30589c52 -[NSTableView __doImageDragUsingRowsWithIndexes:event:pasteboard:source:slideBack:startRow:] + 276
    42  com.apple.AppKit              	0x00007fff3058a951 -[NSTableView _performClassicDragOfIndexes:hitRow:event:] + 452
    43  com.apple.AppKit              	0x00007fff30163eb5 -[NSTableView _performDragFromMouseDown:] + 472
    44  com.apple.AppKit              	0x00007fff30162327 -[NSTableView mouseDown:] + 754
    45  com.apple.AppKit              	0x00007fff2fffeb40 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4914
    46  com.apple.AppKit              	0x00007fff2ff69371 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2612
    47  com.apple.AppKit              	0x00007fff2ff68719 -[NSWindow(NSEventRouting) sendEvent:] + 349
    48  com.apple.AppKit              	0x00007fff2ff66aa4 -[NSApplication(NSEvent) sendEvent:] + 352
    49  com.apple.AppKit              	0x00007fff2fdb3bef -[NSApplication run] + 707
    50  com.apple.AppKit              	0x00007fff2fd859a6 NSApplicationMain + 777
    51  libdyld.dylib                 	0x00007fff6cc15cc9 start + 1
    
    Thread 1:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 2:: JavaScriptCore bmalloc scavenger
    0   libsystem_kernel.dylib        	0x00007fff6cd59882 __psynch_cvwait + 10
    1   libsystem_pthread.dylib       	0x00007fff6ce1a425 _pthread_cond_wait + 698
    2   libc++.1.dylib                	0x00007fff69ee6592 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    3   com.apple.JavaScriptCore      	0x00007fff37350274 void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 84
    4   com.apple.JavaScriptCore      	0x00007fff37354a7b bmalloc::Scavenger::threadRunLoop() + 299
    5   com.apple.JavaScriptCore      	0x00007fff37354649 bmalloc::Scavenger::threadEntryPoint(bmalloc::Scavenger*) + 9
    6   com.apple.JavaScriptCore      	0x00007fff37356d27 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::Scavenger*), bmalloc::Scavenger*> >(void*) + 39
    7   libsystem_pthread.dylib       	0x00007fff6ce1a109 _pthread_start + 148
    8   libsystem_pthread.dylib       	0x00007fff6ce15b8b thread_start + 15
    
    Thread 3:: LocalStorage
    0   libsystem_kernel.dylib        	0x00007fff6cd59882 __psynch_cvwait + 10
    1   libsystem_pthread.dylib       	0x00007fff6ce1a425 _pthread_cond_wait + 698
    2   com.apple.JavaScriptCore      	0x00007fff372e2402 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3858
    3   com.apple.WebKitLegacy        	0x00007fff438a33f5 bool WTF::Condition::waitUntil<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 165
    4   com.apple.WebKitLegacy        	0x00007fff438a65e1 std::__1::unique_ptr<WTF::Function<void ()>, std::__1::default_delete<WTF::Function<void ()> > > WTF::MessageQueue<WTF::Function<void ()> >::waitForMessageFilteredWithTimeout<WTF::MessageQueue<WTF::Function<void ()> >::waitForMessage()::'lambda'(WTF::Function<void ()> const&)>(WTF::MessageQueueWaitResult&, WTF::MessageQueue<WTF::Function<void ()> >::waitForMessage()::'lambda'(WTF::Function<void ()> const&)&&, WTF::Seconds) + 161
    5   com.apple.WebKitLegacy        	0x00007fff438a5d26 WebCore::StorageThread::threadEntryPoint() + 86
    6   com.apple.JavaScriptCore      	0x00007fff372fce3f WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 223
    7   com.apple.JavaScriptCore      	0x00007fff363c9bf9 WTF::wtfThreadEntryPoint(void*) + 9
    8   libsystem_pthread.dylib       	0x00007fff6ce1a109 _pthread_start + 148
    9   libsystem_pthread.dylib       	0x00007fff6ce15b8b thread_start + 15
    
    Thread 4:: com.apple.NSEventThread
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.AppKit              	0x00007fff2ff64ea4 _NSEventThread + 132
    6   libsystem_pthread.dylib       	0x00007fff6ce1a109 _pthread_start + 148
    7   libsystem_pthread.dylib       	0x00007fff6ce15b8b thread_start + 15
    
    Thread 5:
    0   libsystem_pthread.dylib       	0x00007fff6ce15b68 start_wqthread + 0
    
    Thread 6:
    0   libsystem_pthread.dylib       	0x00007fff6ce15b68 start_wqthread + 0
    
    Thread 7:
    0   libsystem_pthread.dylib       	0x00007fff6ce15b68 start_wqthread + 0
    
    Thread 8:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 9:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 10:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 11 Crashed:: Dispatch queue: com.apple.root.utility-qos
    0   libsystem_kernel.dylib        	0x00007fff6cd5d33a __pthread_kill + 10
    1   libsystem_pthread.dylib       	0x00007fff6ce19e60 pthread_kill + 430
    2   libsystem_c.dylib             	0x00007fff6cce4808 abort + 120
    3   libc++abi.dylib               	0x00007fff69f41458 abort_message + 231
    4   libc++abi.dylib               	0x00007fff69f328bf demangling_terminate_handler() + 262
    5   libobjc.A.dylib               	0x00007fff6ba6f5a9 _objc_terminate() + 96
    6   libc++abi.dylib               	0x00007fff69f40887 std::__terminate(void (*)()) + 8
    7   libc++abi.dylib               	0x00007fff69f40829 std::terminate() + 41
    8   libdispatch.dylib             	0x00007fff6cbbc66c _dispatch_client_callout + 28
    9   libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    10  libdispatch.dylib             	0x00007fff6cbce4be _dispatch_source_invoke + 2084
    11  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    12  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    13  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    14  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 12:
    0   libsystem_pthread.dylib       	0x00007fff6ce15b68 start_wqthread + 0
    
    Thread 13:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 14:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 15:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 16:: Dispatch queue: cpuQueue (QOS: UTILITY)
    0   libsystem_kernel.dylib        	0x00007fff6cd56dfa mach_msg_trap + 10
    1   libsystem_kernel.dylib        	0x00007fff6cd57170 mach_msg + 60
    2   com.apple.CoreFoundation      	0x00007fff32b50785 __CFRunLoopServiceMachPort + 247
    3   com.apple.CoreFoundation      	0x00007fff32b4f252 __CFRunLoopRun + 1319
    4   com.apple.CoreFoundation      	0x00007fff32b4e6ce CFRunLoopRunSpecific + 462
    5   com.apple.Foundation          	0x00007fff352a0200 -[NSConcreteTask waitUntilExit] + 325
    6   net.pornel.ImageOptim.Backend 	0x00000001020604dd -[CommandWorker waitUntilTaskExit] + 41
    7   net.pornel.ImageOptim.Backend 	0x000000010206c05f -[ZopfliWorker optimizeFile:toTempPath:] + 846
    8   net.pornel.ImageOptim.Backend 	0x000000010206019a -[CommandWorker run] + 103
    9   net.pornel.ImageOptim.Backend 	0x000000010206ba51 -[Worker main] + 311
    10  com.apple.Foundation          	0x00007fff351cd281 __NSOPERATION_IS_INVOKING_MAIN__ + 17
    11  com.apple.Foundation          	0x00007fff351cc4b3 -[NSOperation start] + 722
    12  com.apple.Foundation          	0x00007fff351cc1d9 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 17
    13  com.apple.Foundation          	0x00007fff351cc0a9 __NSOQSchedule_f + 182
    14  libdispatch.dylib             	0x00007fff6cbbb6c4 _dispatch_call_block_and_release + 12
    15  libdispatch.dylib             	0x00007fff6cbbc658 _dispatch_client_callout + 8
    16  libdispatch.dylib             	0x00007fff6cbbe818 _dispatch_continuation_pop + 414
    17  libdispatch.dylib             	0x00007fff6cbbdf16 _dispatch_async_redirect_invoke + 703
    18  libdispatch.dylib             	0x00007fff6cbca957 _dispatch_root_queue_drain + 326
    19  libdispatch.dylib             	0x00007fff6cbcb097 _dispatch_worker_thread2 + 92
    20  libsystem_pthread.dylib       	0x00007fff6ce169f7 _pthread_wqthread + 220
    21  libsystem_pthread.dylib       	0x00007fff6ce15b77 start_wqthread + 15
    
    Thread 17:
    0   libsystem_pthread.dylib       	0x00007fff6ce15b68 start_wqthread + 0
    
    Thread 11 crashed with X86 Thread State (64-bit):
      rax: 0x0000000000000000  rbx: 0x0000700004a79000  rcx: 0x0000700004a787b8  rdx: 0x0000000000000000
      rdi: 0x000000000000ad07  rsi: 0x0000000000000006  rbp: 0x0000700004a787e0  rsp: 0x0000700004a787b8
       r8: 0x0000700004a78680   r9: 0x0000700004a78850  r10: 0x0000700004a79000  r11: 0x0000000000000246
      r12: 0x000000000000ad07  r13: 0x0000003000000008  r14: 0x0000000000000006  r15: 0x0000000000000016
      rip: 0x00007fff6cd5d33a  rfl: 0x0000000000000246  cr2: 0x00007fff8a5029d0
      
    Logical CPU:     0
    Error Code:      0x02000148
    Trap Number:     133
    
    opened by systemcrash 0
  • Sketch Plugin Broken

    Sketch Plugin Broken

    Looks like th eSketch plugin is broken with their release of Sketch 76

    opened by custa1200 5
  • Support for the Shortcuts app

    Support for the Shortcuts app

    Now with macOS 12 just around the corner I thought that ImageOptim is the perfect candidate to provide shortcuts as well. It would allow users to create such powerful workflows, Finder actions and so on. 👌

    I think it would basically be enough to have one shortcut action with an option for lossless/lossy (with a custom percentage parameter).

    opened by alexkaessner 0
  • PNG to JPG if size differential within threshold at certain percentage quality

    PNG to JPG if size differential within threshold at certain percentage quality

    I frequently find myself dealing with PNGs that should have been JPGs instead. It would be very helpful if ImageOptim would have additional logic that would compare a certain percentage compression (we could set it to 85% or 90% or higher quality) and if there is a 10% or more savings in size then changing or copying a file to a JPG from PNG should be performed.

    I think that most of us would agree that such a savings with a high quality JPG output would be a worthwhile exchange and it happens for some of us frequently enough that it would be useful to have.

    opened by ylluminate 0
  • Release a arm version for macOS, Linux, and Windows.

    Release a arm version for macOS, Linux, and Windows.

    Arm will be the new standard on macOS and will be seeing vastly increased numbers on Windows as well as Linux. Currently the program works flawlessly under rosetta BUT this should probably be started now to allow more than ample time for development.

    opened by Mockedarche 3
  • Are we 100% sure that no images will be distorted?

    Are we 100% sure that no images will be distorted?

    I've a project with 2k+ images (png, jpg). Are we 100% sure by using lossless compression all the images will be pixel perfect with their previous uncompressed self.

    This is something that makes me afraid of using it in my project. Any idea?

    opened by Nikoloutsos 2
  • drop frames in animated png

    drop frames in animated png

    ImageOptim drop all frames form animated PNG except first.

    opened by sergeyklochko 0
  • Feature: keep original file modification or creation date

    Feature: keep original file modification or creation date

    Some images do not have EXIF dates embedded, so I have to rely on their creation/modification date. When optimizing with ImageOptim (or other sorts of tools) it's always a "new" file with a new date.

    I read that some people wrote scripts to:

    • first remember the date,
    • then use OPTIMIZETOOL to convert,
    • then set back the date

    Of course, this could be so much nicer, if already implemented in the app, right?

    Use cases for me would be:

    • Screenshots (obviously no EXIF, and bloated by display color profiles, which I want to get rid of)
    • Older Photos (early-digital-era)
    • to clean up or slim down Folders of graphic assets without them resurfacing on top as "new"

    If someone has an universal script (macOS) for me to achieve this with all sorts of FILETYPE and OPTIMIZETOOL I would be very happy. (for example, I have many old family videos with no EXIF but correct creation dates, which need to get converted to mp4 via handbrake)

    opened by woefi 1
  • Missing file, svgo.js, in target 'Backend' from project 'ImageOptim'

    Missing file, svgo.js, in target 'Backend' from project 'ImageOptim'

    PBXCp /Users/zav/Developer/ImageOptim/svgo/build/svgo.js /Users/zav/Library/Developer/Xcode/DerivedData/ImageOptim-cnlwsnulkjmwztbmbjgzolulptuo/Build/Products/Debug/ImageOptimGPL.framework/Versions/A/Resources/svgo.js (in target 'Backend' from project 'ImageOptim') cd /Users/zav/Developer/ImageOptim/imageoptim builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/zav/Developer/ImageOptim/svgo/build/svgo.js /Users/zav/Library/Developer/Xcode/DerivedData/ImageOptim-cnlwsnulkjmwztbmbjgzolulptuo/Build/Products/Debug/ImageOptimGPL.framework/Versions/A/Resources

    error: /Users/zav/Developer/ImageOptim/svgo/build/svgo.js: No such file or directory (in target 'Backend' from project 'ImageOptim')


    Build ImageOptim_2021-04-10T20-46-23.txt

    opened by azav 3
  • Compile katajainen.c:186:1: error: extraneous closing brace ('}')

    Compile katajainen.c:186:1: error: extraneous closing brace ('}')

    /Users/zav/Developer/ImageOptim/zopfli-png/zopfli/src/zopfli/katajainen.c:186:1: error: extraneous closing brace ('}')

    opened by azav 0
Mac GUI for pngquant, pngnq and posterizer

ImageAlpha ImageAlpha is a Mac OS X GUI for pngquant, pngnq and posterizer. These tools reduce filesize of PNG files while preserving the alpha channe

Kornel 460 Sep 13, 2021
A browser based GUI for **LLDB** Debugger.

Vegvisir: A browser based GUI for **LLDB** Debugger. Screenshot: Installation: Note: Please use the default python that comes with MacOS which is av

Chaithu 193 Sep 10, 2021
Manage your Homebrew formulas with style using Cakebrew.

Cakebrew The Homebrew GUI App for OS X About Cakebrew is the most convenient way to use Homebrew for your daily tasks! It does for Homebrew what Synap

Bruno Philipe 3.9k Sep 23, 2021
I got tired of manually exporting every icon size (for Xcode and more), so I made an app to do it.

Easily import, modify, and export icons! Features Natively Exports Xcode iOS MacOS Message Apple Watch Exports JSON for 1 drag import Special Files .i

Liam Rosenfeld 73 Sep 12, 2021
Fork of Pieter's nice git GUI for OS X. Includes branch/tag sidebar and various fixes. Current development focus is on removing legacy git command line usage in favour of libgit2 and objective-git.

What is GitX? GitX is a graphical client for the git version control system, written specifically for OS X Mavericks. This means that it has a native

Rowan James 2.1k Sep 8, 2021
a Cocoa GUI for /etc/hosts

Hosts, a system preference pane to manage your hosts file Hosts adds a preference pane to your system preferences which lets you toggle your host file

Voxin Muyli 1.5k Sep 22, 2021
OS X and iOS application and framework to play with the Apple Push Notification service (APNs)

Pusher OS X and iOS application and framework to play with the Apple Push Notification service (APNs) Installation Install the Mac app using Homebrew

noodlewerk 6.1k Sep 15, 2021
A Mac app for checking Xcode projects for unused resources

Unused - Mac App ================ version 1.0 Created by: Jeff Hodnett [email protected] http://www.jeffhodnett.com Use this useful utility tool to

Jeff Hodnett 1.4k Aug 16, 2021
MySQL/MariaDB database management for macOS

Sequel Ace Sequel Ace is the "sequel" to longtime macOS tool Sequel Pro. Sequel Ace is a fast, easy-to-use Mac database management application for wor

Sequel-Ace 3.6k Sep 17, 2021
Mac browser for Mach-O binaries (macOS, iOS, watchOS, and tvOS)

Mach-O Browser Mach-O Browser – A Mac application for browsing the contents of Mach-O (Mach Object) files, including executables, shared libraries, an

David Schweinsberg 95 Sep 19, 2021
A free, native Apple macOS app for testing HTTP/REST endpoints

About CocoaRestClient is a Mac OS X app for testing HTTP/Restful endpoints. I love curl, but sometimes I need my output XML or JSON pretty printed. I

Mike Mattozzi 2.2k Sep 22, 2021
:octocat: Open source github contribution stats on your Mac OS X Menu Bar

gitbar A plugin for BitBar to quickly show your open source GitHub contribution stats and help set contribution goals, all on your Mac OS X Menu Bar.

Dan Cadden 334 Aug 25, 2021
Use the Touch Bar on any Mac

Touch Bar Simulator Use the Touch Bar on any Mac Launch the Touch Bar simulator from anywhere without needing to have Xcode installed, whereas Apple r

Sindre Sorhus 1.6k Sep 16, 2021
A scriptable scratchpad for developers. In slow yet steady progress.

Boop. Website • Download from GitHub • Get on the Mac App Store Documentation • Find more scripts How to get Boop There are four ways to get Boop. You

Ivan Mathy 2.2k Sep 23, 2021
The Git interface you've been missing all your life has finally arrived.

GitUp Work quickly, safely, and without headaches. The Git interface you've been missing all your life has finally arrived. Git recently celebrated it

GitUp 9.8k Sep 19, 2021
MySQL/MariaDB database management for macOS

Sequel Pro Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL & MariaDB databases. You can find more details

Sequel Pro 8.5k Sep 14, 2021
The unofficial WWDC app for macOS

The unofficial WWDC app for macOS Enjoy WWDC from the comfort of your Mac with the unofficial WWDC app for macOS. Whether you're (virtually) attending

Guilherme Rambo 8.1k Sep 22, 2021
MQTT X - Elegant Cross-platform MQTT 5.0 Desktop Client

MQTT X English | 简体中文 | 日本語 MQTT X is a cross-platform MQTT 5.0 client tool open sourced by EMQ, which can run on macOS, Linux and Windows, and suppor

Scalable Enterprise MQTT Broker 1.3k Sep 22, 2021
:closed_book: Swift Logging Utility for Xcode Google Docs

QorumLogs Swift Logging Utility in Xcode & Google Docs Log Levels class MyAwesomeViewController: UIViewController { override func viewDidLoad() {

Goktug Yilmaz 782 Aug 28, 2021