commit015311ccc6Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Tue Jun 13 12:40:05 2017 +0100 Prevent the updater from running when it's already running. Updated timeout, slower networks require more than 2 minutes do download the update. commitbd03f4db10Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Tue Jun 13 12:16:35 2017 +0100 Clean-up. commit7244fefb93Merge:b50f0b1811ead6Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Tue Jun 13 12:04:15 2017 +0100 Merge branch 'master' into autoupdate-system commit811ead6728Merge:2d13dab0e29297Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Tue Jun 13 12:02:37 2017 +0100 Merge remote-tracking branch 'upstream/master' commitb50f0b1e42Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Tue Jun 13 12:00:01 2017 +0100 Version.CompareTo commitc22ae72a9bAuthor: Emanuel Alves <emanuel-alves@outlook.com> Date: Tue Jun 13 11:41:04 2017 +0100 WebClientEx Changed the download method to a custom web-client wrapper which supports timeout - WebClientEx. Copyright notice; commit2d466c6fcfAuthor: Emanuel Alves <emanuel-alves@outlook.com> Date: Mon Jun 12 22:11:19 2017 +0100 Major tweaks to the update-flow; New Update notification is now actionable; New QuickLook pop-up showing the changelog; Code re-organized and optimized; commit2d13dab813Merge:ef24bdddd7bed7Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Mon Jun 12 18:06:26 2017 +0100 Merge remote-tracking branch 'upstream/master' commitef24bddddeMerge:4c04b0c2f9634eAuthor: Emanuel Alves <emanuel-alves@outlook.com> Date: Fri Jun 9 22:35:20 2017 +0100 Merge branch 'master' of https://github.com/emannxx/QuickLook commit4c04b0c9deAuthor: Paddy Xu <xupaddy@gmail.com> Date: Fri Jun 9 21:40:10 2017 +0300 Expose BalloonTip events to the outside world commit13568ff368Author: Paddy Xu <xupaddy@gmail.com> Date: Fri Jun 9 21:26:18 2017 +0300 Expose TopMost parameter to outside world commit1e215cb7c7Author: Paddy Xu <xupaddy@gmail.com> Date: Fri Jun 9 21:13:21 2017 +0300 Use NamedPipe, instead of second instance, to invoke preview from command line commit2f9634e3d0Merge:ad083d878eba88Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Fri Jun 9 22:29:55 2017 +0100 Merge branch 'master' of https://github.com/emannxx/QuickLook commitad083d8a57Author: Paddy Xu <xupaddy@gmail.com> Date: Fri Jun 9 21:40:10 2017 +0300 Expose BalloonTip events to the outside world commiteb6524f15cAuthor: Paddy Xu <xupaddy@gmail.com> Date: Fri Jun 9 21:26:18 2017 +0300 Expose TopMost parameter to outside world commit9a0b4f23feAuthor: Paddy Xu <xupaddy@gmail.com> Date: Fri Jun 9 21:13:21 2017 +0300 Use NamedPipe, instead of second instance, to invoke preview from command line commitef9b854939Author: Emanuel Alves <emanuel-alves@outlook.com> Date: Fri Jun 9 17:54:15 2017 +0100 - Moved the download logic to a background worker so that the main app doesn't stop working while the file is being downloaded. - The logic to check for new updates is now separated into one function; - Replaced all messageboxes to Notifications To-Do: Actionable Notifications; Show releases-notes popup; commit4773ded83eAuthor: Emanuel Alves <emanuel-alves@outlook.com> Date: Thu Jun 8 22:19:16 2017 +0100 QuickLook Auto Update system - first iteration; [Dependency]: NewtonSoft JSON nuget package; Added - Updater.cs class which contains the auto-update static method. Workflow: Downloads json file from remote server -> Parses -> downloads new version to a specific folder inside the install dir -> Executs a CMD command chain which kills the current QuickLook process and then executes the MSI installer.
QuickLook
This project is currently under heavy development. Come back often to see what's new.
Background
Quick Look is among the few features I missed from Mac OS X. It enables very quick preview of file by pressing Space key while highlighting it, without opening its associated application. Then I decide to add this feature to Windows by myself, which results this “QuickLook” project.
You may ask, why you write this when there several alternatives available on the Internet (e.g. WinQuickLook and Seer)? The answer is that, they are all among those which no longer actively developed, lack of support of file types and plugins, or asking user for amounts of $$$.
Highlights
✅ Instant preview ✅ Beautiful UI ✅ Perfect HiDPI support ✅ Native 64-bit application
✅ Preview from Open and Save File Dialog ✅ Easy extended by plugins ✅ Strict GPL license to keep it free forever
Usage
General usage
- Download either installer or portable archive from GitHub Release page
- Run
QuickLook.exe - Select a file/folder on the Desktop / in a File Explorer window / in an Open- or Save-File dialog
- Press Spacebar
- Select another file/folder in the same manner
- When you're done, click on the
❎button, or press Spacebar again
Hotkeys
- Spacebar Show/Hide the preview window
- Esc Hide the preview window
- Enter Open/Execute current file
- Mouse️ ↑ ↓ ← → Preview another file
- Ctrl-Wheel Zoom in/out images
Integration
- You may set up a custom hot key that fires event
QuickLook.exe C:\path\to\your\file.txt. - For developer: Send a line (ends with
\r\n) of UTF-8 string which contains the file path to the named pipe named\\.\pipe\QuickLook.App.Pipe.
Features
Till now, QuickLook supports the preview of
- Images: e.g.
.png,.jpg,.bmp,.gif,.psdand Camera RAW formats - Compressed archives:
.zip,.rar,.tar.gz,.7zetc. - Pdf file
- All kinds of text files (determined by file content)
- Microsoft Word (
.doc,.docx), Excel (.xls,.xlsx) and PowerPoint (.ppt,.pptx) files (requires MS Office installation) - OpenDocument (
odt,.odsand.odp) files (requires MS Office installation) - Video files (
.mp4,.mkv,.m2tsetc.) - HTML files (
.htm,.html) - Markdown file (
.md) - Other files and folders will be shown in a information box
Development
The previewing ability can be extended by new plugins. Read the plugin interface, context object for more information. Out-of-box plugins contain more detailed implementation.
Note that any plugin must be under the QuickLook.Plugin namespace, has the filename similar to QuickLook.Plugin.YourPlugin.dll and placed under <Application>\Plugins\QuickLook.Plugin.YourPlugin\ subfolder.
Related projects
QuickLook is standing on shoulders of several open-source libraries, named
- AvalonEdit: the WPF-based text editor component used in SharpDevelop
- dcraw: decoding raw digital photos in Linux
- ExifLib: a fast Exif data extractor for .NET 2.0+
- FFmpeg: a complete, cross-platform solution to record, convert and stream audio and video
- FFmpegMediaElement: WPF MediaElement replacement based on FFmpeg
- Font-Awesome-WPF: WPF & UWP controls for the iconic font and CSS toolkit Font Awesome
- github-markdown-css: The minimal amount of CSS to replicate the GitHub Markdown style
- ImageMagick: convert, edit, or compose bitmap images
- Magick.NET: The .NET wrapper for the ImageMagick library
- markdown-it: markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
- MuPdf: lightweight PDF, XPS, and E-book viewer
- PreviewHandlerHost: IPreviewHandler Revisited
- SharpCompress: a fully managed C# library to deal with many compression types and formats
- Sumatra PDF: a PDF, ePub, MOBI, CHM, XPS, DjVu, CBZ, CBR reader for Windows
- WpfWebBrowserWrapper: a better WPF-Browser-Control (IE-Wrapper)
- XamlAnimatedGif: a simple library to display animated GIF images in XAML apps
Licenses
Application icons made by Freepik from www.flaticon.com. Used under the Flaticon Basic License.
All source codes, except which are from other projects mentioned in “Related projects” section, are licensed under GPL-3.0.
If you want make any modification on these source codes while keeping new codes not protected by GPL-3.0, please contact me for a sublicense instead.

