Go to file
Robert McGovern 566470bb29 Updated project file to only build active architecture (just to shut Xcode up) 2022-04-18 12:39:30 +01:00
Carthage Updated packages from Carthage 2022-04-18 05:14:03 +01:00
FSUserDefaults Prevent Xcode compiler warning that methodImpl was not initialised when taking the default path. It should never go there, and will raise an NSAssert if it does, so this is just shutting the compiler up :) 2022-04-18 11:51:39 +01:00
QuietUnrar.xcodeproj Updated project file to only build active architecture (just to shut Xcode up) 2022-04-18 12:39:30 +01:00
Resources Too much in a single commit again - WIP 2021-05-31 20:42:30 +01:00
docs Adding initial files which contains the unrar.3.9.6 sources and a patch for the Makefile 2009-11-10 16:48:42 +01:00
en.lproj Too much in a single commit again - WIP 2021-05-31 20:42:30 +01:00
libunrar Quiet the compiler complaining about RARGetDLLVersion, specficially "function declaration isn't a prototype" 2022-04-18 11:53:30 +01:00
.gitignore Added gitignore 2021-05-25 13:05:32 +01:00
Cartfile Added DockProgress to Carthage 2021-05-27 18:06:29 +01:00
Cartfile.resolved Updated packages from Carthage 2022-04-18 05:14:03 +01:00
PasswordView.xib Upgrade to libunrar 6.06, tweaked the PasswordView xib to have hint text, and clear the field if dialog reappears. Password unraring not working, not sure why. Cstring passed in is perfectly valid. 2021-05-24 16:37:15 +01:00
QuietUnrar copy-Info.plist Updated packages from Carthage 2022-04-18 05:14:03 +01:00
QuietUnrar-Info.plist Updated bundle id 2021-06-01 00:05:41 +01:00
QuietUnrarAppDelegate.h Switched from linking macOS frameworks to using Clang Modules, dropped the pre-compiled header (although I may put that back) 2022-04-18 12:35:04 +01:00
QuietUnrarAppDelegate.m Renamed executable and active scheme. Switched to using unrarkit. Debating uning unzipkit or different options. Fixed a couple of issues where I was updating the UI (hiding window, and showing password dialog) off the main thread 🙈 2022-04-18 05:16:38 +01:00
README.md Switched from linking macOS frameworks to using Clang Modules, dropped the pre-compiled header (although I may put that back) 2022-04-18 12:35:04 +01:00
TDNPreferencesWindowController.h Switched from linking macOS frameworks to using Clang Modules, dropped the pre-compiled header (although I may put that back) 2022-04-18 12:35:04 +01:00
TDNPreferencesWindowController.m Set window title for preferences window 2021-05-31 22:22:04 +01:00
TDNUnarchiver.h Switched from linking macOS frameworks to using Clang Modules, dropped the pre-compiled header (although I may put that back) 2022-04-18 12:35:04 +01:00
TDNUnarchiver.m Switched from linking macOS frameworks to using Clang Modules, dropped the pre-compiled header (although I may put that back) 2022-04-18 12:35:04 +01:00
TDNUserDefaults.h Too much in a single commit again - WIP 2021-05-31 20:42:30 +01:00
TDNUserDefaults.m Too much in a single commit again - WIP 2021-05-31 20:42:30 +01:00
main.m Switched from linking macOS frameworks to using Clang Modules, dropped the pre-compiled header (although I may put that back) 2022-04-18 12:35:04 +01:00

README.md

QuietUnrar (or QuietUnarchiver or QuietDecompressor)

Small app for quietly unarchiving rar, zip and lzma files. No windows on the screen unless there is an issue (bad CRC, requires password, missing volume) Optionally show progress on Dock Icon or Status Bar (for larger files) Optionally show a notification on completion (with action button to open finder in that folder) Optionally play sound when decompression finished

Original was written in 2009 as a little thing for me, and now its getting some TLC and updates. Mostly to play with Objective-C again. Might see if I can compile libunrar for Apple Silicon rather than having to use Rosetta.

TO DO

  • Store preferences in User Defaults
  • Move code handling un archiving into seperate class
  • add model code for preferences
  • add support for 7zip https://github.com/OlehKulykov/PLzmaSDK
  • Investigate metal warning, something to ignore?
  • Add testing
  • Dock or status bar appearance?
  • if keeping my extractRARArchiveWithFilename method rather than unrarkit, swap to using the wide text process method
  • reduce menu to only essential - preferences + quit
  • about box with thanks & liecense info
  • post notification on finishing
  • what to do if app open and user unarchives a file? (apart from not make the preferences window front and central)
  • investigate why memory keeps increasing if QuietUnarchiver is kept open but decompresses more files. Ran intruments but nothing listed as leaking or zombied.
  • Compiler Warning: Lexical or Preprocessor issue "_UNIX macro redefined"

Metal Warning

2021-05-30 15:17:27.995689+0100 QuietUnrar[91513:2457432] Metal API Validation Enabled 2021-05-30 15:17:28.105839+0100 QuietUnrar[91513:2457432] MTLIOAccelDevice bad MetalPluginClassName property (null) 2021-05-30 15:17:28.124992+0100 QuietUnrar[91513:2457432] +[MTLIOAccelDevice registerDevices]: Zero Metal services found

A new mac project doesn't report these warnings.

Compiler Warning

/Users/tarasis/Programming/Projects/QuietUnrar/Carthage/Build/Mac/UnrarKit.framework/Versions/A/Headers/raros.hpp:28:11: '_UNIX' macro redefined /Users/tarasis/Programming/Projects/QuietUnrar/TDNUnarchiver.m:12:9: In file included from /Users/tarasis/Programming/Projects/QuietUnrar/TDNUnarchiver.m:12: /Users/tarasis/Programming/Projects/QuietUnrar/Carthage/Build/Mac/UnrarKit.framework/Versions/A/Headers/UnrarKit.h:18:9: In file included from /Users/tarasis/Programming/Projects/QuietUnrar/Carthage/Build/Mac/UnrarKit.framework/Headers/UnrarKit.h:18: /Users/tarasis/Programming/Projects/QuietUnrar/Carthage/Build/Mac/UnrarKit.framework/Versions/A/Headers/URKArchive.h:12:9: In file included from /Users/tarasis/Programming/Projects/QuietUnrar/Carthage/Build/Mac/UnrarKit.framework/Headers/URKArchive.h:12:

Libraries I'm using or intend to use

Other things

In the off chance I forget how to readd / redo a pre-compiled header (I shouldn't but 🤷‍♂️) https://stackoverflow.com/questions/24158648/why-isnt-projectname-prefix-pch-created-automatically-in-xcode-6

1) Add new PCH file to the project: New file > Other > PCH file.
2) At the Target's Build Settings option, set the value of Prefix Header to your PCH file name, with the project name as prefix (i.e. for project named TestProject and PCH file named MyPrefixHeaderFile, add the value TestProject/MyPrefixHeaderFile.pch to the plist).
TIP: You can use things like $(SRCROOT) or $(PROJECT_DIR) to get to the path of where you put the .pch in the project.

3) At the Target's Build Settings option, set the value of Precompile Prefix Header to YES