Go to file
Robert McGovern d861a1abec Used Xcode's "Convert to Modern Objective-C syntax" 2022-04-18 12:43:58 +01:00
Carthage Updated packages from Carthage 2022-04-18 05:14:03 +01:00
FSUserDefaults Used Xcode's "Convert to Modern Objective-C syntax" 2022-04-18 12:43:58 +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 Used Xcode's "Convert to Modern Objective-C syntax" 2022-04-18 12:43:58 +01:00
QuietUnrarAppDelegate.m Used Xcode's "Convert to Modern Objective-C syntax" 2022-04-18 12:43:58 +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 Used Xcode's "Convert to Modern Objective-C syntax" 2022-04-18 12:43:58 +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 Used Xcode's "Convert to Modern Objective-C syntax" 2022-04-18 12:43:58 +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